diff --git a/.github/workflows/build-notebooks-TEMPLATE.yaml b/.github/workflows/build-notebooks-TEMPLATE.yaml index f0ac71272..9443f8782 100644 --- a/.github/workflows/build-notebooks-TEMPLATE.yaml +++ b/.github/workflows/build-notebooks-TEMPLATE.yaml @@ -23,7 +23,7 @@ jobs: # GitHub image registry used for storing $(CONTAINER_ENGINE)'s cache CACHE: "ghcr.io/${{ github.repository }}/workbench-images/build-cache" # Targets (and their folder) that should be scanned using FS instead of IMAGE scan due to resource constraints - TRIVY_SCAN_FS_JSON: '{"rocm-jupyter-pytorch-ubi9-python-3.9": "jupyter/rocm/pytorch/ubi9-python-3.9"}' + TRIVY_SCAN_FS_JSON: '{}' steps: @@ -123,24 +123,23 @@ jobs: env: IMAGE_REGISTRY: "ghcr.io/${{ github.repository }}/workbench-images" CONTAINER_BUILD_CACHE_ARGS: "--cache-from ${{ env.CACHE }} --cache-to ${{ env.CACHE }}" + # dependent images were already built and pushed, so just let podman pull it + BUILD_DEPENDENT_IMAGES: "no" # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request - name: "pull_request: make ${{ inputs.target }}" run: | - # start a black hole container registry as make target always does a push - mkdir -p $HOME/.config/containers/registries.conf.d/ - cp ci/cached-builds/insecure_localhost_registry.conf $HOME/.config/containers/registries.conf.d/insecure_localhost_registry.conf - go run ci/cached-builds/dev_null_container_registry.go & - # build and push the image make ${{ inputs.target }} if: "${{ fromJson(inputs.github).event_name == 'pull_request' }}" env: IMAGE_TAG: "${{ github.sha }}" IMAGE_REGISTRY: "localhost:5000/workbench-images" CONTAINER_BUILD_CACHE_ARGS: "--cache-from ${{ env.CACHE }}" + # We don't have access to image registry, so disable pushing + PUSH_IMAGES: "no" - name: "Show podman images information" - run: podman images + run: podman images --digests - name: "pull_request|schedule: resolve target if Trivy scan should run" id: resolve-target diff --git a/Makefile b/Makefile index 3d2ccf79f..f236dd779 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,10 @@ IMAGE_REGISTRY ?= quay.io/opendatahub/workbench-images RELEASE ?= 2024a # additional user-specified caching parameters for $(CONTAINER_ENGINE) build CONTAINER_BUILD_CACHE_ARGS ?= --no-cache +# whether to build all dependent images or just the one specified +BUILD_DEPENDENT_IMAGES ?= yes +# whether to push the images to a registry as they are built +PUSH_IMAGES ?= yes # OS dependant: Generate date, select appropriate cmd to locate container engine ifeq ($(OS), Windows_NT) @@ -58,10 +62,19 @@ endef # ARG 1: Image tag name. # ARG 2: Path of image context we want to build. # ARG 3: Base image tag name (optional). +# +# BUILD_DEPENDENT_IMAGES: only build images that were explicitly given as a goal on command line +# PUSH_IMAGES: allows skipping podman push define image $(info #*# Image build directory: <$(2)> #(MACHINE-PARSED LINE)#*#...) - $(call build_image,$(1),$(2),$(3)) - $(call push_image,$(1)) + + $(if $(or $(BUILD_DEPENDENT_IMAGES:no=), $(filter $@,$(MAKECMDGOALS))), + $(call build_image,$(1),$(2),$(3)) + + $(if $(PUSH_IMAGES:no=), + $(call push_image,$(1)) + ) + ) endef ####################################### Buildchain for Python 3.8 using ubi8 ####################################### diff --git a/README.md b/README.md index 4eb69624a..490d30b24 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,9 @@ To build a workbench image, you can execute the following command: make ${WORKBENCH_NAME} -e IMAGE_REGISTRY=quay.io/${YOUR_USER}/workbench-images -e RELEASE=2023x ``` -Using `IMAGE_REGISTRY` and `RELEASE` variables you can overwrite the default values and use a different registry or release tag +Using `IMAGE_REGISTRY` and `RELEASE` variables you can overwrite the default values and use a different registry or release tag + +Using `CONTAINER_BUILD_CACHE_ARGS` (default: `--no-cache`), `BUILD_DEPENDENT_IMAGES`, and `PUSH_IMAGES` variables you can further customize the build process. ### Local Execution diff --git a/ci/cached-builds/dev_null_container_registry.go b/ci/cached-builds/dev_null_container_registry.go deleted file mode 100644 index bb3049fc0..000000000 --- a/ci/cached-builds/dev_null_container_registry.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "log" - "net/http" -) - -func main() { - http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { - log.Printf("%s %v", r.Method, r.URL) - }) - - log.Fatal(http.ListenAndServe(":5000", nil)) -} diff --git a/ci/cached-builds/insecure_localhost_registry.conf b/ci/cached-builds/insecure_localhost_registry.conf deleted file mode 100644 index cddc459e8..000000000 --- a/ci/cached-builds/insecure_localhost_registry.conf +++ /dev/null @@ -1,3 +0,0 @@ -[[registry]] -location = "localhost:5000" -insecure = true diff --git a/jupyter/datascience/ubi9-python-3.9/Dockerfile b/jupyter/datascience/ubi9-python-3.9/Dockerfile index 08bf639da..878ff2009 100644 --- a/jupyter/datascience/ubi9-python-3.9/Dockerfile +++ b/jupyter/datascience/ubi9-python-3.9/Dockerfile @@ -20,7 +20,10 @@ COPY setup-elyra.sh ./utils/ RUN echo "Installing softwares and packages" && \ micropipenv install && \ - rm -f ./Pipfile.lock + rm -f ./Pipfile.lock && \ + # Fix permissions to support pip in Openshift environments \ + chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ + fix-permissions /opt/app-root -P COPY utils ./utils/ diff --git a/jupyter/minimal/ubi8-python-3.8/Dockerfile b/jupyter/minimal/ubi8-python-3.8/Dockerfile index 7b3d8f2e6..c8361c5c0 100644 --- a/jupyter/minimal/ubi8-python-3.8/Dockerfile +++ b/jupyter/minimal/ubi8-python-3.8/Dockerfile @@ -18,14 +18,12 @@ COPY utils utils/ COPY Pipfile.lock start-notebook.sh ./ # Install Python dependencies from Pipfile.lock file -RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock - -# Disable announcement plugin of jupyterlab -RUN jupyter labextension disable "@jupyterlab/apputils-extension:announcements" - -# Fix permissions to support pip in Openshift environments -RUN chmod -R g+w /opt/app-root/lib/python3.8/site-packages && \ - fix-permissions /opt/app-root -P +RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock && \ + # Disable announcement plugin of jupyterlab \ + jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \ + # Fix permissions to support pip in Openshift environments \ + chmod -R g+w /opt/app-root/lib/python3.8/site-packages && \ + fix-permissions /opt/app-root -P WORKDIR /opt/app-root/src diff --git a/jupyter/minimal/ubi9-python-3.9/Dockerfile b/jupyter/minimal/ubi9-python-3.9/Dockerfile index 37befa970..573a59b04 100644 --- a/jupyter/minimal/ubi9-python-3.9/Dockerfile +++ b/jupyter/minimal/ubi9-python-3.9/Dockerfile @@ -18,14 +18,12 @@ COPY utils utils/ COPY Pipfile.lock start-notebook.sh ./ # Install Python dependencies from Pipfile.lock file -RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock - -# Disable announcement plugin of jupyterlab -RUN jupyter labextension disable "@jupyterlab/apputils-extension:announcements" - -# Fix permissions to support pip in Openshift environments -RUN chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ - fix-permissions /opt/app-root -P +RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock && \ + # Disable announcement plugin of jupyterlab \ + jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \ + # Fix permissions to support pip in Openshift environments \ + chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ + fix-permissions /opt/app-root -P WORKDIR /opt/app-root/src diff --git a/jupyter/pytorch/ubi9-python-3.9/Dockerfile b/jupyter/pytorch/ubi9-python-3.9/Dockerfile index dc5557385..e8baaa475 100644 --- a/jupyter/pytorch/ubi9-python-3.9/Dockerfile +++ b/jupyter/pytorch/ubi9-python-3.9/Dockerfile @@ -20,8 +20,7 @@ RUN echo "Installing softwares and packages" && \ # Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y \ sed -i -e "s/Python.*/$(python --version | cut -d '.' -f-2)\",/" /opt/app-root/share/jupyter/kernels/python3/kernel.json && \ # Disable announcement plugin of jupyterlab \ - jupyter labextension disable "@jupyterlab/apputils-extension:announcements" - -# Fix permissions to support pip in Openshift environments -RUN chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ + jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \ + # Fix permissions to support pip in Openshift environments \ + chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ fix-permissions /opt/app-root -P diff --git a/jupyter/rocm/pytorch/ubi9-python-3.9/Dockerfile b/jupyter/rocm/pytorch/ubi9-python-3.9/Dockerfile index ca883c0fb..fc3c1ee3a 100644 --- a/jupyter/rocm/pytorch/ubi9-python-3.9/Dockerfile +++ b/jupyter/rocm/pytorch/ubi9-python-3.9/Dockerfile @@ -13,11 +13,16 @@ LABEL name="odh-notebook-jupyter-rocm-pytorch-ubi9-python-3.9" \ # Install Python packages and Jupyterlab extensions from Pipfile.lock COPY Pipfile.lock ./ +# Copy utility script +COPY de-vendor-torch.sh ./ RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock && \ + # De-vendor the ROCm libs that are embedded in Pytorch \ + ./de-vendor-torch.sh && \ + rm ./de-vendor-torch.sh && \ # Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y sed -i -e "s/Python.*/$(python --version | cut -d '.' -f-2)\",/" /opt/app-root/share/jupyter/kernels/python3/kernel.json && \ - # Disable announcement plugin of jupyterlab + # Disable announcement plugin of jupyterlab \ jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \ - # Fix permissions to support pip in Openshift environments + # Fix permissions to support pip in Openshift environments \ chmod -R g+w /opt/app-root/lib/python3.9/site-packages && fix-permissions /opt/app-root -P diff --git a/jupyter/rocm/pytorch/ubi9-python-3.9/Pipfile b/jupyter/rocm/pytorch/ubi9-python-3.9/Pipfile index 84f2e54c6..b308e95f9 100644 --- a/jupyter/rocm/pytorch/ubi9-python-3.9/Pipfile +++ b/jupyter/rocm/pytorch/ubi9-python-3.9/Pipfile @@ -4,7 +4,8 @@ verify_ssl = true name = "pypi" [[source]] -url = "https://download.pytorch.org/whl/rocm6.0/" +# Please keep in sync with rocm/ubi9-python-3.9/Dockerfile +url = "https://download.pytorch.org/whl/rocm6.1/" verify_ssl = true name = "pytorch" @@ -13,9 +14,9 @@ name = "pytorch" [packages] # PyTorch packages tensorboard = "~=2.16.2" -torch = {version = "~=2.3.1", index = "pytorch"} -torchvision = {version = "~=0.18.1", index = "pytorch"} # https://pytorch.org/get-started/previous-versions/#linux-and-windows-1 -pytorch-triton-rocm = {version = "~=2.3.1", index = "pytorch"} +torch = {version = "~=2.4.0", index = "pytorch"} +torchvision = {version = "~=0.19.0", index = "pytorch"} # https://pytorch.org/get-started/previous-versions/#linux-and-windows-1 +pytorch-triton-rocm = {version = "~=3.0.0", index = "pytorch"} # Datascience and useful extensions boto3 = "~=1.34.50" diff --git a/jupyter/rocm/pytorch/ubi9-python-3.9/Pipfile.lock b/jupyter/rocm/pytorch/ubi9-python-3.9/Pipfile.lock index 8dbab59f5..cc63bb8af 100644 --- a/jupyter/rocm/pytorch/ubi9-python-3.9/Pipfile.lock +++ b/jupyter/rocm/pytorch/ubi9-python-3.9/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "674730930a41a5a499dbf4c8e2b3986f392da3fde3d384d8b217175d250b8a96" + "sha256": "941195ab0ac5ec7e499b44867152683856fc05bca05a757a08e159a152649940" }, "pipfile-spec": 6, "requires": { @@ -15,7 +15,7 @@ }, { "name": "pytorch", - "url": "https://download.pytorch.org/whl/rocm6.0/", + "url": "https://download.pytorch.org/whl/rocm6.1/", "verify_ssl": true } ] @@ -37,86 +37,95 @@ "markers": "python_version >= '3.7' and python_version < '4.0'", "version": "==22.1.0" }, + "aiohappyeyeballs": { + "hashes": [ + "sha256:40a16ceffcf1fc9e142fd488123b2e218abc4188cf12ac20c67200e1579baa42", + "sha256:7e1ae8399c320a8adec76f6c919ed5ceae6edd4c3672f4d9eae2b27e37c80ff6" + ], + "markers": "python_version >= '3.8' and python_version < '4.0'", + "version": "==2.3.4" + }, "aiohttp": { "hashes": [ - "sha256:0605cc2c0088fcaae79f01c913a38611ad09ba68ff482402d3410bf59039bfb8", - "sha256:0a158704edf0abcac8ac371fbb54044f3270bdbc93e254a82b6c82be1ef08f3c", - "sha256:0cbf56238f4bbf49dab8c2dc2e6b1b68502b1e88d335bea59b3f5b9f4c001475", - "sha256:1732102949ff6087589408d76cd6dea656b93c896b011ecafff418c9661dc4ed", - "sha256:18f634d540dd099c262e9f887c8bbacc959847cfe5da7a0e2e1cf3f14dbf2daf", - "sha256:239f975589a944eeb1bad26b8b140a59a3a320067fb3cd10b75c3092405a1372", - "sha256:2faa61a904b83142747fc6a6d7ad8fccff898c849123030f8e75d5d967fd4a81", - "sha256:320e8618eda64e19d11bdb3bd04ccc0a816c17eaecb7e4945d01deee2a22f95f", - "sha256:38d80498e2e169bc61418ff36170e0aad0cd268da8b38a17c4cf29d254a8b3f1", - "sha256:3916c8692dbd9d55c523374a3b8213e628424d19116ac4308e434dbf6d95bbdd", - "sha256:393c7aba2b55559ef7ab791c94b44f7482a07bf7640d17b341b79081f5e5cd1a", - "sha256:3b7b30258348082826d274504fbc7c849959f1989d86c29bc355107accec6cfb", - "sha256:3fcb4046d2904378e3aeea1df51f697b0467f2aac55d232c87ba162709478c46", - "sha256:4109adee842b90671f1b689901b948f347325045c15f46b39797ae1bf17019de", - "sha256:4558e5012ee03d2638c681e156461d37b7a113fe13970d438d95d10173d25f78", - "sha256:45731330e754f5811c314901cebdf19dd776a44b31927fa4b4dbecab9e457b0c", - "sha256:4715a9b778f4293b9f8ae7a0a7cef9829f02ff8d6277a39d7f40565c737d3771", - "sha256:471f0ef53ccedec9995287f02caf0c068732f026455f07db3f01a46e49d76bbb", - "sha256:4d3ebb9e1316ec74277d19c5f482f98cc65a73ccd5430540d6d11682cd857430", - "sha256:4ff550491f5492ab5ed3533e76b8567f4b37bd2995e780a1f46bca2024223233", - "sha256:52c27110f3862a1afbcb2af4281fc9fdc40327fa286c4625dfee247c3ba90156", - "sha256:55b39c8684a46e56ef8c8d24faf02de4a2b2ac60d26cee93bc595651ff545de9", - "sha256:5a7ee16aab26e76add4afc45e8f8206c95d1d75540f1039b84a03c3b3800dd59", - "sha256:5ca51eadbd67045396bc92a4345d1790b7301c14d1848feaac1d6a6c9289e888", - "sha256:5d6b3f1fabe465e819aed2c421a6743d8debbde79b6a8600739300630a01bf2c", - "sha256:60cdbd56f4cad9f69c35eaac0fbbdf1f77b0ff9456cebd4902f3dd1cf096464c", - "sha256:6380c039ec52866c06d69b5c7aad5478b24ed11696f0e72f6b807cfb261453da", - "sha256:639d0042b7670222f33b0028de6b4e2fad6451462ce7df2af8aee37dcac55424", - "sha256:66331d00fb28dc90aa606d9a54304af76b335ae204d1836f65797d6fe27f1ca2", - "sha256:67c3119f5ddc7261d47163ed86d760ddf0e625cd6246b4ed852e82159617b5fb", - "sha256:694d828b5c41255e54bc2dddb51a9f5150b4eefa9886e38b52605a05d96566e8", - "sha256:6ae79c1bc12c34082d92bf9422764f799aee4746fd7a392db46b7fd357d4a17a", - "sha256:702e2c7c187c1a498a4e2b03155d52658fdd6fda882d3d7fbb891a5cf108bb10", - "sha256:714d4e5231fed4ba2762ed489b4aec07b2b9953cf4ee31e9871caac895a839c0", - "sha256:7b179eea70833c8dee51ec42f3b4097bd6370892fa93f510f76762105568cf09", - "sha256:7f64cbd44443e80094309875d4f9c71d0401e966d191c3d469cde4642bc2e031", - "sha256:82a6a97d9771cb48ae16979c3a3a9a18b600a8505b1115cfe354dfb2054468b4", - "sha256:84dabd95154f43a2ea80deffec9cb44d2e301e38a0c9d331cc4aa0166fe28ae3", - "sha256:8676e8fd73141ded15ea586de0b7cda1542960a7b9ad89b2b06428e97125d4fa", - "sha256:88e311d98cc0bf45b62fc46c66753a83445f5ab20038bcc1b8a1cc05666f428a", - "sha256:8b4f72fbb66279624bfe83fd5eb6aea0022dad8eec62b71e7bf63ee1caadeafe", - "sha256:8c64a6dc3fe5db7b1b4d2b5cb84c4f677768bdc340611eca673afb7cf416ef5a", - "sha256:8cf142aa6c1a751fcb364158fd710b8a9be874b81889c2bd13aa8893197455e2", - "sha256:8d1964eb7617907c792ca00b341b5ec3e01ae8c280825deadbbd678447b127e1", - "sha256:93e22add827447d2e26d67c9ac0161756007f152fdc5210277d00a85f6c92323", - "sha256:9c69e77370cce2d6df5d12b4e12bdcca60c47ba13d1cbbc8645dd005a20b738b", - "sha256:9dbc053ac75ccc63dc3a3cc547b98c7258ec35a215a92bd9f983e0aac95d3d5b", - "sha256:9e3a1ae66e3d0c17cf65c08968a5ee3180c5a95920ec2731f53343fac9bad106", - "sha256:a6ea1a5b409a85477fd8e5ee6ad8f0e40bf2844c270955e09360418cfd09abac", - "sha256:a81b1143d42b66ffc40a441379387076243ef7b51019204fd3ec36b9f69e77d6", - "sha256:ad7f2919d7dac062f24d6f5fe95d401597fbb015a25771f85e692d043c9d7832", - "sha256:afc52b8d969eff14e069a710057d15ab9ac17cd4b6753042c407dcea0e40bf75", - "sha256:b3df71da99c98534be076196791adca8819761f0bf6e08e07fd7da25127150d6", - "sha256:c088c4d70d21f8ca5c0b8b5403fe84a7bc8e024161febdd4ef04575ef35d474d", - "sha256:c26959ca7b75ff768e2776d8055bf9582a6267e24556bb7f7bd29e677932be72", - "sha256:c413016880e03e69d166efb5a1a95d40f83d5a3a648d16486592c49ffb76d0db", - "sha256:c6021d296318cb6f9414b48e6a439a7f5d1f665464da507e8ff640848ee2a58a", - "sha256:c671dc117c2c21a1ca10c116cfcd6e3e44da7fcde37bf83b2be485ab377b25da", - "sha256:c7a4b7a6cf5b6eb11e109a9755fd4fda7d57395f8c575e166d363b9fc3ec4678", - "sha256:c8a02fbeca6f63cb1f0475c799679057fc9268b77075ab7cf3f1c600e81dd46b", - "sha256:cd2adf5c87ff6d8b277814a28a535b59e20bfea40a101db6b3bdca7e9926bc24", - "sha256:d1469f228cd9ffddd396d9948b8c9cd8022b6d1bf1e40c6f25b0fb90b4f893ed", - "sha256:d153f652a687a8e95ad367a86a61e8d53d528b0530ef382ec5aaf533140ed00f", - "sha256:d5ab8e1f6bee051a4bf6195e38a5c13e5e161cb7bad83d8854524798bd9fcd6e", - "sha256:da00da442a0e31f1c69d26d224e1efd3a1ca5bcbf210978a2ca7426dfcae9f58", - "sha256:da22dab31d7180f8c3ac7c7635f3bcd53808f374f6aa333fe0b0b9e14b01f91a", - "sha256:e0ae53e33ee7476dd3d1132f932eeb39bf6125083820049d06edcdca4381f342", - "sha256:e7a6a8354f1b62e15d48e04350f13e726fa08b62c3d7b8401c0a1314f02e3558", - "sha256:e9a3d838441bebcf5cf442700e3963f58b5c33f015341f9ea86dcd7d503c07e2", - "sha256:edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551", - "sha256:f22eb3a6c1080d862befa0a89c380b4dafce29dc6cd56083f630073d102eb595", - "sha256:f26383adb94da5e7fb388d441bf09c61e5e35f455a3217bfd790c6b6bc64b2ee", - "sha256:f3c2890ca8c59ee683fd09adf32321a40fe1cf164e3387799efb2acebf090c11", - "sha256:f64fd07515dad67f24b6ea4a66ae2876c01031de91c93075b8093f07c0a2d93d", - "sha256:fcde4c397f673fdec23e6b05ebf8d4751314fa7c24f93334bf1f1364c1c69ac7", - "sha256:ff84aeb864e0fac81f676be9f4685f0527b660f1efdc40dcede3c251ef1e867f" - ], - "version": "==3.9.5" + "sha256:03799a95402a7ed62671c4465e1eae51d749d5439dbc49edb6eee52ea165c50b", + "sha256:0433795c4a8bafc03deb3e662192250ba5db347c41231b0273380d2f53c9ea0b", + "sha256:06ef0135d7ab7fb0284342fbbf8e8ddf73b7fee8ecc55f5c3a3d0a6b765e6d8b", + "sha256:0b0c0148d2a69b82ffe650c2ce235b431d49a90bde7dd2629bcb40314957acf6", + "sha256:0d85a173b4dbbaaad1900e197181ea0fafa617ca6656663f629a8a372fdc7d06", + "sha256:10f0d7894ddc6ff8f369e3fdc082ef1f940dc1f5b9003cd40945d24845477220", + "sha256:12c43dace645023583f3dd2337dfc3aa92c99fb943b64dcf2bc15c7aa0fb4a95", + "sha256:13679e11937d3f37600860de1f848e2e062e2b396d3aa79b38c89f9c8ab7e791", + "sha256:1c83977f7b6f4f4a96fab500f5a76d355f19f42675224a3002d375b3fb309174", + "sha256:1dc95c5e2a5e60095f1bb51822e3b504e6a7430c9b44bff2120c29bb876c5202", + "sha256:1ebd8ed91428ffbe8b33a5bd6f50174e11882d5b8e2fe28670406ab5ee045ede", + "sha256:21dab4a704c68dc7bc2a1219a4027158e8968e2079f1444eda2ba88bc9f2895f", + "sha256:25a9924343bf91b0c5082cae32cfc5a1f8787ac0433966319ec07b0ed4570722", + "sha256:2a03a4407bdb9ae815f0d5a19df482b17df530cf7bf9c78771aa1c713c37ff1f", + "sha256:2dc75da06c35a7b47a88ceadbf993a53d77d66423c2a78de8c6f9fb41ec35687", + "sha256:31616121369bc823791056c632f544c6c8f8d1ceecffd8bf3f72ef621eaabf49", + "sha256:33acb0d9bf12cdc80ceec6f5fda83ea7990ce0321c54234d629529ca2c54e33d", + "sha256:33e915971eee6d2056d15470a1214e4e0f72b6aad10225548a7ab4c4f54e2db7", + "sha256:34adb8412e736a5d0df6d1fccdf71599dfb07a63add241a94a189b6364e997f1", + "sha256:34eaf5cfcc979846d73571b1a4be22cad5e029d55cdbe77cdc7545caa4dcb925", + "sha256:39e7ec718e7a1971a5d98357e3e8c0529477d45c711d32cd91999dc8d8404e1e", + "sha256:3f49edf7c5cd2987634116e1b6a0ee2438fca17f7c4ee480ff41decb76cf6158", + "sha256:43c60d9b332a01ee985f080f639f3e56abcfb95ec1320013c94083c3b6a2e143", + "sha256:4b099fbb823efed3c1d736f343ac60d66531b13680ee9b2669e368280f41c2b8", + "sha256:4f1de31a585344a106db43a9c3af2e15bb82e053618ff759f1fdd31d82da38eb", + "sha256:5268b35fee7eb754fb5b3d0f16a84a2e9ed21306f5377f3818596214ad2d7714", + "sha256:54076a25f32305e585a3abae1f0ad10646bec539e0e5ebcc62b54ee4982ec29f", + "sha256:5549c71c35b5f057a4eebcc538c41299826f7813f28880722b60e41c861a57ec", + "sha256:563705a94ea3af43467167f3a21c665f3b847b2a0ae5544fa9e18df686a660da", + "sha256:594b4b4f1dfe8378b4a0342576dc87a930c960641159f5ae83843834016dbd59", + "sha256:64a117c16273ca9f18670f33fc7fd9604b9f46ddb453ce948262889a6be72868", + "sha256:68ab608118e212f56feef44d4785aa90b713042da301f26338f36497b481cd79", + "sha256:6c99eef30a7e98144bcf44d615bc0f445b3a3730495fcc16124cb61117e1f81e", + "sha256:6dbfac556219d884d50edc6e1952a93545c2786193f00f5521ec0d9d464040ab", + "sha256:71c76685773444d90ae83874433505ed800e1706c391fdf9e57cc7857611e2f4", + "sha256:72de8ffba4a27e3c6e83e58a379fc4fe5548f69f9b541fde895afb9be8c31658", + "sha256:73c01201219eb039a828bb58dcc13112eec2fed6eea718356316cd552df26e04", + "sha256:77bbf0a2f6fefac6c0db1792c234f577d80299a33ce7125467439097cf869198", + "sha256:872c0dcaccebd5733d535868fe2356aa6939f5827dcea7a8b9355bb2eff6f56e", + "sha256:8c66a1aadafbc0bd7d648cb7fcb3860ec9beb1b436ce3357036a4d9284fcef9a", + "sha256:8cedc48d36652dd3ac40e5c7c139d528202393e341a5e3475acedb5e8d5c4c75", + "sha256:8d6dcd1d21da5ae1416f69aa03e883a51e84b6c803b8618cbab341ac89a85b9e", + "sha256:91e0b76502205484a4d1d6f25f461fa60fe81a7987b90e57f7b941b0753c3ec8", + "sha256:927b4aca6340301e7d8bb05278d0b6585b8633ea852b7022d604a5df920486bf", + "sha256:941366a554e566efdd3f042e17a9e461a36202469e5fd2aee66fe3efe6412aef", + "sha256:947da3aee057010bc750b7b4bb65cbd01b0bdb7c4e1cf278489a1d4a1e9596b3", + "sha256:9784246431eaf9d651b3cc06f9c64f9a9f57299f4971c5ea778fa0b81074ef13", + "sha256:9ca48e9f092a417c6669ee8d3a19d40b3c66dde1a2ae0d57e66c34812819b671", + "sha256:a04f2c8d41821a2507b49b2694c40495a295b013afb0cc7355b337980b47c546", + "sha256:a65472256c5232681968deeea3cd5453aa091c44e8db09f22f1a1491d422c2d9", + "sha256:aad87626f31a85fd4af02ba7fd6cc424b39d4bff5c8677e612882649da572e47", + "sha256:ab1d870403817c9a0486ca56ccbc0ebaf85d992277d48777faa5a95e40e5bcca", + "sha256:b6612c6ed3147a4a2d6463454b94b877566b38215665be4c729cd8b7bdce15b4", + "sha256:b7e3545b06aae925f90f06402e05cfb9c62c6409ce57041932163b09c48daad6", + "sha256:bbe2f6d0466f5c59c7258e0745c20d74806a1385fbb7963e5bbe2309a11cc69b", + "sha256:bdda86ab376f9b3095a1079a16fbe44acb9ddde349634f1c9909d13631ff3bcf", + "sha256:bec91402df78b897a47b66b9c071f48051cea68d853d8bc1d4404896c6de41ae", + "sha256:c8820dad615cd2f296ed3fdea8402b12663ac9e5ea2aafc90ef5141eb10b50b8", + "sha256:cc4376ff537f7d2c1e98f97f6d548e99e5d96078b0333c1d3177c11467b972de", + "sha256:ccab9381f38c669bb9254d848f3b41a3284193b3e274a34687822f98412097e9", + "sha256:cd36d0f0afc2bd84f007cedd2d9a449c3cf04af471853a25eb71f28bc2e1a119", + "sha256:d583755ddb9c97a2da1322f17fc7d26792f4e035f472d675e2761c766f94c2ff", + "sha256:d9b8b31c057a0b7bb822a159c490af05cb11b8069097f3236746a78315998afa", + "sha256:dcb6e65f6ea7caa0188e36bebe9e72b259d3d525634758c91209afb5a6cbcba7", + "sha256:e8dd7da2609303e3574c95b0ec9f1fd49647ef29b94701a2862cceae76382e1d", + "sha256:ebedc51ee6d39f9ea5e26e255fd56a7f4e79a56e77d960f9bae75ef4f95ed57f", + "sha256:effafe5144aa32f0388e8f99b1b2692cf094ea2f6b7ceca384b54338b77b1f50", + "sha256:f1bc4d68b83966012813598fe39b35b4e6019b69d29385cf7ec1cb08e1ff829b", + "sha256:f1cef548ee4e84264b78879de0c754bbe223193c6313beb242ce862f82eab184", + "sha256:f381424dbce313bb5a666a215e7a9dcebbc533e9a2c467a1f0c95279d24d1fa7", + "sha256:f3a1ea61d96146e9b9e5597069466e2e4d9e01e09381c5dd51659f890d5e29e7", + "sha256:f64d503c661864866c09806ac360b95457f872d639ca61719115a9f389b2ec90", + "sha256:f6fa7a42b78d8698491dc4ad388169de54cca551aa9900f750547372de396277", + "sha256:f76c12abb88b7ee64b3f9ae72f0644af49ff139067b5add142836dab405d60d4", + "sha256:f98f036eab11d2f90cdd01b9d1410de9d7eb520d070debeb2edadf158b758431", + "sha256:ff25d988fd6ce433b5c393094a5ca50df568bdccf90a8b340900e24e0d5fb45c" + ], + "markers": "python_version >= '3.8'", + "version": "==3.10.0" }, "aiohttp-cors": { "hashes": [ @@ -161,7 +170,7 @@ "sha256:0fca07b290282b9449590cbdb39b3461c45f2b6037523949f028ff2cba82c85e", "sha256:c2aec138a24f8462d6199c65666590dab14acb18af6c62950c82bc8d40862558" ], - "markers": "python_version >= '3.6' and python_version < '4.0'", + "markers": "python_version >= '3.6' and python_version < '4'", "version": "==1.1.6" }, "argon2-cffi": { @@ -212,7 +221,7 @@ "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a", "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25" ], - "markers": "python_version >= '3.8'", + "markers": "python_full_version >= '3.8.0'", "version": "==3.2.4" }, "asttokens": { @@ -244,6 +253,7 @@ "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" ], "index": "pypi", + "markers": "python_version >= '3.6'", "version": "==2.0.4" }, "babel": { @@ -292,7 +302,7 @@ "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051", "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed" ], - "markers": "python_version >= '3.6'", + "markers": "python_full_version >= '3.6.0'", "version": "==4.12.3" }, "black": { @@ -341,19 +351,20 @@ }, "boto3": { "hashes": [ - "sha256:894b222f7850b870a7ac63d7e378ac36c5c34375da24ddc30e131d9fafe369dc", - "sha256:ad648c89a4935590a69341e5430fc42a021489a22de171ee3fd7bb204f9ef0fa" + "sha256:30498a76b6f651ee2af7ae8edc1704379279ab8b91f1a8dd1f4ddf51259b0bc2", + "sha256:35bc76faacf1667d3fbb66c1966acf2230ef26206557efc26d9d9d79337bef43" ], "index": "pypi", - "version": "==1.34.150" + "markers": "python_version >= '3.8'", + "version": "==1.34.151" }, "botocore": { "hashes": [ - "sha256:4d23387e0f076d87b637a2a35c0ff2b8daca16eace36b63ce27f65630c6b375a", - "sha256:b988d47f4d502df85befce11a48002421e4e6ea4289997b5e0261bac5fa76ce6" + "sha256:0d0968e427a94378f295b49d59170dad539938487ec948de3d030f06092ec6dc", + "sha256:9018680d7d4a8060c26d127ceec5ab5b270879f423ea39b863d8a46f3e34c404" ], "markers": "python_version >= '3.8'", - "version": "==1.34.150" + "version": "==1.34.151" }, "cachetools": { "hashes": [ @@ -522,7 +533,7 @@ "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561" ], - "markers": "python_version >= '3.7'", + "markers": "python_full_version >= '3.7.0'", "version": "==3.3.2" }, "click": { @@ -539,6 +550,7 @@ "sha256:e4fe929cde1ed102b82a718d336fdc5be38c4202590fee54b62946d3c4f3b17a" ], "index": "pypi", + "markers": "python_version >= '3.9' and python_version < '4.0'", "version": "==0.18.0" }, "colorama": { @@ -643,6 +655,7 @@ "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e", "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9" ], + "markers": "python_version >= '3.6'", "version": "==40.0.2" }, "cycler": { @@ -795,6 +808,7 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", + "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "fonttools": { @@ -1002,7 +1016,7 @@ "sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125", "sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd" ], - "markers": "python_version >= '3.6'", + "markers": "python_version >= '3.7'", "version": "==2.19.1" }, "google-auth": { @@ -1121,60 +1135,61 @@ }, "grpcio": { "hashes": [ - "sha256:12e9bdf3b5fd48e5fbe5b3da382ad8f97c08b47969f3cca81dd9b36b86ed39e2", - "sha256:1bceeec568372cbebf554eae1b436b06c2ff24cfaf04afade729fb9035408c6c", - "sha256:1faaf7355ceed07ceaef0b9dcefa4c98daf1dd8840ed75c2de128c3f4a4d859d", - "sha256:1fbd6331f18c3acd7e09d17fd840c096f56eaf0ef830fbd50af45ae9dc8dfd83", - "sha256:27adee2338d697e71143ed147fe286c05810965d5d30ec14dd09c22479bfe48a", - "sha256:2ca684ba331fb249d8a1ce88db5394e70dbcd96e58d8c4b7e0d7b141a453dce9", - "sha256:2f56b5a68fdcf17a0a1d524bf177218c3c69b3947cb239ea222c6f1867c3ab68", - "sha256:3019fb50128b21a5e018d89569ffaaaa361680e1346c2f261bb84a91082eb3d3", - "sha256:34966cf526ef0ea616e008d40d989463e3db157abb213b2f20c6ce0ae7928875", - "sha256:3c492301988cd720cd145d84e17318d45af342e29ef93141228f9cd73222368b", - "sha256:3dc5f928815b8972fb83b78d8db5039559f39e004ec93ebac316403fe031a062", - "sha256:4effc0562b6c65d4add6a873ca132e46ba5e5a46f07c93502c37a9ae7f043857", - "sha256:54cb822e177374b318b233e54b6856c692c24cdbd5a3ba5335f18a47396bac8f", - "sha256:557de35bdfbe8bafea0a003dbd0f4da6d89223ac6c4c7549d78e20f92ead95d9", - "sha256:5f096ffb881f37e8d4f958b63c74bfc400c7cebd7a944b027357cd2fb8d91a57", - "sha256:5fd7337a823b890215f07d429f4f193d24b80d62a5485cf88ee06648591a0c57", - "sha256:60f1f38eed830488ad2a1b11579ef0f345ff16fffdad1d24d9fbc97ba31804ff", - "sha256:6e71aed8835f8d9fbcb84babc93a9da95955d1685021cceb7089f4f1e717d719", - "sha256:71a05fd814700dd9cb7d9a507f2f6a1ef85866733ccaf557eedacec32d65e4c2", - "sha256:76e81a86424d6ca1ce7c16b15bdd6a964a42b40544bf796a48da241fdaf61153", - "sha256:7ae15275ed98ea267f64ee9ddedf8ecd5306a5b5bb87972a48bfe24af24153e8", - "sha256:7af64838b6e615fff0ec711960ed9b6ee83086edfa8c32670eafb736f169d719", - "sha256:8333ca46053c35484c9f2f7e8d8ec98c1383a8675a449163cea31a2076d93de8", - "sha256:8558f0083ddaf5de64a59c790bffd7568e353914c0c551eae2955f54ee4b857f", - "sha256:8bfd95ef3b097f0cc86ade54eafefa1c8ed623aa01a26fbbdcd1a3650494dd11", - "sha256:8d8143a3e3966f85dce6c5cc45387ec36552174ba5712c5dc6fcc0898fb324c0", - "sha256:941596d419b9736ab548aa0feb5bbba922f98872668847bf0720b42d1d227b9e", - "sha256:941c4869aa229d88706b78187d60d66aca77fe5c32518b79e3c3e03fc26109a2", - "sha256:9a1c84560b3b2d34695c9ba53ab0264e2802721c530678a8f0a227951f453462", - "sha256:9e6a8f3d6c41e6b642870afe6cafbaf7b61c57317f9ec66d0efdaf19db992b90", - "sha256:a6c71575a2fedf259724981fd73a18906513d2f306169c46262a5bae956e6364", - "sha256:a8422dc13ad93ec8caa2612b5032a2b9cd6421c13ed87f54db4a3a2c93afaf77", - "sha256:aaf3c54419a28d45bd1681372029f40e5bfb58e5265e3882eaf21e4a5f81a119", - "sha256:b12c1aa7b95abe73b3e04e052c8b362655b41c7798da69f1eaf8d186c7d204df", - "sha256:b590f1ad056294dfaeac0b7e1b71d3d5ace638d8dd1f1147ce4bd13458783ba8", - "sha256:bbb46330cc643ecf10bd9bd4ca8e7419a14b6b9dedd05f671c90fb2c813c6037", - "sha256:ca931de5dd6d9eb94ff19a2c9434b23923bce6f767179fef04dfa991f282eaad", - "sha256:cb5175f45c980ff418998723ea1b3869cce3766d2ab4e4916fbd3cedbc9d0ed3", - "sha256:d827a6fb9215b961eb73459ad7977edb9e748b23e3407d21c845d1d8ef6597e5", - "sha256:dbb64b4166362d9326f7efbf75b1c72106c1aa87f13a8c8b56a1224fac152f5c", - "sha256:de5b6be29116e094c5ef9d9e4252e7eb143e3d5f6bd6d50a78075553ab4930b0", - "sha256:e4a3cdba62b2d6aeae6027ae65f350de6dc082b72e6215eccf82628e79efe9ba", - "sha256:e75acfa52daf5ea0712e8aa82f0003bba964de7ae22c26d208cbd7bc08500177", - "sha256:f40cebe5edb518d78b8131e87cb83b3ee688984de38a232024b9b44e74ee53d3", - "sha256:f62652ddcadc75d0e7aa629e96bb61658f85a993e748333715b4ab667192e4e8", - "sha256:ff5a84907e51924973aa05ed8759210d8cdae7ffcf9e44fd17646cf4a902df59" - ], - "version": "==1.65.1" + "sha256:01600b1b02fdc9d648630d3de0a4cbf7ebe5f94b40ec1f65e3fd4b94a3b052cf", + "sha256:03fdd86ff7d9957b822b9bf1fe0ae1e21e258e9c1d5535a5e9c67de0ad45b6a8", + "sha256:06a7ea12a81e5e2fb17528556c7f828b90bd2aec3a645f5cd5f35f80aa59ac6a", + "sha256:0b2ae6868864e4b06bff89cf91730a63141327158bf0677428ef315ea1dbdb0b", + "sha256:0c9c865d2fdf40e7e952038a0b5e0f32b01da84ecf04943b08e8917c8ccc9cf8", + "sha256:2a0cd7297abf0a02a9399edebe8c662058c7f0768bfbe859837707d389ad327f", + "sha256:2ce639f2a2951aedbe9a3636f5730288f9b77c2627f116265d7d2789555e5662", + "sha256:3101fa25b93f185e8cc698f8c2abee897891e6bae4f13472f66df21e8ae40d46", + "sha256:3a3139414399078560a84203f9fe3592483d902a2af84062c571be6191143a9f", + "sha256:3a6b36e20b02ca830b15b5eb4abb437de1d42ba93353d1f76b00337108f7ce8e", + "sha256:3ce7f4c766fecc34455357b31b1e316506ea6ac48abbb9a650843d20337a2036", + "sha256:478725160e2cfc1bfa5ab3e7bb7c896cc182c8f57255d780007cfd6fb46e97b5", + "sha256:4fba3ae83ef5acd111c2dd92233ff167411db84e1ff17a00c34b5428355526c5", + "sha256:510bf7ec7f44e9420bb17970fb450522666d8b1c09cdf59b735de0c2dc806b79", + "sha256:51231a22aea830be1d955de5a15da4391b3ac8e1d7868f362c74c15a0e9f5c89", + "sha256:5225b8ce980b598187f64436ed95ea149966d538253c28668347d331968e2386", + "sha256:5edea0ea18e9fd5326d385a4c92a1fed605454e9a2c57ff131df0a08004b7e69", + "sha256:60fe2f90875f2bef105158e370fbbefadd179f8cd689bc2cee6844aca4ccb7bb", + "sha256:67c5e5aa92b5832ae7a3399bce5b8562fb28686446732bfa17f97d5082e8501d", + "sha256:71fa3b7a6cef62a00014205d0e707610cfd50ae54f617d296017f10c6a9fad0d", + "sha256:76125096d2a090d4acdce0f06f9511cebe1bcfbc0bd040e495563d7a8747dda1", + "sha256:77fddf42bbca65ee4db679d0608e1ffa8b22b7f516c79665b7620be2f6357c85", + "sha256:7fd639b0988ed5114d4b2a72ea453aafcb1439dd433c61834886b92afed9c6c1", + "sha256:87da0fb85ba42257e450561b0264e36abe47faae07476621ae65d8f5f60f22cd", + "sha256:8856187a359a55babfa4d49ad96f2dd7edd8be3a36b813c7a9e41ef3d763400f", + "sha256:8886d24345bf4b1693e9c09cf6a520f0baedd2af2a876f91bb508b24d0d46041", + "sha256:892f03939df46d0bfcf89fe1dbcc8818f93ad6f3377587e8db6c2b1f598736c2", + "sha256:8aa50787bc8036bd5ea9b7ebbbd2c49c78122eb9ff98d3c217a7c146313c5030", + "sha256:8d6fd1206433428d0a4ba771eac70579b41a265fe835a4d8a5214c7235e69926", + "sha256:9b193e116e085ad4d7ef1518d79e9fedfa7688f4967f64a6246b5b196a26326a", + "sha256:9ba9d4b3d4fc00b8083bb47a8c40a74ba3ea330713fdd59cf53c926c9a16b002", + "sha256:a7b752471e7ff1472ddbf3035a34fd8e24f2eac4fedbdab311e8f3e0dee889f7", + "sha256:aacfd499d23130578184057008ea5329732a5ac59a4fcb73c0467d86723d23c8", + "sha256:b10349ceebec745a47e4339ef7c4878c9b53b82ae4b0883e16544625016d6242", + "sha256:b6bba0f973ef6fe7434834f1b63d16bab4b50879d5bb0ca6eb0495c87d5cbc78", + "sha256:b7bfcbee6b32f0e4786b7813692b3907c9e444f529126b8520cac9914479b98c", + "sha256:c2900ad06fd8f5ad8832b1ee287caccb4a957e971b2b7983e0cd7a8e7c7098fb", + "sha256:c45977fdc675a8961875adab7f04b785f65d3fd9c737cd60b5e3a9b1392ad444", + "sha256:cb48342de1c3be59e6de79c6bbc01cf05562c571a3ed32f7c2e149e7934824cf", + "sha256:cd7dc770926cc66050242eb6c63ca8ce12cd69010bf4ff7ea6e721d4f4b11e4d", + "sha256:d388f093010a014d3b3ddf8185ff45c5279fd825d0b20e21c8076515ae61db31", + "sha256:e0b2bf34340999c6d938107ec2cc9bce1ea59bf08e4694cfa47e782bdbd361f4", + "sha256:e2c9bbb84d5517f2bccdb1836b8ee267a1757acb3cb3e575065c103220b577ac", + "sha256:f4b7a7d68313e252e09550bd03d9d11e460dae681cf95588a131b6b3e07d1e30", + "sha256:f6e5a67bbf8a1b3be5535802f6e9f507d1d8d38fb32de81ec7f03706d95a9126", + "sha256:f931fe9b244dc23c7478c513c3ed94ded93da8bd1a95a4d97b21abdef644304a" + ], + "version": "==1.65.2" }, "idna": { "hashes": [ "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc", "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0" ], + "markers": "python_version >= '3.5'", "version": "==3.7" }, "importlib-metadata": { @@ -1236,7 +1251,7 @@ "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109", "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6" ], - "markers": "python_version >= '3.8'", + "markers": "python_full_version >= '3.8.0'", "version": "==5.13.2" }, "jedi": { @@ -1311,6 +1326,7 @@ "sha256:676d74bd8b95c7467d5e7ea1c954b306c7768b7bfa2bb3dd32e64efdf7dc09ee" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==3.0.7" }, "jupyter-client": { @@ -1359,6 +1375,7 @@ "sha256:ab596a1f2f6ced9e5d063f56b772d88527d2539d61831fbfb80a37f940d3e9df" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==0.7.2" }, "jupyter-server": { @@ -1367,6 +1384,7 @@ "sha256:c80bfb049ea20053c3d9641c2add4848b38073bf79f1729cea1faed32fc1c78e" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==2.13.0" }, "jupyter-server-fileid": { @@ -1391,6 +1409,7 @@ "sha256:f5dc12dd204baca71b013df3522c14403692a2d37cb7adcd77851dbab71533b5" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==4.0.0" }, "jupyter-server-terminals": { @@ -1399,6 +1418,7 @@ "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==0.5.3" }, "jupyter-server-ydoc": { @@ -1423,6 +1443,7 @@ "sha256:d92d57d402f53922bca5090654843aa08e511290dff29fdb0809eafbbeb6df98" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==3.6.7" }, "jupyterlab-git": { @@ -1431,6 +1452,7 @@ "sha256:eb00bceebdfcfaefd266bcbe8a50f8a7eff32315def56f6548a4ad99cc4a5d8d" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==0.44.0" }, "jupyterlab-lsp": { @@ -1439,6 +1461,7 @@ "sha256:7f9d9ae39cb35101e41d037d13cf151a0260a711f3b73157bd49fa21266ad7f4" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==4.2.0" }, "jupyterlab-pygments": { @@ -1463,6 +1486,7 @@ "sha256:dd5ac679593c969af29c9bed054c24f26842baa51352114736756bc035deee27" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==3.0.11" }, "kafka-python": { @@ -1477,21 +1501,21 @@ "hashes": [ "sha256:06ad584eecbe80318c6cd0231c95a432e91fec56f201def9d511b6e6664235ce" ], - "markers": "python_version >= '3.8' and python_full_version < '3.13.0'", + "markers": "python_full_version < '3.13.0' and python_full_version >= '3.8.0'", "version": "==2.8.0" }, "kfp-kubernetes": { "hashes": [ "sha256:5f1bf4e7a3b768e36f865e429535ef5362e8cdc59cc2941007033361e4d67fa1" ], - "markers": "python_version >= '3.7' and python_full_version < '3.13.0'", + "markers": "python_full_version < '3.13.0' and python_full_version >= '3.7.0'", "version": "==1.2.0" }, "kfp-pipeline-spec": { "hashes": [ "sha256:1db84524a0a2d6c9d36e7e87e6fa0e181bf1ba1513d29dcd54f7b8822e7a52a2" ], - "markers": "python_version >= '3.7' and python_full_version < '3.13.0'", + "markers": "python_full_version < '3.13.0' and python_full_version >= '3.7.0'", "version": "==0.3.0" }, "kfp-server-api": { @@ -1724,6 +1748,7 @@ "sha256:fb44f53af0a62dc80bba4443d9b27f2fde6acfdac281d95bc872dc148a6509cc" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==3.8.4" }, "matplotlib-inline": { @@ -1739,6 +1764,7 @@ "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" ], + "markers": "python_version >= '3.6'", "version": "==0.7.0" }, "memray": { @@ -1780,6 +1806,7 @@ "sha256:f16c5c8730b616613dc8bafe32649ca6bd7252606251eb00148582011758d0b5" ], "index": "pypi", + "markers": "python_full_version >= '3.7.0'", "version": "==1.10.0" }, "minio": { @@ -2008,6 +2035,7 @@ "sha256:f7acacdf9fd4260702f360c00952ad9a9cc73e8b7475e0d0c973c085a3dd7b7d" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==8.3.0" }, "nbclassic": { @@ -2023,7 +2051,7 @@ "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09", "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f" ], - "markers": "python_version >= '3.8'", + "markers": "python_full_version >= '3.8.0'", "version": "==0.10.0" }, "nbconvert": { @@ -2040,6 +2068,7 @@ "sha256:a99fed2399fd939e2e577db4bb6e957aac860af4cf583044b723cc9a448c644e" ], "index": "pypi", + "markers": "python_version >= '3.6'", "version": "==3.2.1" }, "nbformat": { @@ -2130,6 +2159,7 @@ "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==1.26.4" }, "oauthlib": { @@ -2146,6 +2176,7 @@ "sha256:96be20ebbfea608fbd03770808520d893e7a526fa95740d521f65b3d20e31113" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==3.16.7" }, "onnx": { @@ -2258,6 +2289,7 @@ "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==2.2.2" }, "pandocfilters": { @@ -2305,7 +2337,6 @@ "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f" ], - "markers": "sys_platform != 'win32'", "version": "==4.9.0" }, "pillow": { @@ -2399,6 +2430,7 @@ "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee", "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3" ], + "markers": "python_version >= '3.8'", "version": "==4.2.2" }, "plotly": { @@ -2407,6 +2439,7 @@ "sha256:bf901c805d22032cfa534b2ff7c5aa6b0659e037f19ec1e0cca7f585918b5c89" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==5.20.0" }, "pluggy": { @@ -2422,6 +2455,7 @@ "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89", "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7" ], + "markers": "python_version >= '3.8'", "version": "==0.20.0" }, "prompt-toolkit": { @@ -2429,7 +2463,7 @@ "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10", "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360" ], - "markers": "python_version >= '3.7'", + "markers": "python_full_version >= '3.7.0'", "version": "==3.0.47" }, "proto-plus": { @@ -2485,6 +2519,7 @@ "sha256:898a29f49ac9c903d554f5a6cdc44a8fc564325557c18f82e51f39c1f4fc2aeb" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==3.1.20" }, "ptyprocess": { @@ -2492,7 +2527,6 @@ "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" ], - "markers": "os_name != 'nt'", "version": "==0.7.0" }, "pure-eval": { @@ -2576,6 +2610,7 @@ "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f", "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67" ], + "markers": "python_version >= '3.8'", "version": "==2.11.1" }, "pycparser": { @@ -2670,6 +2705,7 @@ "sha256:f434160fb14b353caf634149baaf847206406471ba70e64657c1e8330277a991", "sha256:fa43f362b46741df8f201bf3e7dff3569fa92069bcc7b4a740dea3602e27ab7a" ], + "markers": "python_version >= '3.7'", "version": "==1.10.17" }, "pydocstyle": { @@ -2684,6 +2720,7 @@ "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f", "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a" ], + "markers": "python_version >= '3.8'", "version": "==3.2.0" }, "pygithub": { @@ -2806,6 +2843,7 @@ "sha256:ff7d1f449fcad23d9bc8e8dc2b9972be38bcd76d99ea5f7d29b2efa929c2a7ff" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==4.6.3" }, "pynacl": { @@ -2859,6 +2897,7 @@ "sha256:f8488c3818f12207650836c5c6f7352f9ff9f56a05a05512145995e497c0bbb1" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==5.1.0" }, "pyparsing": { @@ -2917,14 +2956,10 @@ }, "pytorch-triton-rocm": { "hashes": [ - "sha256:343d587735644c9ada403fd4cbee43d09aa8e66ed58c6c94786a69f7cfc64809", - "sha256:4019e239b1801d9cb2ab832ca3ca09f66da0b237f8fc8dae68805457313c21c7", - "sha256:914abc55be95b6a26d89ef32505e3aff68c01e1e95dd42a3467c7876579d7988", - "sha256:db52f8b5cf00e5b6cd0fe9efcdc0827979cfe06317afe825f0602930e61e4c29", - "sha256:e5eb578d9feb185d35886b9a7d969896d94881f710e083990c45dff19af5fa74" + "sha256:5f498d86f82d0c8dca04ae675c3b05bdb68872adfff324839fb234cee0b92478" ], "index": "pytorch", - "version": "==2.3.1" + "version": "==3.0.0" }, "pytz": { "hashes": [ @@ -3140,6 +3175,7 @@ "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==0.1.4" }, "rfc3986-validator": { @@ -3147,6 +3183,7 @@ "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==0.1.1" }, "rich": { @@ -3154,7 +3191,7 @@ "sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e", "sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0" ], - "markers": "python_version < '4.0' and python_full_version >= '3.6.3'", + "markers": "python_full_version >= '3.6.3' and python_full_version < '4.0.0'", "version": "==12.6.0" }, "rope": { @@ -3278,7 +3315,7 @@ "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7", "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21" ], - "markers": "python_version >= '3.6' and python_version < '4.0'", + "markers": "python_version >= '3.6' and python_version < '4'", "version": "==4.9" }, "ruamel.yaml": { @@ -3342,7 +3379,7 @@ "sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875", "sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412" ], - "markers": "python_full_version < '3.13.0' and platform_python_implementation == 'CPython'", + "markers": "python_version < '3.13' and platform_python_implementation == 'CPython'", "version": "==0.2.8" }, "s3transfer": { @@ -3378,6 +3415,7 @@ "sha256:ff4effe5a1d4e8fed260a83a163f7dbf4f6087b54528d8880bab1d1377bd78be" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==1.4.2" }, "scipy": { @@ -3409,6 +3447,7 @@ "sha256:f7ce148dffcd64ade37b2df9315541f9adad6efcaa86866ee7dd5db0c8f041c3" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==1.12.0" }, "send2trash": { @@ -3419,6 +3458,15 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", "version": "==1.8.3" }, + "setuptools": { + "hashes": [ + "sha256:0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e", + "sha256:c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c" + ], + "index": "pypi", + "markers": "python_version >= '3.8'", + "version": "==69.2.0" + }, "simpervisor": { "hashes": [ "sha256:3e313318264559beea3f475ead202bc1cd58a2f1288363abb5657d306c5b8388", @@ -3517,6 +3565,7 @@ "sha256:9f2b4e7dad86667615c0e5cd072f1ea8403fc032a299f0072d6f74855775cc45" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==2.16.2" }, "tensorboard-data-server": { @@ -3578,25 +3627,17 @@ }, "torch": { "hashes": [ - "sha256:4e8918e991ba4d145450692c8b99afbcafb2974c91168be5a3f055b37ab27863", - "sha256:7d0aac31a5d76a6f737238725baecf35a6924f333f60a075ef5856c9e3212045", - "sha256:b50429ec9286b9d07cd3f377a26425a63c9814734136f9850f5217773fca9479", - "sha256:b9ec21d7f922f3204da64ba2f8f488dd75c96ffb811abc41843432c7b31b4c37", - "sha256:d36795e37c5654f3af5569f3c4bb230ccab722016648b30b4b24b8fd5eaece25" + "sha256:6cdd925827f6322b60c5f6c4e11e214fa5ff91a21412180917c773380c7ae492" ], "index": "pytorch", - "version": "==2.3.1+rocm6.0" + "version": "==2.4.0+rocm6.1" }, "torchvision": { "hashes": [ - "sha256:0f70cfcb1eb27c16e280a7de33855211e98d1b28aab87ace3d21e79de7d5495a", - "sha256:64e6f32a2e9a0a00050b3fd81d4d26ad5b6332a948a9a0f0d229bdf954d9cd98", - "sha256:877a5d48530bf3771529daab95b6cf330a98a14596a3f8d8ad830b8f61240e7c", - "sha256:aed0840c37a6b2ba59654d73b2ce641715311f28ecd2532b1fcecdeeaa99b334", - "sha256:c8e8f282463b51ebf007c7a039fd55ddec7c7393ecc4e0925ee94b9665cd9f5c" + "sha256:452ecaa253880d05df78bd392a5f61238f12f6abdd8e8da93aeb8d2dbb1b1218" ], "index": "pytorch", - "version": "==0.18.1+rocm6.0" + "version": "==0.19.0+rocm6.1" }, "tornado": { "hashes": [ @@ -3644,7 +3685,7 @@ "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" ], - "markers": "python_version < '3.11'", + "markers": "python_version >= '3.8'", "version": "==4.12.2" }, "tzdata": { @@ -3751,7 +3792,7 @@ "sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3", "sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429" ], - "markers": "python_version < '3.10'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", "version": "==1.26.19" }, "virtualenv": { @@ -3849,6 +3890,7 @@ "sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==0.43.0" }, "widgetsnbextension": { @@ -4146,7 +4188,7 @@ "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19", "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c" ], - "markers": "python_version < '3.10'", + "markers": "python_version >= '3.8'", "version": "==3.19.2" } }, diff --git a/jupyter/rocm/pytorch/ubi9-python-3.9/de-vendor-torch.sh b/jupyter/rocm/pytorch/ubi9-python-3.9/de-vendor-torch.sh new file mode 100755 index 000000000..780f8815e --- /dev/null +++ b/jupyter/rocm/pytorch/ubi9-python-3.9/de-vendor-torch.sh @@ -0,0 +1,41 @@ +#!/bin/sh +set -ex +# Replace PyTorch's vendored shared libraries with system libraries +# The script assumes that PyTorch is built with the same ROCm ABI as the +# system installation of ROCm. + +# Source: https://github.com/tiran/instructlab-containers/blob/main/containers/rocm/de-vendor-torch.sh + +PYTHON=python3.9 +ROCMLIB=/opt/rocm/lib +TORCHLIB=/opt/app-root/lib/${PYTHON}/site-packages/torch/lib + +ln -sf /usr/lib64/libdrm.so.2 ${TORCHLIB}/libdrm.so +ln -sf /usr/lib64/libdrm_amdgpu.so.1 ${TORCHLIB}/libdrm_amdgpu.so + +ln -sf ${ROCMLIB}/libamd_comgr.so.2 ${TORCHLIB}/libamd_comgr.so +ln -sf ${ROCMLIB}/libamdhip64.so.6 ${TORCHLIB}/libamdhip64.so +ln -sf ${ROCMLIB}/libhipblaslt.so.0 ${TORCHLIB}/libhipblaslt.so +ln -sf ${ROCMLIB}/libhipblas.so.2 ${TORCHLIB}/libhipblas.so +ln -sf ${ROCMLIB}/libhipfft.so.0 ${TORCHLIB}/libhipfft.so +ln -sf ${ROCMLIB}/libhiprand.so.1 ${TORCHLIB}/libhiprand.so +ln -sf ${ROCMLIB}/libhiprtc.so.6 ${TORCHLIB}/libhiprtc.so +ln -sf ${ROCMLIB}/libhipsolver.so.0 ${TORCHLIB}/libhipsolver.so +ln -sf ${ROCMLIB}/libhipsparse.so.1 ${TORCHLIB}/libhipsparse.so +ln -sf ${ROCMLIB}/libhsa-runtime64.so.1 ${TORCHLIB}/libhsa-runtime64.so +ln -sf ${ROCMLIB}/libMIOpen.so.1 ${TORCHLIB}/libMIOpen.so +ln -sf ${ROCMLIB}/librccl.so.1 ${TORCHLIB}/librccl.so +ln -sf ${ROCMLIB}/librocblas.so.4 ${TORCHLIB}/librocblas.so +ln -sf ${ROCMLIB}/librocfft.so.0 ${TORCHLIB}/librocfft.so +ln -sf ${ROCMLIB}/librocm_smi64.so.6 ${TORCHLIB}/librocm_smi64.so +ln -sf ${ROCMLIB}/librocrand.so.1 ${TORCHLIB}/librocrand.so +ln -sf ${ROCMLIB}/librocsolver.so.0 ${TORCHLIB}/librocsolver.so +ln -sf ${ROCMLIB}/librocsparse.so.1 ${TORCHLIB}/librocsparse.so +ln -sf ${ROCMLIB}/libroctracer64.so.4 ${TORCHLIB}/libroctracer64.so +ln -sf ${ROCMLIB}/libroctx64.so.4 ${TORCHLIB}/libroctx64.so + +rm -rf ${TORCHLIB}/rocblas +ln -sf ${ROCMLIB}/rocblas ${TORCHLIB}/rocblas + +rm -rf ${TORCHLIB}/hipblaslt +ln -sf ${ROCMLIB}/hipblaslt ${TORCHLIB}/hipblaslt diff --git a/jupyter/rocm/tensorflow/ubi9-python-3.9/Dockerfile b/jupyter/rocm/tensorflow/ubi9-python-3.9/Dockerfile index 87acf24d2..721e6bd6d 100644 --- a/jupyter/rocm/tensorflow/ubi9-python-3.9/Dockerfile +++ b/jupyter/rocm/tensorflow/ubi9-python-3.9/Dockerfile @@ -15,9 +15,9 @@ LABEL name="odh-notebook-jupyter-rocm-tensorflow-ubi9-python-3.9" \ COPY Pipfile.lock ./ RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock && \ - # Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y + # Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y \ sed -i -e "s/Python.*/$(python --version | cut -d '.' -f-2)\",/" /opt/app-root/share/jupyter/kernels/python3/kernel.json && \ - # Disable announcement plugin of jupyterlab + # Disable announcement plugin of jupyterlab \ jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \ - # Fix permissions to support pip in Openshift environments + # Fix permissions to support pip in Openshift environments \ chmod -R g+w /opt/app-root/lib/python3.9/site-packages && fix-permissions /opt/app-root -P diff --git a/jupyter/tensorflow/ubi9-python-3.9/Dockerfile b/jupyter/tensorflow/ubi9-python-3.9/Dockerfile index 31579fdb8..82712e34c 100644 --- a/jupyter/tensorflow/ubi9-python-3.9/Dockerfile +++ b/jupyter/tensorflow/ubi9-python-3.9/Dockerfile @@ -19,14 +19,11 @@ RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./P # Temporary:Workaround for fixing the kfp-kubernetes 1.0.0 for elyra pipeline execution # TODO: Remove this patch once the issue is fixed with kfp-kubernetes upgrade. -RUN patch /opt/app-root/lib/python3.9/site-packages/elyra/templates/kubeflow/v2/python_dsl_template.jinja2 -i utils/python_dsl_template.patch - -# Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y -RUN sed -i -e "s/Python.*/$(python --version | cut -d '.' -f-2)\",/" /opt/app-root/share/jupyter/kernels/python3/kernel.json - -# Disable announcement plugin of jupyterlab -RUN jupyter labextension disable "@jupyterlab/apputils-extension:announcements" - -# Fix permissions to support pip in Openshift environments -RUN chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ +RUN patch /opt/app-root/lib/python3.9/site-packages/elyra/templates/kubeflow/v2/python_dsl_template.jinja2 -i utils/python_dsl_template.patch && \ + # Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y \ + sed -i -e "s/Python.*/$(python --version | cut -d '.' -f-2)\",/" /opt/app-root/share/jupyter/kernels/python3/kernel.json && \ + # Disable announcement plugin of jupyterlab \ + jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \ + # Fix permissions to support pip in Openshift environments \ + chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ fix-permissions /opt/app-root -P diff --git a/jupyter/trustyai/ubi9-python-3.9/Dockerfile b/jupyter/trustyai/ubi9-python-3.9/Dockerfile index 3dc7e3512..24f7d4cb5 100644 --- a/jupyter/trustyai/ubi9-python-3.9/Dockerfile +++ b/jupyter/trustyai/ubi9-python-3.9/Dockerfile @@ -23,14 +23,11 @@ USER 1001 # Install Python packages and Jupyterlab extensions from Pipfile.lock COPY Pipfile.lock ./ -RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock - -# Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y -RUN sed -i -e "s/Python.*/$(python --version | cut -d '.' -f-2)\",/" /opt/app-root/share/jupyter/kernels/python3/kernel.json - -# Disable announcement plugin of jupyterlab -RUN jupyter labextension disable "@jupyterlab/apputils-extension:announcements" - -# Fix permissions to support pip in Openshift environments -RUN chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ +RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock && \ + # Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y \ + sed -i -e "s/Python.*/$(python --version | cut -d '.' -f-2)\",/" /opt/app-root/share/jupyter/kernels/python3/kernel.json && \ + # Disable announcement plugin of jupyterlab \ + jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \ + # Fix permissions to support pip in Openshift environments \ + chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ fix-permissions /opt/app-root -P diff --git a/manifests/base/jupyter-datascience-notebook-imagestream.yaml b/manifests/base/jupyter-datascience-notebook-imagestream.yaml index c911954b7..f4741844f 100644 --- a/manifests/base/jupyter-datascience-notebook-imagestream.yaml +++ b/manifests/base/jupyter-datascience-notebook-imagestream.yaml @@ -17,7 +17,7 @@ spec: # N Version of the image - annotations: opendatahub.io/notebook-software: '[{"name":"Python","version":"v3.9"}]' - opendatahub.io/notebook-python-dependencies: '[{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp","version":"2.7"},{"name":"Matplotlib","version":"3.8"},{"name":"Numpy","version":"1.26"},{"name":"Pandas","version":"2.2"},{"name":"Scikit-learn","version":"1.4"},{"name":"Scipy","version":"1.12"},{"name":"Odh-Elyra","version":"3.16"},{"name":"PyMongo","version":"4.6"},{"name":"Pyodbc","version":"5.1"}, {"name":"Codeflare-SDK","version":"0.16"}, {"name":"Sklearn-onnx","version":"1.16"}, {"name":"Psycopg","version":"3.1"}, {"name":"MySQL Connector/Python","version":"8.3"}]' + opendatahub.io/notebook-python-dependencies: '[{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp","version":"2.7"},{"name":"Matplotlib","version":"3.8"},{"name":"Numpy","version":"1.26"},{"name":"Pandas","version":"2.2"},{"name":"Scikit-learn","version":"1.4"},{"name":"Scipy","version":"1.12"},{"name":"Odh-Elyra","version":"3.16"},{"name":"PyMongo","version":"4.6"},{"name":"Pyodbc","version":"5.1"}, {"name":"Codeflare-SDK","version":"0.18"}, {"name":"Sklearn-onnx","version":"1.16"}, {"name":"Psycopg","version":"3.1"}, {"name":"MySQL Connector/Python","version":"8.3"}]' openshift.io/imported-from: quay.io/modh/odh-generic-data-science-notebook opendatahub.io/workbench-image-recommended: "true" opendatahub.io/notebook-build-commit: $(odh-generic-data-science-notebook-image-commit-n) diff --git a/manifests/base/jupyter-habana-notebook-imagestream.yaml b/manifests/base/jupyter-habana-notebook-imagestream.yaml index c55b4d482..1a0e4685c 100644 --- a/manifests/base/jupyter-habana-notebook-imagestream.yaml +++ b/manifests/base/jupyter-habana-notebook-imagestream.yaml @@ -18,7 +18,7 @@ spec: # 1.13.0 Version of the image n - annotations: opendatahub.io/notebook-software: '[{"name":"Python","version":"v3.8"},{"name":"Habana","version":"1.13"}]' - opendatahub.io/notebook-python-dependencies: '[{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Matplotlib","version":"3.7"},{"name":"Numpy","version":"1.23"},{"name":"Pandas","version":"2.0"},{"name":"Scikit-learn","version":"1.3"},{"name":"Codeflare-SDK","version":"0.16"},{"name":"Scipy","version":"1.10"},{"name":"TensorFlow","version":"2.13"},{"name":"PyTorch","version":"2.1"},{"name":"ODH-Elyra","version":"3.16"}]' + opendatahub.io/notebook-python-dependencies: '[{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Matplotlib","version":"3.7"},{"name":"Numpy","version":"1.23"},{"name":"Pandas","version":"2.0"},{"name":"Scikit-learn","version":"1.3"},{"name":"Codeflare-SDK","version":"0.18"},{"name":"Scipy","version":"1.10"},{"name":"TensorFlow","version":"2.13"},{"name":"PyTorch","version":"2.1"},{"name":"ODH-Elyra","version":"3.16"}]' openshift.io/imported-from: quay.io/modh/odh-habana-notebooks opendatahub.io/workbench-image-recommended: "true" opendatahub.io/notebook-build-commit: $(odh-habana-notebook-image-commit-n) diff --git a/manifests/base/jupyter-pytorch-notebook-imagestream.yaml b/manifests/base/jupyter-pytorch-notebook-imagestream.yaml index 0ab703f1c..f6732d4df 100644 --- a/manifests/base/jupyter-pytorch-notebook-imagestream.yaml +++ b/manifests/base/jupyter-pytorch-notebook-imagestream.yaml @@ -18,7 +18,7 @@ spec: # N Version of the image - annotations: opendatahub.io/notebook-software: '[{"name":"CUDA","version":"12.1"},{"name":"Python","version":"v3.9"},{"name":"PyTorch","version":"2.2"}]' - opendatahub.io/notebook-python-dependencies: '[{"name":"PyTorch","version":"2.2"},{"name":"Tensorboard","version":"2.16"},{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp","version":"2.7"},{"name":"Matplotlib","version":"3.8"},{"name":"Numpy","version":"1.26"},{"name":"Pandas","version":"2.2"},{"name":"Scikit-learn","version":"1.4"},{"name":"Scipy","version":"1.12"},{"name":"Odh-Elyra","version":"3.16"},{"name":"PyMongo","version":"4.6"},{"name":"Pyodbc","version":"5.1"}, {"name":"Codeflare-SDK","version":"0.16"}, {"name":"Sklearn-onnx","version":"1.16"}, {"name":"Psycopg","version":"3.1"}, {"name":"MySQL Connector/Python","version":"8.3"}]' + opendatahub.io/notebook-python-dependencies: '[{"name":"PyTorch","version":"2.2"},{"name":"Tensorboard","version":"2.16"},{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp","version":"2.7"},{"name":"Matplotlib","version":"3.8"},{"name":"Numpy","version":"1.26"},{"name":"Pandas","version":"2.2"},{"name":"Scikit-learn","version":"1.4"},{"name":"Scipy","version":"1.12"},{"name":"Odh-Elyra","version":"3.16"},{"name":"PyMongo","version":"4.6"},{"name":"Pyodbc","version":"5.1"}, {"name":"Codeflare-SDK","version":"0.18"}, {"name":"Sklearn-onnx","version":"1.16"}, {"name":"Psycopg","version":"3.1"}, {"name":"MySQL Connector/Python","version":"8.3"}]' openshift.io/imported-from: quay.io/modh/odh-pytorch-notebook opendatahub.io/workbench-image-recommended: "true" opendatahub.io/notebook-build-commit: $(odh-pytorch-gpu-notebook-image-commit-n) diff --git a/manifests/base/jupyter-tensorflow-notebook-imagestream.yaml b/manifests/base/jupyter-tensorflow-notebook-imagestream.yaml index 2c1203b16..af86e0032 100644 --- a/manifests/base/jupyter-tensorflow-notebook-imagestream.yaml +++ b/manifests/base/jupyter-tensorflow-notebook-imagestream.yaml @@ -18,7 +18,7 @@ spec: # N Version of the image - annotations: opendatahub.io/notebook-software: '[{"name":"CUDA","version":"12.1"},{"name":"Python","version":"v3.9"},{"name":"TensorFlow","version":"2.15"}]' - opendatahub.io/notebook-python-dependencies: '[{"name":"TensorFlow","version":"2.15"},{"name":"Tensorboard","version":"2.15"},{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp","version":"2.5"},{"name":"Matplotlib","version":"3.8"},{"name":"Numpy","version":"1.26"},{"name":"Pandas","version":"2.2"},{"name":"Scikit-learn","version":"1.4"},{"name":"Scipy","version":"1.12"},{"name":"Odh-Elyra","version":"3.16"},{"name":"PyMongo","version":"4.6"},{"name":"Pyodbc","version":"5.1"}, {"name":"Codeflare-SDK","version":"0.16"}, {"name":"Sklearn-onnx","version":"1.16"}, {"name":"Psycopg","version":"3.1"}, {"name":"MySQL Connector/Python","version":"8.3"}]' + opendatahub.io/notebook-python-dependencies: '[{"name":"TensorFlow","version":"2.15"},{"name":"Tensorboard","version":"2.15"},{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp","version":"2.5"},{"name":"Matplotlib","version":"3.8"},{"name":"Numpy","version":"1.26"},{"name":"Pandas","version":"2.2"},{"name":"Scikit-learn","version":"1.4"},{"name":"Scipy","version":"1.12"},{"name":"Odh-Elyra","version":"3.16"},{"name":"PyMongo","version":"4.6"},{"name":"Pyodbc","version":"5.1"}, {"name":"Codeflare-SDK","version":"0.18"}, {"name":"Sklearn-onnx","version":"1.16"}, {"name":"Psycopg","version":"3.1"}, {"name":"MySQL Connector/Python","version":"8.3"}]' openshift.io/imported-from: quay.io/modh/cuda-notebooks opendatahub.io/workbench-image-recommended: "true" opendatahub.io/notebook-build-commit: $(odh-tensorflow-gpu-notebook-image-commit-n) diff --git a/manifests/base/jupyter-trustyai-notebook-imagestream.yaml b/manifests/base/jupyter-trustyai-notebook-imagestream.yaml index 61972fe03..8379a57e6 100644 --- a/manifests/base/jupyter-trustyai-notebook-imagestream.yaml +++ b/manifests/base/jupyter-trustyai-notebook-imagestream.yaml @@ -17,7 +17,7 @@ spec: # N Version of the image - annotations: opendatahub.io/notebook-software: '[{"name":"Python","version":"v3.9"}]' - opendatahub.io/notebook-python-dependencies: '[{"name":"TrustyAI","version":"0.6"},{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp","version":"2.7"},{"name":"Matplotlib","version":"3.6"},{"name":"Numpy","version":"1.24"},{"name":"Pandas","version":"1.5"},{"name":"Scikit-learn","version":"1.4"},{"name":"Scipy","version":"1.12"},{"name":"Odh-Elyra","version":"3.16"},{"name":"PyMongo","version":"4.6"},{"name":"Pyodbc","version":"5.1"}, {"name":"Codeflare-SDK","version":"0.16"}, {"name":"Sklearn-onnx","version":"1.16"}, {"name":"Psycopg","version":"3.1"}, {"name":"MySQL Connector/Python","version":"8.3"}]' + opendatahub.io/notebook-python-dependencies: '[{"name":"TrustyAI","version":"0.6"},{"name":"Boto3","version":"1.34"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp","version":"2.7"},{"name":"Matplotlib","version":"3.6"},{"name":"Numpy","version":"1.24"},{"name":"Pandas","version":"1.5"},{"name":"Scikit-learn","version":"1.4"},{"name":"Scipy","version":"1.12"},{"name":"Odh-Elyra","version":"3.16"},{"name":"PyMongo","version":"4.6"},{"name":"Pyodbc","version":"5.1"}, {"name":"Codeflare-SDK","version":"0.18"}, {"name":"Sklearn-onnx","version":"1.16"}, {"name":"Psycopg","version":"3.1"}, {"name":"MySQL Connector/Python","version":"8.3"}]' openshift.io/imported-from: quay.io/modh/odh-trustyai-notebook opendatahub.io/workbench-image-recommended: "true" opendatahub.io/notebook-build-commit: $(odh-trustyai-notebook-image-commit-n) diff --git a/rocm/ubi9-python-3.9/Dockerfile b/rocm/ubi9-python-3.9/Dockerfile index b749febc4..82dbc9e8d 100644 --- a/rocm/ubi9-python-3.9/Dockerfile +++ b/rocm/ubi9-python-3.9/Dockerfile @@ -15,6 +15,7 @@ LABEL name="odh-notebook-rocm-python-3.9" \ USER 0 WORKDIR /opt/app-root/bin +# Please keep in sync with ROCm/python3.9 dependent images ARG ROCM_VERSION=6.1 ARG AMDGPU_VERSION=6.1 diff --git a/runtimes/datascience/ubi8-python-3.8/utils/bootstrapper.py b/runtimes/datascience/ubi8-python-3.8/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/datascience/ubi8-python-3.8/utils/bootstrapper.py +++ b/runtimes/datascience/ubi8-python-3.8/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/datascience/ubi9-python-3.9/utils/bootstrapper.py b/runtimes/datascience/ubi9-python-3.9/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/datascience/ubi9-python-3.9/utils/bootstrapper.py +++ b/runtimes/datascience/ubi9-python-3.9/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/minimal/ubi8-python-3.8/utils/bootstrapper.py b/runtimes/minimal/ubi8-python-3.8/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/minimal/ubi8-python-3.8/utils/bootstrapper.py +++ b/runtimes/minimal/ubi8-python-3.8/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/minimal/ubi9-python-3.9/utils/bootstrapper.py b/runtimes/minimal/ubi9-python-3.9/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/minimal/ubi9-python-3.9/utils/bootstrapper.py +++ b/runtimes/minimal/ubi9-python-3.9/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/pytorch/ubi8-python-3.8/utils/bootstrapper.py b/runtimes/pytorch/ubi8-python-3.8/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/pytorch/ubi8-python-3.8/utils/bootstrapper.py +++ b/runtimes/pytorch/ubi8-python-3.8/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/pytorch/ubi9-python-3.9/utils/bootstrapper.py b/runtimes/pytorch/ubi9-python-3.9/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/pytorch/ubi9-python-3.9/utils/bootstrapper.py +++ b/runtimes/pytorch/ubi9-python-3.9/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/rocm-pytorch/ubi9-python-3.9/Dockerfile b/runtimes/rocm-pytorch/ubi9-python-3.9/Dockerfile index cd1114cd9..e1cb03c14 100644 --- a/runtimes/rocm-pytorch/ubi9-python-3.9/Dockerfile +++ b/runtimes/rocm-pytorch/ubi9-python-3.9/Dockerfile @@ -17,10 +17,15 @@ WORKDIR /opt/app-root/bin COPY Pipfile.lock ./ # Copy Elyra dependencies for air-gapped enviroment COPY utils ./utils/ +# Copy utility script +COPY de-vendor-torch.sh ./ RUN echo "Installing softwares and packages" && \ micropipenv install && \ rm -f ./Pipfile.lock && \ + # De-vendor the ROCm libs that are embedded in Pytorch \ + ./de-vendor-torch.sh && \ + rm ./de-vendor-torch.sh && \ # Fix permissions to support pip in Openshift environments \ chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ fix-permissions /opt/app-root -P diff --git a/runtimes/rocm-pytorch/ubi9-python-3.9/Pipfile b/runtimes/rocm-pytorch/ubi9-python-3.9/Pipfile index 132e3acbe..b43e935fc 100644 --- a/runtimes/rocm-pytorch/ubi9-python-3.9/Pipfile +++ b/runtimes/rocm-pytorch/ubi9-python-3.9/Pipfile @@ -4,7 +4,8 @@ verify_ssl = true name = "pypi" [[source]] -url = "https://download.pytorch.org/whl/rocm6.0/" +# Please keep in sync with rocm/ubi9-python-3.9/Dockerfile +url = "https://download.pytorch.org/whl/rocm6.1/" verify_ssl = true name = "pytorch" @@ -13,8 +14,9 @@ name = "pytorch" [packages] # PyTorch packages tensorboard = "~=2.16.2" -torch = {version = "~=2.3.1", index = "pytorch"} -torchvision = {version = "~=0.18.1", index = "pytorch"} # https://pytorch.org/get-started/previous-versions/#linux-and-windows-1 +torch = {version = "~=2.4.0", index = "pytorch"} +torchvision = {version = "~=0.19.0", index = "pytorch"} # https://pytorch.org/get-started/previous-versions/#linux-and-windows-1 +pytorch-triton-rocm = {version = "~=3.0.0", index = "pytorch"} # Datascience and useful extensions boto3 = "~=1.34.50" diff --git a/runtimes/rocm-pytorch/ubi9-python-3.9/Pipfile.lock b/runtimes/rocm-pytorch/ubi9-python-3.9/Pipfile.lock index abf3ba0bc..93659d36e 100644 --- a/runtimes/rocm-pytorch/ubi9-python-3.9/Pipfile.lock +++ b/runtimes/rocm-pytorch/ubi9-python-3.9/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "246a3980f3c1899dbdb24185e15eff66561940ad31f984684950fa5b8d9ec3a4" + "sha256": "272005201068a203e10a0a67b0cbddc2bb72cc39756d787f823161ac39b021c3" }, "pipfile-spec": 6, "requires": { @@ -15,7 +15,7 @@ }, { "name": "pytorch", - "url": "https://download.pytorch.org/whl/rocm6.0/", + "url": "https://download.pytorch.org/whl/rocm6.1/", "verify_ssl": true } ] @@ -29,86 +29,94 @@ "markers": "python_version >= '3.7'", "version": "==2.1.0" }, + "aiohappyeyeballs": { + "hashes": [ + "sha256:40a16ceffcf1fc9e142fd488123b2e218abc4188cf12ac20c67200e1579baa42", + "sha256:7e1ae8399c320a8adec76f6c919ed5ceae6edd4c3672f4d9eae2b27e37c80ff6" + ], + "markers": "python_version >= '3.8' and python_version < '4.0'", + "version": "==2.3.4" + }, "aiohttp": { "hashes": [ - "sha256:0605cc2c0088fcaae79f01c913a38611ad09ba68ff482402d3410bf59039bfb8", - "sha256:0a158704edf0abcac8ac371fbb54044f3270bdbc93e254a82b6c82be1ef08f3c", - "sha256:0cbf56238f4bbf49dab8c2dc2e6b1b68502b1e88d335bea59b3f5b9f4c001475", - "sha256:1732102949ff6087589408d76cd6dea656b93c896b011ecafff418c9661dc4ed", - "sha256:18f634d540dd099c262e9f887c8bbacc959847cfe5da7a0e2e1cf3f14dbf2daf", - "sha256:239f975589a944eeb1bad26b8b140a59a3a320067fb3cd10b75c3092405a1372", - "sha256:2faa61a904b83142747fc6a6d7ad8fccff898c849123030f8e75d5d967fd4a81", - "sha256:320e8618eda64e19d11bdb3bd04ccc0a816c17eaecb7e4945d01deee2a22f95f", - "sha256:38d80498e2e169bc61418ff36170e0aad0cd268da8b38a17c4cf29d254a8b3f1", - "sha256:3916c8692dbd9d55c523374a3b8213e628424d19116ac4308e434dbf6d95bbdd", - "sha256:393c7aba2b55559ef7ab791c94b44f7482a07bf7640d17b341b79081f5e5cd1a", - "sha256:3b7b30258348082826d274504fbc7c849959f1989d86c29bc355107accec6cfb", - "sha256:3fcb4046d2904378e3aeea1df51f697b0467f2aac55d232c87ba162709478c46", - "sha256:4109adee842b90671f1b689901b948f347325045c15f46b39797ae1bf17019de", - "sha256:4558e5012ee03d2638c681e156461d37b7a113fe13970d438d95d10173d25f78", - "sha256:45731330e754f5811c314901cebdf19dd776a44b31927fa4b4dbecab9e457b0c", - "sha256:4715a9b778f4293b9f8ae7a0a7cef9829f02ff8d6277a39d7f40565c737d3771", - "sha256:471f0ef53ccedec9995287f02caf0c068732f026455f07db3f01a46e49d76bbb", - "sha256:4d3ebb9e1316ec74277d19c5f482f98cc65a73ccd5430540d6d11682cd857430", - "sha256:4ff550491f5492ab5ed3533e76b8567f4b37bd2995e780a1f46bca2024223233", - "sha256:52c27110f3862a1afbcb2af4281fc9fdc40327fa286c4625dfee247c3ba90156", - "sha256:55b39c8684a46e56ef8c8d24faf02de4a2b2ac60d26cee93bc595651ff545de9", - "sha256:5a7ee16aab26e76add4afc45e8f8206c95d1d75540f1039b84a03c3b3800dd59", - "sha256:5ca51eadbd67045396bc92a4345d1790b7301c14d1848feaac1d6a6c9289e888", - "sha256:5d6b3f1fabe465e819aed2c421a6743d8debbde79b6a8600739300630a01bf2c", - "sha256:60cdbd56f4cad9f69c35eaac0fbbdf1f77b0ff9456cebd4902f3dd1cf096464c", - "sha256:6380c039ec52866c06d69b5c7aad5478b24ed11696f0e72f6b807cfb261453da", - "sha256:639d0042b7670222f33b0028de6b4e2fad6451462ce7df2af8aee37dcac55424", - "sha256:66331d00fb28dc90aa606d9a54304af76b335ae204d1836f65797d6fe27f1ca2", - "sha256:67c3119f5ddc7261d47163ed86d760ddf0e625cd6246b4ed852e82159617b5fb", - "sha256:694d828b5c41255e54bc2dddb51a9f5150b4eefa9886e38b52605a05d96566e8", - "sha256:6ae79c1bc12c34082d92bf9422764f799aee4746fd7a392db46b7fd357d4a17a", - "sha256:702e2c7c187c1a498a4e2b03155d52658fdd6fda882d3d7fbb891a5cf108bb10", - "sha256:714d4e5231fed4ba2762ed489b4aec07b2b9953cf4ee31e9871caac895a839c0", - "sha256:7b179eea70833c8dee51ec42f3b4097bd6370892fa93f510f76762105568cf09", - "sha256:7f64cbd44443e80094309875d4f9c71d0401e966d191c3d469cde4642bc2e031", - "sha256:82a6a97d9771cb48ae16979c3a3a9a18b600a8505b1115cfe354dfb2054468b4", - "sha256:84dabd95154f43a2ea80deffec9cb44d2e301e38a0c9d331cc4aa0166fe28ae3", - "sha256:8676e8fd73141ded15ea586de0b7cda1542960a7b9ad89b2b06428e97125d4fa", - "sha256:88e311d98cc0bf45b62fc46c66753a83445f5ab20038bcc1b8a1cc05666f428a", - "sha256:8b4f72fbb66279624bfe83fd5eb6aea0022dad8eec62b71e7bf63ee1caadeafe", - "sha256:8c64a6dc3fe5db7b1b4d2b5cb84c4f677768bdc340611eca673afb7cf416ef5a", - "sha256:8cf142aa6c1a751fcb364158fd710b8a9be874b81889c2bd13aa8893197455e2", - "sha256:8d1964eb7617907c792ca00b341b5ec3e01ae8c280825deadbbd678447b127e1", - "sha256:93e22add827447d2e26d67c9ac0161756007f152fdc5210277d00a85f6c92323", - "sha256:9c69e77370cce2d6df5d12b4e12bdcca60c47ba13d1cbbc8645dd005a20b738b", - "sha256:9dbc053ac75ccc63dc3a3cc547b98c7258ec35a215a92bd9f983e0aac95d3d5b", - "sha256:9e3a1ae66e3d0c17cf65c08968a5ee3180c5a95920ec2731f53343fac9bad106", - "sha256:a6ea1a5b409a85477fd8e5ee6ad8f0e40bf2844c270955e09360418cfd09abac", - "sha256:a81b1143d42b66ffc40a441379387076243ef7b51019204fd3ec36b9f69e77d6", - "sha256:ad7f2919d7dac062f24d6f5fe95d401597fbb015a25771f85e692d043c9d7832", - "sha256:afc52b8d969eff14e069a710057d15ab9ac17cd4b6753042c407dcea0e40bf75", - "sha256:b3df71da99c98534be076196791adca8819761f0bf6e08e07fd7da25127150d6", - "sha256:c088c4d70d21f8ca5c0b8b5403fe84a7bc8e024161febdd4ef04575ef35d474d", - "sha256:c26959ca7b75ff768e2776d8055bf9582a6267e24556bb7f7bd29e677932be72", - "sha256:c413016880e03e69d166efb5a1a95d40f83d5a3a648d16486592c49ffb76d0db", - "sha256:c6021d296318cb6f9414b48e6a439a7f5d1f665464da507e8ff640848ee2a58a", - "sha256:c671dc117c2c21a1ca10c116cfcd6e3e44da7fcde37bf83b2be485ab377b25da", - "sha256:c7a4b7a6cf5b6eb11e109a9755fd4fda7d57395f8c575e166d363b9fc3ec4678", - "sha256:c8a02fbeca6f63cb1f0475c799679057fc9268b77075ab7cf3f1c600e81dd46b", - "sha256:cd2adf5c87ff6d8b277814a28a535b59e20bfea40a101db6b3bdca7e9926bc24", - "sha256:d1469f228cd9ffddd396d9948b8c9cd8022b6d1bf1e40c6f25b0fb90b4f893ed", - "sha256:d153f652a687a8e95ad367a86a61e8d53d528b0530ef382ec5aaf533140ed00f", - "sha256:d5ab8e1f6bee051a4bf6195e38a5c13e5e161cb7bad83d8854524798bd9fcd6e", - "sha256:da00da442a0e31f1c69d26d224e1efd3a1ca5bcbf210978a2ca7426dfcae9f58", - "sha256:da22dab31d7180f8c3ac7c7635f3bcd53808f374f6aa333fe0b0b9e14b01f91a", - "sha256:e0ae53e33ee7476dd3d1132f932eeb39bf6125083820049d06edcdca4381f342", - "sha256:e7a6a8354f1b62e15d48e04350f13e726fa08b62c3d7b8401c0a1314f02e3558", - "sha256:e9a3d838441bebcf5cf442700e3963f58b5c33f015341f9ea86dcd7d503c07e2", - "sha256:edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551", - "sha256:f22eb3a6c1080d862befa0a89c380b4dafce29dc6cd56083f630073d102eb595", - "sha256:f26383adb94da5e7fb388d441bf09c61e5e35f455a3217bfd790c6b6bc64b2ee", - "sha256:f3c2890ca8c59ee683fd09adf32321a40fe1cf164e3387799efb2acebf090c11", - "sha256:f64fd07515dad67f24b6ea4a66ae2876c01031de91c93075b8093f07c0a2d93d", - "sha256:fcde4c397f673fdec23e6b05ebf8d4751314fa7c24f93334bf1f1364c1c69ac7", - "sha256:ff84aeb864e0fac81f676be9f4685f0527b660f1efdc40dcede3c251ef1e867f" - ], - "version": "==3.9.5" + "sha256:03799a95402a7ed62671c4465e1eae51d749d5439dbc49edb6eee52ea165c50b", + "sha256:0433795c4a8bafc03deb3e662192250ba5db347c41231b0273380d2f53c9ea0b", + "sha256:06ef0135d7ab7fb0284342fbbf8e8ddf73b7fee8ecc55f5c3a3d0a6b765e6d8b", + "sha256:0b0c0148d2a69b82ffe650c2ce235b431d49a90bde7dd2629bcb40314957acf6", + "sha256:0d85a173b4dbbaaad1900e197181ea0fafa617ca6656663f629a8a372fdc7d06", + "sha256:10f0d7894ddc6ff8f369e3fdc082ef1f940dc1f5b9003cd40945d24845477220", + "sha256:12c43dace645023583f3dd2337dfc3aa92c99fb943b64dcf2bc15c7aa0fb4a95", + "sha256:13679e11937d3f37600860de1f848e2e062e2b396d3aa79b38c89f9c8ab7e791", + "sha256:1c83977f7b6f4f4a96fab500f5a76d355f19f42675224a3002d375b3fb309174", + "sha256:1dc95c5e2a5e60095f1bb51822e3b504e6a7430c9b44bff2120c29bb876c5202", + "sha256:1ebd8ed91428ffbe8b33a5bd6f50174e11882d5b8e2fe28670406ab5ee045ede", + "sha256:21dab4a704c68dc7bc2a1219a4027158e8968e2079f1444eda2ba88bc9f2895f", + "sha256:25a9924343bf91b0c5082cae32cfc5a1f8787ac0433966319ec07b0ed4570722", + "sha256:2a03a4407bdb9ae815f0d5a19df482b17df530cf7bf9c78771aa1c713c37ff1f", + "sha256:2dc75da06c35a7b47a88ceadbf993a53d77d66423c2a78de8c6f9fb41ec35687", + "sha256:31616121369bc823791056c632f544c6c8f8d1ceecffd8bf3f72ef621eaabf49", + "sha256:33acb0d9bf12cdc80ceec6f5fda83ea7990ce0321c54234d629529ca2c54e33d", + "sha256:33e915971eee6d2056d15470a1214e4e0f72b6aad10225548a7ab4c4f54e2db7", + "sha256:34adb8412e736a5d0df6d1fccdf71599dfb07a63add241a94a189b6364e997f1", + "sha256:34eaf5cfcc979846d73571b1a4be22cad5e029d55cdbe77cdc7545caa4dcb925", + "sha256:39e7ec718e7a1971a5d98357e3e8c0529477d45c711d32cd91999dc8d8404e1e", + "sha256:3f49edf7c5cd2987634116e1b6a0ee2438fca17f7c4ee480ff41decb76cf6158", + "sha256:43c60d9b332a01ee985f080f639f3e56abcfb95ec1320013c94083c3b6a2e143", + "sha256:4b099fbb823efed3c1d736f343ac60d66531b13680ee9b2669e368280f41c2b8", + "sha256:4f1de31a585344a106db43a9c3af2e15bb82e053618ff759f1fdd31d82da38eb", + "sha256:5268b35fee7eb754fb5b3d0f16a84a2e9ed21306f5377f3818596214ad2d7714", + "sha256:54076a25f32305e585a3abae1f0ad10646bec539e0e5ebcc62b54ee4982ec29f", + "sha256:5549c71c35b5f057a4eebcc538c41299826f7813f28880722b60e41c861a57ec", + "sha256:563705a94ea3af43467167f3a21c665f3b847b2a0ae5544fa9e18df686a660da", + "sha256:594b4b4f1dfe8378b4a0342576dc87a930c960641159f5ae83843834016dbd59", + "sha256:64a117c16273ca9f18670f33fc7fd9604b9f46ddb453ce948262889a6be72868", + "sha256:68ab608118e212f56feef44d4785aa90b713042da301f26338f36497b481cd79", + "sha256:6c99eef30a7e98144bcf44d615bc0f445b3a3730495fcc16124cb61117e1f81e", + "sha256:6dbfac556219d884d50edc6e1952a93545c2786193f00f5521ec0d9d464040ab", + "sha256:71c76685773444d90ae83874433505ed800e1706c391fdf9e57cc7857611e2f4", + "sha256:72de8ffba4a27e3c6e83e58a379fc4fe5548f69f9b541fde895afb9be8c31658", + "sha256:73c01201219eb039a828bb58dcc13112eec2fed6eea718356316cd552df26e04", + "sha256:77bbf0a2f6fefac6c0db1792c234f577d80299a33ce7125467439097cf869198", + "sha256:872c0dcaccebd5733d535868fe2356aa6939f5827dcea7a8b9355bb2eff6f56e", + "sha256:8c66a1aadafbc0bd7d648cb7fcb3860ec9beb1b436ce3357036a4d9284fcef9a", + "sha256:8cedc48d36652dd3ac40e5c7c139d528202393e341a5e3475acedb5e8d5c4c75", + "sha256:8d6dcd1d21da5ae1416f69aa03e883a51e84b6c803b8618cbab341ac89a85b9e", + "sha256:91e0b76502205484a4d1d6f25f461fa60fe81a7987b90e57f7b941b0753c3ec8", + "sha256:927b4aca6340301e7d8bb05278d0b6585b8633ea852b7022d604a5df920486bf", + "sha256:941366a554e566efdd3f042e17a9e461a36202469e5fd2aee66fe3efe6412aef", + "sha256:947da3aee057010bc750b7b4bb65cbd01b0bdb7c4e1cf278489a1d4a1e9596b3", + "sha256:9784246431eaf9d651b3cc06f9c64f9a9f57299f4971c5ea778fa0b81074ef13", + "sha256:9ca48e9f092a417c6669ee8d3a19d40b3c66dde1a2ae0d57e66c34812819b671", + "sha256:a04f2c8d41821a2507b49b2694c40495a295b013afb0cc7355b337980b47c546", + "sha256:a65472256c5232681968deeea3cd5453aa091c44e8db09f22f1a1491d422c2d9", + "sha256:aad87626f31a85fd4af02ba7fd6cc424b39d4bff5c8677e612882649da572e47", + "sha256:ab1d870403817c9a0486ca56ccbc0ebaf85d992277d48777faa5a95e40e5bcca", + "sha256:b6612c6ed3147a4a2d6463454b94b877566b38215665be4c729cd8b7bdce15b4", + "sha256:b7e3545b06aae925f90f06402e05cfb9c62c6409ce57041932163b09c48daad6", + "sha256:bbe2f6d0466f5c59c7258e0745c20d74806a1385fbb7963e5bbe2309a11cc69b", + "sha256:bdda86ab376f9b3095a1079a16fbe44acb9ddde349634f1c9909d13631ff3bcf", + "sha256:bec91402df78b897a47b66b9c071f48051cea68d853d8bc1d4404896c6de41ae", + "sha256:c8820dad615cd2f296ed3fdea8402b12663ac9e5ea2aafc90ef5141eb10b50b8", + "sha256:cc4376ff537f7d2c1e98f97f6d548e99e5d96078b0333c1d3177c11467b972de", + "sha256:ccab9381f38c669bb9254d848f3b41a3284193b3e274a34687822f98412097e9", + "sha256:cd36d0f0afc2bd84f007cedd2d9a449c3cf04af471853a25eb71f28bc2e1a119", + "sha256:d583755ddb9c97a2da1322f17fc7d26792f4e035f472d675e2761c766f94c2ff", + "sha256:d9b8b31c057a0b7bb822a159c490af05cb11b8069097f3236746a78315998afa", + "sha256:dcb6e65f6ea7caa0188e36bebe9e72b259d3d525634758c91209afb5a6cbcba7", + "sha256:e8dd7da2609303e3574c95b0ec9f1fd49647ef29b94701a2862cceae76382e1d", + "sha256:ebedc51ee6d39f9ea5e26e255fd56a7f4e79a56e77d960f9bae75ef4f95ed57f", + "sha256:effafe5144aa32f0388e8f99b1b2692cf094ea2f6b7ceca384b54338b77b1f50", + "sha256:f1bc4d68b83966012813598fe39b35b4e6019b69d29385cf7ec1cb08e1ff829b", + "sha256:f1cef548ee4e84264b78879de0c754bbe223193c6313beb242ce862f82eab184", + "sha256:f381424dbce313bb5a666a215e7a9dcebbc533e9a2c467a1f0c95279d24d1fa7", + "sha256:f3a1ea61d96146e9b9e5597069466e2e4d9e01e09381c5dd51659f890d5e29e7", + "sha256:f64d503c661864866c09806ac360b95457f872d639ca61719115a9f389b2ec90", + "sha256:f6fa7a42b78d8698491dc4ad388169de54cca551aa9900f750547372de396277", + "sha256:f76c12abb88b7ee64b3f9ae72f0644af49ff139067b5add142836dab405d60d4", + "sha256:f98f036eab11d2f90cdd01b9d1410de9d7eb520d070debeb2edadf158b758431", + "sha256:ff25d988fd6ce433b5c393094a5ca50df568bdccf90a8b340900e24e0d5fb45c" + ], + "version": "==3.10.0" }, "aiohttp-cors": { "hashes": [ @@ -164,36 +172,36 @@ }, "bcrypt": { "hashes": [ - "sha256:01746eb2c4299dd0ae1670234bf77704f581dd72cc180f444bfe74eb80495b64", - "sha256:037c5bf7c196a63dcce75545c8874610c600809d5d82c305dd327cd4969995bf", - "sha256:094fd31e08c2b102a14880ee5b3d09913ecf334cd604af27e1013c76831f7b05", - "sha256:0d4cf6ef1525f79255ef048b3489602868c47aea61f375377f0d00514fe4a78c", - "sha256:193bb49eeeb9c1e2db9ba65d09dc6384edd5608d9d672b4125e9320af9153a15", - "sha256:2505b54afb074627111b5a8dc9b6ae69d0f01fea65c2fcaea403448c503d3991", - "sha256:2ee15dd749f5952fe3f0430d0ff6b74082e159c50332a1413d51b5689cf06623", - "sha256:31adb9cbb8737a581a843e13df22ffb7c84638342de3708a98d5c986770f2834", - "sha256:3a5be252fef513363fe281bafc596c31b552cf81d04c5085bc5dac29670faa08", - "sha256:3d3b317050a9a711a5c7214bf04e28333cf528e0ed0ec9a4e55ba628d0f07c1a", - "sha256:48429c83292b57bf4af6ab75809f8f4daf52aa5d480632e53707805cc1ce9b74", - "sha256:4a8bea4c152b91fd8319fef4c6a790da5c07840421c2b785084989bf8bbb7455", - "sha256:4fb253d65da30d9269e0a6f4b0de32bd657a0208a6f4e43d3e645774fb5457f3", - "sha256:551b320396e1d05e49cc18dd77d970accd52b322441628aca04801bbd1d52a73", - "sha256:5f7cd3399fbc4ec290378b541b0cf3d4398e4737a65d0f938c7c0f9d5e686611", - "sha256:6004f5229b50f8493c49232b8e75726b568535fd300e5039e255d919fc3a07f2", - "sha256:6717543d2c110a155e6821ce5670c1f512f602eabb77dba95717ca76af79867d", - "sha256:6cac78a8d42f9d120b3987f82252bdbeb7e6e900a5e1ba37f6be6fe4e3848286", - "sha256:8a893d192dfb7c8e883c4576813bf18bb9d59e2cfd88b68b725990f033f1b978", - "sha256:8cbb119267068c2581ae38790e0d1fbae65d0725247a930fc9900c285d95725d", - "sha256:9f8ea645eb94fb6e7bea0cf4ba121c07a3a182ac52876493870033141aa687bc", - "sha256:c4c8d9b3e97209dd7111bf726e79f638ad9224b4691d1c7cfefa571a09b1b2d6", - "sha256:cb9c707c10bddaf9e5ba7cdb769f3e889e60b7d4fea22834b261f51ca2b89fed", - "sha256:d84702adb8f2798d813b17d8187d27076cca3cd52fe3686bb07a9083930ce650", - "sha256:ec3c2e1ca3e5c4b9edb94290b356d082b721f3f50758bce7cce11d8a7c89ce84", - "sha256:f44a97780677e7ac0ca393bd7982b19dbbd8d7228c1afe10b128fd9550eef5f1", - "sha256:f5698ce5292a4e4b9e5861f7e53b1d89242ad39d54c3da451a93cac17b61921a" + "sha256:096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb", + "sha256:0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399", + "sha256:1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291", + "sha256:1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d", + "sha256:1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7", + "sha256:1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170", + "sha256:27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d", + "sha256:3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe", + "sha256:3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060", + "sha256:373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184", + "sha256:39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a", + "sha256:3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68", + "sha256:3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c", + "sha256:5a1e8aa9b28ae28020a3ac4b053117fb51c57a010b9f969603ed885f23841458", + "sha256:61ed14326ee023917ecd093ee6ef422a72f3aec6f07e21ea5f10622b735538a9", + "sha256:655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328", + "sha256:762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7", + "sha256:77800b7147c9dc905db1cba26abe31e504d8247ac73580b4aa179f98e6608f34", + "sha256:8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e", + "sha256:8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2", + "sha256:8f6ede91359e5df88d1f5c1ef47428a4420136f3ce97763e31b86dd8280fbdf5", + "sha256:9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae", + "sha256:c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00", + "sha256:c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841", + "sha256:cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8", + "sha256:cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221", + "sha256:f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db" ], "markers": "python_version >= '3.7'", - "version": "==4.1.3" + "version": "==4.2.0" }, "beautifulsoup4": { "hashes": [ @@ -213,19 +221,20 @@ }, "boto3": { "hashes": [ - "sha256:2f3e88b10b8fcc5f6100a9d74cd28230edc9d4fa226d99dd40a3ab38ac213673", - "sha256:b8433d481d50b68a0162c0379c0dd4aabfc3d1ad901800beb5b87815997511c1" + "sha256:30498a76b6f651ee2af7ae8edc1704379279ab8b91f1a8dd1f4ddf51259b0bc2", + "sha256:35bc76faacf1667d3fbb66c1966acf2230ef26206557efc26d9d9d79337bef43" ], "index": "pypi", - "version": "==1.34.144" + "markers": "python_version >= '3.8'", + "version": "==1.34.151" }, "botocore": { "hashes": [ - "sha256:4215db28d25309d59c99507f1f77df9089e5bebbad35f6e19c7c44ec5383a3e8", - "sha256:a2cf26e1bf10d5917a2285e50257bc44e94a1d16574f282f3274f7a5d8d1f08b" + "sha256:0d0968e427a94378f295b49d59170dad539938487ec948de3d030f06092ec6dc", + "sha256:9018680d7d4a8060c26d127ceec5ab5b270879f423ea39b863d8a46f3e34c404" ], "markers": "python_version >= '3.8'", - "version": "==1.34.144" + "version": "==1.34.151" }, "cachetools": { "hashes": [ @@ -411,6 +420,7 @@ "sha256:4ca0c2dcf7a085083fa8464a5e1d36a350387242566a3cd404609cbc50cee5a0" ], "index": "pypi", + "markers": "python_version >= '3.9' and python_version < '4.0'", "version": "==0.16.4" }, "colorful": { @@ -743,6 +753,7 @@ "sha256:3cb443f8bcd2efb31295a5b9fdb02aee81d8452c80d28f97a6d0959e6cee101e", "sha256:fad7d7e209dd4c1208e3bbfda706620e0da5142bebbd9c384afb95b07e798e49" ], + "markers": "python_version >= '3.8'", "version": "==2024.6.1" }, "google-api-core": { @@ -771,54 +782,54 @@ }, "grpcio": { "hashes": [ - "sha256:12e9bdf3b5fd48e5fbe5b3da382ad8f97c08b47969f3cca81dd9b36b86ed39e2", - "sha256:1bceeec568372cbebf554eae1b436b06c2ff24cfaf04afade729fb9035408c6c", - "sha256:1faaf7355ceed07ceaef0b9dcefa4c98daf1dd8840ed75c2de128c3f4a4d859d", - "sha256:1fbd6331f18c3acd7e09d17fd840c096f56eaf0ef830fbd50af45ae9dc8dfd83", - "sha256:27adee2338d697e71143ed147fe286c05810965d5d30ec14dd09c22479bfe48a", - "sha256:2ca684ba331fb249d8a1ce88db5394e70dbcd96e58d8c4b7e0d7b141a453dce9", - "sha256:2f56b5a68fdcf17a0a1d524bf177218c3c69b3947cb239ea222c6f1867c3ab68", - "sha256:3019fb50128b21a5e018d89569ffaaaa361680e1346c2f261bb84a91082eb3d3", - "sha256:34966cf526ef0ea616e008d40d989463e3db157abb213b2f20c6ce0ae7928875", - "sha256:3c492301988cd720cd145d84e17318d45af342e29ef93141228f9cd73222368b", - "sha256:3dc5f928815b8972fb83b78d8db5039559f39e004ec93ebac316403fe031a062", - "sha256:4effc0562b6c65d4add6a873ca132e46ba5e5a46f07c93502c37a9ae7f043857", - "sha256:54cb822e177374b318b233e54b6856c692c24cdbd5a3ba5335f18a47396bac8f", - "sha256:557de35bdfbe8bafea0a003dbd0f4da6d89223ac6c4c7549d78e20f92ead95d9", - "sha256:5f096ffb881f37e8d4f958b63c74bfc400c7cebd7a944b027357cd2fb8d91a57", - "sha256:5fd7337a823b890215f07d429f4f193d24b80d62a5485cf88ee06648591a0c57", - "sha256:60f1f38eed830488ad2a1b11579ef0f345ff16fffdad1d24d9fbc97ba31804ff", - "sha256:6e71aed8835f8d9fbcb84babc93a9da95955d1685021cceb7089f4f1e717d719", - "sha256:71a05fd814700dd9cb7d9a507f2f6a1ef85866733ccaf557eedacec32d65e4c2", - "sha256:76e81a86424d6ca1ce7c16b15bdd6a964a42b40544bf796a48da241fdaf61153", - "sha256:7ae15275ed98ea267f64ee9ddedf8ecd5306a5b5bb87972a48bfe24af24153e8", - "sha256:7af64838b6e615fff0ec711960ed9b6ee83086edfa8c32670eafb736f169d719", - "sha256:8333ca46053c35484c9f2f7e8d8ec98c1383a8675a449163cea31a2076d93de8", - "sha256:8558f0083ddaf5de64a59c790bffd7568e353914c0c551eae2955f54ee4b857f", - "sha256:8bfd95ef3b097f0cc86ade54eafefa1c8ed623aa01a26fbbdcd1a3650494dd11", - "sha256:8d8143a3e3966f85dce6c5cc45387ec36552174ba5712c5dc6fcc0898fb324c0", - "sha256:941596d419b9736ab548aa0feb5bbba922f98872668847bf0720b42d1d227b9e", - "sha256:941c4869aa229d88706b78187d60d66aca77fe5c32518b79e3c3e03fc26109a2", - "sha256:9a1c84560b3b2d34695c9ba53ab0264e2802721c530678a8f0a227951f453462", - "sha256:9e6a8f3d6c41e6b642870afe6cafbaf7b61c57317f9ec66d0efdaf19db992b90", - "sha256:a6c71575a2fedf259724981fd73a18906513d2f306169c46262a5bae956e6364", - "sha256:a8422dc13ad93ec8caa2612b5032a2b9cd6421c13ed87f54db4a3a2c93afaf77", - "sha256:aaf3c54419a28d45bd1681372029f40e5bfb58e5265e3882eaf21e4a5f81a119", - "sha256:b12c1aa7b95abe73b3e04e052c8b362655b41c7798da69f1eaf8d186c7d204df", - "sha256:b590f1ad056294dfaeac0b7e1b71d3d5ace638d8dd1f1147ce4bd13458783ba8", - "sha256:bbb46330cc643ecf10bd9bd4ca8e7419a14b6b9dedd05f671c90fb2c813c6037", - "sha256:ca931de5dd6d9eb94ff19a2c9434b23923bce6f767179fef04dfa991f282eaad", - "sha256:cb5175f45c980ff418998723ea1b3869cce3766d2ab4e4916fbd3cedbc9d0ed3", - "sha256:d827a6fb9215b961eb73459ad7977edb9e748b23e3407d21c845d1d8ef6597e5", - "sha256:dbb64b4166362d9326f7efbf75b1c72106c1aa87f13a8c8b56a1224fac152f5c", - "sha256:de5b6be29116e094c5ef9d9e4252e7eb143e3d5f6bd6d50a78075553ab4930b0", - "sha256:e4a3cdba62b2d6aeae6027ae65f350de6dc082b72e6215eccf82628e79efe9ba", - "sha256:e75acfa52daf5ea0712e8aa82f0003bba964de7ae22c26d208cbd7bc08500177", - "sha256:f40cebe5edb518d78b8131e87cb83b3ee688984de38a232024b9b44e74ee53d3", - "sha256:f62652ddcadc75d0e7aa629e96bb61658f85a993e748333715b4ab667192e4e8", - "sha256:ff5a84907e51924973aa05ed8759210d8cdae7ffcf9e44fd17646cf4a902df59" - ], - "version": "==1.65.1" + "sha256:01600b1b02fdc9d648630d3de0a4cbf7ebe5f94b40ec1f65e3fd4b94a3b052cf", + "sha256:03fdd86ff7d9957b822b9bf1fe0ae1e21e258e9c1d5535a5e9c67de0ad45b6a8", + "sha256:06a7ea12a81e5e2fb17528556c7f828b90bd2aec3a645f5cd5f35f80aa59ac6a", + "sha256:0b2ae6868864e4b06bff89cf91730a63141327158bf0677428ef315ea1dbdb0b", + "sha256:0c9c865d2fdf40e7e952038a0b5e0f32b01da84ecf04943b08e8917c8ccc9cf8", + "sha256:2a0cd7297abf0a02a9399edebe8c662058c7f0768bfbe859837707d389ad327f", + "sha256:2ce639f2a2951aedbe9a3636f5730288f9b77c2627f116265d7d2789555e5662", + "sha256:3101fa25b93f185e8cc698f8c2abee897891e6bae4f13472f66df21e8ae40d46", + "sha256:3a3139414399078560a84203f9fe3592483d902a2af84062c571be6191143a9f", + "sha256:3a6b36e20b02ca830b15b5eb4abb437de1d42ba93353d1f76b00337108f7ce8e", + "sha256:3ce7f4c766fecc34455357b31b1e316506ea6ac48abbb9a650843d20337a2036", + "sha256:478725160e2cfc1bfa5ab3e7bb7c896cc182c8f57255d780007cfd6fb46e97b5", + "sha256:4fba3ae83ef5acd111c2dd92233ff167411db84e1ff17a00c34b5428355526c5", + "sha256:510bf7ec7f44e9420bb17970fb450522666d8b1c09cdf59b735de0c2dc806b79", + "sha256:51231a22aea830be1d955de5a15da4391b3ac8e1d7868f362c74c15a0e9f5c89", + "sha256:5225b8ce980b598187f64436ed95ea149966d538253c28668347d331968e2386", + "sha256:5edea0ea18e9fd5326d385a4c92a1fed605454e9a2c57ff131df0a08004b7e69", + "sha256:60fe2f90875f2bef105158e370fbbefadd179f8cd689bc2cee6844aca4ccb7bb", + "sha256:67c5e5aa92b5832ae7a3399bce5b8562fb28686446732bfa17f97d5082e8501d", + "sha256:71fa3b7a6cef62a00014205d0e707610cfd50ae54f617d296017f10c6a9fad0d", + "sha256:76125096d2a090d4acdce0f06f9511cebe1bcfbc0bd040e495563d7a8747dda1", + "sha256:77fddf42bbca65ee4db679d0608e1ffa8b22b7f516c79665b7620be2f6357c85", + "sha256:7fd639b0988ed5114d4b2a72ea453aafcb1439dd433c61834886b92afed9c6c1", + "sha256:87da0fb85ba42257e450561b0264e36abe47faae07476621ae65d8f5f60f22cd", + "sha256:8856187a359a55babfa4d49ad96f2dd7edd8be3a36b813c7a9e41ef3d763400f", + "sha256:8886d24345bf4b1693e9c09cf6a520f0baedd2af2a876f91bb508b24d0d46041", + "sha256:892f03939df46d0bfcf89fe1dbcc8818f93ad6f3377587e8db6c2b1f598736c2", + "sha256:8aa50787bc8036bd5ea9b7ebbbd2c49c78122eb9ff98d3c217a7c146313c5030", + "sha256:8d6fd1206433428d0a4ba771eac70579b41a265fe835a4d8a5214c7235e69926", + "sha256:9b193e116e085ad4d7ef1518d79e9fedfa7688f4967f64a6246b5b196a26326a", + "sha256:9ba9d4b3d4fc00b8083bb47a8c40a74ba3ea330713fdd59cf53c926c9a16b002", + "sha256:a7b752471e7ff1472ddbf3035a34fd8e24f2eac4fedbdab311e8f3e0dee889f7", + "sha256:aacfd499d23130578184057008ea5329732a5ac59a4fcb73c0467d86723d23c8", + "sha256:b10349ceebec745a47e4339ef7c4878c9b53b82ae4b0883e16544625016d6242", + "sha256:b6bba0f973ef6fe7434834f1b63d16bab4b50879d5bb0ca6eb0495c87d5cbc78", + "sha256:b7bfcbee6b32f0e4786b7813692b3907c9e444f529126b8520cac9914479b98c", + "sha256:c2900ad06fd8f5ad8832b1ee287caccb4a957e971b2b7983e0cd7a8e7c7098fb", + "sha256:c45977fdc675a8961875adab7f04b785f65d3fd9c737cd60b5e3a9b1392ad444", + "sha256:cb48342de1c3be59e6de79c6bbc01cf05562c571a3ed32f7c2e149e7934824cf", + "sha256:cd7dc770926cc66050242eb6c63ca8ce12cd69010bf4ff7ea6e721d4f4b11e4d", + "sha256:d388f093010a014d3b3ddf8185ff45c5279fd825d0b20e21c8076515ae61db31", + "sha256:e0b2bf34340999c6d938107ec2cc9bce1ea59bf08e4694cfa47e782bdbd361f4", + "sha256:e2c9bbb84d5517f2bccdb1836b8ee267a1757acb3cb3e575065c103220b577ac", + "sha256:f4b7a7d68313e252e09550bd03d9d11e460dae681cf95588a131b6b3e07d1e30", + "sha256:f6e5a67bbf8a1b3be5535802f6e9f507d1d8d38fb32de81ec7f03706d95a9126", + "sha256:f931fe9b244dc23c7478c513c3ed94ded93da8bd1a95a4d97b21abdef644304a" + ], + "version": "==1.65.2" }, "idna": { "hashes": [ @@ -830,11 +841,11 @@ }, "importlib-metadata": { "hashes": [ - "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f", - "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812" + "sha256:11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369", + "sha256:72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d" ], "markers": "python_version < '3.10'", - "version": "==8.0.0" + "version": "==8.2.0" }, "importlib-resources": { "hashes": [ @@ -850,6 +861,7 @@ "sha256:2b0987af43c0d4b62cecb13c592755f599f96f29aafe36c01731aaa96df30d39" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==6.13.0" }, "ipython": { @@ -858,6 +870,7 @@ "sha256:b38c31e8fc7eff642fc7c597061fff462537cf2314e3225a19c906b7b0d8a345" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==8.10.0" }, "ipython-genutils": { @@ -890,6 +903,7 @@ "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==3.1.4" }, "jmespath": { @@ -930,6 +944,7 @@ "sha256:404abe552540aff3527e66e16beb114b6b4ff58479d51a301f4eb9701e4f52ef" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==7.3.1" }, "jupyter-core": { @@ -938,6 +953,7 @@ "sha256:c2909b9bc7dca75560a6c5ae78c34fd305ede31cd864da3c0d0bb2ed89aa9337" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==4.11.2" }, "jupyterlab-pygments": { @@ -1134,6 +1150,7 @@ "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==2.1.1" }, "matplotlib": { @@ -1168,6 +1185,7 @@ "sha256:fb44f53af0a62dc80bba4443d9b27f2fde6acfdac281d95bc872dc148a6509cc" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==3.8.4" }, "matplotlib-inline": { @@ -1217,6 +1235,7 @@ "sha256:f16c5c8730b616613dc8bafe32649ca6bd7252606251eb00148582011758d0b5" ], "index": "pypi", + "markers": "python_full_version >= '3.7.0'", "version": "==1.10.0" }, "minio": { @@ -1429,6 +1448,7 @@ "sha256:f7acacdf9fd4260702f360c00952ad9a9cc73e8b7475e0d0c973c085a3dd7b7d" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==8.3.0" }, "nbclient": { @@ -1437,6 +1457,7 @@ "sha256:b80726fc1fb89a0e8f8be1e77e28d0026b1e8ed90bc143c8a0c7622e4f8cdd9e" ], "index": "pypi", + "markers": "python_full_version >= '3.7.0'", "version": "==0.6.3" }, "nbconvert": { @@ -1445,6 +1466,7 @@ "sha256:8cc353e3e6a37cf9d8363997b9470fa0de5adda84063ed65a43d4d3de1bf37a9" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==7.1.0" }, "nbformat": { @@ -1453,6 +1475,7 @@ "sha256:44ba5ca6acb80c5d5a500f1e5b83ede8cbe364d5a495c4c8cf60aaf1ba656501" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==5.4.0" }, "nest-asyncio": { @@ -1511,6 +1534,7 @@ "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==1.26.4" }, "oauthlib": { @@ -1623,6 +1647,7 @@ "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==2.2.2" }, "pandocfilters": { @@ -1639,6 +1664,7 @@ "sha256:be12d2728989c0ae17b42fcb05b623500004e94b34f56bd153355ccebb84a59a" ], "index": "pypi", + "markers": "python_version >= '3.6'", "version": "==2.3.4" }, "paramiko": { @@ -1772,6 +1798,7 @@ "sha256:bf901c805d22032cfa534b2ff7c5aa6b0659e037f19ec1e0cca7f585918b5c89" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==5.20.0" }, "prometheus-client": { @@ -1787,6 +1814,7 @@ "sha256:d8916d3f62a7b67ab353a952ce4ced6a1d2587dfe9ef8ebc30dd7c386751f289" ], "index": "pypi", + "markers": "python_full_version >= '3.6.2'", "version": "==3.0.30" }, "proto-plus": { @@ -1799,20 +1827,20 @@ }, "protobuf": { "hashes": [ - "sha256:0e341109c609749d501986b835f667c6e1e24531096cff9d34ae411595e26505", - "sha256:176c12b1f1c880bf7a76d9f7c75822b6a2bc3db2d28baa4d300e8ce4cde7409b", - "sha256:354d84fac2b0d76062e9b3221f4abbbacdfd2a4d8af36bab0474f3a0bb30ab38", - "sha256:4fadd8d83e1992eed0248bc50a4a6361dc31bcccc84388c54c86e530b7f58863", - "sha256:54330f07e4949d09614707c48b06d1a22f8ffb5763c159efd5c0928326a91470", - "sha256:610e700f02469c4a997e58e328cac6f305f649826853813177e6290416e846c6", - "sha256:7fc3add9e6003e026da5fc9e59b131b8f22b428b991ccd53e2af8071687b4fce", - "sha256:9e8f199bf7f97bd7ecebffcae45ebf9527603549b2b562df0fbc6d4d688f14ca", - "sha256:a109916aaac42bff84702fb5187f3edadbc7c97fc2c99c5ff81dd15dcce0d1e5", - "sha256:b848dbe1d57ed7c191dfc4ea64b8b004a3f9ece4bf4d0d80a367b76df20bf36e", - "sha256:f3ecdef226b9af856075f28227ff2c90ce3a594d092c39bee5513573f25e2714" + "sha256:043853dcb55cc262bf2e116215ad43fa0859caab79bb0b2d31b708f128ece035", + "sha256:16ddf3f8c6c41e1e803da7abea17b1793a97ef079a912e42351eabb19b2cffe7", + "sha256:68248c60d53f6168f565a8c76dc58ba4fa2ade31c2d1ebdae6d80f969cdc2d4f", + "sha256:82460903e640f2b7e34ee81a947fdaad89de796d324bcbc38ff5430bcdead82c", + "sha256:8572c6533e544ebf6899c360e91d6bcbbee2549251643d32c52cf8a5de295ba5", + "sha256:a55c48f2a2092d8e213bd143474df33a6ae751b781dd1d1f4d953c128a415b25", + "sha256:af7c0b7cfbbb649ad26132e53faa348580f844d9ca46fd3ec7ca48a1ea5db8a1", + "sha256:b8a994fb3d1c11156e7d1e427186662b64694a62b55936b2b9348f0a7c6625ce", + "sha256:c2a105c24f08b1e53d6c7ffe69cb09d0031512f0b72f812dd4005b8112dbe91e", + "sha256:c84eee2c71ed83704f1afbf1a85c3171eab0fd1ade3b399b3fad0884cbcca8bf", + "sha256:dcb307cd4ef8fec0cf52cb9105a03d06fbb5275ce6d84a6ae33bc6cf84e0a07b" ], "markers": "python_version >= '3.8'", - "version": "==5.27.2" + "version": "==5.27.3" }, "psutil": { "hashes": [ @@ -1843,6 +1871,7 @@ "sha256:898a29f49ac9c903d554f5a6cdc44a8fc564325557c18f82e51f39c1f4fc2aeb" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==3.1.20" }, "ptyprocess": { @@ -1854,10 +1883,10 @@ }, "pure-eval": { "hashes": [ - "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350", - "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3" + "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", + "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42" ], - "version": "==0.2.2" + "version": "==0.2.3" }, "py-spy": { "hashes": [ @@ -2079,6 +2108,7 @@ "sha256:ff7d1f449fcad23d9bc8e8dc2b9972be38bcd76d99ea5f7d29b2efa929c2a7ff" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==4.6.3" }, "pynacl": { @@ -2132,6 +2162,7 @@ "sha256:f8488c3818f12207650836c5c6f7352f9ff9f56a05a05512145995e497c0bbb1" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==5.1.0" }, "pyparsing": { @@ -2147,14 +2178,15 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9.0.post0" }, "pytorch-triton-rocm": { "hashes": [ - "sha256:914abc55be95b6a26d89ef32505e3aff68c01e1e95dd42a3467c7876579d7988" + "sha256:5f498d86f82d0c8dca04ae675c3b05bdb68872adfff324839fb234cee0b92478" ], - "version": "==2.3.1" + "index": "pytorch", + "version": "==3.0.0" }, "pytz": { "hashes": [ @@ -2298,6 +2330,7 @@ "sha256:fa0ae3275ef706c0309556061185dd0e4c4cd3b7d6f67ae617e4e677c7a41e2e" ], "index": "pypi", + "markers": "python_version >= '3.6'", "version": "==24.0.1" }, "ray": { @@ -2339,6 +2372,7 @@ "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==2.31.0" }, "requests-oauthlib": { @@ -2359,108 +2393,112 @@ }, "rpds-py": { "hashes": [ - "sha256:0121803b0f424ee2109d6e1f27db45b166ebaa4b32ff47d6aa225642636cd834", - "sha256:06925c50f86da0596b9c3c64c3837b2481337b83ef3519e5db2701df695453a4", - "sha256:071d4adc734de562bd11d43bd134330fb6249769b2f66b9310dab7460f4bf714", - "sha256:1540d807364c84516417115c38f0119dfec5ea5c0dd9a25332dea60b1d26fc4d", - "sha256:15e65395a59d2e0e96caf8ee5389ffb4604e980479c32742936ddd7ade914b22", - "sha256:19d02c45f2507b489fd4df7b827940f1420480b3e2e471e952af4d44a1ea8e34", - "sha256:1c26da90b8d06227d7769f34915913911222d24ce08c0ab2d60b354e2d9c7aff", - "sha256:1d16089dfa58719c98a1c06f2daceba6d8e3fb9b5d7931af4a990a3c486241cb", - "sha256:1dd46f309e953927dd018567d6a9e2fb84783963650171f6c5fe7e5c41fd5666", - "sha256:2575efaa5d949c9f4e2cdbe7d805d02122c16065bfb8d95c129372d65a291a0b", - "sha256:3208f9aea18991ac7f2b39721e947bbd752a1abbe79ad90d9b6a84a74d44409b", - "sha256:329c719d31362355a96b435f4653e3b4b061fcc9eba9f91dd40804ca637d914e", - "sha256:3384d278df99ec2c6acf701d067147320b864ef6727405d6470838476e44d9e8", - "sha256:34a01a4490e170376cd79258b7f755fa13b1a6c3667e872c8e35051ae857a92b", - "sha256:354f3a91718489912f2e0fc331c24eaaf6a4565c080e00fbedb6015857c00582", - "sha256:37f46bb11858717e0efa7893c0f7055c43b44c103e40e69442db5061cb26ed34", - "sha256:3b4cf5a9497874822341c2ebe0d5850fed392034caadc0bad134ab6822c0925b", - "sha256:3f148c3f47f7f29a79c38cc5d020edcb5ca780020fab94dbc21f9af95c463581", - "sha256:443cec402ddd650bb2b885113e1dcedb22b1175c6be223b14246a714b61cd521", - "sha256:462b0c18fbb48fdbf980914a02ee38c423a25fcc4cf40f66bacc95a2d2d73bc8", - "sha256:474bc83233abdcf2124ed3f66230a1c8435896046caa4b0b5ab6013c640803cc", - "sha256:4d438e4c020d8c39961deaf58f6913b1bf8832d9b6f62ec35bd93e97807e9cbc", - "sha256:4fdc9afadbeb393b4bbbad75481e0ea78e4469f2e1d713a90811700830b553a9", - "sha256:5039e3cef7b3e7a060de468a4a60a60a1f31786da94c6cb054e7a3c75906111c", - "sha256:5095a7c838a8647c32aa37c3a460d2c48debff7fc26e1136aee60100a8cd8f68", - "sha256:52e466bea6f8f3a44b1234570244b1cff45150f59a4acae3fcc5fd700c2993ca", - "sha256:535d4b52524a961d220875688159277f0e9eeeda0ac45e766092bfb54437543f", - "sha256:57dbc9167d48e355e2569346b5aa4077f29bf86389c924df25c0a8b9124461fb", - "sha256:5a4b07cdf3f84310c08c1de2c12ddadbb7a77568bcb16e95489f9c81074322ed", - "sha256:5c872814b77a4e84afa293a1bee08c14daed1068b2bb1cc312edbf020bbbca2b", - "sha256:5f83689a38e76969327e9b682be5521d87a0c9e5a2e187d2bc6be4765f0d4600", - "sha256:688aa6b8aa724db1596514751ffb767766e02e5c4a87486ab36b8e1ebc1aedac", - "sha256:6b130bd4163c93798a6b9bb96be64a7c43e1cec81126ffa7ffaa106e1fc5cef5", - "sha256:6b31f059878eb1f5da8b2fd82480cc18bed8dcd7fb8fe68370e2e6285fa86da6", - "sha256:6d45080095e585f8c5097897313def60caa2046da202cdb17a01f147fb263b81", - "sha256:6f2f78ef14077e08856e788fa482107aa602636c16c25bdf59c22ea525a785e9", - "sha256:6fe87efd7f47266dfc42fe76dae89060038f1d9cb911f89ae7e5084148d1cc08", - "sha256:75969cf900d7be665ccb1622a9aba225cf386bbc9c3bcfeeab9f62b5048f4a07", - "sha256:75a6076289b2df6c8ecb9d13ff79ae0cad1d5fb40af377a5021016d58cd691ec", - "sha256:78d57546bad81e0da13263e4c9ce30e96dcbe720dbff5ada08d2600a3502e526", - "sha256:79e205c70afddd41f6ee79a8656aec738492a550247a7af697d5bd1aee14f766", - "sha256:7c98298a15d6b90c8f6e3caa6457f4f022423caa5fa1a1ca7a5e9e512bdb77a4", - "sha256:7ec72df7354e6b7f6eb2a17fa6901350018c3a9ad78e48d7b2b54d0412539a67", - "sha256:81ea573aa46d3b6b3d890cd3c0ad82105985e6058a4baed03cf92518081eec8c", - "sha256:8344127403dea42f5970adccf6c5957a71a47f522171fafaf4c6ddb41b61703a", - "sha256:8445f23f13339da640d1be8e44e5baf4af97e396882ebbf1692aecd67f67c479", - "sha256:850720e1b383df199b8433a20e02b25b72f0fded28bc03c5bd79e2ce7ef050be", - "sha256:88cb4bac7185a9f0168d38c01d7a00addece9822a52870eee26b8d5b61409213", - "sha256:8a790d235b9d39c70a466200d506bb33a98e2ee374a9b4eec7a8ac64c2c261fa", - "sha256:8b1a94b8afc154fbe36978a511a1f155f9bd97664e4f1f7a374d72e180ceb0ae", - "sha256:8d6ad132b1bc13d05ffe5b85e7a01a3998bf3a6302ba594b28d61b8c2cf13aaf", - "sha256:8eb488ef928cdbc05a27245e52de73c0d7c72a34240ef4d9893fdf65a8c1a955", - "sha256:90bf55d9d139e5d127193170f38c584ed3c79e16638890d2e36f23aa1630b952", - "sha256:9133d75dc119a61d1a0ded38fb9ba40a00ef41697cc07adb6ae098c875195a3f", - "sha256:93a91c2640645303e874eada51f4f33351b84b351a689d470f8108d0e0694210", - "sha256:959179efb3e4a27610e8d54d667c02a9feaa86bbabaf63efa7faa4dfa780d4f1", - "sha256:9625367c8955e4319049113ea4f8fee0c6c1145192d57946c6ffcd8fe8bf48dd", - "sha256:9da6f400eeb8c36f72ef6646ea530d6d175a4f77ff2ed8dfd6352842274c1d8b", - "sha256:9e65489222b410f79711dc3d2d5003d2757e30874096b2008d50329ea4d0f88c", - "sha256:a3e2fd14c5d49ee1da322672375963f19f32b3d5953f0615b175ff7b9d38daed", - "sha256:a5a7c1062ef8aea3eda149f08120f10795835fc1c8bc6ad948fb9652a113ca55", - "sha256:a5da93debdfe27b2bfc69eefb592e1831d957b9535e0943a0ee8b97996de21b5", - "sha256:a6e605bb9edcf010f54f8b6a590dd23a4b40a8cb141255eec2a03db249bc915b", - "sha256:a707b158b4410aefb6b054715545bbb21aaa5d5d0080217290131c49c2124a6e", - "sha256:a8b6683a37338818646af718c9ca2a07f89787551057fae57c4ec0446dc6224b", - "sha256:aa5476c3e3a402c37779e95f7b4048db2cb5b0ed0b9d006983965e93f40fe05a", - "sha256:ab1932ca6cb8c7499a4d87cb21ccc0d3326f172cfb6a64021a889b591bb3045c", - "sha256:ae8b6068ee374fdfab63689be0963333aa83b0815ead5d8648389a8ded593378", - "sha256:b0906357f90784a66e89ae3eadc2654f36c580a7d65cf63e6a616e4aec3a81be", - "sha256:b0da31853ab6e58a11db3205729133ce0df26e6804e93079dee095be3d681dc1", - "sha256:b1c30841f5040de47a0046c243fc1b44ddc87d1b12435a43b8edff7e7cb1e0d0", - "sha256:b228e693a2559888790936e20f5f88b6e9f8162c681830eda303bad7517b4d5a", - "sha256:b7cc6cb44f8636fbf4a934ca72f3e786ba3c9f9ba4f4d74611e7da80684e48d2", - "sha256:ba0ed0dc6763d8bd6e5de5cf0d746d28e706a10b615ea382ac0ab17bb7388633", - "sha256:bc9128e74fe94650367fe23f37074f121b9f796cabbd2f928f13e9661837296d", - "sha256:bcf426a8c38eb57f7bf28932e68425ba86def6e756a5b8cb4731d8e62e4e0223", - "sha256:bec35eb20792ea64c3c57891bc3ca0bedb2884fbac2c8249d9b731447ecde4fa", - "sha256:c3444fe52b82f122d8a99bf66777aed6b858d392b12f4c317da19f8234db4533", - "sha256:c5c9581019c96f865483d031691a5ff1cc455feb4d84fc6920a5ffc48a794d8a", - "sha256:c6feacd1d178c30e5bc37184526e56740342fd2aa6371a28367bad7908d454fc", - "sha256:c8f77e661ffd96ff104bebf7d0f3255b02aa5d5b28326f5408d6284c4a8b3248", - "sha256:cb0f6eb3a320f24b94d177e62f4074ff438f2ad9d27e75a46221904ef21a7b05", - "sha256:ce84a7efa5af9f54c0aa7692c45861c1667080814286cacb9958c07fc50294fb", - "sha256:cf902878b4af334a09de7a45badbff0389e7cf8dc2e4dcf5f07125d0b7c2656d", - "sha256:dab8d921b55a28287733263c0e4c7db11b3ee22aee158a4de09f13c93283c62d", - "sha256:dc9ac4659456bde7c567107556ab065801622396b435a3ff213daef27b495388", - "sha256:dd36b712d35e757e28bf2f40a71e8f8a2d43c8b026d881aa0c617b450d6865c9", - "sha256:e19509145275d46bc4d1e16af0b57a12d227c8253655a46bbd5ec317e941279d", - "sha256:e21cc693045fda7f745c790cb687958161ce172ffe3c5719ca1764e752237d16", - "sha256:e54548e0be3ac117595408fd4ca0ac9278fde89829b0b518be92863b17ff67a2", - "sha256:e5b9fc03bf76a94065299d4a2ecd8dfbae4ae8e2e8098bbfa6ab6413ca267709", - "sha256:e8481b946792415adc07410420d6fc65a352b45d347b78fec45d8f8f0d7496f0", - "sha256:ebcbf356bf5c51afc3290e491d3722b26aaf5b6af3c1c7f6a1b757828a46e336", - "sha256:ef9101f3f7b59043a34f1dccbb385ca760467590951952d6701df0da9893ca0c", - "sha256:f2afd2164a1e85226fcb6a1da77a5c8896c18bfe08e82e8ceced5181c42d2179", - "sha256:f629ecc2db6a4736b5ba95a8347b0089240d69ad14ac364f557d52ad68cf94b0", - "sha256:f68eea5df6347d3f1378ce992d86b2af16ad7ff4dcb4a19ccdc23dea901b87fb", - "sha256:f757f359f30ec7dcebca662a6bd46d1098f8b9fb1fcd661a9e13f2e8ce343ba1", - "sha256:fb37bd599f031f1a6fb9e58ec62864ccf3ad549cf14bac527dbfa97123edcca4" + "sha256:01227f8b3e6c8961490d869aa65c99653df80d2f0a7fde8c64ebddab2b9b02fd", + "sha256:08ce9c95a0b093b7aec75676b356a27879901488abc27e9d029273d280438505", + "sha256:0b02dd77a2de6e49078c8937aadabe933ceac04b41c5dde5eca13a69f3cf144e", + "sha256:0d4b52811dcbc1aba08fd88d475f75b4f6db0984ba12275d9bed1a04b2cae9b5", + "sha256:13e6d4840897d4e4e6b2aa1443e3a8eca92b0402182aafc5f4ca1f5e24f9270a", + "sha256:1a129c02b42d46758c87faeea21a9f574e1c858b9f358b6dd0bbd71d17713175", + "sha256:1a8dfa125b60ec00c7c9baef945bb04abf8ac772d8ebefd79dae2a5f316d7850", + "sha256:1c32e41de995f39b6b315d66c27dea3ef7f7c937c06caab4c6a79a5e09e2c415", + "sha256:1d494887d40dc4dd0d5a71e9d07324e5c09c4383d93942d391727e7a40ff810b", + "sha256:1d4af2eb520d759f48f1073ad3caef997d1bfd910dc34e41261a595d3f038a94", + "sha256:1fb93d3486f793d54a094e2bfd9cd97031f63fcb5bc18faeb3dd4b49a1c06523", + "sha256:24f8ae92c7fae7c28d0fae9b52829235df83f34847aa8160a47eb229d9666c7b", + "sha256:24fc5a84777cb61692d17988989690d6f34f7f95968ac81398d67c0d0994a897", + "sha256:26ab43b6d65d25b1a333c8d1b1c2f8399385ff683a35ab5e274ba7b8bb7dc61c", + "sha256:271accf41b02687cef26367c775ab220372ee0f4925591c6796e7c148c50cab5", + "sha256:2ddd50f18ebc05ec29a0d9271e9dbe93997536da3546677f8ca00b76d477680c", + "sha256:31dd5794837f00b46f4096aa8ccaa5972f73a938982e32ed817bb520c465e520", + "sha256:31e450840f2f27699d014cfc8865cc747184286b26d945bcea6042bb6aa4d26e", + "sha256:32e0db3d6e4f45601b58e4ac75c6f24afbf99818c647cc2066f3e4b192dabb1f", + "sha256:346557f5b1d8fd9966059b7a748fd79ac59f5752cd0e9498d6a40e3ac1c1875f", + "sha256:34bca66e2e3eabc8a19e9afe0d3e77789733c702c7c43cd008e953d5d1463fde", + "sha256:3511f6baf8438326e351097cecd137eb45c5f019944fe0fd0ae2fea2fd26be39", + "sha256:35af5e4d5448fa179fd7fff0bba0fba51f876cd55212f96c8bbcecc5c684ae5c", + "sha256:3837c63dd6918a24de6c526277910e3766d8c2b1627c500b155f3eecad8fad65", + "sha256:39d67896f7235b2c886fb1ee77b1491b77049dcef6fbf0f401e7b4cbed86bbd4", + "sha256:3b823be829407393d84ee56dc849dbe3b31b6a326f388e171555b262e8456cc1", + "sha256:3c73254c256081704dba0a333457e2fb815364018788f9b501efe7c5e0ada401", + "sha256:3ddab996807c6b4227967fe1587febade4e48ac47bb0e2d3e7858bc621b1cace", + "sha256:3e1dc59a5e7bc7f44bd0c048681f5e05356e479c50be4f2c1a7089103f1621d5", + "sha256:4383beb4a29935b8fa28aca8fa84c956bf545cb0c46307b091b8d312a9150e6a", + "sha256:4cc4bc73e53af8e7a42c8fd7923bbe35babacfa7394ae9240b3430b5dcf16b2a", + "sha256:4dd02e29c8cbed21a1875330b07246b71121a1c08e29f0ee3db5b4cfe16980c4", + "sha256:4f580ae79d0b861dfd912494ab9d477bea535bfb4756a2269130b6607a21802e", + "sha256:53dbc35808c6faa2ce3e48571f8f74ef70802218554884787b86a30947842a14", + "sha256:56313be667a837ff1ea3508cebb1ef6681d418fa2913a0635386cf29cff35165", + "sha256:57863d16187995c10fe9cf911b897ed443ac68189179541734502353af33e693", + "sha256:5953391af1405f968eb5701ebbb577ebc5ced8d0041406f9052638bafe52209d", + "sha256:5beffdbe766cfe4fb04f30644d822a1080b5359df7db3a63d30fa928375b2720", + "sha256:5e360188b72f8080fefa3adfdcf3618604cc8173651c9754f189fece068d2a45", + "sha256:5e58b61dcbb483a442c6239c3836696b79f2cd8e7eec11e12155d3f6f2d886d1", + "sha256:69084fd29bfeff14816666c93a466e85414fe6b7d236cfc108a9c11afa6f7301", + "sha256:6d1d7539043b2b31307f2c6c72957a97c839a88b2629a348ebabe5aa8b626d6b", + "sha256:6d8b735c4d162dc7d86a9cf3d717f14b6c73637a1f9cd57fe7e61002d9cb1972", + "sha256:6ea961a674172ed2235d990d7edf85d15d8dfa23ab8575e48306371c070cda67", + "sha256:71157f9db7f6bc6599a852852f3389343bea34315b4e6f109e5cbc97c1fb2963", + "sha256:720f3108fb1bfa32e51db58b832898372eb5891e8472a8093008010911e324c5", + "sha256:74129d5ffc4cde992d89d345f7f7d6758320e5d44a369d74d83493429dad2de5", + "sha256:747251e428406b05fc86fee3904ee19550c4d2d19258cef274e2151f31ae9d38", + "sha256:75130df05aae7a7ac171b3b5b24714cffeabd054ad2ebc18870b3aa4526eba23", + "sha256:7b3661e6d4ba63a094138032c1356d557de5b3ea6fd3cca62a195f623e381c76", + "sha256:7d5c7e32f3ee42f77d8ff1a10384b5cdcc2d37035e2e3320ded909aa192d32c3", + "sha256:8124101e92c56827bebef084ff106e8ea11c743256149a95b9fd860d3a4f331f", + "sha256:81db2e7282cc0487f500d4db203edc57da81acde9e35f061d69ed983228ffe3b", + "sha256:840e18c38098221ea6201f091fc5d4de6128961d2930fbbc96806fb43f69aec1", + "sha256:89cc8921a4a5028d6dd388c399fcd2eef232e7040345af3d5b16c04b91cf3c7e", + "sha256:8b32cd4ab6db50c875001ba4f5a6b30c0f42151aa1fbf9c2e7e3674893fb1dc4", + "sha256:8df1c283e57c9cb4d271fdc1875f4a58a143a2d1698eb0d6b7c0d7d5f49c53a1", + "sha256:902cf4739458852fe917104365ec0efbea7d29a15e4276c96a8d33e6ed8ec137", + "sha256:97fbb77eaeb97591efdc654b8b5f3ccc066406ccfb3175b41382f221ecc216e8", + "sha256:9c7042488165f7251dc7894cd533a875d2875af6d3b0e09eda9c4b334627ad1c", + "sha256:9e318e6786b1e750a62f90c6f7fa8b542102bdcf97c7c4de2a48b50b61bd36ec", + "sha256:a9421b23c85f361a133aa7c5e8ec757668f70343f4ed8fdb5a4a14abd5437244", + "sha256:aaf71f95b21f9dc708123335df22e5a2fef6307e3e6f9ed773b2e0938cc4d491", + "sha256:afedc35fe4b9e30ab240b208bb9dc8938cb4afe9187589e8d8d085e1aacb8309", + "sha256:b5e28e56143750808c1c79c70a16519e9bc0a68b623197b96292b21b62d6055c", + "sha256:b82c9514c6d74b89a370c4060bdb80d2299bc6857e462e4a215b4ef7aa7b090e", + "sha256:b8f78398e67a7227aefa95f876481485403eb974b29e9dc38b307bb6eb2315ea", + "sha256:bbda75f245caecff8faa7e32ee94dfaa8312a3367397975527f29654cd17a6ed", + "sha256:bca34e913d27401bda2a6f390d0614049f5a95b3b11cd8eff80fe4ec340a1208", + "sha256:bd04d8cab16cab5b0a9ffc7d10f0779cf1120ab16c3925404428f74a0a43205a", + "sha256:c149a652aeac4902ecff2dd93c3b2681c608bd5208c793c4a99404b3e1afc87c", + "sha256:c2087dbb76a87ec2c619253e021e4fb20d1a72580feeaa6892b0b3d955175a71", + "sha256:c34f751bf67cab69638564eee34023909380ba3e0d8ee7f6fe473079bf93f09b", + "sha256:c6d20c8896c00775e6f62d8373aba32956aa0b850d02b5ec493f486c88e12859", + "sha256:c7af6f7b80f687b33a4cdb0a785a5d4de1fb027a44c9a049d8eb67d5bfe8a687", + "sha256:c7b07959866a6afb019abb9564d8a55046feb7a84506c74a6f197cbcdf8a208e", + "sha256:ca0dda0c5715efe2ab35bb83f813f681ebcd2840d8b1b92bfc6fe3ab382fae4a", + "sha256:cdb7eb3cf3deb3dd9e7b8749323b5d970052711f9e1e9f36364163627f96da58", + "sha256:ce757c7c90d35719b38fa3d4ca55654a76a40716ee299b0865f2de21c146801c", + "sha256:d1fa67ef839bad3815124f5f57e48cd50ff392f4911a9f3cf449d66fa3df62a5", + "sha256:d2dbd8f4990d4788cb122f63bf000357533f34860d269c1a8e90ae362090ff3a", + "sha256:d4ec0046facab83012d821b33cead742a35b54575c4edfb7ed7445f63441835f", + "sha256:dbceedcf4a9329cc665452db1aaf0845b85c666e4885b92ee0cddb1dbf7e052a", + "sha256:dc733d35f861f8d78abfaf54035461e10423422999b360966bf1c443cbc42705", + "sha256:dd635c2c4043222d80d80ca1ac4530a633102a9f2ad12252183bcf338c1b9474", + "sha256:de1f7cd5b6b351e1afd7568bdab94934d656abe273d66cda0ceea43bbc02a0c2", + "sha256:df7c841813f6265e636fe548a49664c77af31ddfa0085515326342a751a6ba51", + "sha256:e0f9d268b19e8f61bf42a1da48276bcd05f7ab5560311f541d22557f8227b866", + "sha256:e2d66eb41ffca6cc3c91d8387509d27ba73ad28371ef90255c50cb51f8953301", + "sha256:e429fc517a1c5e2a70d576077231538a98d59a45dfc552d1ac45a132844e6dfb", + "sha256:e4d2b88efe65544a7d5121b0c3b003ebba92bfede2ea3577ce548b69c5235185", + "sha256:e76c902d229a3aa9d5ceb813e1cbcc69bf5bda44c80d574ff1ac1fa3136dea71", + "sha256:ef07a0a1d254eeb16455d839cef6e8c2ed127f47f014bbda64a58b5482b6c836", + "sha256:f09529d2332264a902688031a83c19de8fda5eb5881e44233286b9c9ec91856d", + "sha256:f0a6d4a93d2a05daec7cb885157c97bbb0be4da739d6f9dfb02e101eb40921cd", + "sha256:f0cf2a0dbb5987da4bd92a7ca727eadb225581dd9681365beba9accbe5308f7d", + "sha256:f2671cb47e50a97f419a02cd1e0c339b31de017b033186358db92f4d8e2e17d8", + "sha256:f35b34a5184d5e0cc360b61664c1c06e866aab077b5a7c538a3e20c8fcdbf90b", + "sha256:f3d73022990ab0c8b172cce57c69fd9a89c24fd473a5e79cbce92df87e3d9c48", + "sha256:f5b8353ea1a4d7dfb59a7f45c04df66ecfd363bb5b35f33b11ea579111d4655f", + "sha256:f809a17cc78bd331e137caa25262b507225854073fd319e987bd216bed911b7c", + "sha256:f9bc4161bd3b970cd6a6fcda70583ad4afd10f2750609fb1f3ca9505050d4ef3", + "sha256:fdf4890cda3b59170009d012fca3294c00140e7f2abe1910e6a730809d0f3f9b" ], "markers": "python_version >= '3.8'", - "version": "==0.19.0" + "version": "==0.19.1" }, "rsa": { "hashes": [ @@ -2503,6 +2541,7 @@ "sha256:ff4effe5a1d4e8fed260a83a163f7dbf4f6087b54528d8880bab1d1377bd78be" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==1.4.2" }, "scipy": { @@ -2534,22 +2573,23 @@ "sha256:f7ce148dffcd64ade37b2df9315541f9adad6efcaa86866ee7dd5db0c8f041c3" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==1.12.0" }, "setuptools": { "hashes": [ - "sha256:1eb8ef012efae7f6acbc53ec0abde4bc6746c43087fd215ee09e1df48998711f", - "sha256:c51d7fd29843aa18dad362d4b4ecd917022131425438251f4e3d766c964dd1ad" + "sha256:5a03e1860cf56bb6ef48ce186b0e557fdba433237481a9a625176c2831be15d1", + "sha256:8d243eff56d095e5817f796ede6ae32941278f542e0f941867cc05ae52b162ec" ], "markers": "python_version >= '3.8'", - "version": "==71.0.1" + "version": "==72.1.0" }, "six": { "hashes": [ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, "skl2onnx": { @@ -2584,25 +2624,26 @@ }, "sympy": { "hashes": [ - "sha256:3b6af8f4d008b9a1a6a4268b335b984b23835f26d1d60b0526ebc71d48a25f57", - "sha256:6b0b32a4673fb91bd3cac3b55406c8e01d53ae22780be467301cc452f6680c92" + "sha256:9cebf7e04ff162015ce31c9c6c9144daa34a93bd082f54fd8f12deca4f47515f", + "sha256:db36cdc64bf61b9b24578b6f7bab1ecdd2452cf008f34faa33776680c26d66f8" ], "markers": "python_version >= '3.8'", - "version": "==1.13.0" + "version": "==1.13.1" }, "tenacity": { "hashes": [ - "sha256:8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78", - "sha256:b594c2a5945830c267ce6b79a166228323ed52718f30302c1359836112346687" + "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b", + "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539" ], "markers": "python_version >= '3.8'", - "version": "==8.5.0" + "version": "==9.0.0" }, "tensorboard": { "hashes": [ "sha256:9f2b4e7dad86667615c0e5cd072f1ea8403fc032a299f0072d6f74855775cc45" ], "index": "pypi", + "markers": "python_version >= '3.9'", "version": "==2.16.2" }, "tensorboard-data-server": { @@ -2639,25 +2680,17 @@ }, "torch": { "hashes": [ - "sha256:4e8918e991ba4d145450692c8b99afbcafb2974c91168be5a3f055b37ab27863", - "sha256:7d0aac31a5d76a6f737238725baecf35a6924f333f60a075ef5856c9e3212045", - "sha256:b50429ec9286b9d07cd3f377a26425a63c9814734136f9850f5217773fca9479", - "sha256:b9ec21d7f922f3204da64ba2f8f488dd75c96ffb811abc41843432c7b31b4c37", - "sha256:d36795e37c5654f3af5569f3c4bb230ccab722016648b30b4b24b8fd5eaece25" + "sha256:6cdd925827f6322b60c5f6c4e11e214fa5ff91a21412180917c773380c7ae492" ], "index": "pytorch", - "version": "==2.3.1+rocm6.0" + "version": "==2.4.0+rocm6.1" }, "torchvision": { "hashes": [ - "sha256:0f70cfcb1eb27c16e280a7de33855211e98d1b28aab87ace3d21e79de7d5495a", - "sha256:64e6f32a2e9a0a00050b3fd81d4d26ad5b6332a948a9a0f0d229bdf954d9cd98", - "sha256:877a5d48530bf3771529daab95b6cf330a98a14596a3f8d8ad830b8f61240e7c", - "sha256:aed0840c37a6b2ba59654d73b2ce641715311f28ecd2532b1fcecdeeaa99b334", - "sha256:c8e8f282463b51ebf007c7a039fd55ddec7c7393ecc4e0925ee94b9665cd9f5c" + "sha256:452ecaa253880d05df78bd392a5f61238f12f6abdd8e8da93aeb8d2dbb1b1218" ], "index": "pytorch", - "version": "==0.18.1+rocm6.0" + "version": "==0.19.0+rocm6.1" }, "tornado": { "hashes": [ @@ -2674,6 +2707,7 @@ "sha256:e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe" ], "index": "pypi", + "markers": "python_version >= '3.8'", "version": "==6.3.3" }, "tqdm": { @@ -2690,6 +2724,7 @@ "sha256:2d313cc50a42cd6c277e7d7dc8d4d7fedd06a2c215f78766ae7b1a66277e0033" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==5.1.1" }, "typing-extensions": { @@ -2714,6 +2749,7 @@ "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0" ], "index": "pypi", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", "version": "==1.26.18" }, "virtualenv": { diff --git a/runtimes/rocm-pytorch/ubi9-python-3.9/de-vendor-torch.sh b/runtimes/rocm-pytorch/ubi9-python-3.9/de-vendor-torch.sh new file mode 100755 index 000000000..780f8815e --- /dev/null +++ b/runtimes/rocm-pytorch/ubi9-python-3.9/de-vendor-torch.sh @@ -0,0 +1,41 @@ +#!/bin/sh +set -ex +# Replace PyTorch's vendored shared libraries with system libraries +# The script assumes that PyTorch is built with the same ROCm ABI as the +# system installation of ROCm. + +# Source: https://github.com/tiran/instructlab-containers/blob/main/containers/rocm/de-vendor-torch.sh + +PYTHON=python3.9 +ROCMLIB=/opt/rocm/lib +TORCHLIB=/opt/app-root/lib/${PYTHON}/site-packages/torch/lib + +ln -sf /usr/lib64/libdrm.so.2 ${TORCHLIB}/libdrm.so +ln -sf /usr/lib64/libdrm_amdgpu.so.1 ${TORCHLIB}/libdrm_amdgpu.so + +ln -sf ${ROCMLIB}/libamd_comgr.so.2 ${TORCHLIB}/libamd_comgr.so +ln -sf ${ROCMLIB}/libamdhip64.so.6 ${TORCHLIB}/libamdhip64.so +ln -sf ${ROCMLIB}/libhipblaslt.so.0 ${TORCHLIB}/libhipblaslt.so +ln -sf ${ROCMLIB}/libhipblas.so.2 ${TORCHLIB}/libhipblas.so +ln -sf ${ROCMLIB}/libhipfft.so.0 ${TORCHLIB}/libhipfft.so +ln -sf ${ROCMLIB}/libhiprand.so.1 ${TORCHLIB}/libhiprand.so +ln -sf ${ROCMLIB}/libhiprtc.so.6 ${TORCHLIB}/libhiprtc.so +ln -sf ${ROCMLIB}/libhipsolver.so.0 ${TORCHLIB}/libhipsolver.so +ln -sf ${ROCMLIB}/libhipsparse.so.1 ${TORCHLIB}/libhipsparse.so +ln -sf ${ROCMLIB}/libhsa-runtime64.so.1 ${TORCHLIB}/libhsa-runtime64.so +ln -sf ${ROCMLIB}/libMIOpen.so.1 ${TORCHLIB}/libMIOpen.so +ln -sf ${ROCMLIB}/librccl.so.1 ${TORCHLIB}/librccl.so +ln -sf ${ROCMLIB}/librocblas.so.4 ${TORCHLIB}/librocblas.so +ln -sf ${ROCMLIB}/librocfft.so.0 ${TORCHLIB}/librocfft.so +ln -sf ${ROCMLIB}/librocm_smi64.so.6 ${TORCHLIB}/librocm_smi64.so +ln -sf ${ROCMLIB}/librocrand.so.1 ${TORCHLIB}/librocrand.so +ln -sf ${ROCMLIB}/librocsolver.so.0 ${TORCHLIB}/librocsolver.so +ln -sf ${ROCMLIB}/librocsparse.so.1 ${TORCHLIB}/librocsparse.so +ln -sf ${ROCMLIB}/libroctracer64.so.4 ${TORCHLIB}/libroctracer64.so +ln -sf ${ROCMLIB}/libroctx64.so.4 ${TORCHLIB}/libroctx64.so + +rm -rf ${TORCHLIB}/rocblas +ln -sf ${ROCMLIB}/rocblas ${TORCHLIB}/rocblas + +rm -rf ${TORCHLIB}/hipblaslt +ln -sf ${ROCMLIB}/hipblaslt ${TORCHLIB}/hipblaslt diff --git a/runtimes/rocm-pytorch/ubi9-python-3.9/utils/bootstrapper.py b/runtimes/rocm-pytorch/ubi9-python-3.9/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/rocm-pytorch/ubi9-python-3.9/utils/bootstrapper.py +++ b/runtimes/rocm-pytorch/ubi9-python-3.9/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/rocm-tensorflow/ubi9-python-3.9/utils/bootstrapper.py b/runtimes/rocm-tensorflow/ubi9-python-3.9/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/rocm-tensorflow/ubi9-python-3.9/utils/bootstrapper.py +++ b/runtimes/rocm-tensorflow/ubi9-python-3.9/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/tensorflow/ubi8-python-3.8/utils/bootstrapper.py b/runtimes/tensorflow/ubi8-python-3.8/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/tensorflow/ubi8-python-3.8/utils/bootstrapper.py +++ b/runtimes/tensorflow/ubi8-python-3.8/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/runtimes/tensorflow/ubi9-python-3.9/utils/bootstrapper.py b/runtimes/tensorflow/ubi9-python-3.9/utils/bootstrapper.py index 6163cdd84..34a39cdcc 100644 --- a/runtimes/tensorflow/ubi9-python-3.9/utils/bootstrapper.py +++ b/runtimes/tensorflow/ubi9-python-3.9/utils/bootstrapper.py @@ -750,7 +750,6 @@ def main(): input_params = OpUtil.parse_arguments(sys.argv[1:]) OpUtil.log_operation_info("starting operation") t0 = time.time() - OpUtil.package_install(user_volume_path=input_params.get("user-volume-path")) # Create the appropriate instance, process dependencies and execute the operation file_op = FileOpBase.get_instance(**input_params) diff --git a/tests/test_main.py b/tests/test_main.py index 609e7f810..892a80dde 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -1,6 +1,9 @@ from __future__ import annotations +import os +import logging import pathlib +import subprocess import tomllib from typing import TYPE_CHECKING @@ -20,3 +23,48 @@ def test_image_pipfiles(subtests: pytest_subtests.plugin.SubTests): pipfile = tomllib.load(fp) assert "requires" in pipfile, "Pipfile is missing a [[requires]] section" assert pipfile["requires"]["python_version"] == python, "Pipfile does not declare the expected Python version" + + +def test_files_that_should_be_same_are_same(subtests: pytest_subtests.plugin.SubTests): + file_groups = { + "ROCm de-vendor script": + [PROJECT_ROOT / "jupyter/rocm/pytorch/ubi9-python-3.9/de-vendor-torch.sh", + PROJECT_ROOT / "runtimes/rocm-pytorch/ubi9-python-3.9/de-vendor-torch.sh"] + } + for group_name, (first_file, *rest) in file_groups.items(): + with subtests.test(msg=f"Checking {group_name}"): + for file in rest: + assert first_file.read_text() == file.read_text(), f"The files {first_file} and {file} do not match" + + +def test_make_building_only_specified_images(subtests: pytest_subtests.plugin.SubTests): + for goals in (["rocm-jupyter-tensorflow-ubi9-python-3.9"], ["rocm-jupyter-tensorflow-ubi9-python-3.9", "base-ubi9-python-3.9"]): + with subtests.test(msg="Running goals", goals=goals): + lines = dryrun_make(goals, env={"BUILD_DEPENDENT_IMAGES": "no"}) + builds_number = 0 + for line in lines: + if "podman build" in line: + builds_number += 1 + assert builds_number == len(goals) + + +def test_make_disable_pushing(): + lines = dryrun_make(["rocm-jupyter-tensorflow-ubi9-python-3.9"], env={"PUSH_IMAGES": ""}) + for line in lines: + assert "podman push" not in line + + +def dryrun_make(make_args: list[str], env: dict[str, str] | None = None) -> list[str]: + env = env or {} + + try: + logging.info(f"Running make in --just-print mode for target(s) {make_args} with env {env}") + lines = subprocess.check_output(["make", "--just-print", *make_args], encoding="utf-8", + env={**os.environ, **env}, + cwd=PROJECT_ROOT).splitlines() + for line in lines: + logging.debug(line) + return lines + except subprocess.CalledProcessError as e: + print(e.stderr, e.stdout) + raise