diff --git a/2025-HPDC/docker/Dockerfile.caliper b/2025-HPDC/docker/Dockerfile.caliper index aa1acd5..db4b80f 100644 --- a/2025-HPDC/docker/Dockerfile.caliper +++ b/2025-HPDC/docker/Dockerfile.caliper @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 # FROM ubuntu:noble -FROM fluxrm/flux-sched:noble +FROM fluxrm/flux-sched:jammy # ubuntu:noble added a new 'ubuntu' user in the container. # Get rid of it! diff --git a/2025-HPDC/docker/Dockerfile.spawn b/2025-HPDC/docker/Dockerfile.spawn index c70621d..f4d8718 100644 --- a/2025-HPDC/docker/Dockerfile.spawn +++ b/2025-HPDC/docker/Dockerfile.spawn @@ -27,7 +27,8 @@ RUN . /opt/global_py_venv/bin/activate && \ # Needed for some viz in thicket-tutorial python3 -m pip install plotly[express] && \ python3 -m pip install -r /requirements.txt && \ - python3 -m pip install ipython==7.34.0 ipykernel==6.25.1 && \ + # Covered in requirements.txt, so shouldn't be needed here + # python3 -m pip install ipython==7.34.0 ipykernel==6.25.1 && \ python3 -m IPython kernel install RUN chmod -R 777 ~/ ${HOME} diff --git a/2025-HPDC/docker/requirements.txt b/2025-HPDC/docker/requirements.txt index dd55186..8122f2d 100644 --- a/2025-HPDC/docker/requirements.txt +++ b/2025-HPDC/docker/requirements.txt @@ -1,252 +1,251 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # Use the "Run workflow" button at https://github.com/jupyterhub/zero-to-jupyterhub-k8s/actions/workflows/watch-dependencies.yaml # -alembic==1.16.1 +alembic==1.11.3 # via jupyterhub -annotated-types==0.7.0 - # via pydantic -anyio==4.9.0 +anyio==3.7.1 + # via jupyter-server +argon2-cffi==23.1.0 # via - # httpx # jupyter-server -argon2-cffi==23.1.0 - # via jupyter-server + # nbclassic argon2-cffi-bindings==21.2.0 # via argon2-cffi -arrow==1.3.0 +arrow==1.2.3 # via isoduration -asttokens==3.0.0 +asttokens==2.2.1 # via stack-data -async-lru==2.0.5 +async-generator==1.10 + # via jupyterhub +async-lru==2.0.4 # via jupyterlab -attrs==25.3.0 +attrs==23.1.0 # via # jsonschema # referencing -babel==2.17.0 +babel==2.12.1 # via jupyterlab-server -beautifulsoup4==4.13.4 +backcall==0.2.0 + # via ipython +beautifulsoup4==4.12.2 # via nbconvert -bleach==6.2.0 +bleach==6.0.0 # via nbconvert -certifi==2025.4.26 - # via - # httpcore - # httpx - # requests -certipy==0.2.2 +certifi==2023.7.22 + # via requests +certipy==0.1.3 # via jupyterhub -cffi==1.17.1 +cffi==1.15.1 # via # argon2-cffi-bindings # cryptography -charset-normalizer==3.4.2 +charset-normalizer==3.2.0 # via requests -comm==0.2.2 +comm==0.1.4 # via ipykernel -cryptography==45.0.3 - # via certipy -debugpy==1.8.14 +cryptography==41.0.3 + # via pyopenssl +debugpy==1.6.7.post1 # via ipykernel -decorator==5.2.1 +decorator==5.1.1 # via ipython defusedxml==0.7.1 # via nbconvert -executing==2.2.0 +executing==1.2.0 # via stack-data -fastjsonschema==2.21.1 +fastjsonschema==2.18.0 # via nbformat fqdn==1.5.1 # via jsonschema -greenlet==3.2.2 +greenlet==2.0.2 # via sqlalchemy -h11==0.16.0 - # via httpcore -httpcore==1.0.9 - # via httpx -httpx==0.28.1 - # via jupyterlab -idna==3.10 +idna==3.4 # via # anyio - # httpx # jsonschema - # jupyterhub # requests -ipykernel==6.29.5 +ipykernel==6.25.1 # via # jupyterlab # nbclassic -ipython==9.2.0 +ipython==8.13.0 # via ipykernel ipython-genutils==0.2.0 # via nbclassic -ipython-pygments-lexers==1.1.1 - # via ipython isoduration==20.11.0 # via jsonschema -jedi==0.19.2 +jedi==0.19.0 # via ipython -jinja2==3.1.6 +jinja2==3.1.2 # via # jupyter-server # jupyterhub # jupyterlab # jupyterlab-server + # nbclassic # nbconvert -json5==0.12.0 +json5==0.9.14 # via jupyterlab-server -jsonpointer==3.0.0 +jsonpointer==2.4 # via jsonschema -jsonschema==4.24.0 +jsonschema[format-nongpl]==4.19.0 # via # jupyter-events + # jupyter-telemetry # jupyterlab-server # nbformat -jsonschema-specifications==2025.4.1 +jsonschema-specifications==2023.7.1 # via jsonschema -jupyter-client==8.6.3 +jupyter-client==8.3.0 # via # ipykernel # jupyter-server + # nbclassic # nbclient -jupyter-core==5.8.0 +jupyter-core==5.3.1 # via # ipykernel # jupyter-client # jupyter-server # jupyterlab + # nbclassic # nbclient # nbconvert # nbformat -jupyter-events==0.12.0 - # via - # jupyter-server - # jupyterhub -jupyter-lsp==2.2.5 +jupyter-events==0.7.0 + # via jupyter-server +jupyter-lsp==2.2.0 # via jupyterlab -jupyter-server==2.16.0 +jupyter-server==2.7.2 # via # jupyter-lsp # jupyterlab # jupyterlab-server + # nbclassic # nbgitpuller # notebook-shim -jupyter-server-terminals==0.5.3 +jupyter-server-terminals==0.4.4 # via jupyter-server -jupyterhub==5.3.0 - # via -r unfrozen/requirements.txt -jupyterlab==4.4.3 - # via -r unfrozen/requirements.txt -jupyterlab-pygments==0.3.0 +jupyter-telemetry==0.1.0 + # via jupyterhub +jupyterhub==4.0.2 + # via -r requirements.in +jupyterlab==4.0.5 + # via -r requirements.in +jupyterlab-pygments==0.2.2 # via nbconvert -jupyterlab-server==2.27.3 +jupyterlab-server==2.24.0 # via jupyterlab -mako==1.3.10 +mako==1.2.4 # via alembic -markupsafe==3.0.2 +markupsafe==2.1.3 # via # jinja2 # mako # nbconvert -matplotlib-inline==0.1.7 +matplotlib-inline==0.1.6 # via # ipykernel # ipython -mistune==3.1.3 +mistune==3.0.1 # via nbconvert -nbclassic==1.3.1 - # via -r unfrozen/requirements.txt -nbclient==0.10.2 +nbclassic==1.0.0 + # via -r requirements.in +nbclient==0.8.0 # via nbconvert -nbconvert==7.16.6 - # via jupyter-server -nbformat==5.10.4 +nbconvert==7.7.4 # via # jupyter-server + # nbclassic +nbformat==5.9.2 + # via + # jupyter-server + # nbclassic # nbclient # nbconvert -nbgitpuller==1.2.2 - # via -r unfrozen/requirements.txt -nest-asyncio==1.6.0 +nbgitpuller==1.2.0 + # via -r requirements.in +nest-asyncio==1.5.7 # via # ipykernel # nbclassic -notebook-shim==0.2.4 +notebook-shim==0.2.3 # via # jupyterlab # nbclassic oauthlib==3.2.2 # via jupyterhub -overrides==7.7.0 +overrides==7.4.0 # via jupyter-server -packaging==25.0 +packaging==23.1 # via # ipykernel - # jupyter-events # jupyter-server # jupyterhub # jupyterlab # jupyterlab-server # nbconvert -pamela==1.2.0 +pamela==1.1.0 # via jupyterhub -pandocfilters==1.5.1 +pandocfilters==1.5.0 # via nbconvert -parso==0.8.4 +parso==0.8.3 # via jedi -pexpect==4.9.0 +pexpect==4.8.0 + # via ipython +pickleshare==0.7.5 # via ipython -platformdirs==4.3.8 +platformdirs==3.10.0 # via jupyter-core -prometheus-client==0.22.0 +prometheus-client==0.17.1 # via # jupyter-server # jupyterhub -prompt-toolkit==3.0.51 + # nbclassic +prompt-toolkit==3.0.39 # via ipython -psutil==7.0.0 +psutil==5.9.5 # via ipykernel ptyprocess==0.7.0 # via # pexpect # terminado -pure-eval==0.2.3 +pure-eval==0.2.2 # via stack-data -pycparser==2.22 +pycparser==2.21 # via cffi -pydantic==2.11.5 - # via jupyterhub -pydantic-core==2.33.2 - # via pydantic -pygments==2.19.1 +pygments==2.16.1 # via # ipython - # ipython-pygments-lexers # nbconvert -python-dateutil==2.9.0.post0 +pyopenssl==23.2.0 + # via certipy +python-dateutil==2.8.2 # via # arrow # jupyter-client # jupyterhub -python-json-logger==3.3.0 - # via jupyter-events -pyyaml==6.0.2 +python-json-logger==2.0.7 + # via + # jupyter-events + # jupyter-telemetry +pyyaml==6.0.1 # via jupyter-events -pyzmq==26.4.0 +pyzmq==25.1.1 # via # ipykernel # jupyter-client # jupyter-server -referencing==0.36.2 + # nbclassic +referencing==0.30.2 # via # jsonschema # jsonschema-specifications # jupyter-events -requests==2.32.3 +requests==2.31.0 # via # jupyterhub # jupyterlab-server @@ -258,42 +257,52 @@ rfc3986-validator==0.1.1 # via # jsonschema # jupyter-events -rpds-py==0.25.1 +rpds-py==0.9.2 # via # jsonschema # referencing -send2trash==1.8.3 - # via jupyter-server -six==1.17.0 +ruamel-yaml==0.17.32 + # via jupyter-telemetry +ruamel-yaml-clib==0.2.7 + # via ruamel-yaml +send2trash==1.8.2 + # via + # jupyter-server + # nbclassic +six==1.16.0 # via + # asttokens + # bleach # python-dateutil # rfc3339-validator -sniffio==1.3.1 +sniffio==1.3.0 # via anyio -soupsieve==2.7 +soupsieve==2.4.1 # via beautifulsoup4 -sqlalchemy==2.0.41 +sqlalchemy==2.0.20 # via # alembic # jupyterhub -stack-data==0.6.3 +stack-data==0.6.2 # via ipython -terminado==0.18.1 +terminado==0.17.1 # via # jupyter-server # jupyter-server-terminals -tinycss2==1.4.0 - # via bleach -tornado==6.5.1 + # nbclassic +tinycss2==1.2.1 + # via nbconvert +tornado==6.3.3 # via # ipykernel # jupyter-client # jupyter-server # jupyterhub # jupyterlab + # nbclassic # nbgitpuller # terminado -traitlets==5.14.3 +traitlets==5.9.0 # via # comm # ipykernel @@ -302,41 +311,29 @@ traitlets==5.14.3 # jupyter-core # jupyter-events # jupyter-server + # jupyter-telemetry # jupyterhub # jupyterlab # matplotlib-inline + # nbclassic # nbclient # nbconvert # nbformat -types-python-dateutil==2.9.0.20250516 - # via arrow -typing-extensions==4.13.2 +typing-extensions==4.7.1 # via # alembic - # anyio - # beautifulsoup4 - # pydantic - # pydantic-core - # referencing # sqlalchemy - # typing-inspection -typing-inspection==0.4.1 - # via pydantic uri-template==1.3.0 # via jsonschema -urllib3==2.4.0 +urllib3==2.0.4 # via requests -wcwidth==0.2.13 +wcwidth==0.2.6 # via prompt-toolkit -webcolors==24.11.1 +webcolors==1.13 # via jsonschema webencodings==0.5.1 # via # bleach # tinycss2 -websocket-client==1.8.0 - # via jupyter-server - -# The following packages are considered to be unsafe in a requirements file: -setuptools==80.8.0 - # via jupyterlab \ No newline at end of file +websocket-client==1.6.1 + # via jupyter-server \ No newline at end of file diff --git a/2025-HPDC/docker/requirements.txt.old b/2025-HPDC/docker/requirements.txt.old new file mode 100644 index 0000000..dd55186 --- /dev/null +++ b/2025-HPDC/docker/requirements.txt.old @@ -0,0 +1,342 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# Use the "Run workflow" button at https://github.com/jupyterhub/zero-to-jupyterhub-k8s/actions/workflows/watch-dependencies.yaml +# +alembic==1.16.1 + # via jupyterhub +annotated-types==0.7.0 + # via pydantic +anyio==4.9.0 + # via + # httpx + # jupyter-server +argon2-cffi==23.1.0 + # via jupyter-server +argon2-cffi-bindings==21.2.0 + # via argon2-cffi +arrow==1.3.0 + # via isoduration +asttokens==3.0.0 + # via stack-data +async-lru==2.0.5 + # via jupyterlab +attrs==25.3.0 + # via + # jsonschema + # referencing +babel==2.17.0 + # via jupyterlab-server +beautifulsoup4==4.13.4 + # via nbconvert +bleach==6.2.0 + # via nbconvert +certifi==2025.4.26 + # via + # httpcore + # httpx + # requests +certipy==0.2.2 + # via jupyterhub +cffi==1.17.1 + # via + # argon2-cffi-bindings + # cryptography +charset-normalizer==3.4.2 + # via requests +comm==0.2.2 + # via ipykernel +cryptography==45.0.3 + # via certipy +debugpy==1.8.14 + # via ipykernel +decorator==5.2.1 + # via ipython +defusedxml==0.7.1 + # via nbconvert +executing==2.2.0 + # via stack-data +fastjsonschema==2.21.1 + # via nbformat +fqdn==1.5.1 + # via jsonschema +greenlet==3.2.2 + # via sqlalchemy +h11==0.16.0 + # via httpcore +httpcore==1.0.9 + # via httpx +httpx==0.28.1 + # via jupyterlab +idna==3.10 + # via + # anyio + # httpx + # jsonschema + # jupyterhub + # requests +ipykernel==6.29.5 + # via + # jupyterlab + # nbclassic +ipython==9.2.0 + # via ipykernel +ipython-genutils==0.2.0 + # via nbclassic +ipython-pygments-lexers==1.1.1 + # via ipython +isoduration==20.11.0 + # via jsonschema +jedi==0.19.2 + # via ipython +jinja2==3.1.6 + # via + # jupyter-server + # jupyterhub + # jupyterlab + # jupyterlab-server + # nbconvert +json5==0.12.0 + # via jupyterlab-server +jsonpointer==3.0.0 + # via jsonschema +jsonschema==4.24.0 + # via + # jupyter-events + # jupyterlab-server + # nbformat +jsonschema-specifications==2025.4.1 + # via jsonschema +jupyter-client==8.6.3 + # via + # ipykernel + # jupyter-server + # nbclient +jupyter-core==5.8.0 + # via + # ipykernel + # jupyter-client + # jupyter-server + # jupyterlab + # nbclient + # nbconvert + # nbformat +jupyter-events==0.12.0 + # via + # jupyter-server + # jupyterhub +jupyter-lsp==2.2.5 + # via jupyterlab +jupyter-server==2.16.0 + # via + # jupyter-lsp + # jupyterlab + # jupyterlab-server + # nbgitpuller + # notebook-shim +jupyter-server-terminals==0.5.3 + # via jupyter-server +jupyterhub==5.3.0 + # via -r unfrozen/requirements.txt +jupyterlab==4.4.3 + # via -r unfrozen/requirements.txt +jupyterlab-pygments==0.3.0 + # via nbconvert +jupyterlab-server==2.27.3 + # via jupyterlab +mako==1.3.10 + # via alembic +markupsafe==3.0.2 + # via + # jinja2 + # mako + # nbconvert +matplotlib-inline==0.1.7 + # via + # ipykernel + # ipython +mistune==3.1.3 + # via nbconvert +nbclassic==1.3.1 + # via -r unfrozen/requirements.txt +nbclient==0.10.2 + # via nbconvert +nbconvert==7.16.6 + # via jupyter-server +nbformat==5.10.4 + # via + # jupyter-server + # nbclient + # nbconvert +nbgitpuller==1.2.2 + # via -r unfrozen/requirements.txt +nest-asyncio==1.6.0 + # via + # ipykernel + # nbclassic +notebook-shim==0.2.4 + # via + # jupyterlab + # nbclassic +oauthlib==3.2.2 + # via jupyterhub +overrides==7.7.0 + # via jupyter-server +packaging==25.0 + # via + # ipykernel + # jupyter-events + # jupyter-server + # jupyterhub + # jupyterlab + # jupyterlab-server + # nbconvert +pamela==1.2.0 + # via jupyterhub +pandocfilters==1.5.1 + # via nbconvert +parso==0.8.4 + # via jedi +pexpect==4.9.0 + # via ipython +platformdirs==4.3.8 + # via jupyter-core +prometheus-client==0.22.0 + # via + # jupyter-server + # jupyterhub +prompt-toolkit==3.0.51 + # via ipython +psutil==7.0.0 + # via ipykernel +ptyprocess==0.7.0 + # via + # pexpect + # terminado +pure-eval==0.2.3 + # via stack-data +pycparser==2.22 + # via cffi +pydantic==2.11.5 + # via jupyterhub +pydantic-core==2.33.2 + # via pydantic +pygments==2.19.1 + # via + # ipython + # ipython-pygments-lexers + # nbconvert +python-dateutil==2.9.0.post0 + # via + # arrow + # jupyter-client + # jupyterhub +python-json-logger==3.3.0 + # via jupyter-events +pyyaml==6.0.2 + # via jupyter-events +pyzmq==26.4.0 + # via + # ipykernel + # jupyter-client + # jupyter-server +referencing==0.36.2 + # via + # jsonschema + # jsonschema-specifications + # jupyter-events +requests==2.32.3 + # via + # jupyterhub + # jupyterlab-server +rfc3339-validator==0.1.4 + # via + # jsonschema + # jupyter-events +rfc3986-validator==0.1.1 + # via + # jsonschema + # jupyter-events +rpds-py==0.25.1 + # via + # jsonschema + # referencing +send2trash==1.8.3 + # via jupyter-server +six==1.17.0 + # via + # python-dateutil + # rfc3339-validator +sniffio==1.3.1 + # via anyio +soupsieve==2.7 + # via beautifulsoup4 +sqlalchemy==2.0.41 + # via + # alembic + # jupyterhub +stack-data==0.6.3 + # via ipython +terminado==0.18.1 + # via + # jupyter-server + # jupyter-server-terminals +tinycss2==1.4.0 + # via bleach +tornado==6.5.1 + # via + # ipykernel + # jupyter-client + # jupyter-server + # jupyterhub + # jupyterlab + # nbgitpuller + # terminado +traitlets==5.14.3 + # via + # comm + # ipykernel + # ipython + # jupyter-client + # jupyter-core + # jupyter-events + # jupyter-server + # jupyterhub + # jupyterlab + # matplotlib-inline + # nbclient + # nbconvert + # nbformat +types-python-dateutil==2.9.0.20250516 + # via arrow +typing-extensions==4.13.2 + # via + # alembic + # anyio + # beautifulsoup4 + # pydantic + # pydantic-core + # referencing + # sqlalchemy + # typing-inspection +typing-inspection==0.4.1 + # via pydantic +uri-template==1.3.0 + # via jsonschema +urllib3==2.4.0 + # via requests +wcwidth==0.2.13 + # via prompt-toolkit +webcolors==24.11.1 + # via jsonschema +webencodings==0.5.1 + # via + # bleach + # tinycss2 +websocket-client==1.8.0 + # via jupyter-server + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.8.0 + # via jupyterlab \ No newline at end of file