From 3fddb4566878f42a04d1ce5ce46482a33f781d0c Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Wed, 23 Sep 2026 16:22:10 -0700 Subject: [PATCH 01/19] scope ssh keypair to pytorch training image --- docker/pytorch/Dockerfile.cuda | 3 +++ scripts/docker/common/install_efa.sh | 2 -- scripts/docker/common/install_efa_amzn2023.sh | 2 -- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docker/pytorch/Dockerfile.cuda b/docker/pytorch/Dockerfile.cuda index 2af003ede235..b9f612959bb5 100644 --- a/docker/pytorch/Dockerfile.cuda +++ b/docker/pytorch/Dockerfile.cuda @@ -176,6 +176,9 @@ RUN CUDART=$(ls /usr/local/cuda/lib64/libcudart.so.* | head -1) \ COPY scripts/docker/common/install_efa_amzn2023.sh /tmp/install_efa.sh RUN bash /tmp/install_efa.sh ${EFA_VERSION} && rm /tmp/install_efa.sh +COPY scripts/docker/common/configure_ssh.sh /tmp/configure_ssh.sh +RUN bash /tmp/configure_ssh.sh && rm /tmp/configure_ssh.sh + # NCCL tests binary (all_reduce_perf) — used by CI EFA tests and available to # customers for verifying EFA/NCCL connectivity before training. # diff --git a/scripts/docker/common/install_efa.sh b/scripts/docker/common/install_efa.sh index e657e6dcfe65..1fa4cdda7f43 100755 --- a/scripts/docker/common/install_efa.sh +++ b/scripts/docker/common/install_efa.sh @@ -83,8 +83,6 @@ function install_efa { sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd rm -rf /root/.ssh/ mkdir -p /root/.ssh/ - ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa - cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys printf "Host *\n StrictHostKeyChecking no\n" >> /root/.ssh/config # Remove build time tools diff --git a/scripts/docker/common/install_efa_amzn2023.sh b/scripts/docker/common/install_efa_amzn2023.sh index 16488fbef9fa..159ffc94b785 100755 --- a/scripts/docker/common/install_efa_amzn2023.sh +++ b/scripts/docker/common/install_efa_amzn2023.sh @@ -71,8 +71,6 @@ function install_efa { rm -rf /root/.ssh/ mkdir -p /root/.ssh/ - ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa - cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys printf "Host *\n StrictHostKeyChecking no\n" >> /root/.ssh/config dnf clean all From d12bdefaa56cfe929e28d7bdfd061d0a201dcf57 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Fri, 25 Sep 2026 17:00:22 -0700 Subject: [PATCH 02/19] test: assert ssh keypair present only on mpirun frameworks --- test/sanity/scripts/check_nccl_efa_gdrcopy.sh | 9 +++++---- test/sanity/scripts/test_sanity_training.py | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/test/sanity/scripts/check_nccl_efa_gdrcopy.sh b/test/sanity/scripts/check_nccl_efa_gdrcopy.sh index f4d1056c2534..8cb06cc075e0 100755 --- a/test/sanity/scripts/check_nccl_efa_gdrcopy.sh +++ b/test/sanity/scripts/check_nccl_efa_gdrcopy.sh @@ -277,17 +277,18 @@ done echo "=============== SSH (multi-node launch) ===============" -# --- sshd + keys, used by mpirun to reach worker nodes --- +# --- sshd + client config for mpirun. Base devel has no keypair +# (only mpirun-over-SSH frameworks do). --- if [ -x /usr/sbin/sshd ]; then pass "/usr/sbin/sshd is executable" else fail "/usr/sbin/sshd not found or not executable" fi -if [ -f /root/.ssh/authorized_keys ]; then - pass "/root/.ssh/authorized_keys exists" +if [ -f /root/.ssh/id_rsa ] || [ -f /root/.ssh/authorized_keys ]; then + fail "SSH keypair present (/root/.ssh/id_rsa or authorized_keys) — should have been removed" else - fail "/root/.ssh/authorized_keys not found" + pass "no SSH keypair (/root/.ssh/id_rsa, authorized_keys absent)" fi if grep -q "StrictHostKeyChecking no" /root/.ssh/config 2>/dev/null; then diff --git a/test/sanity/scripts/test_sanity_training.py b/test/sanity/scripts/test_sanity_training.py index 471bc689c1bb..4468dc794aed 100755 --- a/test/sanity/scripts/test_sanity_training.py +++ b/test/sanity/scripts/test_sanity_training.py @@ -54,6 +54,16 @@ FRAMEWORK in {"tensorflow", "pytorch_runtime", "ray_train"}, "training-cluster-only test (requires SSH+MPI stack; xgboost is algorithm container)", ) +# ray_train coordinates multi-node via Ray, not mpirun-over-SSH, so it has no +# keypair — hence only pytorch/tensorflow here. +mpi_ssh_keypair_only = unittest.skipUnless( + FRAMEWORK in {"pytorch_runtime", "tensorflow"}, + "keypair present only on mpirun-over-SSH frameworks (pytorch, tensorflow)", +) +no_keypair_training_only = unittest.skipUnless( + FRAMEWORK == "ray_train", + "keypair-absence check (ray_train does not use mpirun-over-SSH)", +) class TestContainerEnv(unittest.TestCase): @@ -151,9 +161,19 @@ class TestSSHConfig(unittest.TestCase): def test_sshd_binary(self): self.assertTrue(os.access("/usr/sbin/sshd", os.X_OK)) + @mpi_ssh_keypair_only def test_root_authorized_keys(self): self.assertTrue(os.path.isfile("/root/.ssh/authorized_keys")) + @no_keypair_training_only + def test_root_keypair_absent(self): + """Frameworks that don't use mpirun-over-SSH must not have the SSH keypair.""" + self.assertFalse(os.path.isfile("/root/.ssh/id_rsa"), "/root/.ssh/id_rsa present") + self.assertFalse( + os.path.isfile("/root/.ssh/authorized_keys"), + "/root/.ssh/authorized_keys present", + ) + def test_strict_host_key_checking_disabled(self): with open("/root/.ssh/config") as f: self.assertIn("StrictHostKeyChecking no", f.read()) From a2e4731369ce3ac79b91086a6087cfad53d0605f Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Mon, 28 Sep 2026 20:33:42 -0700 Subject: [PATCH 03/19] chore: patch openfold3 and ray-llm scan cves --- docker/openfold3/Dockerfile | 3 +- .../openfold3/framework_allowlist.json | 180 ++++++++++++++++++ .../ray_llm/framework_allowlist.json | 5 + 3 files changed, 187 insertions(+), 1 deletion(-) diff --git a/docker/openfold3/Dockerfile b/docker/openfold3/Dockerfile index 0db3dc8b591d..59ad4e8eaa04 100644 --- a/docker/openfold3/Dockerfile +++ b/docker/openfold3/Dockerfile @@ -71,8 +71,9 @@ RUN pip install flask gunicorn RUN for PIP in /opt/conda/bin/pip /opt/conda/envs/openfold3/bin/pip; do \ "$PIP" install --upgrade \ "GitPython>=3.1.50" "urllib3>=2.7.0" "pillow>=12.2.0" \ - "dulwich>=1.2.5" "msgpack>=1.2.1"; \ + "dulwich>=1.2.5" "msgpack>=1.2.1" "click>=8.3.3"; \ done \ + && /opt/conda/envs/openfold3/bin/pip install --upgrade --no-deps "pytorch-lightning>=2.6.6" \ && rm -rf /opt/conda/pkgs/* \ && /opt/conda/bin/conda clean --all --yes diff --git a/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json index 69d479d2d1e8..f030431fd2f8 100644 --- a/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json @@ -143,5 +143,185 @@ "vulnerability_id": "CVE-2026-23949", "reason": "jaraco.context is vendored inside setuptools (_vendor); upgraded with setuptools by upstream, not independently pip-installable. Tracked for upstream bump.", "review_by": "2026-09-30" + }, + { + "vulnerability_id": "CVE-2025-55551", + "reason": "torch 2.5.1 (cuda12.4) is pinned by the OpenFold3 0.4.1 conda lock; fix requires torch>=2.9.0, a framework-version bump that breaks the pinned OpenFold3 env and needs upstream model re-validation. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2025-55560", + "reason": "torch 2.5.1 (cuda12.4) is pinned by the OpenFold3 0.4.1 conda lock; fix requires torch>=2.7.1, a framework-version bump that breaks the pinned OpenFold3 env and needs upstream model re-validation. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-24747", + "reason": "torch 2.5.1 (cuda12.4) is pinned by the OpenFold3 0.4.1 conda lock; fix requires torch>=2.10.0, a framework-version bump that breaks the pinned OpenFold3 env and needs upstream model re-validation. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-75803", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-63073", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-63076", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-54876", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-54874", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-14456", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-14457", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-63075", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-18798", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-63072", + "reason": "openssl 3.6.1 (conda-forge) is pinned by the OpenFold3 0.4.1 conda lock, with 3.6.0 in the base conda; the scanner's fixed version is OpenSSL 4.0.2, a major-version bump not adoptable without breaking the conda-forge-locked env. Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-11564", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-8925", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-11856", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-8927", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-19931", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-18924", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-8924", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-8926", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-9079", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-10536", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-12" + }, + { + "vulnerability_id": "CVE-2026-11586", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-80231", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-9080", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-80229", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-82208", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-13608", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-8932", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-8286", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-80230", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-82209", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-9545", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-9547", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.20.1, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-80255", + "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", + "review_by": "2026-10-26" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json index b1e4ae5f89ac..8955b5d219be 100644 --- a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json @@ -3,5 +3,10 @@ "vulnerability_id": "CVE-2026-24747", "reason": "torch 2.9.1 pinned in vllm's benchmarks/requirements.txt spec file (not installed). Our runtime torch is 2.11.0 which is past the fix. Scanner reads the spec text and flags it. Cannot patch without vllm rebuild removing the stale spec.", "review_by": "2026-11-17" + }, + { + "vulnerability_id": "CVE-2026-90553", + "reason": "vllm 0.26.0 pinned by the ray-llm image; fix requires vllm>=0.28.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-26" } ] From 594ec1c53d87f3313b3b9d320c593cd3ba835391 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Mon, 28 Sep 2026 22:06:34 -0700 Subject: [PATCH 04/19] chore: refresh expired allowlist review_by dates --- .../huggingface-vllm/framework_allowlist.json | 26 +++++++++---------- .../vllm_server/framework_allowlist.json | 8 +++--- .../whisperx/framework_allowlist.json | 2 +- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/test/security/data/ecr_scan_allowlist/huggingface-vllm/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/huggingface-vllm/framework_allowlist.json index a5d81683195e..39b5a0fbb628 100644 --- a/test/security/data/ecr_scan_allowlist/huggingface-vllm/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/huggingface-vllm/framework_allowlist.json @@ -47,67 +47,67 @@ { "vulnerability_id": "CVE-2026-33811", "reason": "go/stdlib 1.24.11 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-39820", "reason": "go/stdlib 1.24.11 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-33814", "reason": "go/stdlib 1.24.11 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-39836", "reason": "go/stdlib 1.24.11 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-42499", "reason": "go/stdlib 1.24.11 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-39821", "reason": "golang.org/x/net v0.38.0 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-42504", "reason": "go/stdlib 1.24.11 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "RUSTSEC-2026-0185", "reason": "quinn-proto 0.11.14 statically linked inside the uv binary (/usr/local/bin/uv); no uv release through 0.11.24 has bumped quinn-proto to the fixed 0.11.15, so it cannot be patched independently. DoS only and uv is a build-time installer, not network-facing at runtime", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-53923", "reason": "vllm 0.22.1 GGUF dequantize kernel integer truncation; fixed only in 0.23.1rc0 (release candidate), no stable fixed version available to pin to; vllm version cannot be changed", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-27145", "reason": "go/stdlib statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-39822", "reason": "go/stdlib 1.25.9 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-55574", "reason": "vllm 0.22.1; fixed only in 0.24.0, which would require changing the base vLLM DLC version — cannot be bumped independently of the base image", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-24747", "reason": "false positive: torch 2.9.1 is referenced only in a stray text file (dist-packages/benchmarks/requirements.txt) shipped by the upstream vllm-openai base, not an installed package; the image's installed torch is 2.11.0, which already contains the 2.10.0 weights_only unpickler fix", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "GHSA-hrxh-6v49-42gf", diff --git a/test/security/data/ecr_scan_allowlist/vllm_server/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/vllm_server/framework_allowlist.json index 1cdb7907ad3b..9fc213c96563 100644 --- a/test/security/data/ecr_scan_allowlist/vllm_server/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/vllm_server/framework_allowlist.json @@ -87,12 +87,12 @@ { "vulnerability_id": "RUSTSEC-2026-0185", "reason": "quinn-proto Rust crate vendored inside the upstream vllm wheel; cannot be bumped to 0.11.15 independently of a vllm wheel rebuild. Tracking upstream vllm-project release.", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-53923", "reason": "Affects vllm itself; no fixed version published upstream (scanner reports fixed-version 99.999.9999). Tracking upstream vllm-project fix.", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-27145", @@ -102,7 +102,7 @@ { "vulnerability_id": "CVE-2026-39822", "reason": "go/stdlib 1.25.10 statically linked inside mooncake libetcd_wrapper.so, cannot be patched independently of a mooncake-transfer-engine rebuild", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-56852", @@ -122,7 +122,7 @@ { "vulnerability_id": "CVE-2026-24747", "reason": "torch 2.9.1 is only a version pin in the upstream vllm base image's benchmarks/requirements.txt (benchmark metadata), not the installed package. weights_only unpickler RCE requires loading a malicious checkpoint; the benchmark requirements file is inert. Not exploitable in the runtime.", - "review_by": "2026-09-25" + "review_by": "2026-11-27" }, { "vulnerability_id": "CVE-2026-56853", diff --git a/test/security/data/ecr_scan_allowlist/whisperx/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/whisperx/framework_allowlist.json index a64f4ea30316..1e951af37c89 100644 --- a/test/security/data/ecr_scan_allowlist/whisperx/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/whisperx/framework_allowlist.json @@ -12,7 +12,7 @@ { "vulnerability_id": "CVE-2026-5241", "reason": "transformers 4.57.6 is a transitive dependency of whisperx 3.8.6; the fix requires transformers>=5.5.0, but transformers 5.x requires huggingface-hub>=1.5.0 while whisperx 3.8.6 pins huggingface-hub<1.0.0, so uv resolution rejects any 5.x bump. Fixable only via a new whisperx release that raises the huggingface-hub cap. The vulnerable code path is not exercised by the ASR inference server.", - "review_by": "2026-09-24" + "review_by": "2026-10-08" }, { "vulnerability_id": "CVE-2026-24747", From 513db538c6dcef3bc422c7d3db7f9ace0dc6bdb1 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Tue, 29 Sep 2026 10:50:15 -0700 Subject: [PATCH 05/19] chore: allowlist ray jackson-databind and ray-llm vllm scan cves --- .../data/ecr_scan_allowlist/ray/framework_allowlist.json | 5 +++++ .../data/ecr_scan_allowlist/ray_llm/framework_allowlist.json | 5 +++++ .../ecr_scan_allowlist/ray_train/framework_allowlist.json | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json index 7066a3f639a5..80f690679e24 100644 --- a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json @@ -48,5 +48,10 @@ "vulnerability_id": "CVE-2026-9856", "reason": "transformers 5.8.0 fix in 5.10.0 needs new Ray release bump (core contract package)", "review_by": "2026-10-21" + }, + { + "vulnerability_id": "CVE-2026-68497", + "reason": "jackson-databind 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.2)", + "review_by": "2026-11-28" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json index 8955b5d219be..aa90db89c989 100644 --- a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json @@ -8,5 +8,10 @@ "vulnerability_id": "CVE-2026-90553", "reason": "vllm 0.26.0 pinned by the ray-llm image; fix requires vllm>=0.28.0, a framework version bump handled in a separate follow-up PR", "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-90554", + "reason": "vllm 0.26.0 pinned by the ray-llm image; fix requires vllm>=0.28.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-27" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json index 2370359d0a6c..607b348ffb0f 100644 --- a/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json @@ -33,5 +33,10 @@ "vulnerability_id": "GHSA-4w2j-m93h-cj5j", "reason": "quinn-proto 0.11.14 compiled into /usr/local/bin/uv (base image binary), fix requires quinn-proto>=0.11.15 which no released uv bundles yet", "review_by": "2026-10-31" + }, + { + "vulnerability_id": "CVE-2026-68497", + "reason": "jackson-databind bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.2)", + "review_by": "2026-11-28" } ] From f5aeca351edc96b5cec275733a96505f76fba113 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Tue, 29 Sep 2026 10:56:12 -0700 Subject: [PATCH 06/19] chore: refresh imminent allowlist review_by dates --- .../framework_allowlist.json | 2 +- .../openfold3/framework_allowlist.json | 58 +++++++++---------- .../pytorch_runtime/framework_allowlist.json | 2 +- .../ray/framework_allowlist.json | 8 +-- .../xgboost/xgboost-3.0.5.json | 2 +- 5 files changed, 36 insertions(+), 36 deletions(-) diff --git a/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json index 642146dd13bb..3eff59a48470 100644 --- a/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json @@ -7,7 +7,7 @@ { "vulnerability_id": "CVE-2026-82397", "reason": "tornado 6.5.7 is inherited from the current PyTorch 2.11 base image; fixed version 6.5.8 was released after that base was locked. Temporary exception until the base image refreshes tornado or the Hugging Face layer takes the new security floor.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-90553", diff --git a/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json index f030431fd2f8..3dd0f86eab00 100644 --- a/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json @@ -2,147 +2,147 @@ { "vulnerability_id": "CVE-2026-9076", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2025-69420", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2025-69421", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2025-15467", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2025-69419", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-28386", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-28387", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-28388", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-28389", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-28390", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-31789", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-31790", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-34180", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-34181", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-34182", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-34183", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-42764", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-42765", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-45445", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-45447", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-7383", "reason": "openssl is pinned by OpenFold3 0.4.1 upstream conda lock (openssl 3.6.1, conda-forge); upgrading risks breaking the locked conda env. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-3805", "reason": "libcurl is pulled in by the OpenFold3 0.4.1 conda env; no independent patch without re-resolving the upstream-pinned lock. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-5773", "reason": "libcurl is pulled in by the OpenFold3 0.4.1 conda env; no independent patch without re-resolving the upstream-pinned lock. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-6276", "reason": "libcurl is pulled in by the OpenFold3 0.4.1 conda env; no independent patch without re-resolving the upstream-pinned lock. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2025-32434", "reason": "torch 2.5.1 (cuda12.4) is the official pinned version in OpenFold3 0.4.1 upstream conda lock; upgrade requires upstream model re-validation. CVE-2025-32434 is torch.load RCE, not reachable: checkpoint is baked from OpenFold3's own bucket, no untrusted checkpoint loading.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2025-55552", "reason": "torch 2.5.1 (cuda12.4) is the official pinned version in OpenFold3 0.4.1 upstream conda lock; upgrade requires upstream model re-validation. CVE-2025-32434 is torch.load RCE, not reachable: checkpoint is baked from OpenFold3's own bucket, no untrusted checkpoint loading.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2025-55553", "reason": "torch 2.5.1 (cuda12.4) is the official pinned version in OpenFold3 0.4.1 upstream conda lock; upgrade requires upstream model re-validation. CVE-2025-32434 is torch.load RCE, not reachable: checkpoint is baked from OpenFold3's own bucket, no untrusted checkpoint loading.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "RUSTSEC-2026-0185", "reason": "quinn-proto is statically compiled into the astral-sh uv binary (/usr/local/bin/uv), a build-time tool not used at OpenFold3 runtime; cannot patch independently of the uv release.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-23949", "reason": "jaraco.context is vendored inside setuptools (_vendor); upgraded with setuptools by upstream, not independently pip-installable. Tracked for upstream bump.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2025-55551", diff --git a/test/security/data/ecr_scan_allowlist/pytorch_runtime/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/pytorch_runtime/framework_allowlist.json index b8030c36b31d..e9277eb20f77 100644 --- a/test/security/data/ecr_scan_allowlist/pytorch_runtime/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/pytorch_runtime/framework_allowlist.json @@ -7,6 +7,6 @@ { "vulnerability_id": "RUSTSEC-2026-0185", "reason": "quinn-proto bundled inside the uv binary (/usr/local/bin/uv). uv is shipped for customer use (e.g. venv management); cannot be patched independently of an upstream uv release.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json index 80f690679e24..bc4a9fadccba 100644 --- a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json @@ -12,22 +12,22 @@ { "vulnerability_id": "CVE-2026-34478", "reason": "ray bundles log4j-core 2.25.3 in ray_dist.jar, cannot patch without upstream ray rebuild", - "review_by": "2026-09-29" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-34480", "reason": "ray bundles log4j-core 2.25.3 in ray_dist.jar, cannot patch without upstream ray rebuild", - "review_by": "2026-09-29" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-54513", "reason": "jackson-databind 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild", - "review_by": "2026-09-29" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-54512", "reason": "jackson-databind 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild", - "review_by": "2026-09-29" + "review_by": "2026-11-28" }, { "vulnerability_id": "GHSA-r7wm-3cxj-wff9", diff --git a/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json b/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json index 75a9092d5d52..e4615aaef9d0 100644 --- a/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json +++ b/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json @@ -552,7 +552,7 @@ { "vulnerability_id": "CVE-2026-54876", "reason": "openssl 3.6.3 in the bundled miniconda3 environment. No fix is installable: per the upstream advisory of 2026-08-05 the project did not issue releases for this issue, so the nominal fixed versions 3.6.4 (for the 3.6 branch) and 4.0.2 are both unreleased and exist only as git commits. No openssl-3.6.4 or openssl-4.0.2 tag exists upstream and conda-forge tops out at 3.6.3 / 4.0.1, so the scanner's openssl>=4.0.2 pin is unsatisfiable; moving to 4.0.1 would not help since 4.0.1 is itself in the affected range. Upstream severity is Low (the High here is the NVD-derived score), impact is a client-side memory-leak DoS, and OCSP response checking is off by default and never enabled by the training or serving paths. No exploit available. Note the 3.6 branch reaches end-of-life on 2026-11-01, so if 3.6.4 does not ship the durable fix is moving this environment to the 3.5 LTS line, which is unaffected.", - "review_by": "2026-09-30" + "review_by": "2026-11-28" }, { "vulnerability_id": "CVE-2026-63072", From 3dbd3dc081cbb8b0770e6866ae5235b6acc60c96 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Tue, 29 Sep 2026 17:03:17 -0700 Subject: [PATCH 07/19] chore: patch base-os cves across base and framework images --- docker/base/cu129/Dockerfile | 16 ++++++++++++++++ docker/base/cu130/Dockerfile | 16 ++++++++++++++++ docker/base/cu132/Dockerfile | 16 ++++++++++++++++ docker/huggingface/pytorch/Dockerfile | 3 ++- docker/pytorch/Dockerfile.cpu | 10 ++++++++-- docker/ray-train/Dockerfile.cuda | 2 ++ docker/ray/Dockerfile.cpu | 5 ++++- docker/ray/Dockerfile.cuda | 5 ++++- docker/ray_llm/Dockerfile.cuda | 2 ++ docker/vllm_omni/Dockerfile.amzn2023 | 4 ++++ .../framework_allowlist.json | 10 ++++++++++ .../ray_llm/framework_allowlist.json | 5 +++++ .../vllm_omni/framework_allowlist.json | 5 +++++ 13 files changed, 94 insertions(+), 5 deletions(-) diff --git a/docker/base/cu129/Dockerfile b/docker/base/cu129/Dockerfile index 1922873169c8..0980d7aa0a97 100644 --- a/docker/base/cu129/Dockerfile +++ b/docker/base/cu129/Dockerfile @@ -62,6 +62,13 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ RUN dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ && dnf upgrade -y --security --releasever latest \ + # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet + # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), + # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2) + && dnf upgrade -y --releasever latest \ + systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ + rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ + curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ && dnf clean all && rm -rf /var/cache/dnf COPY --from=uv /uv /usr/local/bin/uv @@ -140,6 +147,15 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ RUN dnf install -y --allowerasing --setopt=install_weak_deps=False \ curl automake autoconf cmake gcc gcc-c++ git make tar \ && dnf upgrade -y --security --releasever latest \ + # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet + # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), + # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2), + # CVE-2026-13732 (gdb), CVE-2026-85013 (environment-modules) + && dnf upgrade -y --releasever latest \ + systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ + rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ + curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ + gdb-minimal environment-modules \ && dnf clean all && rm -rf /var/cache/dnf COPY --from=uv /uv /usr/local/bin/uv diff --git a/docker/base/cu130/Dockerfile b/docker/base/cu130/Dockerfile index 9edf86a68ee4..43eba789dfe3 100644 --- a/docker/base/cu130/Dockerfile +++ b/docker/base/cu130/Dockerfile @@ -62,6 +62,13 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ RUN dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ && dnf upgrade -y --security --releasever latest \ + # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet + # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), + # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2) + && dnf upgrade -y --releasever latest \ + systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ + rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ + curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 && dnf upgrade -y --releasever latest cuda-compat-13-0 \ && dnf clean all && rm -rf /var/cache/dnf @@ -142,6 +149,15 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ RUN dnf install -y --allowerasing --setopt=install_weak_deps=False \ curl automake autoconf cmake gcc gcc-c++ git make tar \ && dnf upgrade -y --security --releasever latest \ + # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet + # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), + # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2), + # CVE-2026-13732 (gdb), CVE-2026-85013 (environment-modules) + && dnf upgrade -y --releasever latest \ + systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ + rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ + curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ + gdb-minimal environment-modules \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 && dnf upgrade -y --releasever latest cuda-compat-13-0 \ && dnf clean all && rm -rf /var/cache/dnf diff --git a/docker/base/cu132/Dockerfile b/docker/base/cu132/Dockerfile index 6c8a480be92f..347996a7c033 100644 --- a/docker/base/cu132/Dockerfile +++ b/docker/base/cu132/Dockerfile @@ -72,6 +72,13 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ RUN dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ && dnf upgrade -y --security --releasever latest \ + # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet + # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), + # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2) + && dnf upgrade -y --releasever latest \ + systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ + rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ + curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ # Explicitly upgrade cuda-compat-13-2 to pick up fixes for NVIDIA Display Driver CVEs && dnf upgrade -y --releasever latest cuda-compat-13-2 \ && dnf clean all && rm -rf /var/cache/dnf @@ -182,6 +189,15 @@ RUN bash /tmp/install_efa.sh ${EFA_VERSION} && rm /tmp/install_efa.sh # Security patch — run after all installers so every OS package is covered RUN dnf upgrade -y --security --releasever latest \ + # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet + # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), + # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2), + # CVE-2026-13732 (gdb), CVE-2026-85013 (environment-modules) + && dnf upgrade -y --releasever latest \ + systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ + rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ + curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ + gdb-minimal environment-modules \ # Explicitly upgrade cuda-compat-13-2 to pick up fixes for NVIDIA Display Driver CVEs && dnf upgrade -y --releasever latest cuda-compat-13-2 \ && dnf clean all && rm -rf /var/cache/dnf diff --git a/docker/huggingface/pytorch/Dockerfile b/docker/huggingface/pytorch/Dockerfile index 81c35955270d..0d0d926cea88 100644 --- a/docker/huggingface/pytorch/Dockerfile +++ b/docker/huggingface/pytorch/Dockerfile @@ -54,7 +54,8 @@ RUN uv pip install --python ${VENV_PYTHON} \ sentencepiece protobuf einops scipy scikit-learn tensorboard \ "pillow>=12.3.0" \ "soupsieve>=2.8.4" \ - "GitPython>=3.1.55" \ + "GitPython>=3.1.60" \ + "anyio>=4.14.2" \ "pyasn1>=0.6.4" \ "cryptography>=50.0.0" \ "aiohttp>=3.14.3" \ diff --git a/docker/pytorch/Dockerfile.cpu b/docker/pytorch/Dockerfile.cpu index fae5e5a18397..8332b1614fd0 100644 --- a/docker/pytorch/Dockerfile.cpu +++ b/docker/pytorch/Dockerfile.cpu @@ -129,7 +129,10 @@ RUN chmod +x /usr/local/bin/deep_learning_container.py \ && rm /tmp/bash_telemetry.sh.template # Security patch -RUN dnf upgrade -y --security --releasever latest && dnf upgrade -y libcap && dnf clean all +RUN dnf upgrade -y --security --releasever latest && dnf upgrade -y libcap \ + # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) + && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ + && dnf clean all # Telemetry bashrc hook — must be after security patch (dnf may replace /etc/bashrc) RUN echo 'source /usr/local/bin/bash_telemetry.sh' >>/etc/bashrc && echo 'source /usr/local/bin/bash_telemetry.sh' >>/root/.bashrc @@ -191,7 +194,10 @@ RUN chmod +x /usr/local/bin/deep_learning_container.py \ && rm /tmp/bash_telemetry.sh.template # Security patch -RUN dnf upgrade -y --security --releasever latest && dnf upgrade -y libcap && dnf clean all +RUN dnf upgrade -y --security --releasever latest && dnf upgrade -y libcap \ + # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) + && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ + && dnf clean all # Telemetry bashrc hook — must be after security patch (dnf may replace /etc/bashrc) RUN echo 'source /usr/local/bin/bash_telemetry.sh' >>/etc/bashrc && echo 'source /usr/local/bin/bash_telemetry.sh' >>/root/.bashrc diff --git a/docker/ray-train/Dockerfile.cuda b/docker/ray-train/Dockerfile.cuda index 45354c76da12..d53ce0c71a8e 100644 --- a/docker/ray-train/Dockerfile.cuda +++ b/docker/ray-train/Dockerfile.cuda @@ -176,6 +176,8 @@ RUN NCCL_HOME=$(/opt/venv/bin/python -c "import nvidia.nccl; print(nvidia.nccl._ # Security patch — after all installers so every OS package is covered. RUN dnf upgrade -y --security --releasever latest \ + # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) + && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ && dnf upgrade -y cuda-compat-* libcap \ && dnf clean all diff --git a/docker/ray/Dockerfile.cpu b/docker/ray/Dockerfile.cpu index 3dc973f4088f..957573050dcb 100644 --- a/docker/ray/Dockerfile.cpu +++ b/docker/ray/Dockerfile.cpu @@ -56,7 +56,10 @@ RUN --mount=type=cache,target=/root/.cache/uv cd /tmp/deps \ FROM amazonlinux:2023 AS base ARG CACHE_REFRESH=0 -RUN dnf upgrade -y --security --releasever latest && dnf clean all && rm -rf /var/cache/dnf +RUN dnf upgrade -y --security --releasever latest \ + # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) + && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ + && dnf clean all && rm -rf /var/cache/dnf ARG DLC_MAJOR_VERSION=1 ARG DLC_MINOR_VERSION=3 diff --git a/docker/ray/Dockerfile.cuda b/docker/ray/Dockerfile.cuda index a457696dc339..0b43bfbee25b 100644 --- a/docker/ray/Dockerfile.cuda +++ b/docker/ray/Dockerfile.cuda @@ -85,7 +85,10 @@ RUN --mount=type=cache,target=/root/.cache/uv cd /tmp/deps \ FROM nvidia/cuda:12.9.1-runtime-amzn2023 AS base ARG CACHE_REFRESH=0 -RUN dnf upgrade -y --security --releasever latest && dnf clean all && rm -rf /var/cache/dnf +RUN dnf upgrade -y --security --releasever latest \ + # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) + && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ + && dnf clean all && rm -rf /var/cache/dnf ARG DLC_MAJOR_VERSION=1 ARG DLC_MINOR_VERSION=3 diff --git a/docker/ray_llm/Dockerfile.cuda b/docker/ray_llm/Dockerfile.cuda index fb118860e7cd..18834595614c 100644 --- a/docker/ray_llm/Dockerfile.cuda +++ b/docker/ray_llm/Dockerfile.cuda @@ -109,6 +109,8 @@ RUN echo -e '[cuda-rhel9]\nname=cuda-rhel9\nbaseurl=https://developer.download.n # Security patch after all installers so every OS package is covered. RUN dnf upgrade -y --security --releasever latest \ + # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) + && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ && dnf upgrade -y cuda-compat-* libcap \ && dnf clean all diff --git a/docker/vllm_omni/Dockerfile.amzn2023 b/docker/vllm_omni/Dockerfile.amzn2023 index 897bec3322d6..c09730861f5a 100644 --- a/docker/vllm_omni/Dockerfile.amzn2023 +++ b/docker/vllm_omni/Dockerfile.amzn2023 @@ -569,6 +569,8 @@ FROM omni-base AS vllm-omni-ec2-amzn2023 ARG CACHE_REFRESH=0 RUN dnf upgrade -y --security --releasever latest --setopt=install_weak_deps=False \ + # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd), -85197 (libsoup3), -19774 (bluez) + && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs libsoup3 bluez-libs \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 # (NVIDIA repo — not flagged in AL2023 security advisories, so --security misses it) && dnf upgrade -y --releasever latest cuda-compat-13-0 \ @@ -593,6 +595,8 @@ LABEL com.amazonaws.sagemaker.capabilities.bidirectional-streaming=true ARG CACHE_REFRESH=0 RUN dnf upgrade -y --security --releasever latest --setopt=install_weak_deps=False \ + # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd), -85197 (libsoup3), -19774 (bluez) + && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs libsoup3 bluez-libs \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 # (NVIDIA repo — not flagged in AL2023 security advisories, so --security misses it) && dnf upgrade -y --releasever latest cuda-compat-13-0 \ diff --git a/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json index 3eff59a48470..64ba16f8260f 100644 --- a/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json @@ -13,5 +13,15 @@ "vulnerability_id": "CVE-2026-90553", "reason": "vllm 0.25.0 LlavaOnevision2 processor loader ignores trust_remote_code (RCE). Fix requires vllm>=0.28.0, which hard-pins torch==2.13.0 / torchvision==0.28.0 (verified on PyPI: 0.26.0 pins torch==2.11.0, 0.27.1 and 0.28.0 pin torch==2.13.0); taking it would replace the torch 2.11.0 runtime this DLC's PyTorch 2.11.0 base image contracts for. vllm is present only as the trl online-RL rollout backend; the vulnerable path requires loading an attacker-controlled remote processor class. Bump VLLM_VERSION to 0.28.0 once the HF training image moves onto a torch 2.13 base.", "review_by": "2026-11-30" + }, + { + "vulnerability_id": "CVE-2026-90554", + "reason": "vllm pinned by the huggingface-pytorch-training image (VLLM_VERSION); fix requires vllm>=0.28.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-27" + }, + { + "vulnerability_id": "CVE-2026-93436", + "reason": "vllm pinned by the huggingface-pytorch-training image (VLLM_VERSION); fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-27" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json index aa90db89c989..ea4076c46671 100644 --- a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json @@ -13,5 +13,10 @@ "vulnerability_id": "CVE-2026-90554", "reason": "vllm 0.26.0 pinned by the ray-llm image; fix requires vllm>=0.28.0, a framework version bump handled in a separate follow-up PR", "review_by": "2026-10-27" + }, + { + "vulnerability_id": "CVE-2026-93436", + "reason": "vllm pinned by the ray-llm image (VLLM_VERSION); fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-27" } ] diff --git a/test/security/data/ecr_scan_allowlist/vllm_omni/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/vllm_omni/framework_allowlist.json index bc1bb1eb9841..50f26cf162d9 100644 --- a/test/security/data/ecr_scan_allowlist/vllm_omni/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/vllm_omni/framework_allowlist.json @@ -63,5 +63,10 @@ "vulnerability_id": "CVE-2026-73500", "reason": "go.etcd.io/etcd/client/pkg/v3 in mooncake/libetcd_wrapper.so, TLS listener TCP connection exhaustion DoS, unpatchable without mooncake rebuild with etcd client >=3.7.1", "review_by": "2026-10-22" + }, + { + "vulnerability_id": "CVE-2026-93436", + "reason": "vllm pinned by the vllm-omni image (VLLM_VERSION); fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-27" } ] From f4f855978c22b72d7ab3d3c95a3f232722596e91 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Tue, 29 Sep 2026 18:51:58 -0700 Subject: [PATCH 08/19] fix: cache-refresh os security layer instead of pinning packages --- docker/base/cu129/Dockerfile | 24 ++++++------------------ docker/base/cu130/Dockerfile | 24 ++++++------------------ docker/base/cu132/Dockerfile | 24 ++++++------------------ docker/pytorch/Dockerfile.cpu | 12 ++++-------- docker/ray-train/Dockerfile.cuda | 6 +++--- docker/ray/Dockerfile.cpu | 5 +---- docker/ray/Dockerfile.cuda | 5 +---- docker/ray_llm/Dockerfile.cuda | 6 +++--- docker/vllm_omni/Dockerfile.amzn2023 | 10 ++++------ 9 files changed, 34 insertions(+), 82 deletions(-) diff --git a/docker/base/cu129/Dockerfile b/docker/base/cu129/Dockerfile index 0980d7aa0a97..10cca01e3dbe 100644 --- a/docker/base/cu129/Dockerfile +++ b/docker/base/cu129/Dockerfile @@ -60,15 +60,10 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip -RUN dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ && dnf upgrade -y --security --releasever latest \ - # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet - # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), - # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2) - && dnf upgrade -y --releasever latest \ - systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ - rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ - curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ && dnf clean all && rm -rf /var/cache/dnf COPY --from=uv /uv /usr/local/bin/uv @@ -144,18 +139,11 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip -RUN dnf install -y --allowerasing --setopt=install_weak_deps=False \ +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf install -y --allowerasing --setopt=install_weak_deps=False \ curl automake autoconf cmake gcc gcc-c++ git make tar \ && dnf upgrade -y --security --releasever latest \ - # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet - # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), - # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2), - # CVE-2026-13732 (gdb), CVE-2026-85013 (environment-modules) - && dnf upgrade -y --releasever latest \ - systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ - rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ - curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ - gdb-minimal environment-modules \ && dnf clean all && rm -rf /var/cache/dnf COPY --from=uv /uv /usr/local/bin/uv diff --git a/docker/base/cu130/Dockerfile b/docker/base/cu130/Dockerfile index 43eba789dfe3..4e49eef7adc5 100644 --- a/docker/base/cu130/Dockerfile +++ b/docker/base/cu130/Dockerfile @@ -60,15 +60,10 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip -RUN dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ && dnf upgrade -y --security --releasever latest \ - # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet - # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), - # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2) - && dnf upgrade -y --releasever latest \ - systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ - rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ - curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 && dnf upgrade -y --releasever latest cuda-compat-13-0 \ && dnf clean all && rm -rf /var/cache/dnf @@ -146,18 +141,11 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip -RUN dnf install -y --allowerasing --setopt=install_weak_deps=False \ +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf install -y --allowerasing --setopt=install_weak_deps=False \ curl automake autoconf cmake gcc gcc-c++ git make tar \ && dnf upgrade -y --security --releasever latest \ - # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet - # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), - # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2), - # CVE-2026-13732 (gdb), CVE-2026-85013 (environment-modules) - && dnf upgrade -y --releasever latest \ - systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ - rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ - curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ - gdb-minimal environment-modules \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 && dnf upgrade -y --releasever latest cuda-compat-13-0 \ && dnf clean all && rm -rf /var/cache/dnf diff --git a/docker/base/cu132/Dockerfile b/docker/base/cu132/Dockerfile index 347996a7c033..6cd7084fb3b4 100644 --- a/docker/base/cu132/Dockerfile +++ b/docker/base/cu132/Dockerfile @@ -70,15 +70,10 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip3 \ && ln -sf /usr/local/bin/pip${PYTHON_SHORT_VERSION} /usr/local/bin/pip -RUN dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf install -y --allowerasing --setopt=install_weak_deps=False curl \ && dnf upgrade -y --security --releasever latest \ - # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet - # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), - # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2) - && dnf upgrade -y --releasever latest \ - systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ - rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ - curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ # Explicitly upgrade cuda-compat-13-2 to pick up fixes for NVIDIA Display Driver CVEs && dnf upgrade -y --releasever latest cuda-compat-13-2 \ && dnf clean all && rm -rf /var/cache/dnf @@ -188,16 +183,9 @@ COPY ./scripts/docker/common/install_efa_amzn2023.sh /tmp/install_efa.sh RUN bash /tmp/install_efa.sh ${EFA_VERSION} && rm /tmp/install_efa.sh # Security patch — run after all installers so every OS package is covered -RUN dnf upgrade -y --security --releasever latest \ - # Explicitly upgrade OS packages whose AL2023 fixes are published but not yet - # flagged by --security (advisory-metadata lag): CVE-2026-16742 (systemd), - # CVE-2026-78367/-84233 (rpm), CVE-2026-80230 (curl), CVE-2026-89161 (pcre2), - # CVE-2026-13732 (gdb), CVE-2026-85013 (environment-modules) - && dnf upgrade -y --releasever latest \ - systemd systemd-libs systemd-networkd systemd-pam systemd-resolved systemd-rpm-macros systemd-udev \ - rpm rpm-libs rpm-build rpm-build-libs rpm-sign-libs python3-rpm \ - curl curl-minimal libcurl-minimal pcre2 pcre2-syntax \ - gdb-minimal environment-modules \ +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf upgrade -y --security --releasever latest \ # Explicitly upgrade cuda-compat-13-2 to pick up fixes for NVIDIA Display Driver CVEs && dnf upgrade -y --releasever latest cuda-compat-13-2 \ && dnf clean all && rm -rf /var/cache/dnf diff --git a/docker/pytorch/Dockerfile.cpu b/docker/pytorch/Dockerfile.cpu index 8332b1614fd0..49b124f2cec8 100644 --- a/docker/pytorch/Dockerfile.cpu +++ b/docker/pytorch/Dockerfile.cpu @@ -129,10 +129,8 @@ RUN chmod +x /usr/local/bin/deep_learning_container.py \ && rm /tmp/bash_telemetry.sh.template # Security patch -RUN dnf upgrade -y --security --releasever latest && dnf upgrade -y libcap \ - # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) - && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ - && dnf clean all +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" && dnf upgrade -y --security --releasever latest && dnf upgrade -y libcap && dnf clean all # Telemetry bashrc hook — must be after security patch (dnf may replace /etc/bashrc) RUN echo 'source /usr/local/bin/bash_telemetry.sh' >>/etc/bashrc && echo 'source /usr/local/bin/bash_telemetry.sh' >>/root/.bashrc @@ -194,10 +192,8 @@ RUN chmod +x /usr/local/bin/deep_learning_container.py \ && rm /tmp/bash_telemetry.sh.template # Security patch -RUN dnf upgrade -y --security --releasever latest && dnf upgrade -y libcap \ - # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) - && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ - && dnf clean all +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" && dnf upgrade -y --security --releasever latest && dnf upgrade -y libcap && dnf clean all # Telemetry bashrc hook — must be after security patch (dnf may replace /etc/bashrc) RUN echo 'source /usr/local/bin/bash_telemetry.sh' >>/etc/bashrc && echo 'source /usr/local/bin/bash_telemetry.sh' >>/root/.bashrc diff --git a/docker/ray-train/Dockerfile.cuda b/docker/ray-train/Dockerfile.cuda index d53ce0c71a8e..7eaed4283c53 100644 --- a/docker/ray-train/Dockerfile.cuda +++ b/docker/ray-train/Dockerfile.cuda @@ -175,9 +175,9 @@ RUN NCCL_HOME=$(/opt/venv/bin/python -c "import nvidia.nccl; print(nvidia.nccl._ cd / && rm -rf /tmp/nccl-tests-${NCCL_TESTS_VERSION} # Security patch — after all installers so every OS package is covered. -RUN dnf upgrade -y --security --releasever latest \ - # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) - && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf upgrade -y --security --releasever latest \ && dnf upgrade -y cuda-compat-* libcap \ && dnf clean all diff --git a/docker/ray/Dockerfile.cpu b/docker/ray/Dockerfile.cpu index 957573050dcb..bd660448abd8 100644 --- a/docker/ray/Dockerfile.cpu +++ b/docker/ray/Dockerfile.cpu @@ -56,10 +56,7 @@ RUN --mount=type=cache,target=/root/.cache/uv cd /tmp/deps \ FROM amazonlinux:2023 AS base ARG CACHE_REFRESH=0 -RUN dnf upgrade -y --security --releasever latest \ - # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) - && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ - && dnf clean all && rm -rf /var/cache/dnf +RUN echo "cache refresh: ${CACHE_REFRESH}" && dnf upgrade -y --security --releasever latest && dnf clean all && rm -rf /var/cache/dnf ARG DLC_MAJOR_VERSION=1 ARG DLC_MINOR_VERSION=3 diff --git a/docker/ray/Dockerfile.cuda b/docker/ray/Dockerfile.cuda index 0b43bfbee25b..eec7b9a3b78e 100644 --- a/docker/ray/Dockerfile.cuda +++ b/docker/ray/Dockerfile.cuda @@ -85,10 +85,7 @@ RUN --mount=type=cache,target=/root/.cache/uv cd /tmp/deps \ FROM nvidia/cuda:12.9.1-runtime-amzn2023 AS base ARG CACHE_REFRESH=0 -RUN dnf upgrade -y --security --releasever latest \ - # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) - && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ - && dnf clean all && rm -rf /var/cache/dnf +RUN echo "cache refresh: ${CACHE_REFRESH}" && dnf upgrade -y --security --releasever latest && dnf clean all && rm -rf /var/cache/dnf ARG DLC_MAJOR_VERSION=1 ARG DLC_MINOR_VERSION=3 diff --git a/docker/ray_llm/Dockerfile.cuda b/docker/ray_llm/Dockerfile.cuda index 18834595614c..97151f026983 100644 --- a/docker/ray_llm/Dockerfile.cuda +++ b/docker/ray_llm/Dockerfile.cuda @@ -108,9 +108,9 @@ RUN echo -e '[cuda-rhel9]\nname=cuda-rhel9\nbaseurl=https://developer.download.n && dnf clean all && rm -rf /var/cache/dnf # Security patch after all installers so every OS package is covered. -RUN dnf upgrade -y --security --releasever latest \ - # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd) - && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs \ +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf upgrade -y --security --releasever latest \ && dnf upgrade -y cuda-compat-* libcap \ && dnf clean all diff --git a/docker/vllm_omni/Dockerfile.amzn2023 b/docker/vllm_omni/Dockerfile.amzn2023 index c09730861f5a..253c95ae1d5f 100644 --- a/docker/vllm_omni/Dockerfile.amzn2023 +++ b/docker/vllm_omni/Dockerfile.amzn2023 @@ -568,9 +568,8 @@ RUN dnf install -y --setopt=install_weak_deps=False make which \ FROM omni-base AS vllm-omni-ec2-amzn2023 ARG CACHE_REFRESH=0 -RUN dnf upgrade -y --security --releasever latest --setopt=install_weak_deps=False \ - # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd), -85197 (libsoup3), -19774 (bluez) - && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs libsoup3 bluez-libs \ +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf upgrade -y --security --releasever latest --setopt=install_weak_deps=False \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 # (NVIDIA repo — not flagged in AL2023 security advisories, so --security misses it) && dnf upgrade -y --releasever latest cuda-compat-13-0 \ @@ -594,9 +593,8 @@ FROM omni-base AS vllm-omni-sagemaker-amzn2023 LABEL com.amazonaws.sagemaker.capabilities.bidirectional-streaming=true ARG CACHE_REFRESH=0 -RUN dnf upgrade -y --security --releasever latest --setopt=install_weak_deps=False \ - # upgrade OS pkgs --security misses: CVE-2026-78367/-84233 (rpm), -80230 (curl), -89161 (pcre2), -16742 (systemd), -85197 (libsoup3), -19774 (bluez) - && dnf upgrade -y --releasever latest rpm rpm-libs python3-rpm curl curl-minimal libcurl-minimal pcre2 pcre2-syntax systemd systemd-libs libsoup3 bluez-libs \ +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf upgrade -y --security --releasever latest --setopt=install_weak_deps=False \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 # (NVIDIA repo — not flagged in AL2023 security advisories, so --security misses it) && dnf upgrade -y --releasever latest cuda-compat-13-0 \ From 63b2aa6122b6450938e324ae72392e62ebc453c5 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Tue, 29 Sep 2026 18:52:43 -0700 Subject: [PATCH 09/19] style: dockerfmt indentation on base cache-refresh edits --- docker/base/cu129/Dockerfile | 2 +- docker/base/cu130/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/base/cu129/Dockerfile b/docker/base/cu129/Dockerfile index 10cca01e3dbe..1bdb17bad3af 100644 --- a/docker/base/cu129/Dockerfile +++ b/docker/base/cu129/Dockerfile @@ -142,7 +142,7 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ ARG CACHE_REFRESH=0 RUN echo "cache refresh: ${CACHE_REFRESH}" \ && dnf install -y --allowerasing --setopt=install_weak_deps=False \ - curl automake autoconf cmake gcc gcc-c++ git make tar \ + curl automake autoconf cmake gcc gcc-c++ git make tar \ && dnf upgrade -y --security --releasever latest \ && dnf clean all && rm -rf /var/cache/dnf diff --git a/docker/base/cu130/Dockerfile b/docker/base/cu130/Dockerfile index 4e49eef7adc5..5108f8a53645 100644 --- a/docker/base/cu130/Dockerfile +++ b/docker/base/cu130/Dockerfile @@ -144,7 +144,7 @@ RUN ln -sf /usr/local/bin/python${PYTHON_SHORT_VERSION} /usr/local/bin/python3 \ ARG CACHE_REFRESH=0 RUN echo "cache refresh: ${CACHE_REFRESH}" \ && dnf install -y --allowerasing --setopt=install_weak_deps=False \ - curl automake autoconf cmake gcc gcc-c++ git make tar \ + curl automake autoconf cmake gcc gcc-c++ git make tar \ && dnf upgrade -y --security --releasever latest \ # Explicitly upgrade cuda-compat-13-0 to pick up fix for CVE-2025-33219 && dnf upgrade -y --releasever latest cuda-compat-13-0 \ From 60bbb0fc8d805f2fac95233f32ab9a12d1e4f0c7 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Tue, 29 Sep 2026 22:34:12 -0700 Subject: [PATCH 10/19] fix: add cache-refreshed os security upgrade to openfold3 --- docker/openfold3/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docker/openfold3/Dockerfile b/docker/openfold3/Dockerfile index 59ad4e8eaa04..ef24aa42a619 100644 --- a/docker/openfold3/Dockerfile +++ b/docker/openfold3/Dockerfile @@ -90,7 +90,11 @@ LABEL dlc_major_version="${DLC_MAJOR_VERSION}" LABEL dlc_minor_version="${DLC_MINOR_VERSION}" # libgomp for OpenMP (may already be in base) -RUN dnf install -y --allowerasing libgomp && dnf clean all +ARG CACHE_REFRESH=0 +RUN echo "cache refresh: ${CACHE_REFRESH}" \ + && dnf install -y --allowerasing libgomp \ + && dnf upgrade -y --security --releasever latest \ + && dnf clean all COPY --from=builder /opt/conda /opt/conda COPY --from=builder /opt/openfold-3 /opt/openfold-3 From ea0217d5a0cee764bfa818f111fbfd73b503aa23 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Tue, 29 Sep 2026 22:45:43 -0700 Subject: [PATCH 11/19] fix: split openfold3 security layer; allowlist new xgboost openssl cves --- docker/openfold3/Dockerfile | 3 ++- .../ecr_scan_allowlist/xgboost/xgboost-3.0.5.json | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/docker/openfold3/Dockerfile b/docker/openfold3/Dockerfile index ef24aa42a619..4415e818bccb 100644 --- a/docker/openfold3/Dockerfile +++ b/docker/openfold3/Dockerfile @@ -90,9 +90,10 @@ LABEL dlc_major_version="${DLC_MAJOR_VERSION}" LABEL dlc_minor_version="${DLC_MINOR_VERSION}" # libgomp for OpenMP (may already be in base) +RUN dnf install -y --allowerasing libgomp && dnf clean all + ARG CACHE_REFRESH=0 RUN echo "cache refresh: ${CACHE_REFRESH}" \ - && dnf install -y --allowerasing libgomp \ && dnf upgrade -y --security --releasever latest \ && dnf clean all diff --git a/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json b/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json index e4615aaef9d0..276f5c4baea5 100644 --- a/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json +++ b/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json @@ -578,5 +578,20 @@ "vulnerability_id": "CVE-2026-75803", "reason": "openssl 3.6.3 in the bundled miniconda3 environment. The scanner's fixed version 4.0.2 is unreleased upstream; conda-forge tops out at 4.0.1, which is itself within the affected range, so the openssl>=4.0.2 pin is unsatisfiable. Affected TLS paths are not enabled by the XGBoost training/serving code. (3.6.4 exists on the 3.6 branch, which reaches EOL 2026-11-01; durable fix is moving this env to the 3.5 LTS line.)", "review_by": "2027-03-02" + }, + { + "vulnerability_id": "CVE-2026-72897", + "reason": "openssl 3.6.3 in the bundled miniconda3 environment. The scanner's fixed version 4.0.3 is unreleased upstream; conda-forge tops out at 4.0.1, which is itself within the affected range, so the openssl>=4.0.3 pin is unsatisfiable. Affected TLS paths are not enabled by the XGBoost training/serving code. (3.6.4 exists on the 3.6 branch, which reaches EOL 2026-11-01; durable fix is moving this env to the 3.5 LTS line.)", + "review_by": "2027-03-02" + }, + { + "vulnerability_id": "CVE-2026-84784", + "reason": "openssl 3.6.3 in the bundled miniconda3 environment. The scanner's fixed version 4.0.3 is unreleased upstream; conda-forge tops out at 4.0.1, which is itself within the affected range, so the openssl>=4.0.3 pin is unsatisfiable. Affected TLS paths are not enabled by the XGBoost training/serving code. (3.6.4 exists on the 3.6 branch, which reaches EOL 2026-11-01; durable fix is moving this env to the 3.5 LTS line.)", + "review_by": "2027-03-02" + }, + { + "vulnerability_id": "CVE-2026-84782", + "reason": "openssl 3.6.3 in the bundled miniconda3 environment. The scanner's fixed version 4.0.3 is unreleased upstream; conda-forge tops out at 4.0.1, which is itself within the affected range, so the openssl>=4.0.3 pin is unsatisfiable. Affected TLS paths are not enabled by the XGBoost training/serving code. (3.6.4 exists on the 3.6 branch, which reaches EOL 2026-11-01; durable fix is moving this env to the 3.5 LTS line.)", + "review_by": "2027-03-02" } ] From d1e7fe2bfd6ca0cc8dad0227539c672315562746 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Wed, 30 Sep 2026 18:16:59 -0700 Subject: [PATCH 12/19] feat: accept efa_version "latest" in installers, opt non-base images into latest --- .github/config/image/pytorch/2.11-ec2-cuda.yml | 2 +- .github/config/image/pytorch/2.11-sagemaker-cuda.yml | 2 +- .github/config/image/pytorch/2.12-ec2-cuda.yml | 2 +- .github/config/image/pytorch/2.12-sagemaker-cuda.yml | 2 +- .github/config/image/pytorch/2.13-ec2-cuda.yml | 2 +- .github/config/image/pytorch/2.13-sagemaker-cuda.yml | 2 +- .github/config/image/pytorch/2.14-ec2-cuda.yml | 2 +- .github/config/image/pytorch/2.14-sagemaker-cuda.yml | 2 +- .github/config/image/ray-llm/ec2-gpu.yml | 1 + .github/config/image/ray-train/ec2-gpu.yml | 2 +- .github/config/image/sglang/ec2-amzn2023.yml | 2 +- .github/config/image/sglang/ec2-ubuntu.yml | 2 +- .github/config/image/sglang/sagemaker-amzn2023.yml | 2 +- .github/config/image/sglang/sagemaker-ubuntu.yml | 2 +- .../image/tensorflow/2.21-training-sagemaker-cuda.yml | 2 +- .github/config/image/vllm-omni/ec2-amzn2023.yml | 2 +- .github/config/image/vllm-omni/sagemaker-amzn2023.yml | 2 +- .github/config/image/vllm/ec2-amzn2023.yml | 1 + .github/config/image/vllm/ec2-ubuntu.yml | 2 +- .github/config/image/vllm/sagemaker-amzn2023.yml | 1 + .github/config/image/vllm/sagemaker-ubuntu.yml | 2 +- scripts/docker/common/install_efa.sh | 6 ++++-- scripts/docker/common/install_efa_amzn2023.sh | 8 +++++--- 23 files changed, 30 insertions(+), 23 deletions(-) diff --git a/.github/config/image/pytorch/2.11-ec2-cuda.yml b/.github/config/image/pytorch/2.11-ec2-cuda.yml index 1468f0d6ca97..4b9d23920dad 100644 --- a/.github/config/image/pytorch/2.11-ec2-cuda.yml +++ b/.github/config/image/pytorch/2.11-ec2-cuda.yml @@ -25,7 +25,7 @@ build: transformer_engine_version: "2.12.0" nccl_version: "2.26.2" nccl_tests_version: "v2.20.0" - efa_version: "1.49.0" + efa_version: "latest" gdrcopy_version: "2.4.4" max_jobs: "8" dlc_major_version: "1" diff --git a/.github/config/image/pytorch/2.11-sagemaker-cuda.yml b/.github/config/image/pytorch/2.11-sagemaker-cuda.yml index f5f16212c9d3..0c4887498990 100644 --- a/.github/config/image/pytorch/2.11-sagemaker-cuda.yml +++ b/.github/config/image/pytorch/2.11-sagemaker-cuda.yml @@ -26,7 +26,7 @@ build: transformer_engine_version: "2.12.0" nccl_version: "2.26.2" nccl_tests_version: "v2.20.0" - efa_version: "1.49.0" + efa_version: "latest" gdrcopy_version: "2.4.4" max_jobs: "8" dlc_major_version: "1" diff --git a/.github/config/image/pytorch/2.12-ec2-cuda.yml b/.github/config/image/pytorch/2.12-ec2-cuda.yml index 07ae858278e3..7be9406fa4d6 100644 --- a/.github/config/image/pytorch/2.12-ec2-cuda.yml +++ b/.github/config/image/pytorch/2.12-ec2-cuda.yml @@ -25,7 +25,7 @@ build: transformer_engine_version: "2.12.0" nccl_version: "2.26.2" nccl_tests_version: "v2.20.0" - efa_version: "1.49.0" + efa_version: "latest" gdrcopy_version: "2.4.4" max_jobs: "8" dlc_major_version: "1" diff --git a/.github/config/image/pytorch/2.12-sagemaker-cuda.yml b/.github/config/image/pytorch/2.12-sagemaker-cuda.yml index 441009c68831..a994fa254401 100644 --- a/.github/config/image/pytorch/2.12-sagemaker-cuda.yml +++ b/.github/config/image/pytorch/2.12-sagemaker-cuda.yml @@ -26,7 +26,7 @@ build: transformer_engine_version: "2.12.0" nccl_version: "2.26.2" nccl_tests_version: "v2.20.0" - efa_version: "1.49.0" + efa_version: "latest" gdrcopy_version: "2.4.4" max_jobs: "8" dlc_major_version: "1" diff --git a/.github/config/image/pytorch/2.13-ec2-cuda.yml b/.github/config/image/pytorch/2.13-ec2-cuda.yml index 50131ed4e4e4..4013c53be7d6 100644 --- a/.github/config/image/pytorch/2.13-ec2-cuda.yml +++ b/.github/config/image/pytorch/2.13-ec2-cuda.yml @@ -25,7 +25,7 @@ build: transformer_engine_version: "2.17.0" nccl_version: "2.30.7-1" nccl_tests_version: "v2.20.0" - efa_version: "1.49.0" + efa_version: "latest" gdrcopy_version: "2.6" max_jobs: "8" dlc_major_version: "1" diff --git a/.github/config/image/pytorch/2.13-sagemaker-cuda.yml b/.github/config/image/pytorch/2.13-sagemaker-cuda.yml index d9a445c46332..e7f67ff09cc7 100644 --- a/.github/config/image/pytorch/2.13-sagemaker-cuda.yml +++ b/.github/config/image/pytorch/2.13-sagemaker-cuda.yml @@ -26,7 +26,7 @@ build: transformer_engine_version: "2.17.0" nccl_version: "2.30.7-1" nccl_tests_version: "v2.20.0" - efa_version: "1.49.0" + efa_version: "latest" gdrcopy_version: "2.6" max_jobs: "8" dlc_major_version: "1" diff --git a/.github/config/image/pytorch/2.14-ec2-cuda.yml b/.github/config/image/pytorch/2.14-ec2-cuda.yml index 41b5a2baf8fd..b0a55ef85a00 100644 --- a/.github/config/image/pytorch/2.14-ec2-cuda.yml +++ b/.github/config/image/pytorch/2.14-ec2-cuda.yml @@ -25,7 +25,7 @@ build: transformer_engine_version: "2.18.0" nccl_version: "2.30.7-1" nccl_tests_version: "v2.20.0" - efa_version: "1.50.0" + efa_version: "latest" gdrcopy_version: "2.6" max_jobs: "8" dlc_major_version: "1" diff --git a/.github/config/image/pytorch/2.14-sagemaker-cuda.yml b/.github/config/image/pytorch/2.14-sagemaker-cuda.yml index 212fbf5550ce..53b50f204b6a 100644 --- a/.github/config/image/pytorch/2.14-sagemaker-cuda.yml +++ b/.github/config/image/pytorch/2.14-sagemaker-cuda.yml @@ -26,7 +26,7 @@ build: transformer_engine_version: "2.18.0" nccl_version: "2.30.7-1" nccl_tests_version: "v2.20.0" - efa_version: "1.50.0" + efa_version: "latest" gdrcopy_version: "2.6" max_jobs: "8" dlc_major_version: "1" diff --git a/.github/config/image/ray-llm/ec2-gpu.yml b/.github/config/image/ray-llm/ec2-gpu.yml index f5a60cae3ee7..1f319860dc2c 100644 --- a/.github/config/image/ray-llm/ec2-gpu.yml +++ b/.github/config/image/ray-llm/ec2-gpu.yml @@ -16,6 +16,7 @@ metadata: build: dockerfile: "docker/ray_llm/Dockerfile.cuda" target: "ec2" + efa_version: "latest" builder_base_image: "public.ecr.aws/deep-learning-containers/base:devel-cu130-amzn2023" base_image: "public.ecr.aws/deep-learning-containers/base:runtime-cu130-amzn2023" python_version: "3.13.12" diff --git a/.github/config/image/ray-train/ec2-gpu.yml b/.github/config/image/ray-train/ec2-gpu.yml index bf377cf745a5..d2b177723437 100644 --- a/.github/config/image/ray-train/ec2-gpu.yml +++ b/.github/config/image/ray-train/ec2-gpu.yml @@ -26,7 +26,7 @@ build: torch_version: "2.13.0" transformer_engine_version: "2.13.0" flash_attn_version: "2.8.3" - efa_version: "1.49.0" + efa_version: "latest" gdrcopy_version: "2.4.4" nccl_tests_version: "2.19.6" max_jobs: "8" diff --git a/.github/config/image/sglang/ec2-amzn2023.yml b/.github/config/image/sglang/ec2-amzn2023.yml index 4ab413039d57..83679b24f876 100644 --- a/.github/config/image/sglang/ec2-amzn2023.yml +++ b/.github/config/image/sglang/ec2-amzn2023.yml @@ -26,7 +26,7 @@ build: torch_version: "2.13.0" nccl_version: "2.31.2" cudnn_version: "9.16.0.29" - efa_version: "1.50.0" + efa_version: "latest" rust_version: "1.96.1" gdrcopy_version: "2.5.2" torch_cuda_arch_list: "9.0;10.0;10.3" diff --git a/.github/config/image/sglang/ec2-ubuntu.yml b/.github/config/image/sglang/ec2-ubuntu.yml index 57c793c33951..ff244efa543a 100644 --- a/.github/config/image/sglang/ec2-ubuntu.yml +++ b/.github/config/image/sglang/ec2-ubuntu.yml @@ -16,7 +16,7 @@ build: base_image: "lmsysorg/sglang:v0.5.20" python_version: "3.12" cuda_version: "13.0.3" - efa_version: "1.50.0" + efa_version: "latest" dlc_major_version: "1" dlc_minor_version: "0" release: diff --git a/.github/config/image/sglang/sagemaker-amzn2023.yml b/.github/config/image/sglang/sagemaker-amzn2023.yml index d776ee7cb05f..771f867661db 100644 --- a/.github/config/image/sglang/sagemaker-amzn2023.yml +++ b/.github/config/image/sglang/sagemaker-amzn2023.yml @@ -27,7 +27,7 @@ build: torch_version: "2.13.0" nccl_version: "2.31.2" cudnn_version: "9.16.0.29" - efa_version: "1.50.0" + efa_version: "latest" rust_version: "1.96.1" gdrcopy_version: "2.5.2" torch_cuda_arch_list: "9.0;10.0;10.3" diff --git a/.github/config/image/sglang/sagemaker-ubuntu.yml b/.github/config/image/sglang/sagemaker-ubuntu.yml index 0205ef572df9..9bb93f60fbdf 100644 --- a/.github/config/image/sglang/sagemaker-ubuntu.yml +++ b/.github/config/image/sglang/sagemaker-ubuntu.yml @@ -17,7 +17,7 @@ build: base_image: "lmsysorg/sglang:v0.5.20" python_version: "3.12" cuda_version: "13.0.3" - efa_version: "1.50.0" + efa_version: "latest" dlc_major_version: "1" dlc_minor_version: "0" release: diff --git a/.github/config/image/tensorflow/2.21-training-sagemaker-cuda.yml b/.github/config/image/tensorflow/2.21-training-sagemaker-cuda.yml index 5f9164ce95dd..3b825f8cd259 100644 --- a/.github/config/image/tensorflow/2.21-training-sagemaker-cuda.yml +++ b/.github/config/image/tensorflow/2.21-training-sagemaker-cuda.yml @@ -19,7 +19,7 @@ build: cuda_version: "12.9.1" tf_version: "2.21.0" open_mpi_version: "4.1.8" - efa_version: "1.49.0" + efa_version: "latest" dlc_major_version: "1" release: diff --git a/.github/config/image/vllm-omni/ec2-amzn2023.yml b/.github/config/image/vllm-omni/ec2-amzn2023.yml index d7676cdf6fe6..42576a33616b 100644 --- a/.github/config/image/vllm-omni/ec2-amzn2023.yml +++ b/.github/config/image/vllm-omni/ec2-amzn2023.yml @@ -21,7 +21,7 @@ build: vllm_omni_version: "0.29.0rc1" flashinfer_version: "0.6.18" deepep_commit_hash: "874779c9ccd2294b56304bd6cc5f138f1f71d097" - efa_version: "1.50.0" + efa_version: "latest" torch_cuda_arch_list: "7.5;8.0;8.6;8.9;9.0;10.0;11.0;12.0" install_kv_connectors: "true" dlc_major_version: "1" diff --git a/.github/config/image/vllm-omni/sagemaker-amzn2023.yml b/.github/config/image/vllm-omni/sagemaker-amzn2023.yml index de155860ffae..570e55b3794d 100644 --- a/.github/config/image/vllm-omni/sagemaker-amzn2023.yml +++ b/.github/config/image/vllm-omni/sagemaker-amzn2023.yml @@ -22,7 +22,7 @@ build: vllm_omni_version: "0.29.0rc1" flashinfer_version: "0.6.18" deepep_commit_hash: "874779c9ccd2294b56304bd6cc5f138f1f71d097" - efa_version: "1.50.0" + efa_version: "latest" torch_cuda_arch_list: "7.5;8.0;8.6;8.9;9.0;10.0;11.0;12.0" install_kv_connectors: "true" dlc_major_version: "1" diff --git a/.github/config/image/vllm/ec2-amzn2023.yml b/.github/config/image/vllm/ec2-amzn2023.yml index 9bdc30896490..4c9727f518e0 100644 --- a/.github/config/image/vllm/ec2-amzn2023.yml +++ b/.github/config/image/vllm/ec2-amzn2023.yml @@ -15,6 +15,7 @@ metadata: build: dockerfile: "docker/vllm/Dockerfile.amzn2023" target: "vllm-ec2-amzn2023" + efa_version: "latest" python_version: "3.12" cuda_version: "13.0.2" vllm_ref: "ec4a3a537068db40afbc9374a67da719c8c9b964" diff --git a/.github/config/image/vllm/ec2-ubuntu.yml b/.github/config/image/vllm/ec2-ubuntu.yml index 807b4096cb45..2fd4acd21197 100644 --- a/.github/config/image/vllm/ec2-ubuntu.yml +++ b/.github/config/image/vllm/ec2-ubuntu.yml @@ -16,7 +16,7 @@ build: base_image: "vllm/vllm-openai:v0.30.0" python_version: "3.12" cuda_version: "13.0.2" - efa_version: "1.50.0" + efa_version: "latest" dlc_major_version: "1" dlc_minor_version: "0" release: diff --git a/.github/config/image/vllm/sagemaker-amzn2023.yml b/.github/config/image/vllm/sagemaker-amzn2023.yml index c4395560286f..1bea8f9275b6 100644 --- a/.github/config/image/vllm/sagemaker-amzn2023.yml +++ b/.github/config/image/vllm/sagemaker-amzn2023.yml @@ -16,6 +16,7 @@ metadata: build: dockerfile: "docker/vllm/Dockerfile.amzn2023" target: "vllm-sagemaker-amzn2023" + efa_version: "latest" python_version: "3.12" cuda_version: "13.0.2" # Kept in lockstep with ec2-amzn2023.yml -- same Dockerfile. diff --git a/.github/config/image/vllm/sagemaker-ubuntu.yml b/.github/config/image/vllm/sagemaker-ubuntu.yml index 00ed766c973e..084460ee36df 100644 --- a/.github/config/image/vllm/sagemaker-ubuntu.yml +++ b/.github/config/image/vllm/sagemaker-ubuntu.yml @@ -17,7 +17,7 @@ build: base_image: "vllm/vllm-openai:v0.30.0" python_version: "3.12" cuda_version: "13.0.2" - efa_version: "1.50.0" + efa_version: "latest" dlc_major_version: "1" dlc_minor_version: "0" release: diff --git a/scripts/docker/common/install_efa.sh b/scripts/docker/common/install_efa.sh index 1fa4cdda7f43..d934817bc2a2 100755 --- a/scripts/docker/common/install_efa.sh +++ b/scripts/docker/common/install_efa.sh @@ -18,7 +18,7 @@ esac function check_libnccl_net_so { - if [[ "$EFA_VERSION" > "1.44.0" ]] || [[ "$EFA_VERSION" == "1.44.0" ]]; then # version threshold + if [[ "$EFA_VERSION" == "latest" ]] || [[ "$EFA_VERSION" > "1.44.0" ]] || [[ "$EFA_VERSION" == "1.44.0" ]]; then # version threshold ("latest" = newest) # Newer EFA version - no ARCH_DIR, different filename OFI_LIB_DIR="/opt/amazon/ofi-nccl/lib/" NCCL_NET_SO="$OFI_LIB_DIR/libnccl-net-ofi.so" @@ -59,6 +59,8 @@ function install_efa { tar -xf aws-efa-installer-${EFA_VERSION}.tar.gz cd aws-efa-installer ./efa_installer.sh -y --skip-kmod --skip-limit-conf --no-verify + echo "=== EFA installer version ===" + grep -i "EFA installer version" /opt/amazon/efa_installed_packages || true rm -rf /tmp/efa # Configure Open MPI and configure NCCL parameters mv ${OPEN_MPI_PATH}/bin/mpirun ${OPEN_MPI_PATH}/bin/mpirun.real @@ -104,7 +106,7 @@ function install_efa { while test $# -gt 0 do case "$1" in - [0-9].[0-9]*.[0-9]*) install_efa $1; + [0-9].[0-9]*.[0-9]*|latest) install_efa $1; ;; *) echo "bad argument $1"; exit 1 ;; diff --git a/scripts/docker/common/install_efa_amzn2023.sh b/scripts/docker/common/install_efa_amzn2023.sh index 159ffc94b785..aecd77cee11e 100755 --- a/scripts/docker/common/install_efa_amzn2023.sh +++ b/scripts/docker/common/install_efa_amzn2023.sh @@ -4,7 +4,7 @@ set -ex ARCH=$(uname -m) function check_libnccl_net_so { - if [[ "$EFA_VERSION" > "1.44.0" ]] || [[ "$EFA_VERSION" == "1.44.0" ]]; then + if [[ "$EFA_VERSION" == "latest" ]] || [[ "$EFA_VERSION" > "1.44.0" ]] || [[ "$EFA_VERSION" == "1.44.0" ]]; then OFI_LIB_DIR="/opt/amazon/ofi-nccl/lib64/" NCCL_NET_SO="$OFI_LIB_DIR/libnccl-net-ofi.so" else @@ -41,11 +41,13 @@ function install_efa { [ "$1" = "$2" ] || [ "$2" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ] } EFA_EXTRA_ARGS="" - if ver_ge "$EFA_VERSION" "1.48.0"; then + if [ "$EFA_VERSION" = "latest" ] || ver_ge "$EFA_VERSION" "1.48.0"; then EFA_EXTRA_ARGS="--disable-ngc" fi ./efa_installer.sh -y --skip-kmod --skip-limit-conf --no-verify ${EFA_EXTRA_ARGS} + echo "=== EFA installer version ===" + grep -i "EFA installer version" /opt/amazon/efa_installed_packages || true rm -rf /tmp/efa mv ${OPEN_MPI_PATH}/bin/mpirun ${OPEN_MPI_PATH}/bin/mpirun.real @@ -83,7 +85,7 @@ function install_efa { while test $# -gt 0; do case "$1" in - [0-9].[0-9]*.[0-9]*) + [0-9].[0-9]*.[0-9]*|latest) install_efa $1 ;; *) From 5a293769c8f01a30b1a08f2e75f2aca33bbf1294 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Wed, 30 Sep 2026 18:42:02 -0700 Subject: [PATCH 13/19] fix: bump urllib3 to 2.8.0 in uv locks, default non-base efa_version arg to latest --- docker/base/cu129/uv.lock | 89 ++++++++++++------- docker/base/cu130/uv.lock | 89 ++++++++++++------- docker/base/cu132/uv.lock | 74 +++++++++------ docker/pytorch/2.11/cpu/uv.lock | 6 +- docker/pytorch/2.11/cuda/uv.lock | 6 +- docker/pytorch/2.12/cpu/uv.lock | 6 +- docker/pytorch/2.12/cuda/uv.lock | 6 +- docker/pytorch/2.13/cpu/uv.lock | 6 +- docker/pytorch/2.13/cuda/uv.lock | 6 +- docker/pytorch/2.14/cpu/uv.lock | 6 +- docker/pytorch/2.14/cuda/uv.lock | 6 +- docker/pytorch/Dockerfile.cuda | 2 +- docker/ray-train/Dockerfile.cuda | 2 +- docker/ray-train/uv.lock | 6 +- docker/ray/uv.lock | 20 ++--- docker/ray_llm/Dockerfile.cuda | 2 +- docker/ray_llm/uv.lock | 50 +++++------ docker/sglang/Dockerfile | 2 +- docker/sglang/Dockerfile.amzn2023 | 2 +- .../tensorflow/training/2.21/Dockerfile.cuda | 2 +- docker/vllm/Dockerfile | 2 +- docker/vllm/Dockerfile.amzn2023 | 2 +- docker/vllm_omni/Dockerfile.amzn2023 | 2 +- 23 files changed, 230 insertions(+), 164 deletions(-) diff --git a/docker/base/cu129/uv.lock b/docker/base/cu129/uv.lock index 28771d19793d..460c3b1dec3d 100644 --- a/docker/base/cu129/uv.lock +++ b/docker/base/cu129/uv.lock @@ -4,50 +4,71 @@ requires-python = "==3.13.*" [[package]] name = "botocore" -version = "1.43.65" +version = "1.43.106" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fa/86/65c298732919b84a3ecf331caeb47b8efcc1ce0537e8fdecad2cfee39174/botocore-1.43.65.tar.gz", hash = "sha256:eea5440cf4b850d0f4de4f7eda418c325c87de6d8980873f8b636bb482b31d0f", size = 15842580, upload-time = "2026-08-05T19:24:55.745Z" } +sdist = { url = "https://files.pythonhosted.org/packages/11/b9/10ca68d0092895d5ea60f485a61a9840d5aff9d732c66ed60da53a20b1d4/botocore-1.43.106.tar.gz", hash = "sha256:006870b3b4e40547232ad12c3bb4faec91bbbe0659aafaa3b7fa48a112c4ee97", size = 16271399, upload-time = "2026-09-30T19:36:35.836Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/0a/3b84332d8dc2acf6af269f8175f94159ad495a7de29e5f335f933f0b5da4/botocore-1.43.65-py3-none-any.whl", hash = "sha256:41a13d9a1954d786f90cdbba0be0953fe9b9389f240b5ff71340c4706ea40135", size = 15526731, upload-time = "2026-08-05T19:24:52.175Z" }, + { url = "https://files.pythonhosted.org/packages/a8/eb/c51d3b54dfaa9267a687359d946dc2a1ca6a27fb4d381773e59b7bd72bf4/botocore-1.43.106-py3-none-any.whl", hash = "sha256:c1fb8818f9957cb5037f73db34ac1a12ba43562e31d6e7f9cb7e5fc64e1dba78", size = 15965506, upload-time = "2026-09-30T19:36:32.625Z" }, ] [[package]] name = "certifi" -version = "2026.2.25" +version = "2026.7.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz", hash = "sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55", size = 138112, upload-time = "2026-07-22T03:35:12.644Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, + { url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl", hash = "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775", size = 136983, upload-time = "2026-07-22T03:35:11.276Z" }, ] [[package]] name = "charset-normalizer" -version = "3.4.7" +version = "3.5.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz", hash = "sha256:39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef", size = 172659, upload-time = "2026-09-30T04:39:23.398Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627, upload-time = "2026-04-02T09:26:45.198Z" }, - { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008, upload-time = "2026-04-02T09:26:46.824Z" }, - { url = "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", size = 228303, upload-time = "2026-04-02T09:26:48.397Z" }, - { url = "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", size = 224282, upload-time = "2026-04-02T09:26:49.684Z" }, - { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595, upload-time = "2026-04-02T09:26:50.915Z" }, - { url = "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", size = 201986, upload-time = "2026-04-02T09:26:52.197Z" }, - { url = "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", size = 211711, upload-time = "2026-04-02T09:26:53.49Z" }, - { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036, upload-time = "2026-04-02T09:26:54.975Z" }, - { url = "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", size = 202998, upload-time = "2026-04-02T09:26:56.303Z" }, - { url = "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", size = 230056, upload-time = "2026-04-02T09:26:57.554Z" }, - { url = "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", size = 211537, upload-time = "2026-04-02T09:26:58.843Z" }, - { url = "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", size = 226176, upload-time = "2026-04-02T09:27:00.437Z" }, - { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723, upload-time = "2026-04-02T09:27:02.021Z" }, - { url = "https://files.pythonhosted.org/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", size = 148085, upload-time = "2026-04-02T09:27:03.192Z" }, - { url = "https://files.pythonhosted.org/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", size = 158819, upload-time = "2026-04-02T09:27:04.454Z" }, - { url = "https://files.pythonhosted.org/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", size = 147915, upload-time = "2026-04-02T09:27:05.971Z" }, - { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, + { url = "https://files.pythonhosted.org/packages/c5/34/68292d68512768591aaff07c59bb53ee31341c87759433a859c4641a50c2/charset_normalizer-3.5.2-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:ed905975ab14056a2e5eb1c376cb2e1ebc5396baf84163939c518556fccde9f5", size = 225946, upload-time = "2026-09-30T04:35:55.313Z" }, + { url = "https://files.pythonhosted.org/packages/e3/80/bee0b01b90ccd5322ae1d0abb33fab1bd95b7c2eadaf02aeccf22e04ee83/charset_normalizer-3.5.2-cp313-cp313-android_24_x86_64.whl", hash = "sha256:a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d24554c563f6ab7e1d6e", size = 238619, upload-time = "2026-09-30T04:35:56.863Z" }, + { url = "https://files.pythonhosted.org/packages/78/6e/60ce52a85a7fd631ae8482ae6d74521014ca2f255892679484dc04d7ef56/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d2374b62878abb00cd8309b32af6c0b715cd02dec0ca74ef12e5069bdc64144a", size = 206701, upload-time = "2026-09-30T04:35:58.639Z" }, + { url = "https://files.pythonhosted.org/packages/36/8c/71aafad23f971afc84c2b295bc0c560739ce1dac558aad9fec22e39f3639/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d376bbd28b3a8999db1a103b3b388aee6f1ddeb3e51bc2172993efdcd86e064d", size = 210506, upload-time = "2026-09-30T04:36:00.147Z" }, + { url = "https://files.pythonhosted.org/packages/91/da/3c5a7798c046df7d2d68ad653cf5b6c5a8bfee225055a843c6f2f42aac1a/charset_normalizer-3.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6045373d5a89a5ec71afde535db987ca28e76dfa276c2d4c818265b375d4b055", size = 366626, upload-time = "2026-09-30T04:36:01.77Z" }, + { url = "https://files.pythonhosted.org/packages/e1/16/710ac3de2ee354e2bd1a9c94efe45a2d27b5c6ad39b2d6a905be2c094b6c/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:849df64e889b2e17230d58410a03dba311a65b163508fd33679b2b737d4b7858", size = 244624, upload-time = "2026-09-30T04:36:03.389Z" }, + { url = "https://files.pythonhosted.org/packages/d6/39/45c7439f5b63d24f7d5b2a1d760f34af7628782d7144b4cc8ded45c2d4bc/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:15c44f7edfd477b06f517a5cc317fc1707edb9de2c865f43d4b6513907473234", size = 235731, upload-time = "2026-09-30T04:36:04.987Z" }, + { url = "https://files.pythonhosted.org/packages/4d/34/38f3154785ce92e9f56eb226f4d35bdfae6b008480dd055f58837a89c810/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a89012d6d5476ee112d20d998570ed58df2260a852afb1758809cd6900411d21", size = 270352, upload-time = "2026-09-30T04:36:06.412Z" }, + { url = "https://files.pythonhosted.org/packages/04/f3/859f74e7babc977705026b30593b3be04049632a522fb7000f83c033d747/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0c951d5e6dd9c2ff60609476752bee49da4206adde960ebc247766937f72e718", size = 267393, upload-time = "2026-09-30T04:36:07.865Z" }, + { url = "https://files.pythonhosted.org/packages/4b/85/41d27f234b82e47c167a5f6c0f62501dc0c640585ff4aba79e08a390336a/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7218e8f32b0956cfcd048fd42d9d5779809745ca1d86113ca56f66e7ae1549c4", size = 254660, upload-time = "2026-09-30T04:36:09.248Z" }, + { url = "https://files.pythonhosted.org/packages/58/ca/5d1a997587febe5b26d8daffe363b5c1a091cece19828eec6502fd09c5ef/charset_normalizer-3.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19a731138fc27d5682277d3b9df22855cea1239bce7fcec5f78f42ef2d1f3c3", size = 249996, upload-time = "2026-09-30T04:36:10.73Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1f/d1e78246f7ed60c8c8d606b4ac27f66ce49cc3e95f24893ccbeba9f77302/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62603db9a7caa0802eaa28c1c46fecd7b3a263a774069c24c3c28c302448721c", size = 247028, upload-time = "2026-09-30T04:36:12.294Z" }, + { url = "https://files.pythonhosted.org/packages/8e/37/eba316edd4f0c4d3a5d945924c4eeeae59abac4056aa815d8a4268f863a2/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b6856554c4f44d79fc2307d5768854310a8f0096e501c75637542c82292b0429", size = 240562, upload-time = "2026-09-30T04:36:13.887Z" }, + { url = "https://files.pythonhosted.org/packages/c8/8e/aaa037d40ca9ef045977f1a661048b1aa33f223adfce3452fe9be9f79d14/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbeb20a41edc6a6ee341f1f", size = 271699, upload-time = "2026-09-30T04:36:15.41Z" }, + { url = "https://files.pythonhosted.org/packages/26/19/1c1c9f75974adf523b87f34b8a2adc5a435cd65916812bcbd0dfa45f9a29/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:56bc200a365efb37383b7852e4cc5898d3b2da5987289b543956cf8cad71018a", size = 252030, upload-time = "2026-09-30T04:36:16.839Z" }, + { url = "https://files.pythonhosted.org/packages/bc/90/0660ef18e18df0a4d2a1a0edff7dfbba42d4e50ef2425557a5bb7051f77b/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef2751391334546a314c00", size = 268565, upload-time = "2026-09-30T04:36:18.468Z" }, + { url = "https://files.pythonhosted.org/packages/79/ba/57adc269824e8658f1a0f97a9e514c247445a9632b3419b97e0ba37f16dc/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e243bd13217235fc7290c621941c3f5cc8b66e4872495be821d7436ba2fb838d", size = 257627, upload-time = "2026-09-30T04:36:19.938Z" }, + { url = "https://files.pythonhosted.org/packages/9a/85/33abd4315c052d3d4f54c92b1ee49bfbc0dc7115a981e462a793b6d2ab87/charset_normalizer-3.5.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:a090bb2c68df85450502e3e20d665e3a5af9c65a84d6508ed477badd49166fd3", size = 143407, upload-time = "2026-09-30T04:36:21.376Z" }, + { url = "https://files.pythonhosted.org/packages/4f/de/6435e18d1aaa5d910b896d551411c96af1f42a0c56c29afc2016c61ccc2e/charset_normalizer-3.5.2-cp313-cp313-win32.whl", hash = "sha256:2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e91fd", size = 183207, upload-time = "2026-09-30T04:36:22.776Z" }, + { url = "https://files.pythonhosted.org/packages/9c/76/b8ec57f4e9ee3253541abf95e4a462c0175fe8032dcd070f1f2421240942/charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f113ed7639", size = 206489, upload-time = "2026-09-30T04:36:24.306Z" }, + { url = "https://files.pythonhosted.org/packages/3e/60/c647c6ae47480221e875ea5d743ff94946f7416e3c69415ab772928e8d32/charset_normalizer-3.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270abaa713d3", size = 195501, upload-time = "2026-09-30T04:36:25.846Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd", size = 331815, upload-time = "2026-09-30T04:38:26.216Z" }, + { url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7", size = 253276, upload-time = "2026-09-30T04:38:28.032Z" }, + { url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f", size = 241239, upload-time = "2026-09-30T04:38:29.732Z" }, + { url = "https://files.pythonhosted.org/packages/61/71/458c3f42164a07d0c5210798e9e704b39e540a6793b05aba67f3a35243a9/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0fed1d06615f022ee3b13caf5e8b180cfea32bb2c5aded8a9d44277afc040f93", size = 231121, upload-time = "2026-09-30T04:38:31.462Z" }, + { url = "https://files.pythonhosted.org/packages/09/54/ab9e89367076f6331bb6c65c4bf14a5361fa5191cb6561bf534f18504e1b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:838dcc90063569a0448120554591a1d6c4a4ffe11babf048908793154ab86ade", size = 260350, upload-time = "2026-09-30T04:38:33.239Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c1/061431ecc688d9d76602502cb57cc01e691e682c18f1beb45f9673b5bbd2/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ce45c6627b22c47e390bc91a41c3d13032192e699fa0bea96e9671b373d69b0", size = 255430, upload-time = "2026-09-30T04:38:34.865Z" }, + { url = "https://files.pythonhosted.org/packages/8d/1f/20c8949f0676f7ab811abdeb7f4d7f1cbc6e61ff20bef08b44edeb092bc8/charset_normalizer-3.5.2-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0774bf9bf620249fee3e0b8b9fd3065de213be30f3aa94ce2494b3b638949e26", size = 250612, upload-time = "2026-09-30T04:38:36.649Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9e/46f2fa4c431fc98c4ae76a8cb5bdca54e0341e3cfc3fcfd8e82740250818/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1db38f4c5496827c1a501846d64d14c3b80c7e6714e406cd7dc36a9899fa1011", size = 242083, upload-time = "2026-09-30T04:38:38.26Z" }, + { url = "https://files.pythonhosted.org/packages/bd/39/559be29a0c0f086e0bba6922babd38916cc5e0b58ced4de13ee01ea05508/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:304d8e4d493af723536393eee0c689eb7813f4a474c8b479dee63f1fdd98f621", size = 232738, upload-time = "2026-09-30T04:38:39.81Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6c/387b0e4f756a282831c1d9fc6aeb6c51ca4507ca202767c8de15ce9b12e2/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:9b7f416ff0978e2f2249330527f0ad6fa02f4932e6199692d3b52da2048c19e4", size = 260703, upload-time = "2026-09-30T04:38:41.346Z" }, + { url = "https://files.pythonhosted.org/packages/96/92/1fdf015f09ef449f50d3ac4b67c90887c9c318b727daa95cc4f866e6521d/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:01077390b03f7988f11d700a2194e69b119741a86b1a638b1db88891e3eced8e", size = 247622, upload-time = "2026-09-30T04:38:42.937Z" }, + { url = "https://files.pythonhosted.org/packages/dc/3c/8e7b8a5671ad5d433669fb2a76f1a0164df2d9b1718b0206bc2a16d840cc/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_s390x.whl", hash = "sha256:7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1ccd8ca1d0268c5014c", size = 257500, upload-time = "2026-09-30T04:38:44.604Z" }, + { url = "https://files.pythonhosted.org/packages/b4/f0/45b579df5cabc1d5d53ea1cc35e8437d3ca768c0acccc7041517cb6fbb32/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9cae88599c7219005d879f98e5ed53341e9a122af585e1091200358a3003d2a0", size = 255100, upload-time = "2026-09-30T04:38:46.289Z" }, + { url = "https://files.pythonhosted.org/packages/31/68/fdec18a343f5fb3f310588dd478b09ac4799e0b187dbade3a8cd776f03ef/charset_normalizer-3.5.2-cp37-abi3-win32.whl", hash = "sha256:01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208bdf", size = 174499, upload-time = "2026-09-30T04:38:47.999Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036", size = 200092, upload-time = "2026-09-30T04:38:49.707Z" }, + { url = "https://files.pythonhosted.org/packages/03/cf/4c66866fa9e2b1c78e3c911516d1de497a677b7ac60f1eceda74ce777ca3/charset_normalizer-3.5.2-cp37-abi3-win_arm64.whl", hash = "sha256:40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df457573e", size = 294363, upload-time = "2026-09-30T04:38:51.312Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl", hash = "sha256:b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685", size = 68872, upload-time = "2026-09-30T04:39:21.828Z" }, ] [[package]] @@ -71,11 +92,11 @@ requires-dist = [ [[package]] name = "idna" -version = "3.11" +version = "3.20" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz", hash = "sha256:a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44", size = 216463, upload-time = "2026-09-17T14:11:04.752Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, + { url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl", hash = "sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c", size = 69583, upload-time = "2026-09-17T14:11:03.168Z" }, ] [[package]] @@ -110,7 +131,7 @@ wheels = [ [[package]] name = "requests" -version = "2.33.1" +version = "2.34.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, @@ -118,9 +139,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517", size = 134120, upload-time = "2026-03-30T16:09:15.531Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a", size = 64947, upload-time = "2026-03-30T16:09:13.83Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, ] [[package]] @@ -134,9 +155,9 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] diff --git a/docker/base/cu130/uv.lock b/docker/base/cu130/uv.lock index f991752a0074..a08943ff6ab4 100644 --- a/docker/base/cu130/uv.lock +++ b/docker/base/cu130/uv.lock @@ -4,50 +4,71 @@ requires-python = "==3.13.*" [[package]] name = "botocore" -version = "1.43.65" +version = "1.43.106" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fa/86/65c298732919b84a3ecf331caeb47b8efcc1ce0537e8fdecad2cfee39174/botocore-1.43.65.tar.gz", hash = "sha256:eea5440cf4b850d0f4de4f7eda418c325c87de6d8980873f8b636bb482b31d0f", size = 15842580, upload-time = "2026-08-05T19:24:55.745Z" } +sdist = { url = "https://files.pythonhosted.org/packages/11/b9/10ca68d0092895d5ea60f485a61a9840d5aff9d732c66ed60da53a20b1d4/botocore-1.43.106.tar.gz", hash = "sha256:006870b3b4e40547232ad12c3bb4faec91bbbe0659aafaa3b7fa48a112c4ee97", size = 16271399, upload-time = "2026-09-30T19:36:35.836Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/0a/3b84332d8dc2acf6af269f8175f94159ad495a7de29e5f335f933f0b5da4/botocore-1.43.65-py3-none-any.whl", hash = "sha256:41a13d9a1954d786f90cdbba0be0953fe9b9389f240b5ff71340c4706ea40135", size = 15526731, upload-time = "2026-08-05T19:24:52.175Z" }, + { url = "https://files.pythonhosted.org/packages/a8/eb/c51d3b54dfaa9267a687359d946dc2a1ca6a27fb4d381773e59b7bd72bf4/botocore-1.43.106-py3-none-any.whl", hash = "sha256:c1fb8818f9957cb5037f73db34ac1a12ba43562e31d6e7f9cb7e5fc64e1dba78", size = 15965506, upload-time = "2026-09-30T19:36:32.625Z" }, ] [[package]] name = "certifi" -version = "2026.2.25" +version = "2026.7.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz", hash = "sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55", size = 138112, upload-time = "2026-07-22T03:35:12.644Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, + { url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl", hash = "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775", size = 136983, upload-time = "2026-07-22T03:35:11.276Z" }, ] [[package]] name = "charset-normalizer" -version = "3.4.7" +version = "3.5.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz", hash = "sha256:39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef", size = 172659, upload-time = "2026-09-30T04:39:23.398Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627, upload-time = "2026-04-02T09:26:45.198Z" }, - { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008, upload-time = "2026-04-02T09:26:46.824Z" }, - { url = "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", size = 228303, upload-time = "2026-04-02T09:26:48.397Z" }, - { url = "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", size = 224282, upload-time = "2026-04-02T09:26:49.684Z" }, - { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595, upload-time = "2026-04-02T09:26:50.915Z" }, - { url = "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", size = 201986, upload-time = "2026-04-02T09:26:52.197Z" }, - { url = "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", size = 211711, upload-time = "2026-04-02T09:26:53.49Z" }, - { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036, upload-time = "2026-04-02T09:26:54.975Z" }, - { url = "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", size = 202998, upload-time = "2026-04-02T09:26:56.303Z" }, - { url = "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", size = 230056, upload-time = "2026-04-02T09:26:57.554Z" }, - { url = "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", size = 211537, upload-time = "2026-04-02T09:26:58.843Z" }, - { url = "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", size = 226176, upload-time = "2026-04-02T09:27:00.437Z" }, - { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723, upload-time = "2026-04-02T09:27:02.021Z" }, - { url = "https://files.pythonhosted.org/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", size = 148085, upload-time = "2026-04-02T09:27:03.192Z" }, - { url = "https://files.pythonhosted.org/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", size = 158819, upload-time = "2026-04-02T09:27:04.454Z" }, - { url = "https://files.pythonhosted.org/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", size = 147915, upload-time = "2026-04-02T09:27:05.971Z" }, - { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, + { url = "https://files.pythonhosted.org/packages/c5/34/68292d68512768591aaff07c59bb53ee31341c87759433a859c4641a50c2/charset_normalizer-3.5.2-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:ed905975ab14056a2e5eb1c376cb2e1ebc5396baf84163939c518556fccde9f5", size = 225946, upload-time = "2026-09-30T04:35:55.313Z" }, + { url = "https://files.pythonhosted.org/packages/e3/80/bee0b01b90ccd5322ae1d0abb33fab1bd95b7c2eadaf02aeccf22e04ee83/charset_normalizer-3.5.2-cp313-cp313-android_24_x86_64.whl", hash = "sha256:a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d24554c563f6ab7e1d6e", size = 238619, upload-time = "2026-09-30T04:35:56.863Z" }, + { url = "https://files.pythonhosted.org/packages/78/6e/60ce52a85a7fd631ae8482ae6d74521014ca2f255892679484dc04d7ef56/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d2374b62878abb00cd8309b32af6c0b715cd02dec0ca74ef12e5069bdc64144a", size = 206701, upload-time = "2026-09-30T04:35:58.639Z" }, + { url = "https://files.pythonhosted.org/packages/36/8c/71aafad23f971afc84c2b295bc0c560739ce1dac558aad9fec22e39f3639/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d376bbd28b3a8999db1a103b3b388aee6f1ddeb3e51bc2172993efdcd86e064d", size = 210506, upload-time = "2026-09-30T04:36:00.147Z" }, + { url = "https://files.pythonhosted.org/packages/91/da/3c5a7798c046df7d2d68ad653cf5b6c5a8bfee225055a843c6f2f42aac1a/charset_normalizer-3.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6045373d5a89a5ec71afde535db987ca28e76dfa276c2d4c818265b375d4b055", size = 366626, upload-time = "2026-09-30T04:36:01.77Z" }, + { url = "https://files.pythonhosted.org/packages/e1/16/710ac3de2ee354e2bd1a9c94efe45a2d27b5c6ad39b2d6a905be2c094b6c/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:849df64e889b2e17230d58410a03dba311a65b163508fd33679b2b737d4b7858", size = 244624, upload-time = "2026-09-30T04:36:03.389Z" }, + { url = "https://files.pythonhosted.org/packages/d6/39/45c7439f5b63d24f7d5b2a1d760f34af7628782d7144b4cc8ded45c2d4bc/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:15c44f7edfd477b06f517a5cc317fc1707edb9de2c865f43d4b6513907473234", size = 235731, upload-time = "2026-09-30T04:36:04.987Z" }, + { url = "https://files.pythonhosted.org/packages/4d/34/38f3154785ce92e9f56eb226f4d35bdfae6b008480dd055f58837a89c810/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a89012d6d5476ee112d20d998570ed58df2260a852afb1758809cd6900411d21", size = 270352, upload-time = "2026-09-30T04:36:06.412Z" }, + { url = "https://files.pythonhosted.org/packages/04/f3/859f74e7babc977705026b30593b3be04049632a522fb7000f83c033d747/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0c951d5e6dd9c2ff60609476752bee49da4206adde960ebc247766937f72e718", size = 267393, upload-time = "2026-09-30T04:36:07.865Z" }, + { url = "https://files.pythonhosted.org/packages/4b/85/41d27f234b82e47c167a5f6c0f62501dc0c640585ff4aba79e08a390336a/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7218e8f32b0956cfcd048fd42d9d5779809745ca1d86113ca56f66e7ae1549c4", size = 254660, upload-time = "2026-09-30T04:36:09.248Z" }, + { url = "https://files.pythonhosted.org/packages/58/ca/5d1a997587febe5b26d8daffe363b5c1a091cece19828eec6502fd09c5ef/charset_normalizer-3.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19a731138fc27d5682277d3b9df22855cea1239bce7fcec5f78f42ef2d1f3c3", size = 249996, upload-time = "2026-09-30T04:36:10.73Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1f/d1e78246f7ed60c8c8d606b4ac27f66ce49cc3e95f24893ccbeba9f77302/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62603db9a7caa0802eaa28c1c46fecd7b3a263a774069c24c3c28c302448721c", size = 247028, upload-time = "2026-09-30T04:36:12.294Z" }, + { url = "https://files.pythonhosted.org/packages/8e/37/eba316edd4f0c4d3a5d945924c4eeeae59abac4056aa815d8a4268f863a2/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b6856554c4f44d79fc2307d5768854310a8f0096e501c75637542c82292b0429", size = 240562, upload-time = "2026-09-30T04:36:13.887Z" }, + { url = "https://files.pythonhosted.org/packages/c8/8e/aaa037d40ca9ef045977f1a661048b1aa33f223adfce3452fe9be9f79d14/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbeb20a41edc6a6ee341f1f", size = 271699, upload-time = "2026-09-30T04:36:15.41Z" }, + { url = "https://files.pythonhosted.org/packages/26/19/1c1c9f75974adf523b87f34b8a2adc5a435cd65916812bcbd0dfa45f9a29/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:56bc200a365efb37383b7852e4cc5898d3b2da5987289b543956cf8cad71018a", size = 252030, upload-time = "2026-09-30T04:36:16.839Z" }, + { url = "https://files.pythonhosted.org/packages/bc/90/0660ef18e18df0a4d2a1a0edff7dfbba42d4e50ef2425557a5bb7051f77b/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef2751391334546a314c00", size = 268565, upload-time = "2026-09-30T04:36:18.468Z" }, + { url = "https://files.pythonhosted.org/packages/79/ba/57adc269824e8658f1a0f97a9e514c247445a9632b3419b97e0ba37f16dc/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e243bd13217235fc7290c621941c3f5cc8b66e4872495be821d7436ba2fb838d", size = 257627, upload-time = "2026-09-30T04:36:19.938Z" }, + { url = "https://files.pythonhosted.org/packages/9a/85/33abd4315c052d3d4f54c92b1ee49bfbc0dc7115a981e462a793b6d2ab87/charset_normalizer-3.5.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:a090bb2c68df85450502e3e20d665e3a5af9c65a84d6508ed477badd49166fd3", size = 143407, upload-time = "2026-09-30T04:36:21.376Z" }, + { url = "https://files.pythonhosted.org/packages/4f/de/6435e18d1aaa5d910b896d551411c96af1f42a0c56c29afc2016c61ccc2e/charset_normalizer-3.5.2-cp313-cp313-win32.whl", hash = "sha256:2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e91fd", size = 183207, upload-time = "2026-09-30T04:36:22.776Z" }, + { url = "https://files.pythonhosted.org/packages/9c/76/b8ec57f4e9ee3253541abf95e4a462c0175fe8032dcd070f1f2421240942/charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f113ed7639", size = 206489, upload-time = "2026-09-30T04:36:24.306Z" }, + { url = "https://files.pythonhosted.org/packages/3e/60/c647c6ae47480221e875ea5d743ff94946f7416e3c69415ab772928e8d32/charset_normalizer-3.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270abaa713d3", size = 195501, upload-time = "2026-09-30T04:36:25.846Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd", size = 331815, upload-time = "2026-09-30T04:38:26.216Z" }, + { url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7", size = 253276, upload-time = "2026-09-30T04:38:28.032Z" }, + { url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f", size = 241239, upload-time = "2026-09-30T04:38:29.732Z" }, + { url = "https://files.pythonhosted.org/packages/61/71/458c3f42164a07d0c5210798e9e704b39e540a6793b05aba67f3a35243a9/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0fed1d06615f022ee3b13caf5e8b180cfea32bb2c5aded8a9d44277afc040f93", size = 231121, upload-time = "2026-09-30T04:38:31.462Z" }, + { url = "https://files.pythonhosted.org/packages/09/54/ab9e89367076f6331bb6c65c4bf14a5361fa5191cb6561bf534f18504e1b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:838dcc90063569a0448120554591a1d6c4a4ffe11babf048908793154ab86ade", size = 260350, upload-time = "2026-09-30T04:38:33.239Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c1/061431ecc688d9d76602502cb57cc01e691e682c18f1beb45f9673b5bbd2/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ce45c6627b22c47e390bc91a41c3d13032192e699fa0bea96e9671b373d69b0", size = 255430, upload-time = "2026-09-30T04:38:34.865Z" }, + { url = "https://files.pythonhosted.org/packages/8d/1f/20c8949f0676f7ab811abdeb7f4d7f1cbc6e61ff20bef08b44edeb092bc8/charset_normalizer-3.5.2-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0774bf9bf620249fee3e0b8b9fd3065de213be30f3aa94ce2494b3b638949e26", size = 250612, upload-time = "2026-09-30T04:38:36.649Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9e/46f2fa4c431fc98c4ae76a8cb5bdca54e0341e3cfc3fcfd8e82740250818/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1db38f4c5496827c1a501846d64d14c3b80c7e6714e406cd7dc36a9899fa1011", size = 242083, upload-time = "2026-09-30T04:38:38.26Z" }, + { url = "https://files.pythonhosted.org/packages/bd/39/559be29a0c0f086e0bba6922babd38916cc5e0b58ced4de13ee01ea05508/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:304d8e4d493af723536393eee0c689eb7813f4a474c8b479dee63f1fdd98f621", size = 232738, upload-time = "2026-09-30T04:38:39.81Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6c/387b0e4f756a282831c1d9fc6aeb6c51ca4507ca202767c8de15ce9b12e2/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:9b7f416ff0978e2f2249330527f0ad6fa02f4932e6199692d3b52da2048c19e4", size = 260703, upload-time = "2026-09-30T04:38:41.346Z" }, + { url = "https://files.pythonhosted.org/packages/96/92/1fdf015f09ef449f50d3ac4b67c90887c9c318b727daa95cc4f866e6521d/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:01077390b03f7988f11d700a2194e69b119741a86b1a638b1db88891e3eced8e", size = 247622, upload-time = "2026-09-30T04:38:42.937Z" }, + { url = "https://files.pythonhosted.org/packages/dc/3c/8e7b8a5671ad5d433669fb2a76f1a0164df2d9b1718b0206bc2a16d840cc/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_s390x.whl", hash = "sha256:7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1ccd8ca1d0268c5014c", size = 257500, upload-time = "2026-09-30T04:38:44.604Z" }, + { url = "https://files.pythonhosted.org/packages/b4/f0/45b579df5cabc1d5d53ea1cc35e8437d3ca768c0acccc7041517cb6fbb32/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9cae88599c7219005d879f98e5ed53341e9a122af585e1091200358a3003d2a0", size = 255100, upload-time = "2026-09-30T04:38:46.289Z" }, + { url = "https://files.pythonhosted.org/packages/31/68/fdec18a343f5fb3f310588dd478b09ac4799e0b187dbade3a8cd776f03ef/charset_normalizer-3.5.2-cp37-abi3-win32.whl", hash = "sha256:01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208bdf", size = 174499, upload-time = "2026-09-30T04:38:47.999Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036", size = 200092, upload-time = "2026-09-30T04:38:49.707Z" }, + { url = "https://files.pythonhosted.org/packages/03/cf/4c66866fa9e2b1c78e3c911516d1de497a677b7ac60f1eceda74ce777ca3/charset_normalizer-3.5.2-cp37-abi3-win_arm64.whl", hash = "sha256:40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df457573e", size = 294363, upload-time = "2026-09-30T04:38:51.312Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl", hash = "sha256:b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685", size = 68872, upload-time = "2026-09-30T04:39:21.828Z" }, ] [[package]] @@ -71,11 +92,11 @@ requires-dist = [ [[package]] name = "idna" -version = "3.11" +version = "3.20" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz", hash = "sha256:a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44", size = 216463, upload-time = "2026-09-17T14:11:04.752Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, + { url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl", hash = "sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c", size = 69583, upload-time = "2026-09-17T14:11:03.168Z" }, ] [[package]] @@ -110,7 +131,7 @@ wheels = [ [[package]] name = "requests" -version = "2.33.1" +version = "2.34.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, @@ -118,9 +139,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517", size = 134120, upload-time = "2026-03-30T16:09:15.531Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a", size = 64947, upload-time = "2026-03-30T16:09:13.83Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, ] [[package]] @@ -134,9 +155,9 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] diff --git a/docker/base/cu132/uv.lock b/docker/base/cu132/uv.lock index 8e8c0aa9396b..f754c13e9375 100644 --- a/docker/base/cu132/uv.lock +++ b/docker/base/cu132/uv.lock @@ -4,16 +4,16 @@ requires-python = "==3.13.*" [[package]] name = "botocore" -version = "1.43.65" +version = "1.43.106" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fa/86/65c298732919b84a3ecf331caeb47b8efcc1ce0537e8fdecad2cfee39174/botocore-1.43.65.tar.gz", hash = "sha256:eea5440cf4b850d0f4de4f7eda418c325c87de6d8980873f8b636bb482b31d0f", size = 15842580, upload-time = "2026-08-05T19:24:55.745Z" } +sdist = { url = "https://files.pythonhosted.org/packages/11/b9/10ca68d0092895d5ea60f485a61a9840d5aff9d732c66ed60da53a20b1d4/botocore-1.43.106.tar.gz", hash = "sha256:006870b3b4e40547232ad12c3bb4faec91bbbe0659aafaa3b7fa48a112c4ee97", size = 16271399, upload-time = "2026-09-30T19:36:35.836Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/0a/3b84332d8dc2acf6af269f8175f94159ad495a7de29e5f335f933f0b5da4/botocore-1.43.65-py3-none-any.whl", hash = "sha256:41a13d9a1954d786f90cdbba0be0953fe9b9389f240b5ff71340c4706ea40135", size = 15526731, upload-time = "2026-08-05T19:24:52.175Z" }, + { url = "https://files.pythonhosted.org/packages/a8/eb/c51d3b54dfaa9267a687359d946dc2a1ca6a27fb4d381773e59b7bd72bf4/botocore-1.43.106-py3-none-any.whl", hash = "sha256:c1fb8818f9957cb5037f73db34ac1a12ba43562e31d6e7f9cb7e5fc64e1dba78", size = 15965506, upload-time = "2026-09-30T19:36:32.625Z" }, ] [[package]] @@ -27,24 +27,48 @@ wheels = [ [[package]] name = "charset-normalizer" -version = "3.4.9" +version = "3.5.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bd/2a/23f34ec9d04624958e137efdc394888716353190e75f25dd22c7a2c7a8aa/charset_normalizer-3.4.9.tar.gz", hash = "sha256:673611bbd43f0810bec0b0f028ddeaaa501190339cac411f347ac76917c3ae7b", size = 152439, upload-time = "2026-07-07T14:34:58.454Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz", hash = "sha256:39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef", size = 172659, upload-time = "2026-09-30T04:39:23.398Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/06/97ec2aeae780b31d742b6352218b43841a6871e2564578ca522dce4a45c3/charset_normalizer-3.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:440eede837960000d74978f0eba527be106b5b9aee0daf779d395276ed0b0614", size = 317688, upload-time = "2026-07-07T14:33:35.408Z" }, - { url = "https://files.pythonhosted.org/packages/d0/39/8ff066c672434225f8d25f8b739f992af250944392173dcc88362681c9bf/charset_normalizer-3.4.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21e764fd1e70b6a3e205a0e46f3051701f98a8cb3fad66eeb80e48bb502f8698", size = 214982, upload-time = "2026-07-07T14:33:36.996Z" }, - { url = "https://files.pythonhosted.org/packages/92/8f/3a47a3667c83c2df9483d91644c6c107de3bf8874aa1793da9d3012eb986/charset_normalizer-3.4.9-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e4fd89cc178bced6ad29cb3e6dd4aa63fa5017c3524dbd0b25998fb64a87cc8b", size = 236460, upload-time = "2026-07-07T14:33:38.536Z" }, - { url = "https://files.pythonhosted.org/packages/f1/60/b22cdbee7e4013dab8b0d7647fc6181120fbbbc8f7025c226d15bd5a47fc/charset_normalizer-3.4.9-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bd47ba7fc3ca94896759ea0109775132d3e7ab921fbf54038e1bab2e46c313c9", size = 232003, upload-time = "2026-07-07T14:33:40.059Z" }, - { url = "https://files.pythonhosted.org/packages/ea/f8/72eb13dcabe7257035cea8aefd922caad2f110d252bf9f67c4c2ca763aee/charset_normalizer-3.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:84fd18bcc17526fc2b3c1af7d2b9217d32c9c04448c16ec693b9b4f1985c3d33", size = 223149, upload-time = "2026-07-07T14:33:41.631Z" }, - { url = "https://files.pythonhosted.org/packages/b0/3e/faee8f9de92b14ee1198e9163252bb15efee7301b31256a3b6d9ebfdd0dd/charset_normalizer-3.4.9-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:5b10cd92fc5c498b35a8635df6d5a100207f88b63a4dc1de7ef9a548e1e2cd63", size = 207901, upload-time = "2026-07-07T14:33:43.209Z" }, - { url = "https://files.pythonhosted.org/packages/3a/25/45f30093ae27dd7b92a793b61882a38685f993700113ca36e0c9c14965e1/charset_normalizer-3.4.9-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a4fbdde9dd4a9ce5fd52c2b3a347bb50cc89483ef783f1cb00d408c13f7a96c0", size = 219176, upload-time = "2026-07-07T14:33:44.725Z" }, - { url = "https://files.pythonhosted.org/packages/48/18/c8f397329c35e32f6a837e488986f4ae03bd2abebc453b48714991630c2f/charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:416c229f77e5ea25b3dfd4b582f8d73d7e43c22320302b9ab128a2d3a0b38efe", size = 217356, upload-time = "2026-07-07T14:33:46.192Z" }, - { url = "https://files.pythonhosted.org/packages/86/7e/5ce0bba863470fd1902d5e5843968951bddf38abe4742fc97116ef4598b3/charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:75286256590a6320cf106a0d28970d3560aad9ee09aa7b34fb40524792436d35", size = 209614, upload-time = "2026-07-07T14:33:47.705Z" }, - { url = "https://files.pythonhosted.org/packages/6c/ef/2473d3c4d869155be4af1191111d59c4d5c4e0173026f7e85b176e23bf65/charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:69b157c5d3292bcd443faca052f3096f637f1e074b98212a933c074ae23dc3b8", size = 224991, upload-time = "2026-07-07T14:33:49.238Z" }, - { url = "https://files.pythonhosted.org/packages/d0/a3/53ddae3db108a088156aa8ddfafd411ebbc1340f48c5573f697b27f69a39/charset_normalizer-3.4.9-cp313-cp313-win32.whl", hash = "sha256:51307f5c71007673a2bf8232ad973483d281e74cb99c8c5a990af1eefa6277d9", size = 150622, upload-time = "2026-07-07T14:33:50.711Z" }, - { url = "https://files.pythonhosted.org/packages/e8/ef/6953a77c7cf2c2ff9998e6f575ab3e380119f100223381565a4f94c1f836/charset_normalizer-3.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:fe2c7201c642b7c308f1675355ad7ff7b66acfe3541625efe5a3ad38f29d6115", size = 161947, upload-time = "2026-07-07T14:33:52.197Z" }, - { url = "https://files.pythonhosted.org/packages/6e/fb/d560d1d1555debbfe7849d9cac6145c1b537709d79576bf22557ed803b82/charset_normalizer-3.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:611057cc5d5c0afc743ba8be6bd828c17e0aaa8643f9d0a9b9bb7dea80eb8012", size = 152594, upload-time = "2026-07-07T14:33:53.486Z" }, - { url = "https://files.pythonhosted.org/packages/98/2b/f97f1c193fb855c345d678f5077d6926034db0722df74c8f057020e05a25/charset_normalizer-3.4.9-py3-none-any.whl", hash = "sha256:68e5f26a1ad57ded6d1cfb85331d1c1a195314756471d97758c48498bb4dcdf5", size = 64538, upload-time = "2026-07-07T14:34:56.993Z" }, + { url = "https://files.pythonhosted.org/packages/c5/34/68292d68512768591aaff07c59bb53ee31341c87759433a859c4641a50c2/charset_normalizer-3.5.2-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:ed905975ab14056a2e5eb1c376cb2e1ebc5396baf84163939c518556fccde9f5", size = 225946, upload-time = "2026-09-30T04:35:55.313Z" }, + { url = "https://files.pythonhosted.org/packages/e3/80/bee0b01b90ccd5322ae1d0abb33fab1bd95b7c2eadaf02aeccf22e04ee83/charset_normalizer-3.5.2-cp313-cp313-android_24_x86_64.whl", hash = "sha256:a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d24554c563f6ab7e1d6e", size = 238619, upload-time = "2026-09-30T04:35:56.863Z" }, + { url = "https://files.pythonhosted.org/packages/78/6e/60ce52a85a7fd631ae8482ae6d74521014ca2f255892679484dc04d7ef56/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d2374b62878abb00cd8309b32af6c0b715cd02dec0ca74ef12e5069bdc64144a", size = 206701, upload-time = "2026-09-30T04:35:58.639Z" }, + { url = "https://files.pythonhosted.org/packages/36/8c/71aafad23f971afc84c2b295bc0c560739ce1dac558aad9fec22e39f3639/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d376bbd28b3a8999db1a103b3b388aee6f1ddeb3e51bc2172993efdcd86e064d", size = 210506, upload-time = "2026-09-30T04:36:00.147Z" }, + { url = "https://files.pythonhosted.org/packages/91/da/3c5a7798c046df7d2d68ad653cf5b6c5a8bfee225055a843c6f2f42aac1a/charset_normalizer-3.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6045373d5a89a5ec71afde535db987ca28e76dfa276c2d4c818265b375d4b055", size = 366626, upload-time = "2026-09-30T04:36:01.77Z" }, + { url = "https://files.pythonhosted.org/packages/e1/16/710ac3de2ee354e2bd1a9c94efe45a2d27b5c6ad39b2d6a905be2c094b6c/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:849df64e889b2e17230d58410a03dba311a65b163508fd33679b2b737d4b7858", size = 244624, upload-time = "2026-09-30T04:36:03.389Z" }, + { url = "https://files.pythonhosted.org/packages/d6/39/45c7439f5b63d24f7d5b2a1d760f34af7628782d7144b4cc8ded45c2d4bc/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:15c44f7edfd477b06f517a5cc317fc1707edb9de2c865f43d4b6513907473234", size = 235731, upload-time = "2026-09-30T04:36:04.987Z" }, + { url = "https://files.pythonhosted.org/packages/4d/34/38f3154785ce92e9f56eb226f4d35bdfae6b008480dd055f58837a89c810/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a89012d6d5476ee112d20d998570ed58df2260a852afb1758809cd6900411d21", size = 270352, upload-time = "2026-09-30T04:36:06.412Z" }, + { url = "https://files.pythonhosted.org/packages/04/f3/859f74e7babc977705026b30593b3be04049632a522fb7000f83c033d747/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0c951d5e6dd9c2ff60609476752bee49da4206adde960ebc247766937f72e718", size = 267393, upload-time = "2026-09-30T04:36:07.865Z" }, + { url = "https://files.pythonhosted.org/packages/4b/85/41d27f234b82e47c167a5f6c0f62501dc0c640585ff4aba79e08a390336a/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7218e8f32b0956cfcd048fd42d9d5779809745ca1d86113ca56f66e7ae1549c4", size = 254660, upload-time = "2026-09-30T04:36:09.248Z" }, + { url = "https://files.pythonhosted.org/packages/58/ca/5d1a997587febe5b26d8daffe363b5c1a091cece19828eec6502fd09c5ef/charset_normalizer-3.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19a731138fc27d5682277d3b9df22855cea1239bce7fcec5f78f42ef2d1f3c3", size = 249996, upload-time = "2026-09-30T04:36:10.73Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1f/d1e78246f7ed60c8c8d606b4ac27f66ce49cc3e95f24893ccbeba9f77302/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62603db9a7caa0802eaa28c1c46fecd7b3a263a774069c24c3c28c302448721c", size = 247028, upload-time = "2026-09-30T04:36:12.294Z" }, + { url = "https://files.pythonhosted.org/packages/8e/37/eba316edd4f0c4d3a5d945924c4eeeae59abac4056aa815d8a4268f863a2/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b6856554c4f44d79fc2307d5768854310a8f0096e501c75637542c82292b0429", size = 240562, upload-time = "2026-09-30T04:36:13.887Z" }, + { url = "https://files.pythonhosted.org/packages/c8/8e/aaa037d40ca9ef045977f1a661048b1aa33f223adfce3452fe9be9f79d14/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbeb20a41edc6a6ee341f1f", size = 271699, upload-time = "2026-09-30T04:36:15.41Z" }, + { url = "https://files.pythonhosted.org/packages/26/19/1c1c9f75974adf523b87f34b8a2adc5a435cd65916812bcbd0dfa45f9a29/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:56bc200a365efb37383b7852e4cc5898d3b2da5987289b543956cf8cad71018a", size = 252030, upload-time = "2026-09-30T04:36:16.839Z" }, + { url = "https://files.pythonhosted.org/packages/bc/90/0660ef18e18df0a4d2a1a0edff7dfbba42d4e50ef2425557a5bb7051f77b/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef2751391334546a314c00", size = 268565, upload-time = "2026-09-30T04:36:18.468Z" }, + { url = "https://files.pythonhosted.org/packages/79/ba/57adc269824e8658f1a0f97a9e514c247445a9632b3419b97e0ba37f16dc/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e243bd13217235fc7290c621941c3f5cc8b66e4872495be821d7436ba2fb838d", size = 257627, upload-time = "2026-09-30T04:36:19.938Z" }, + { url = "https://files.pythonhosted.org/packages/9a/85/33abd4315c052d3d4f54c92b1ee49bfbc0dc7115a981e462a793b6d2ab87/charset_normalizer-3.5.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:a090bb2c68df85450502e3e20d665e3a5af9c65a84d6508ed477badd49166fd3", size = 143407, upload-time = "2026-09-30T04:36:21.376Z" }, + { url = "https://files.pythonhosted.org/packages/4f/de/6435e18d1aaa5d910b896d551411c96af1f42a0c56c29afc2016c61ccc2e/charset_normalizer-3.5.2-cp313-cp313-win32.whl", hash = "sha256:2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e91fd", size = 183207, upload-time = "2026-09-30T04:36:22.776Z" }, + { url = "https://files.pythonhosted.org/packages/9c/76/b8ec57f4e9ee3253541abf95e4a462c0175fe8032dcd070f1f2421240942/charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f113ed7639", size = 206489, upload-time = "2026-09-30T04:36:24.306Z" }, + { url = "https://files.pythonhosted.org/packages/3e/60/c647c6ae47480221e875ea5d743ff94946f7416e3c69415ab772928e8d32/charset_normalizer-3.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270abaa713d3", size = 195501, upload-time = "2026-09-30T04:36:25.846Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd", size = 331815, upload-time = "2026-09-30T04:38:26.216Z" }, + { url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7", size = 253276, upload-time = "2026-09-30T04:38:28.032Z" }, + { url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f", size = 241239, upload-time = "2026-09-30T04:38:29.732Z" }, + { url = "https://files.pythonhosted.org/packages/61/71/458c3f42164a07d0c5210798e9e704b39e540a6793b05aba67f3a35243a9/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0fed1d06615f022ee3b13caf5e8b180cfea32bb2c5aded8a9d44277afc040f93", size = 231121, upload-time = "2026-09-30T04:38:31.462Z" }, + { url = "https://files.pythonhosted.org/packages/09/54/ab9e89367076f6331bb6c65c4bf14a5361fa5191cb6561bf534f18504e1b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:838dcc90063569a0448120554591a1d6c4a4ffe11babf048908793154ab86ade", size = 260350, upload-time = "2026-09-30T04:38:33.239Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c1/061431ecc688d9d76602502cb57cc01e691e682c18f1beb45f9673b5bbd2/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ce45c6627b22c47e390bc91a41c3d13032192e699fa0bea96e9671b373d69b0", size = 255430, upload-time = "2026-09-30T04:38:34.865Z" }, + { url = "https://files.pythonhosted.org/packages/8d/1f/20c8949f0676f7ab811abdeb7f4d7f1cbc6e61ff20bef08b44edeb092bc8/charset_normalizer-3.5.2-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0774bf9bf620249fee3e0b8b9fd3065de213be30f3aa94ce2494b3b638949e26", size = 250612, upload-time = "2026-09-30T04:38:36.649Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9e/46f2fa4c431fc98c4ae76a8cb5bdca54e0341e3cfc3fcfd8e82740250818/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1db38f4c5496827c1a501846d64d14c3b80c7e6714e406cd7dc36a9899fa1011", size = 242083, upload-time = "2026-09-30T04:38:38.26Z" }, + { url = "https://files.pythonhosted.org/packages/bd/39/559be29a0c0f086e0bba6922babd38916cc5e0b58ced4de13ee01ea05508/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:304d8e4d493af723536393eee0c689eb7813f4a474c8b479dee63f1fdd98f621", size = 232738, upload-time = "2026-09-30T04:38:39.81Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6c/387b0e4f756a282831c1d9fc6aeb6c51ca4507ca202767c8de15ce9b12e2/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:9b7f416ff0978e2f2249330527f0ad6fa02f4932e6199692d3b52da2048c19e4", size = 260703, upload-time = "2026-09-30T04:38:41.346Z" }, + { url = "https://files.pythonhosted.org/packages/96/92/1fdf015f09ef449f50d3ac4b67c90887c9c318b727daa95cc4f866e6521d/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:01077390b03f7988f11d700a2194e69b119741a86b1a638b1db88891e3eced8e", size = 247622, upload-time = "2026-09-30T04:38:42.937Z" }, + { url = "https://files.pythonhosted.org/packages/dc/3c/8e7b8a5671ad5d433669fb2a76f1a0164df2d9b1718b0206bc2a16d840cc/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_s390x.whl", hash = "sha256:7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1ccd8ca1d0268c5014c", size = 257500, upload-time = "2026-09-30T04:38:44.604Z" }, + { url = "https://files.pythonhosted.org/packages/b4/f0/45b579df5cabc1d5d53ea1cc35e8437d3ca768c0acccc7041517cb6fbb32/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9cae88599c7219005d879f98e5ed53341e9a122af585e1091200358a3003d2a0", size = 255100, upload-time = "2026-09-30T04:38:46.289Z" }, + { url = "https://files.pythonhosted.org/packages/31/68/fdec18a343f5fb3f310588dd478b09ac4799e0b187dbade3a8cd776f03ef/charset_normalizer-3.5.2-cp37-abi3-win32.whl", hash = "sha256:01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208bdf", size = 174499, upload-time = "2026-09-30T04:38:47.999Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036", size = 200092, upload-time = "2026-09-30T04:38:49.707Z" }, + { url = "https://files.pythonhosted.org/packages/03/cf/4c66866fa9e2b1c78e3c911516d1de497a677b7ac60f1eceda74ce777ca3/charset_normalizer-3.5.2-cp37-abi3-win_arm64.whl", hash = "sha256:40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df457573e", size = 294363, upload-time = "2026-09-30T04:38:51.312Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl", hash = "sha256:b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685", size = 68872, upload-time = "2026-09-30T04:39:21.828Z" }, ] [[package]] @@ -68,11 +92,11 @@ requires-dist = [ [[package]] name = "idna" -version = "3.18" +version = "3.20" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848", size = 196711, upload-time = "2026-06-02T14:34:07.794Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz", hash = "sha256:a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44", size = 216463, upload-time = "2026-09-17T14:11:04.752Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2", size = 65455, upload-time = "2026-06-02T14:34:06.319Z" }, + { url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl", hash = "sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c", size = 69583, upload-time = "2026-09-17T14:11:03.168Z" }, ] [[package]] @@ -131,9 +155,9 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] diff --git a/docker/pytorch/2.11/cpu/uv.lock b/docker/pytorch/2.11/cpu/uv.lock index 64c63f97dd38..57ea5ae432ef 100644 --- a/docker/pytorch/2.11/cpu/uv.lock +++ b/docker/pytorch/2.11/cpu/uv.lock @@ -3308,11 +3308,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/pytorch/2.11/cuda/uv.lock b/docker/pytorch/2.11/cuda/uv.lock index 049aa677cc60..206456e9a443 100644 --- a/docker/pytorch/2.11/cuda/uv.lock +++ b/docker/pytorch/2.11/cuda/uv.lock @@ -3422,11 +3422,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/pytorch/2.12/cpu/uv.lock b/docker/pytorch/2.12/cpu/uv.lock index afb7a0cbd504..00d6863281b9 100644 --- a/docker/pytorch/2.12/cpu/uv.lock +++ b/docker/pytorch/2.12/cpu/uv.lock @@ -3308,11 +3308,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/pytorch/2.12/cuda/uv.lock b/docker/pytorch/2.12/cuda/uv.lock index bfb89bbde2b8..f08281c1d588 100644 --- a/docker/pytorch/2.12/cuda/uv.lock +++ b/docker/pytorch/2.12/cuda/uv.lock @@ -3420,11 +3420,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/pytorch/2.13/cpu/uv.lock b/docker/pytorch/2.13/cpu/uv.lock index 0880d6cf98f9..a2145c5ebd15 100644 --- a/docker/pytorch/2.13/cpu/uv.lock +++ b/docker/pytorch/2.13/cpu/uv.lock @@ -3309,11 +3309,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/pytorch/2.13/cuda/uv.lock b/docker/pytorch/2.13/cuda/uv.lock index 3a4f71771551..10834c3ff28c 100644 --- a/docker/pytorch/2.13/cuda/uv.lock +++ b/docker/pytorch/2.13/cuda/uv.lock @@ -3443,11 +3443,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/pytorch/2.14/cpu/uv.lock b/docker/pytorch/2.14/cpu/uv.lock index e4e7bcfeb31d..e0ad41fa2c12 100644 --- a/docker/pytorch/2.14/cpu/uv.lock +++ b/docker/pytorch/2.14/cpu/uv.lock @@ -3353,11 +3353,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/pytorch/2.14/cuda/uv.lock b/docker/pytorch/2.14/cuda/uv.lock index 48d0d19e6a48..ac6639dc8255 100644 --- a/docker/pytorch/2.14/cuda/uv.lock +++ b/docker/pytorch/2.14/cuda/uv.lock @@ -3481,11 +3481,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/pytorch/Dockerfile.cuda b/docker/pytorch/Dockerfile.cuda index b9f612959bb5..b4c840f381f0 100644 --- a/docker/pytorch/Dockerfile.cuda +++ b/docker/pytorch/Dockerfile.cuda @@ -27,7 +27,7 @@ ARG TORCH_VERSION=2.12.1 ARG TRANSFORMER_ENGINE_VERSION=2.13.0 ARG FLASH_ATTN_VERSION=2.8.3 ARG GDRCOPY_VERSION=2.4.4 -ARG EFA_VERSION=1.47.0 +ARG EFA_VERSION="latest" ARG NCCL_TESTS_VERSION=v2.20.0 # Compiler parallelism cap per stage — prevents OOM when nproc > available RAM. # Default 8 is safe for 128GB builders; override with --build-arg MAX_JOBS=16. diff --git a/docker/ray-train/Dockerfile.cuda b/docker/ray-train/Dockerfile.cuda index 7eaed4283c53..eefc43a735dc 100644 --- a/docker/ray-train/Dockerfile.cuda +++ b/docker/ray-train/Dockerfile.cuda @@ -25,7 +25,7 @@ ARG TORCH_VERSION=2.13.0 ARG CUDA_VERSION=13.0.2 ARG TRANSFORMER_ENGINE_VERSION=2.13.0 ARG FLASH_ATTN_VERSION=2.8.3 -ARG EFA_VERSION=1.49.0 +ARG EFA_VERSION="latest" ARG GDRCOPY_VERSION=2.4.4 # Compiler parallelism cap per stage — prevents OOM when nproc > available RAM. ARG MAX_JOBS=8 diff --git a/docker/ray-train/uv.lock b/docker/ray-train/uv.lock index b44d84129a0f..d7785dabbca9 100644 --- a/docker/ray-train/uv.lock +++ b/docker/ray-train/uv.lock @@ -2130,11 +2130,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/ray/uv.lock b/docker/ray/uv.lock index 4ac17e4c6eb3..0e576e6a0fea 100644 --- a/docker/ray/uv.lock +++ b/docker/ray/uv.lock @@ -297,7 +297,7 @@ name = "cuda-bindings" version = "12.9.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cuda-pathfinder" }, + { name = "cuda-pathfinder", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/63/56/e465c31dc9111be3441a9ba7df1941fe98f4aa6e71e8788a3fb4534ce24d/cuda_bindings-12.9.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:32bdc5a76906be4c61eb98f546a6786c5773a881f3b166486449b5d141e4a39f", size = 11906628, upload-time = "2025-10-21T14:51:49.905Z" }, @@ -921,7 +921,7 @@ name = "nvidia-cudnn-cu12" version = "9.10.2.21" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas-cu12" }, + { name = "nvidia-cublas-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467, upload-time = "2025-06-06T21:54:08.597Z" }, @@ -932,7 +932,7 @@ name = "nvidia-cufft-cu12" version = "11.3.3.83" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink-cu12" }, + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695, upload-time = "2025-03-07T01:45:27.821Z" }, @@ -959,9 +959,9 @@ name = "nvidia-cusolver-cu12" version = "11.7.3.90" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas-cu12" }, - { name = "nvidia-cusparse-cu12" }, - { name = "nvidia-nvjitlink-cu12" }, + { name = "nvidia-cublas-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-cusparse-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905, upload-time = "2025-03-07T01:47:16.273Z" }, @@ -972,7 +972,7 @@ name = "nvidia-cusparse-cu12" version = "12.5.8.93" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink-cu12" }, + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466, upload-time = "2025-03-07T01:48:13.779Z" }, @@ -1983,11 +1983,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/ray_llm/Dockerfile.cuda b/docker/ray_llm/Dockerfile.cuda index 97151f026983..53f02413fbf8 100644 --- a/docker/ray_llm/Dockerfile.cuda +++ b/docker/ray_llm/Dockerfile.cuda @@ -8,7 +8,7 @@ ARG PYTHON_VERSION=3.13 ARG PYTHON_SHORT_VERSION=3.13 ARG FRAMEWORK_VERSION=2.58.0 ARG VLLM_VERSION=0.26.0 -ARG EFA_VERSION=1.49.0 +ARG EFA_VERSION="latest" ARG NCCL_TESTS_VERSION=v2.20.0 ARG CUDA_VERSION=13.0.2 diff --git a/docker/ray_llm/uv.lock b/docker/ray_llm/uv.lock index fc3cef637759..883bc1c2c598 100644 --- a/docker/ray_llm/uv.lock +++ b/docker/ray_llm/uv.lock @@ -527,37 +527,37 @@ wheels = [ [package.optional-dependencies] cublas = [ - { name = "nvidia-cublas", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-cublas", marker = "sys_platform == 'linux'" }, ] cudart = [ - { name = "nvidia-cuda-runtime", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-cuda-runtime", marker = "sys_platform == 'linux'" }, ] cufft = [ - { name = "nvidia-cufft", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-cufft", marker = "sys_platform == 'linux'" }, ] cufile = [ { name = "nvidia-cufile", marker = "sys_platform == 'linux'" }, ] cupti = [ - { name = "nvidia-cuda-cupti", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-cuda-cupti", marker = "sys_platform == 'linux'" }, ] curand = [ - { name = "nvidia-curand", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-curand", marker = "sys_platform == 'linux'" }, ] cusolver = [ - { name = "nvidia-cusolver", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-cusolver", marker = "sys_platform == 'linux'" }, ] cusparse = [ - { name = "nvidia-cusparse", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-cusparse", marker = "sys_platform == 'linux'" }, ] nvjitlink = [ - { name = "nvidia-nvjitlink", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-nvjitlink", marker = "sys_platform == 'linux'" }, ] nvrtc = [ - { name = "nvidia-cuda-nvrtc", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-cuda-nvrtc", marker = "sys_platform == 'linux'" }, ] nvtx = [ - { name = "nvidia-nvtx", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "nvidia-nvtx", marker = "sys_platform == 'linux'" }, ] [[package]] @@ -1630,8 +1630,8 @@ name = "nixl-cu12" version = "1.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy" }, - { name = "torch" }, + { name = "numpy", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "torch", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] [[package]] @@ -1780,7 +1780,7 @@ name = "nvidia-cudnn-cu13" version = "9.19.0.56" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas" }, + { name = "nvidia-cublas", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/f1/84/26025437c1e6b61a707442184fa0c03d083b661adf3a3eecfd6d21677740/nvidia_cudnn_cu13-9.19.0.56-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:6ed29ffaee1176c612daf442e4dd6cfeb6a0caa43ddcbeb59da94953030b1be4", size = 433781201, upload-time = "2026-02-03T20:40:53.805Z" }, @@ -1803,7 +1803,7 @@ name = "nvidia-cufft" version = "12.0.0.61" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/8b/ae/f417a75c0259e85c1d2f83ca4e960289a5f814ed0cea74d18c353d3e989d/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2708c852ef8cd89d1d2068bdbece0aa188813a0c934db3779b9b1faa8442e5f5", size = 214053554, upload-time = "2025-09-04T08:31:38.196Z" }, @@ -1833,9 +1833,9 @@ name = "nvidia-cusolver" version = "12.0.4.66" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas" }, - { name = "nvidia-cusparse" }, - { name = "nvidia-nvjitlink" }, + { name = "nvidia-cublas", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-cusparse", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/c8/c3/b30c9e935fc01e3da443ec0116ed1b2a009bb867f5324d3f2d7e533e776b/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:02c2457eaa9e39de20f880f4bd8820e6a1cfb9f9a34f820eb12a155aa5bc92d2", size = 223467760, upload-time = "2025-09-04T08:33:04.222Z" }, @@ -1847,7 +1847,7 @@ name = "nvidia-cusparse" version = "12.6.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/f8/94/5c26f33738ae35276672f12615a64bd008ed5be6d1ebcb23579285d960a9/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:80bcc4662f23f1054ee334a15c72b8940402975e0eab63178fc7e670aa59472c", size = 162155568, upload-time = "2025-09-04T08:33:42.864Z" }, @@ -3396,10 +3396,10 @@ name = "tokenspeed-mla" version = "0.1.8" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "apache-tvm-ffi" }, - { name = "nvidia-cutlass-dsl" }, - { name = "tokenspeed-triton" }, - { name = "torch" }, + { name = "apache-tvm-ffi", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-cutlass-dsl", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "tokenspeed-triton", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "torch", marker = "sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/1e/65/81d7e9f14472bc4c6abb576c9b1edd8e40ab01832027c4e647bfe2890749/tokenspeed_mla-0.1.8-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:952209cf4b29a54e6b6e7e088be9d4a40f24792b06fdfa330de8077b9926a7d9", size = 752341, upload-time = "2026-06-24T03:36:28.619Z" }, @@ -3600,11 +3600,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/sglang/Dockerfile b/docker/sglang/Dockerfile index 390dea8a0a64..69c112706b10 100644 --- a/docker/sglang/Dockerfile +++ b/docker/sglang/Dockerfile @@ -10,7 +10,7 @@ FROM $BASE_IMAGE AS base # ==================================================== ARG PYTHON="python3" -ARG EFA_VERSION="1.50.0" +ARG EFA_VERSION="latest" LABEL maintainer="Amazon AI" LABEL dlc_major_version="1" diff --git a/docker/sglang/Dockerfile.amzn2023 b/docker/sglang/Dockerfile.amzn2023 index bfee9aebe8e3..37eb3c9fb2bf 100644 --- a/docker/sglang/Dockerfile.amzn2023 +++ b/docker/sglang/Dockerfile.amzn2023 @@ -196,7 +196,7 @@ ARG PYTHON=python3 ARG PYTHON_VERSION=3.12 ARG TORCH_VERSION=2.13.0 ARG SGLANG_KERNEL_VERSION=0.4.6.post1 -ARG EFA_VERSION=1.50.0 +ARG EFA_VERSION="latest" ARG NCCL_VERSION=2.31.2 ARG CUDNN_VERSION=9.16.0.29 diff --git a/docker/tensorflow/training/2.21/Dockerfile.cuda b/docker/tensorflow/training/2.21/Dockerfile.cuda index 0f0d580e63d6..c1f75a2db434 100644 --- a/docker/tensorflow/training/2.21/Dockerfile.cuda +++ b/docker/tensorflow/training/2.21/Dockerfile.cuda @@ -10,7 +10,7 @@ ARG CUDA_VERSION=12.9.1 ARG PYTHON_VERSION=3.12 ARG TF_VERSION=2.21.0 ARG OPEN_MPI_VERSION=4.1.8 -ARG EFA_VERSION=1.49.0 +ARG EFA_VERSION="latest" # ── Stage: builder-base (Python venv + lockfile deps) ─────────────────────── diff --git a/docker/vllm/Dockerfile b/docker/vllm/Dockerfile index 965b89636318..65d0ff8fff7f 100644 --- a/docker/vllm/Dockerfile +++ b/docker/vllm/Dockerfile @@ -8,7 +8,7 @@ FROM $BASE_IMAGE AS base # ====================== common ========================================= ARG PYTHON="python3" LABEL maintainer="Amazon AI" -ARG EFA_VERSION="1.50.0" +ARG EFA_VERSION="latest" LABEL dlc_major_version="1" ENV DEBIAN_FRONTEND=noninteractive \ LANG=C.UTF-8 \ diff --git a/docker/vllm/Dockerfile.amzn2023 b/docker/vllm/Dockerfile.amzn2023 index 4b1f52c15ca4..11ba330f0d06 100644 --- a/docker/vllm/Dockerfile.amzn2023 +++ b/docker/vllm/Dockerfile.amzn2023 @@ -440,7 +440,7 @@ RUN echo "/usr/local/lib" >/etc/ld.so.conf.d/local-lib.conf && ldconfig # install EFA COPY ./scripts/docker/common/install_efa_amzn2023.sh install_efa_amzn2023.sh -ARG EFA_VERSION="1.50.0" +ARG EFA_VERSION="latest" RUN echo -e '[cuda-rhel9]\nname=cuda-rhel9\nbaseurl=https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64\nenabled=1\ngpgcheck=1' >/etc/yum.repos.d/cuda-rhel9.repo \ && dnf install -y --setopt=install_weak_deps=False libnccl libnccl-devel \ && ldconfig \ diff --git a/docker/vllm_omni/Dockerfile.amzn2023 b/docker/vllm_omni/Dockerfile.amzn2023 index 253c95ae1d5f..04b6c6c26a77 100644 --- a/docker/vllm_omni/Dockerfile.amzn2023 +++ b/docker/vllm_omni/Dockerfile.amzn2023 @@ -534,7 +534,7 @@ RUN echo "/usr/local/lib" >/etc/ld.so.conf.d/local-lib.conf && ldconfig # install EFA COPY ./scripts/docker/common/install_efa_amzn2023.sh install_efa_amzn2023.sh -ARG EFA_VERSION="1.50.0" +ARG EFA_VERSION="latest" RUN echo -e '[cuda-rhel9]\nname=cuda-rhel9\nbaseurl=https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64\nenabled=1\ngpgcheck=1' >/etc/yum.repos.d/cuda-rhel9.repo \ && dnf install -y --setopt=install_weak_deps=False libnccl libnccl-devel \ && ldconfig \ From 2c09f28542d4d4ba49dabf59782a768319368368 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Wed, 30 Sep 2026 23:36:07 -0700 Subject: [PATCH 14/19] fix: patch urllib3/pyjwt cves fleet-wide, allowlist jackson/vllm/openssl findings --- docker/huggingface/pytorch/Dockerfile | 1 + docker/ray_llm/uv.lock | 6 +- docker/sklearn/1.9-0/uv.lock | 6 +- docker/tensorflow/inference/2.20/cpu/uv.lock | 57 ++++++++++++++++++- docker/tensorflow/inference/2.20/cuda/uv.lock | 57 ++++++++++++++++++- docker/tensorflow/training/2.21/cpu/uv.lock | 12 ++-- docker/tensorflow/training/2.21/cuda/uv.lock | 12 ++-- docker/xgboost/pyproject.toml | 4 +- docker/xgboost/uv.lock | 10 ++-- .../framework_allowlist.json | 5 ++ .../openfold3/framework_allowlist.json | 25 ++++++++ .../ray/framework_allowlist.json | 14 ++++- .../ray_llm/framework_allowlist.json | 15 +++++ .../ray_train/framework_allowlist.json | 24 +++++++- .../sklearn/framework_allowlist.json | 13 ++++- .../vllm_omni/framework_allowlist.json | 5 ++ .../xgboost/xgboost-3.0.5.json | 10 ++++ 17 files changed, 240 insertions(+), 36 deletions(-) diff --git a/docker/huggingface/pytorch/Dockerfile b/docker/huggingface/pytorch/Dockerfile index 0d0d926cea88..6651fb1e6a94 100644 --- a/docker/huggingface/pytorch/Dockerfile +++ b/docker/huggingface/pytorch/Dockerfile @@ -59,6 +59,7 @@ RUN uv pip install --python ${VENV_PYTHON} \ "pyasn1>=0.6.4" \ "cryptography>=50.0.0" \ "aiohttp>=3.14.3" \ + "urllib3>=2.8.0" \ && uv cache clean # --- Efficiency / quantization kernels ----------------------------------- diff --git a/docker/ray_llm/uv.lock b/docker/ray_llm/uv.lock index 883bc1c2c598..ea5f60720d6a 100644 --- a/docker/ray_llm/uv.lock +++ b/docker/ray_llm/uv.lock @@ -2661,11 +2661,11 @@ wheels = [ [[package]] name = "pyjwt" -version = "2.13.0" +version = "2.15.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size = 107515, upload-time = "2026-05-21T19:54:36.618Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/ea/5194e52748b0da83d71e082d75496eaec6e58f419f5e184786ded517e6a9/pyjwt-2.15.1.tar.gz", hash = "sha256:4f259e80cdfb6b3fc18a7de51fd1ef9ec79652f25019bae68975ca2468a34df8", size = 121252, upload-time = "2026-09-28T18:40:42.598Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size = 31274, upload-time = "2026-05-21T19:54:35.362Z" }, + { url = "https://files.pythonhosted.org/packages/50/ca/44de4e75f8aadc457f0634be3b542815078ded46dca30efb960edeecad6e/pyjwt-2.15.1-py3-none-any.whl", hash = "sha256:42d59d631f7768a1028a64c7ff581a9bf7519804daf91fc5b6c56e30eec5e193", size = 33860, upload-time = "2026-09-28T18:40:41.429Z" }, ] [package.optional-dependencies] diff --git a/docker/sklearn/1.9-0/uv.lock b/docker/sklearn/1.9-0/uv.lock index 1dfa183ee10b..702c9478608a 100644 --- a/docker/sklearn/1.9-0/uv.lock +++ b/docker/sklearn/1.9-0/uv.lock @@ -828,11 +828,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/tensorflow/inference/2.20/cpu/uv.lock b/docker/tensorflow/inference/2.20/cpu/uv.lock index 0185cdf53598..e024d2c978b7 100644 --- a/docker/tensorflow/inference/2.20/cpu/uv.lock +++ b/docker/tensorflow/inference/2.20/cpu/uv.lock @@ -33,7 +33,15 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/58/d9/22ce5786ac0c1653ae8b6c23bded02c1686d11f0dbb45b31ce128e0df985/aiohttp-3.14.3.tar.gz", hash = "sha256:9491196535a88924a60afd5b5f434b5b203b6cc616250878dbdb223a8f7844bc", size = 7971213, upload-time = "2026-07-23T01:57:27.037Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/ed/62bc4d74363ad346d518e0720363a949f63e2e23439a79eb5813d4d29bb3/aiohttp-3.14.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a94dbaae5ae27bd849c93570669bff91e0510f33a80805738e3de72a7be0447b", size = 1741511, upload-time = "2026-07-23T01:54:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9f/181e8a8bc79e47d13c7fc4540bd7a3b729d9505609c61f392a8dd2fbfe55/aiohttp-3.14.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8f2f1c4c032c7cedd7d8da6f54c97b70266c6570c3108d3fdffee7188bb70529", size = 1810680, upload-time = "2026-07-23T01:54:09.882Z" }, + { url = "https://files.pythonhosted.org/packages/5c/9a/dec94d6ad694552fe3424e3f1928d7a606a5d9d9433a04e7ecdd9d38ae7f/aiohttp-3.14.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ea05e1f97ceea523942d9b2a7d7c0359d781d683d6b043f5943a602b14da4787", size = 1905646, upload-time = "2026-07-23T01:54:13.475Z" }, { url = "https://files.pythonhosted.org/packages/52/b7/7cd31f29d6055bd711ae6e669367fba6f5ae9de463910a793e30556a8db7/aiohttp-3.14.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:543906c127fb1d929b95076db19b83fa2d46751006ff1e23b093aa5ac4d8db42", size = 1792122, upload-time = "2026-07-23T01:54:15.752Z" }, + { url = "https://files.pythonhosted.org/packages/66/73/10b1ef93afa61f4963c746257b70ced619cf31a4798671de5fdb2608501d/aiohttp-3.14.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0a5ff2dfbb9ce645fa5b8ef3e02c6c0b9cc3f6030ff863d0c51fffc50cb5541b", size = 1591127, upload-time = "2026-07-23T01:54:19.489Z" }, + { url = "https://files.pythonhosted.org/packages/28/b7/1c2aab8c706436dcc28598452488ac9cd7c409da815237c28c27d58993e6/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:530125ee1163c4219af35dc3aa1206e541e7b31b6efc1a3f93b70a136f65d427", size = 1764848, upload-time = "2026-07-23T01:54:27.973Z" }, + { url = "https://files.pythonhosted.org/packages/54/50/94c28f08b131c4bf10984ea2c7a536c9920608bb2d6e7f95642c30cc87b7/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8653fd547c93a61aadc612007790f5555cdd18946fa48cf45e26d8ea4ea473d", size = 1777102, upload-time = "2026-07-23T01:54:31.775Z" }, + { url = "https://files.pythonhosted.org/packages/13/d4/e7d09ba7d345fb2d74440fd2fa033c5e079fac05552927705986f41a364f/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:89176250f686cb9853c0fb7ead90e639e915b84a6f43eedc2a4e7ec21f1037f0", size = 1580205, upload-time = "2026-07-23T01:54:34.518Z" }, + { url = "https://files.pythonhosted.org/packages/a3/84/072a91d68e1e1eb587985b54baab94221277f877e8ef274fc213a0ceae28/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3a26434dafe408229ff3403458ca58de24fb51936504decac49ce6755f77e59d", size = 1797219, upload-time = "2026-07-23T01:54:36.995Z" }, { url = "https://files.pythonhosted.org/packages/e0/eb/aad34e897e668424d6e995da5dff8a4a09af93363d3392488772957a63aa/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d1558173930a5a8d3069cee5c92fc91c87c4dbcb099debbb3622053717145a19", size = 1768629, upload-time = "2026-07-23T01:54:40.103Z" }, ] @@ -119,7 +127,15 @@ version = "3.4.7" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/42/f0/3dd1045c47f4a4604df85ec18ad093912ae1344ac706993aff91d38773a2/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b", size = 229031, upload-time = "2026-04-02T09:26:26.865Z" }, + { url = "https://files.pythonhosted.org/packages/dc/67/675a46eb016118a2fbde5a277a5d15f4f69d5f3f5f338e5ee2f8948fcf43/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a", size = 225239, upload-time = "2026-04-02T09:26:28.044Z" }, { url = "https://files.pythonhosted.org/packages/4b/f8/d0118a2f5f23b02cd166fa385c60f9b0d4f9194f574e2b31cef350ad7223/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116", size = 216589, upload-time = "2026-04-02T09:26:29.239Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f1/6d2b0b261b6c4ceef0fcb0d17a01cc5bc53586c2d4796fa04b5c540bc13d/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb", size = 202733, upload-time = "2026-04-02T09:26:30.5Z" }, + { url = "https://files.pythonhosted.org/packages/6f/c0/7b1f943f7e87cc3db9626ba17807d042c38645f0a1d4415c7a14afb5591f/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1", size = 212652, upload-time = "2026-04-02T09:26:31.709Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ff/531a1cad5ca855d1c1a8b69cb71abfd6d85c0291580146fda7c82857caa1/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5", size = 203552, upload-time = "2026-04-02T09:26:34.845Z" }, + { url = "https://files.pythonhosted.org/packages/c1/4c/a5fb52d528a8ca41f7598cb619409ece30a169fbdf9cdce592e53b46c3a6/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d", size = 230806, upload-time = "2026-04-02T09:26:36.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/7a/071feed8124111a32b316b33ae4de83d36923039ef8cf48120266844285b/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7", size = 212316, upload-time = "2026-04-02T09:26:37.672Z" }, + { url = "https://files.pythonhosted.org/packages/fd/35/f7dba3994312d7ba508e041eaac39a36b120f32d4c8662b8814dab876431/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464", size = 227274, upload-time = "2026-04-02T09:26:38.93Z" }, { url = "https://files.pythonhosted.org/packages/8a/2d/a572df5c9204ab7688ec1edc895a73ebded3b023bb07364710b05dd1c9be/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49", size = 218468, upload-time = "2026-04-02T09:26:40.17Z" }, { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, ] @@ -175,6 +191,12 @@ source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" }, { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" }, { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, ] @@ -190,6 +212,8 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/c4/cb/98aa3a299e2fc4a2372b5d124863e02965b64579ffc29fe54d0641e65b2f/gevent-26.5.0.tar.gz", hash = "sha256:1655eb04c1e20d71b2aa4a3c7528162dd58ff6cc46a037af1f01f534c80fefba", size = 6712354, upload-time = "2026-05-20T21:22:45.132Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/9a/21332674f9a10e8cdf13b41b52e9d663647a1c6e1dc3c62b07c0aeefd360/gevent-26.5.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:9f463c7d6f69d13b6fe8e3b832a6175a6e95328a940f38495d25496d1ae8ad88", size = 1880440, upload-time = "2026-05-20T21:16:00.881Z" }, + { url = "https://files.pythonhosted.org/packages/9f/b1/5f8a4196113cf7f3fdd987b483f7e6b10c28ea3930c4727e31ba8cce51b6/gevent-26.5.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:96d5e96b1b14a4c1023dcfcc114533217f13febc3b6169254f23fc18d19fee29", size = 1831592, upload-time = "2026-05-20T21:30:53.832Z" }, { url = "https://files.pythonhosted.org/packages/4e/69/1559b1f6b5107a9118fccd300240879bd581b6d87b03d568d0d155ea702c/gevent-26.5.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:bccff69c462e3650a0fd1d4e9cfc8b6effe15f3e9b1cad20a7bb5ce14b057efd", size = 2114915, upload-time = "2026-05-20T20:35:25.041Z" }, { url = "https://files.pythonhosted.org/packages/f9/3c/2fe77ee6e3d381b3c50c0b7d6c4c08c08b8ff5e8c0d9dd51a3b426d61eec/gevent-26.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0bf57df54f1c66273bf3601c2a1e41b12138fe848933718369663bc54f177ca2", size = 2140806, upload-time = "2026-05-20T20:43:28.895Z" }, ] @@ -200,7 +224,10 @@ version = "3.5.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/6d/6e/802acd792aebb2256fbbee8cacf2727faaeb6f240ac11008f09eae4414bc/greenlet-3.5.1.tar.gz", hash = "sha256:5a56aeb7d5d9cc4b3a735efb5095bd4b4f6f0e4f93e5ca876d0e2315137b7829", size = 197356, upload-time = "2026-05-20T15:05:03.917Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/65/ad/54bc3fcee3ad368a61b19b67d88117f7a8c29727bf71fffdeda81fbd946e/greenlet-3.5.1-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1072b4f9edcc1e192d9283a66a3e68d6b84c561de33a83d7858beb9ba1effe10", size = 614215, upload-time = "2026-05-20T14:05:42.675Z" }, + { url = "https://files.pythonhosted.org/packages/7c/6c/de5b1b388cd2d9fbdfeab324863daba37d54e6e233ddbefd70b385a8c591/greenlet-3.5.1-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:89101bfd5011e069be974903cb3a4e4523845e4ece2d62dcd8d358933c0ef249", size = 620094, upload-time = "2026-05-20T14:09:09.18Z" }, { url = "https://files.pythonhosted.org/packages/40/69/b91cda0647df839483201545913514c2827ebea5e5ccdf931842763bc127/greenlet-3.5.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:add5217d68b31130f0beca584d7fef4878327d2e31642b66618a14eef312b63b", size = 611358, upload-time = "2026-05-20T13:14:26.37Z" }, + { url = "https://files.pythonhosted.org/packages/4a/43/1204baffab8a6476464795a7ccf394a3248d4f22c9f87173a15b36b6d971/greenlet-3.5.1-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:e6cd99ea59dd5d89f0c956606571d79bfe6f68c9eb7f4a4083a41a7f1587edee", size = 422782, upload-time = "2026-05-20T14:01:39.597Z" }, { url = "https://files.pythonhosted.org/packages/65/2c/18cece62045e74598c3c393f70dce4a63f56222015ba29a5d4eeb04f764c/greenlet-3.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c5551170cf4f5ff5623e9af81323751979fee2c731e2287b61f73cd27257b823", size = 1635625, upload-time = "2026-05-20T13:14:34.027Z" }, ] @@ -213,6 +240,7 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/b0/b5/1ff353970a87eda4c98251e34d2dfd214abd4982dc89119c9252a2a482d2/grpcio-1.81.1.tar.gz", hash = "sha256:6fa10a767143a5e82e8eaab53918af0cd8909a57a27f8cb2288b80a613ac671b", size = 13026582, upload-time = "2026-06-11T12:46:51.673Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/85/07/9a979c81738863a738dc23d65177056e71fbb2db817740ed870b33434e7a/grpcio-1.81.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:8b39472beafc0bdcafc4c8c73ad082ebfdb449d566897a61e7acb4fa88089115", size = 6053264, upload-time = "2026-06-11T12:45:21.017Z" }, { url = "https://files.pythonhosted.org/packages/eb/8c/dea020b6d91508cd84463917a63149ec196ee7db505d032ae43fcb3303b9/grpcio-1.81.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:766bc7c9a9c340342f4c864ccbda8e78111e4751f13b895812b9c148fb79e9d0", size = 6809167, upload-time = "2026-06-11T12:45:32.52Z" }, { url = "https://files.pythonhosted.org/packages/25/7a/71437c7f3596e5246155c515852795a85a1a8d228190212432b13b97a95d/grpcio-1.81.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8ea1936c26b99999b27479853039a7f34713f56c49375ad52b38535ec93a796c", size = 7849660, upload-time = "2026-06-11T12:45:40.627Z" }, ] @@ -262,7 +290,13 @@ version = "6.7.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" }, + { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" }, + { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" }, { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" }, + { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" }, + { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" }, { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" }, { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" }, ] @@ -315,7 +349,14 @@ version = "0.5.2" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427", size = 50208, upload-time = "2026-05-08T21:02:12.199Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9", size = 63422, upload-time = "2026-05-08T21:00:16.824Z" }, + { url = "https://files.pythonhosted.org/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42", size = 64342, upload-time = "2026-05-08T21:00:18.362Z" }, { url = "https://files.pythonhosted.org/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476", size = 61639, upload-time = "2026-05-08T21:00:19.692Z" }, + { url = "https://files.pythonhosted.org/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba", size = 61588, upload-time = "2026-05-08T21:00:21.155Z" }, + { url = "https://files.pythonhosted.org/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64", size = 56774, upload-time = "2026-05-08T21:00:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913", size = 63532, upload-time = "2026-05-08T21:00:25.545Z" }, + { url = "https://files.pythonhosted.org/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1", size = 61592, upload-time = "2026-05-08T21:00:27.186Z" }, + { url = "https://files.pythonhosted.org/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33", size = 64788, upload-time = "2026-05-08T21:00:28.8Z" }, { url = "https://files.pythonhosted.org/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a", size = 62514, upload-time = "2026-05-08T21:00:30.098Z" }, { url = "https://files.pythonhosted.org/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe", size = 14036, upload-time = "2026-05-08T21:02:10.673Z" }, ] @@ -326,6 +367,7 @@ version = "6.33.6" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/66/70/e908e9c5e52ef7c3a6c7902c9dfbb34c7e29c25d2f81ade3856445fd5c94/protobuf-6.33.6.tar.gz", hash = "sha256:a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135", size = 444531, upload-time = "2026-03-18T19:05:00.988Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/ca/25afc144934014700c52e05103c2421997482d561f3101ff352e1292fb81/protobuf-6.33.6-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3", size = 339381, upload-time = "2026-03-18T19:04:54.616Z" }, { url = "https://files.pythonhosted.org/packages/16/92/d1e32e3e0d894fe00b15ce28ad4944ab692713f2e7f0a99787405e43533a/protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593", size = 323436, upload-time = "2026-03-18T19:04:55.768Z" }, { url = "https://files.pythonhosted.org/packages/c4/72/02445137af02769918a93807b2b7890047c32bfb9f90371cbc12688819eb/protobuf-6.33.6-py3-none-any.whl", hash = "sha256:77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901", size = 170656, upload-time = "2026-03-18T19:04:59.826Z" }, ] @@ -357,6 +399,7 @@ version = "6.0.3" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, ] @@ -510,11 +553,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] @@ -528,7 +571,15 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/79/12/1e8f37460ea0f7eb59c221fdaf0ed75e7ac43e97f8093b9c6f411df50a78/yarl-1.24.2.tar.gz", hash = "sha256:9ac374123c6fd7abf64d1fec93962b0bd4ee2c19751755a762a72dd96c0378f8", size = 210798, upload-time = "2026-05-19T21:31:05.599Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/bc/6b9664d815d79af4ee553337f9d606c56bbf269186ada9172de45f1b5f60/yarl-1.24.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4c17bad5a530912d2111825d3f05e89bab2dd376aaa8cbc77e449e6db63e576", size = 97931, upload-time = "2026-05-19T21:28:58.56Z" }, + { url = "https://files.pythonhosted.org/packages/98/ec/32ba48acae30fecd60928f5791188b80a9d6ee3840507ffda29fecd37b71/yarl-1.24.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f5f0cbb112838a4a293985b6ed73948a547dadcc1ba6d2089938e7abdedceef8", size = 111030, upload-time = "2026-05-19T21:29:00.148Z" }, + { url = "https://files.pythonhosted.org/packages/82/5a/6f4cd081e5f4934d2ae3a8ef4abe3afacc010d26f0035ee91b35cd7d7c37/yarl-1.24.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ec8356b8a6afcf81fc7aeeef13b1ff7a49dec00f313394bbb9e83830d32ccd7", size = 110392, upload-time = "2026-05-19T21:29:02.155Z" }, { url = "https://files.pythonhosted.org/packages/7a/da/323a01c349bd5fb01bb6652e314d9bb218cee630a736bdb810ad50e4013f/yarl-1.24.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e7ebcdef69dec6c6451e616f32b622a6d4a2e92b445c992f7c8e5274a6bbc4c", size = 105612, upload-time = "2026-05-19T21:29:04.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/80/264ab684f181e1a876389374519ff05d10248725535ae2ac4e8ac4e563d6/yarl-1.24.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:47a55d6cf6db2f401017a9e96e5288844e5051911fb4e0c8311a3980f5e59a7d", size = 104487, upload-time = "2026-05-19T21:29:06.491Z" }, + { url = "https://files.pythonhosted.org/packages/44/0c/bcf7c42603e1009295f586d8890f2ba032c8b53310e815adf0a202c73d9f/yarl-1.24.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:cb84b80d88e19ede158619b80813968713d8d008b0e2497a576e6a0557d50712", size = 99025, upload-time = "2026-05-19T21:29:10.682Z" }, + { url = "https://files.pythonhosted.org/packages/4f/82/84482ab1a57a0f21a08afe6a7004c61d741f8f2ecc3b05c321577c612164/yarl-1.24.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:990de4f680b1c217e77ff0d6aa0029f9eb79889c11fb3e9a3942c7eba29c1996", size = 110507, upload-time = "2026-05-19T21:29:12.954Z" }, + { url = "https://files.pythonhosted.org/packages/c4/8d/a546ba1dfe1b0f290e05fef145cd07614c0f15df1a707195e512d1e39d1d/yarl-1.24.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:abb8ec0323b80161e3802da3150ef660b41d0e9be2048b76a363d93eee992c2b", size = 103719, upload-time = "2026-05-19T21:29:14.893Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b6/267f2a09213138473adfce6b8a6e17791d7fee70bd4d9003218e4dec58b0/yarl-1.24.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e7977781f83638a4c73e0f88425563d70173e0dfd90ac006a45c65036293ee3c", size = 110438, upload-time = "2026-05-19T21:29:16.485Z" }, { url = "https://files.pythonhosted.org/packages/48/2d/1c8d89c7c5f9cad9fb2902445d94e2ab1d7aa35de029afbb8ae95c42d00f/yarl-1.24.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e30dd55825dc554ec5b66a94953b8eda8745926514c5089dfcacecb9c99b5bd1", size = 105719, upload-time = "2026-05-19T21:29:18.367Z" }, { url = "https://files.pythonhosted.org/packages/fd/4d/4b880086bd0d3e034d25647be1d830afc3e3f610e98c4ab3490af6b1b6d5/yarl-1.24.2-py3-none-any.whl", hash = "sha256:2783d9226db8797636cd6896e4de81feed252d1db72265686c9558d97a4d94b9", size = 53576, upload-time = "2026-05-19T21:31:03.909Z" }, ] diff --git a/docker/tensorflow/inference/2.20/cuda/uv.lock b/docker/tensorflow/inference/2.20/cuda/uv.lock index 6a3f16aceb4a..4449603288d6 100644 --- a/docker/tensorflow/inference/2.20/cuda/uv.lock +++ b/docker/tensorflow/inference/2.20/cuda/uv.lock @@ -33,7 +33,15 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/58/d9/22ce5786ac0c1653ae8b6c23bded02c1686d11f0dbb45b31ce128e0df985/aiohttp-3.14.3.tar.gz", hash = "sha256:9491196535a88924a60afd5b5f434b5b203b6cc616250878dbdb223a8f7844bc", size = 7971213, upload-time = "2026-07-23T01:57:27.037Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/ed/62bc4d74363ad346d518e0720363a949f63e2e23439a79eb5813d4d29bb3/aiohttp-3.14.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a94dbaae5ae27bd849c93570669bff91e0510f33a80805738e3de72a7be0447b", size = 1741511, upload-time = "2026-07-23T01:54:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9f/181e8a8bc79e47d13c7fc4540bd7a3b729d9505609c61f392a8dd2fbfe55/aiohttp-3.14.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8f2f1c4c032c7cedd7d8da6f54c97b70266c6570c3108d3fdffee7188bb70529", size = 1810680, upload-time = "2026-07-23T01:54:09.882Z" }, + { url = "https://files.pythonhosted.org/packages/5c/9a/dec94d6ad694552fe3424e3f1928d7a606a5d9d9433a04e7ecdd9d38ae7f/aiohttp-3.14.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ea05e1f97ceea523942d9b2a7d7c0359d781d683d6b043f5943a602b14da4787", size = 1905646, upload-time = "2026-07-23T01:54:13.475Z" }, { url = "https://files.pythonhosted.org/packages/52/b7/7cd31f29d6055bd711ae6e669367fba6f5ae9de463910a793e30556a8db7/aiohttp-3.14.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:543906c127fb1d929b95076db19b83fa2d46751006ff1e23b093aa5ac4d8db42", size = 1792122, upload-time = "2026-07-23T01:54:15.752Z" }, + { url = "https://files.pythonhosted.org/packages/66/73/10b1ef93afa61f4963c746257b70ced619cf31a4798671de5fdb2608501d/aiohttp-3.14.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0a5ff2dfbb9ce645fa5b8ef3e02c6c0b9cc3f6030ff863d0c51fffc50cb5541b", size = 1591127, upload-time = "2026-07-23T01:54:19.489Z" }, + { url = "https://files.pythonhosted.org/packages/28/b7/1c2aab8c706436dcc28598452488ac9cd7c409da815237c28c27d58993e6/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:530125ee1163c4219af35dc3aa1206e541e7b31b6efc1a3f93b70a136f65d427", size = 1764848, upload-time = "2026-07-23T01:54:27.973Z" }, + { url = "https://files.pythonhosted.org/packages/54/50/94c28f08b131c4bf10984ea2c7a536c9920608bb2d6e7f95642c30cc87b7/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8653fd547c93a61aadc612007790f5555cdd18946fa48cf45e26d8ea4ea473d", size = 1777102, upload-time = "2026-07-23T01:54:31.775Z" }, + { url = "https://files.pythonhosted.org/packages/13/d4/e7d09ba7d345fb2d74440fd2fa033c5e079fac05552927705986f41a364f/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:89176250f686cb9853c0fb7ead90e639e915b84a6f43eedc2a4e7ec21f1037f0", size = 1580205, upload-time = "2026-07-23T01:54:34.518Z" }, + { url = "https://files.pythonhosted.org/packages/a3/84/072a91d68e1e1eb587985b54baab94221277f877e8ef274fc213a0ceae28/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3a26434dafe408229ff3403458ca58de24fb51936504decac49ce6755f77e59d", size = 1797219, upload-time = "2026-07-23T01:54:36.995Z" }, { url = "https://files.pythonhosted.org/packages/e0/eb/aad34e897e668424d6e995da5dff8a4a09af93363d3392488772957a63aa/aiohttp-3.14.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d1558173930a5a8d3069cee5c92fc91c87c4dbcb099debbb3622053717145a19", size = 1768629, upload-time = "2026-07-23T01:54:40.103Z" }, ] @@ -119,7 +127,15 @@ version = "3.4.7" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/42/f0/3dd1045c47f4a4604df85ec18ad093912ae1344ac706993aff91d38773a2/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b", size = 229031, upload-time = "2026-04-02T09:26:26.865Z" }, + { url = "https://files.pythonhosted.org/packages/dc/67/675a46eb016118a2fbde5a277a5d15f4f69d5f3f5f338e5ee2f8948fcf43/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a", size = 225239, upload-time = "2026-04-02T09:26:28.044Z" }, { url = "https://files.pythonhosted.org/packages/4b/f8/d0118a2f5f23b02cd166fa385c60f9b0d4f9194f574e2b31cef350ad7223/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116", size = 216589, upload-time = "2026-04-02T09:26:29.239Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f1/6d2b0b261b6c4ceef0fcb0d17a01cc5bc53586c2d4796fa04b5c540bc13d/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb", size = 202733, upload-time = "2026-04-02T09:26:30.5Z" }, + { url = "https://files.pythonhosted.org/packages/6f/c0/7b1f943f7e87cc3db9626ba17807d042c38645f0a1d4415c7a14afb5591f/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1", size = 212652, upload-time = "2026-04-02T09:26:31.709Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ff/531a1cad5ca855d1c1a8b69cb71abfd6d85c0291580146fda7c82857caa1/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5", size = 203552, upload-time = "2026-04-02T09:26:34.845Z" }, + { url = "https://files.pythonhosted.org/packages/c1/4c/a5fb52d528a8ca41f7598cb619409ece30a169fbdf9cdce592e53b46c3a6/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d", size = 230806, upload-time = "2026-04-02T09:26:36.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/7a/071feed8124111a32b316b33ae4de83d36923039ef8cf48120266844285b/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7", size = 212316, upload-time = "2026-04-02T09:26:37.672Z" }, + { url = "https://files.pythonhosted.org/packages/fd/35/f7dba3994312d7ba508e041eaac39a36b120f32d4c8662b8814dab876431/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464", size = 227274, upload-time = "2026-04-02T09:26:38.93Z" }, { url = "https://files.pythonhosted.org/packages/8a/2d/a572df5c9204ab7688ec1edc895a73ebded3b023bb07364710b05dd1c9be/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49", size = 218468, upload-time = "2026-04-02T09:26:40.17Z" }, { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, ] @@ -175,6 +191,12 @@ source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" }, { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" }, { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, ] @@ -190,6 +212,8 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/c4/cb/98aa3a299e2fc4a2372b5d124863e02965b64579ffc29fe54d0641e65b2f/gevent-26.5.0.tar.gz", hash = "sha256:1655eb04c1e20d71b2aa4a3c7528162dd58ff6cc46a037af1f01f534c80fefba", size = 6712354, upload-time = "2026-05-20T21:22:45.132Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/9a/21332674f9a10e8cdf13b41b52e9d663647a1c6e1dc3c62b07c0aeefd360/gevent-26.5.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:9f463c7d6f69d13b6fe8e3b832a6175a6e95328a940f38495d25496d1ae8ad88", size = 1880440, upload-time = "2026-05-20T21:16:00.881Z" }, + { url = "https://files.pythonhosted.org/packages/9f/b1/5f8a4196113cf7f3fdd987b483f7e6b10c28ea3930c4727e31ba8cce51b6/gevent-26.5.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:96d5e96b1b14a4c1023dcfcc114533217f13febc3b6169254f23fc18d19fee29", size = 1831592, upload-time = "2026-05-20T21:30:53.832Z" }, { url = "https://files.pythonhosted.org/packages/4e/69/1559b1f6b5107a9118fccd300240879bd581b6d87b03d568d0d155ea702c/gevent-26.5.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:bccff69c462e3650a0fd1d4e9cfc8b6effe15f3e9b1cad20a7bb5ce14b057efd", size = 2114915, upload-time = "2026-05-20T20:35:25.041Z" }, { url = "https://files.pythonhosted.org/packages/f9/3c/2fe77ee6e3d381b3c50c0b7d6c4c08c08b8ff5e8c0d9dd51a3b426d61eec/gevent-26.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0bf57df54f1c66273bf3601c2a1e41b12138fe848933718369663bc54f177ca2", size = 2140806, upload-time = "2026-05-20T20:43:28.895Z" }, ] @@ -200,7 +224,10 @@ version = "3.5.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/6d/6e/802acd792aebb2256fbbee8cacf2727faaeb6f240ac11008f09eae4414bc/greenlet-3.5.1.tar.gz", hash = "sha256:5a56aeb7d5d9cc4b3a735efb5095bd4b4f6f0e4f93e5ca876d0e2315137b7829", size = 197356, upload-time = "2026-05-20T15:05:03.917Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/65/ad/54bc3fcee3ad368a61b19b67d88117f7a8c29727bf71fffdeda81fbd946e/greenlet-3.5.1-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1072b4f9edcc1e192d9283a66a3e68d6b84c561de33a83d7858beb9ba1effe10", size = 614215, upload-time = "2026-05-20T14:05:42.675Z" }, + { url = "https://files.pythonhosted.org/packages/7c/6c/de5b1b388cd2d9fbdfeab324863daba37d54e6e233ddbefd70b385a8c591/greenlet-3.5.1-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:89101bfd5011e069be974903cb3a4e4523845e4ece2d62dcd8d358933c0ef249", size = 620094, upload-time = "2026-05-20T14:09:09.18Z" }, { url = "https://files.pythonhosted.org/packages/40/69/b91cda0647df839483201545913514c2827ebea5e5ccdf931842763bc127/greenlet-3.5.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:add5217d68b31130f0beca584d7fef4878327d2e31642b66618a14eef312b63b", size = 611358, upload-time = "2026-05-20T13:14:26.37Z" }, + { url = "https://files.pythonhosted.org/packages/4a/43/1204baffab8a6476464795a7ccf394a3248d4f22c9f87173a15b36b6d971/greenlet-3.5.1-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:e6cd99ea59dd5d89f0c956606571d79bfe6f68c9eb7f4a4083a41a7f1587edee", size = 422782, upload-time = "2026-05-20T14:01:39.597Z" }, { url = "https://files.pythonhosted.org/packages/65/2c/18cece62045e74598c3c393f70dce4a63f56222015ba29a5d4eeb04f764c/greenlet-3.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c5551170cf4f5ff5623e9af81323751979fee2c731e2287b61f73cd27257b823", size = 1635625, upload-time = "2026-05-20T13:14:34.027Z" }, ] @@ -213,6 +240,7 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/b0/b5/1ff353970a87eda4c98251e34d2dfd214abd4982dc89119c9252a2a482d2/grpcio-1.81.1.tar.gz", hash = "sha256:6fa10a767143a5e82e8eaab53918af0cd8909a57a27f8cb2288b80a613ac671b", size = 13026582, upload-time = "2026-06-11T12:46:51.673Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/85/07/9a979c81738863a738dc23d65177056e71fbb2db817740ed870b33434e7a/grpcio-1.81.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:8b39472beafc0bdcafc4c8c73ad082ebfdb449d566897a61e7acb4fa88089115", size = 6053264, upload-time = "2026-06-11T12:45:21.017Z" }, { url = "https://files.pythonhosted.org/packages/eb/8c/dea020b6d91508cd84463917a63149ec196ee7db505d032ae43fcb3303b9/grpcio-1.81.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:766bc7c9a9c340342f4c864ccbda8e78111e4751f13b895812b9c148fb79e9d0", size = 6809167, upload-time = "2026-06-11T12:45:32.52Z" }, { url = "https://files.pythonhosted.org/packages/25/7a/71437c7f3596e5246155c515852795a85a1a8d228190212432b13b97a95d/grpcio-1.81.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8ea1936c26b99999b27479853039a7f34713f56c49375ad52b38535ec93a796c", size = 7849660, upload-time = "2026-06-11T12:45:40.627Z" }, ] @@ -262,7 +290,13 @@ version = "6.7.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" }, + { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" }, + { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" }, { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" }, + { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" }, + { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" }, { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" }, { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" }, ] @@ -345,7 +379,14 @@ version = "0.5.2" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427", size = 50208, upload-time = "2026-05-08T21:02:12.199Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9", size = 63422, upload-time = "2026-05-08T21:00:16.824Z" }, + { url = "https://files.pythonhosted.org/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42", size = 64342, upload-time = "2026-05-08T21:00:18.362Z" }, { url = "https://files.pythonhosted.org/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476", size = 61639, upload-time = "2026-05-08T21:00:19.692Z" }, + { url = "https://files.pythonhosted.org/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba", size = 61588, upload-time = "2026-05-08T21:00:21.155Z" }, + { url = "https://files.pythonhosted.org/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64", size = 56774, upload-time = "2026-05-08T21:00:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913", size = 63532, upload-time = "2026-05-08T21:00:25.545Z" }, + { url = "https://files.pythonhosted.org/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1", size = 61592, upload-time = "2026-05-08T21:00:27.186Z" }, + { url = "https://files.pythonhosted.org/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33", size = 64788, upload-time = "2026-05-08T21:00:28.8Z" }, { url = "https://files.pythonhosted.org/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a", size = 62514, upload-time = "2026-05-08T21:00:30.098Z" }, { url = "https://files.pythonhosted.org/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe", size = 14036, upload-time = "2026-05-08T21:02:10.673Z" }, ] @@ -356,6 +397,7 @@ version = "6.33.6" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/66/70/e908e9c5e52ef7c3a6c7902c9dfbb34c7e29c25d2f81ade3856445fd5c94/protobuf-6.33.6.tar.gz", hash = "sha256:a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135", size = 444531, upload-time = "2026-03-18T19:05:00.988Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/ca/25afc144934014700c52e05103c2421997482d561f3101ff352e1292fb81/protobuf-6.33.6-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3", size = 339381, upload-time = "2026-03-18T19:04:54.616Z" }, { url = "https://files.pythonhosted.org/packages/16/92/d1e32e3e0d894fe00b15ce28ad4944ab692713f2e7f0a99787405e43533a/protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593", size = 323436, upload-time = "2026-03-18T19:04:55.768Z" }, { url = "https://files.pythonhosted.org/packages/c4/72/02445137af02769918a93807b2b7890047c32bfb9f90371cbc12688819eb/protobuf-6.33.6-py3-none-any.whl", hash = "sha256:77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901", size = 170656, upload-time = "2026-03-18T19:04:59.826Z" }, ] @@ -387,6 +429,7 @@ version = "6.0.3" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, ] @@ -542,11 +585,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] @@ -560,7 +603,15 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/79/12/1e8f37460ea0f7eb59c221fdaf0ed75e7ac43e97f8093b9c6f411df50a78/yarl-1.24.2.tar.gz", hash = "sha256:9ac374123c6fd7abf64d1fec93962b0bd4ee2c19751755a762a72dd96c0378f8", size = 210798, upload-time = "2026-05-19T21:31:05.599Z" } wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/bc/6b9664d815d79af4ee553337f9d606c56bbf269186ada9172de45f1b5f60/yarl-1.24.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4c17bad5a530912d2111825d3f05e89bab2dd376aaa8cbc77e449e6db63e576", size = 97931, upload-time = "2026-05-19T21:28:58.56Z" }, + { url = "https://files.pythonhosted.org/packages/98/ec/32ba48acae30fecd60928f5791188b80a9d6ee3840507ffda29fecd37b71/yarl-1.24.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f5f0cbb112838a4a293985b6ed73948a547dadcc1ba6d2089938e7abdedceef8", size = 111030, upload-time = "2026-05-19T21:29:00.148Z" }, + { url = "https://files.pythonhosted.org/packages/82/5a/6f4cd081e5f4934d2ae3a8ef4abe3afacc010d26f0035ee91b35cd7d7c37/yarl-1.24.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ec8356b8a6afcf81fc7aeeef13b1ff7a49dec00f313394bbb9e83830d32ccd7", size = 110392, upload-time = "2026-05-19T21:29:02.155Z" }, { url = "https://files.pythonhosted.org/packages/7a/da/323a01c349bd5fb01bb6652e314d9bb218cee630a736bdb810ad50e4013f/yarl-1.24.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e7ebcdef69dec6c6451e616f32b622a6d4a2e92b445c992f7c8e5274a6bbc4c", size = 105612, upload-time = "2026-05-19T21:29:04.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/80/264ab684f181e1a876389374519ff05d10248725535ae2ac4e8ac4e563d6/yarl-1.24.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:47a55d6cf6db2f401017a9e96e5288844e5051911fb4e0c8311a3980f5e59a7d", size = 104487, upload-time = "2026-05-19T21:29:06.491Z" }, + { url = "https://files.pythonhosted.org/packages/44/0c/bcf7c42603e1009295f586d8890f2ba032c8b53310e815adf0a202c73d9f/yarl-1.24.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:cb84b80d88e19ede158619b80813968713d8d008b0e2497a576e6a0557d50712", size = 99025, upload-time = "2026-05-19T21:29:10.682Z" }, + { url = "https://files.pythonhosted.org/packages/4f/82/84482ab1a57a0f21a08afe6a7004c61d741f8f2ecc3b05c321577c612164/yarl-1.24.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:990de4f680b1c217e77ff0d6aa0029f9eb79889c11fb3e9a3942c7eba29c1996", size = 110507, upload-time = "2026-05-19T21:29:12.954Z" }, + { url = "https://files.pythonhosted.org/packages/c4/8d/a546ba1dfe1b0f290e05fef145cd07614c0f15df1a707195e512d1e39d1d/yarl-1.24.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:abb8ec0323b80161e3802da3150ef660b41d0e9be2048b76a363d93eee992c2b", size = 103719, upload-time = "2026-05-19T21:29:14.893Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b6/267f2a09213138473adfce6b8a6e17791d7fee70bd4d9003218e4dec58b0/yarl-1.24.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e7977781f83638a4c73e0f88425563d70173e0dfd90ac006a45c65036293ee3c", size = 110438, upload-time = "2026-05-19T21:29:16.485Z" }, { url = "https://files.pythonhosted.org/packages/48/2d/1c8d89c7c5f9cad9fb2902445d94e2ab1d7aa35de029afbb8ae95c42d00f/yarl-1.24.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e30dd55825dc554ec5b66a94953b8eda8745926514c5089dfcacecb9c99b5bd1", size = 105719, upload-time = "2026-05-19T21:29:18.367Z" }, { url = "https://files.pythonhosted.org/packages/fd/4d/4b880086bd0d3e034d25647be1d830afc3e3f610e98c4ab3490af6b1b6d5/yarl-1.24.2-py3-none-any.whl", hash = "sha256:2783d9226db8797636cd6896e4de81feed252d1db72265686c9558d97a4d94b9", size = 53576, upload-time = "2026-05-19T21:31:03.909Z" }, ] diff --git a/docker/tensorflow/training/2.21/cpu/uv.lock b/docker/tensorflow/training/2.21/cpu/uv.lock index 61360d5eef78..f9e65abe0267 100644 --- a/docker/tensorflow/training/2.21/cpu/uv.lock +++ b/docker/tensorflow/training/2.21/cpu/uv.lock @@ -2513,11 +2513,11 @@ glue = [ [[package]] name = "pyjwt" -version = "2.13.0" +version = "2.15.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size = 107515, upload-time = "2026-05-21T19:54:36.618Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/ea/5194e52748b0da83d71e082d75496eaec6e58f419f5e184786ded517e6a9/pyjwt-2.15.1.tar.gz", hash = "sha256:4f259e80cdfb6b3fc18a7de51fd1ef9ec79652f25019bae68975ca2468a34df8", size = 121252, upload-time = "2026-09-28T18:40:42.598Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size = 31274, upload-time = "2026-05-21T19:54:35.362Z" }, + { url = "https://files.pythonhosted.org/packages/50/ca/44de4e75f8aadc457f0634be3b542815078ded46dca30efb960edeecad6e/pyjwt-2.15.1-py3-none-any.whl", hash = "sha256:42d59d631f7768a1028a64c7ff581a9bf7519804daf91fc5b6c56e30eec5e193", size = 33860, upload-time = "2026-09-28T18:40:41.429Z" }, ] [[package]] @@ -3727,11 +3727,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/tensorflow/training/2.21/cuda/uv.lock b/docker/tensorflow/training/2.21/cuda/uv.lock index 091fdf6ebde2..0a28f2a51349 100644 --- a/docker/tensorflow/training/2.21/cuda/uv.lock +++ b/docker/tensorflow/training/2.21/cuda/uv.lock @@ -2746,11 +2746,11 @@ glue = [ [[package]] name = "pyjwt" -version = "2.13.0" +version = "2.15.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size = 107515, upload-time = "2026-05-21T19:54:36.618Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/ea/5194e52748b0da83d71e082d75496eaec6e58f419f5e184786ded517e6a9/pyjwt-2.15.1.tar.gz", hash = "sha256:4f259e80cdfb6b3fc18a7de51fd1ef9ec79652f25019bae68975ca2468a34df8", size = 121252, upload-time = "2026-09-28T18:40:42.598Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size = 31274, upload-time = "2026-05-21T19:54:35.362Z" }, + { url = "https://files.pythonhosted.org/packages/50/ca/44de4e75f8aadc457f0634be3b542815078ded46dca30efb960edeecad6e/pyjwt-2.15.1-py3-none-any.whl", hash = "sha256:42d59d631f7768a1028a64c7ff581a9bf7519804daf91fc5b6c56e30eec5e193", size = 33860, upload-time = "2026-09-28T18:40:41.429Z" }, ] [[package]] @@ -3975,11 +3975,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/docker/xgboost/pyproject.toml b/docker/xgboost/pyproject.toml index 6e912c44b8f4..f15af2100022 100644 --- a/docker/xgboost/pyproject.toml +++ b/docker/xgboost/pyproject.toml @@ -31,7 +31,7 @@ dependencies = [ "scikit-learn==1.8.0", "scipy==1.15.0", "setuptools>=80.9.0,<81", - "urllib3==2.7.0", + "urllib3==2.8.0", "Werkzeug==3.1.8", "pyarrow==22.0.0", "protobuf>=3.20.0,<=3.20.3", @@ -48,7 +48,7 @@ override-dependencies = [ "markupsafe>=2.1.5", "itsdangerous>=2.2.0", "werkzeug==3.1.8", - "urllib3==2.7.0", + "urllib3==2.8.0", "certifi==2025.4.26", "pillow==12.3.0", ] diff --git a/docker/xgboost/uv.lock b/docker/xgboost/uv.lock index 8ac53331063b..121c2d0f3f6f 100644 --- a/docker/xgboost/uv.lock +++ b/docker/xgboost/uv.lock @@ -10,7 +10,7 @@ overrides = [ { name = "jinja2", specifier = ">=3.1.6" }, { name = "markupsafe", specifier = ">=2.1.5" }, { name = "pillow", specifier = "==12.3.0" }, - { name = "urllib3", specifier = "==2.7.0" }, + { name = "urllib3", specifier = "==2.8.0" }, { name = "werkzeug", specifier = "==3.1.8" }, ] @@ -1150,11 +1150,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] @@ -1265,7 +1265,7 @@ requires-dist = [ { name = "scipy", specifier = "==1.15.0" }, { name = "setuptools", specifier = ">=80.9.0,<81" }, { name = "tornado", specifier = ">=6.5.8" }, - { name = "urllib3", specifier = "==2.7.0" }, + { name = "urllib3", specifier = "==2.8.0" }, { name = "werkzeug", specifier = "==3.1.8" }, { name = "xgboost", specifier = "==3.2.0" }, ] diff --git a/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json index 64ba16f8260f..598e84587fa3 100644 --- a/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json @@ -23,5 +23,10 @@ "vulnerability_id": "CVE-2026-93436", "reason": "vllm pinned by the huggingface-pytorch-training image (VLLM_VERSION); fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", "review_by": "2026-10-27" + }, + { + "vulnerability_id": "CVE-2026-94623", + "reason": "vllm 0.25.0 pinned by the image; fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-27" } ] diff --git a/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json index 3dd0f86eab00..62efb13495b2 100644 --- a/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json @@ -323,5 +323,30 @@ "vulnerability_id": "CVE-2026-80255", "reason": "curl/libcurl 8.17.0 ships in the miniforge base conda (conda-forge) that underpins conda/mamba; fix requires curl>=8.22.0, not independently bumpable without re-resolving the conda-forge base env (pinned to openssl 3.6). Tracked for upstream bump.", "review_by": "2026-10-26" + }, + { + "vulnerability_id": "CVE-2026-97687", + "reason": "urllib3 2.7.0 inherited from the published base image (/usr/local site-packages); base-image fix handled in a separate base PR, propagates on next base release", + "review_by": "2026-10-15" + }, + { + "vulnerability_id": "CVE-2026-97689", + "reason": "urllib3 2.7.0 inherited from the published base image (/usr/local site-packages); base-image fix handled in a separate base PR, propagates on next base release", + "review_by": "2026-10-15" + }, + { + "vulnerability_id": "CVE-2026-84784", + "reason": "openssl 3.6.x pinned by the OpenFold3 0.4.1 upstream conda lock; fix 4.0.3 not available on conda-forge", + "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-84782", + "reason": "openssl 3.6.x pinned by the OpenFold3 0.4.1 upstream conda lock; fix 4.0.3 not available on conda-forge", + "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-72897", + "reason": "openssl 3.6.x pinned by the OpenFold3 0.4.1 upstream conda lock; fix 4.0.3 not available on conda-forge", + "review_by": "2026-11-28" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json index bc4a9fadccba..57d242babdfe 100644 --- a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json @@ -1,12 +1,12 @@ [ { "vulnerability_id": "CVE-2025-23339", - "reason": "cuda-toolkit-config-common — NoFixPlanned upstream (fixed only in CUDA 13+)", + "reason": "cuda-toolkit-config-common \u2014 NoFixPlanned upstream (fixed only in CUDA 13+)", "review_by": "2026-10-18" }, { "vulnerability_id": "CVE-2025-23308", - "reason": "cuda-toolkit-config-common — NoFixPlanned upstream (fixed only in CUDA 13+)", + "reason": "cuda-toolkit-config-common \u2014 NoFixPlanned upstream (fixed only in CUDA 13+)", "review_by": "2026-10-18" }, { @@ -53,5 +53,15 @@ "vulnerability_id": "CVE-2026-68497", "reason": "jackson-databind 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.2)", "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-91776", + "reason": "jackson-databind 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", + "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-91777", + "reason": "jackson-databind 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", + "review_by": "2026-11-28" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json index ea4076c46671..6a4ea84157ae 100644 --- a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json @@ -18,5 +18,20 @@ "vulnerability_id": "CVE-2026-93436", "reason": "vllm pinned by the ray-llm image (VLLM_VERSION); fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", "review_by": "2026-10-27" + }, + { + "vulnerability_id": "CVE-2026-94623", + "reason": "vllm 0.26.0 pinned by the image; fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-27" + }, + { + "vulnerability_id": "CVE-2026-97687", + "reason": "urllib3 2.7.0 inherited from the published base image (/usr/local site-packages); base-image fix handled in a separate base PR, propagates on next base release", + "review_by": "2026-10-15" + }, + { + "vulnerability_id": "CVE-2026-97689", + "reason": "urllib3 2.7.0 inherited from the published base image (/usr/local site-packages); base-image fix handled in a separate base PR, propagates on next base release", + "review_by": "2026-10-15" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json index 607b348ffb0f..3ae0df4613c0 100644 --- a/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json @@ -1,12 +1,12 @@ [ { "vulnerability_id": "CVE-2025-23339", - "reason": "cuda-toolkit-config-common — NoFixPlanned upstream (fixed only in CUDA 13+)", + "reason": "cuda-toolkit-config-common \u2014 NoFixPlanned upstream (fixed only in CUDA 13+)", "review_by": "2026-10-18" }, { "vulnerability_id": "CVE-2025-23308", - "reason": "cuda-toolkit-config-common — NoFixPlanned upstream (fixed only in CUDA 13+)", + "reason": "cuda-toolkit-config-common \u2014 NoFixPlanned upstream (fixed only in CUDA 13+)", "review_by": "2026-10-18" }, { @@ -38,5 +38,25 @@ "vulnerability_id": "CVE-2026-68497", "reason": "jackson-databind bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.2)", "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-91776", + "reason": "jackson-databind 2.18.8 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", + "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-91777", + "reason": "jackson-databind 2.18.8 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", + "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-97687", + "reason": "urllib3 2.7.0 inherited from the published base image (/usr/local site-packages); base-image fix handled in a separate base PR, propagates on next base release", + "review_by": "2026-10-15" + }, + { + "vulnerability_id": "CVE-2026-97689", + "reason": "urllib3 2.7.0 inherited from the published base image (/usr/local site-packages); base-image fix handled in a separate base PR, propagates on next base release", + "review_by": "2026-10-15" } ] diff --git a/test/security/data/ecr_scan_allowlist/sklearn/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/sklearn/framework_allowlist.json index fe51488c7066..9f06d2bf766e 100644 --- a/test/security/data/ecr_scan_allowlist/sklearn/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/sklearn/framework_allowlist.json @@ -1 +1,12 @@ -[] +[ + { + "vulnerability_id": "CVE-2026-97687", + "reason": "urllib3 1.26.17 pinned by botocore<1.32 in the 1.4-2-py312 image (legacy sagemaker stack); urllib3>=2 unsatisfiable without a botocore bump", + "review_by": "2026-10-15" + }, + { + "vulnerability_id": "CVE-2026-97689", + "reason": "urllib3 1.26.17 pinned by botocore<1.32 in the 1.4-2-py312 image (legacy sagemaker stack); urllib3>=2 unsatisfiable without a botocore bump", + "review_by": "2026-10-15" + } +] diff --git a/test/security/data/ecr_scan_allowlist/vllm_omni/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/vllm_omni/framework_allowlist.json index 50f26cf162d9..5cebd0406664 100644 --- a/test/security/data/ecr_scan_allowlist/vllm_omni/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/vllm_omni/framework_allowlist.json @@ -68,5 +68,10 @@ "vulnerability_id": "CVE-2026-93436", "reason": "vllm pinned by the vllm-omni image (VLLM_VERSION); fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", "review_by": "2026-10-27" + }, + { + "vulnerability_id": "CVE-2026-94623", + "reason": "vllm 0.29.0rc1 pinned by the image; fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", + "review_by": "2026-10-27" } ] diff --git a/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json b/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json index 276f5c4baea5..f7d4557907c4 100644 --- a/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json +++ b/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json @@ -593,5 +593,15 @@ "vulnerability_id": "CVE-2026-84782", "reason": "openssl 3.6.3 in the bundled miniconda3 environment. The scanner's fixed version 4.0.3 is unreleased upstream; conda-forge tops out at 4.0.1, which is itself within the affected range, so the openssl>=4.0.3 pin is unsatisfiable. Affected TLS paths are not enabled by the XGBoost training/serving code. (3.6.4 exists on the 3.6 branch, which reaches EOL 2026-11-01; durable fix is moving this env to the 3.5 LTS line.)", "review_by": "2027-03-02" + }, + { + "vulnerability_id": "CVE-2026-97687", + "reason": "urllib3 1.26.20 pinned transitively by botocore 1.20.52 (legacy sagemaker-containers stack) in /miniconda3; urllib3>=2 unsatisfiable without a botocore bump", + "review_by": "2026-10-15" + }, + { + "vulnerability_id": "CVE-2026-97689", + "reason": "urllib3 1.26.20 pinned transitively by botocore 1.20.52 (legacy sagemaker-containers stack) in /miniconda3; urllib3>=2 unsatisfiable without a botocore bump", + "review_by": "2026-10-15" } ] From 184d5089d8e0678e04fbe9409257fdee281ac614 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Thu, 1 Oct 2026 00:02:16 -0700 Subject: [PATCH 15/19] fix: allowlist openssl cve-2026-54873 and sklearn 1.4-2 urllib3, bump whisperx urllib3 --- docker/whisperx/uv.lock | 6 +++--- .../openfold3/framework_allowlist.json | 5 +++++ .../sklearn/framework_allowlist.json | 13 +------------ .../sklearn_1_4_2_py312/framework_allowlist.json | 13 ++++++++++++- .../ecr_scan_allowlist/xgboost/xgboost-3.0.5.json | 5 +++++ 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/docker/whisperx/uv.lock b/docker/whisperx/uv.lock index 74d6d5be7e06..eb50b1807aa8 100644 --- a/docker/whisperx/uv.lock +++ b/docker/whisperx/uv.lock @@ -1906,11 +1906,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.7.0" +version = "2.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, ] [[package]] diff --git a/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json index 62efb13495b2..a7a5cb7257fb 100644 --- a/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/openfold3/framework_allowlist.json @@ -348,5 +348,10 @@ "vulnerability_id": "CVE-2026-72897", "reason": "openssl 3.6.x pinned by the OpenFold3 0.4.1 upstream conda lock; fix 4.0.3 not available on conda-forge", "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-54873", + "reason": "openssl 3.6.x pinned by the OpenFold3 0.4.1 upstream conda lock; fix 4.0.3 not available on conda-forge", + "review_by": "2026-11-28" } ] diff --git a/test/security/data/ecr_scan_allowlist/sklearn/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/sklearn/framework_allowlist.json index 9f06d2bf766e..fe51488c7066 100644 --- a/test/security/data/ecr_scan_allowlist/sklearn/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/sklearn/framework_allowlist.json @@ -1,12 +1 @@ -[ - { - "vulnerability_id": "CVE-2026-97687", - "reason": "urllib3 1.26.17 pinned by botocore<1.32 in the 1.4-2-py312 image (legacy sagemaker stack); urllib3>=2 unsatisfiable without a botocore bump", - "review_by": "2026-10-15" - }, - { - "vulnerability_id": "CVE-2026-97689", - "reason": "urllib3 1.26.17 pinned by botocore<1.32 in the 1.4-2-py312 image (legacy sagemaker stack); urllib3>=2 unsatisfiable without a botocore bump", - "review_by": "2026-10-15" - } -] +[] diff --git a/test/security/data/ecr_scan_allowlist/sklearn_1_4_2_py312/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/sklearn_1_4_2_py312/framework_allowlist.json index fe51488c7066..2162d91d3a78 100644 --- a/test/security/data/ecr_scan_allowlist/sklearn_1_4_2_py312/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/sklearn_1_4_2_py312/framework_allowlist.json @@ -1 +1,12 @@ -[] +[ + { + "vulnerability_id": "CVE-2026-97687", + "reason": "urllib3 1.26.17 pinned by botocore<1.32 (legacy sagemaker stack); urllib3>=2 unsatisfiable without a botocore bump", + "review_by": "2026-10-15" + }, + { + "vulnerability_id": "CVE-2026-97689", + "reason": "urllib3 1.26.17 pinned by botocore<1.32 (legacy sagemaker stack); urllib3>=2 unsatisfiable without a botocore bump", + "review_by": "2026-10-15" + } +] diff --git a/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json b/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json index f7d4557907c4..0bacd8dca671 100644 --- a/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json +++ b/test/security/data/ecr_scan_allowlist/xgboost/xgboost-3.0.5.json @@ -603,5 +603,10 @@ "vulnerability_id": "CVE-2026-97689", "reason": "urllib3 1.26.20 pinned transitively by botocore 1.20.52 (legacy sagemaker-containers stack) in /miniconda3; urllib3>=2 unsatisfiable without a botocore bump", "review_by": "2026-10-15" + }, + { + "vulnerability_id": "CVE-2026-54873", + "reason": "openssl 3.6.3 in the bundled miniconda3 environment; fix 4.0.3 not available on conda-forge", + "review_by": "2027-03-02" } ] From 4be34045553171e90e977bf52d02c616a2bc7998 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Sat, 3 Oct 2026 01:06:16 -0700 Subject: [PATCH 16/19] bump tornado, virtualenv, jupyterlab, notebook; allowlist vendored jackson-core and pinned vllm cves --- docker/pytorch/2.14/cpu/uv.lock | 26 +++++++++---------- docker/pytorch/2.14/cuda/uv.lock | 26 +++++++++---------- docker/ray-train/uv.lock | 14 +++++----- docker/ray/uv.lock | 14 +++++----- docker/tensorflow/training/2.21/cpu/uv.lock | 12 ++++----- docker/tensorflow/training/2.21/cuda/uv.lock | 12 ++++----- docker/xgboost/uv.lock | 26 +++++++++---------- .../framework_allowlist.json | 5 ++++ .../ray/framework_allowlist.json | 10 +++++++ .../ray_llm/framework_allowlist.json | 5 ++++ .../ray_train/framework_allowlist.json | 10 +++++++ 11 files changed, 95 insertions(+), 65 deletions(-) diff --git a/docker/pytorch/2.14/cpu/uv.lock b/docker/pytorch/2.14/cpu/uv.lock index 9a1620fe1215..f942ca0b25cf 100644 --- a/docker/pytorch/2.14/cpu/uv.lock +++ b/docker/pytorch/2.14/cpu/uv.lock @@ -3247,19 +3247,19 @@ wheels = [ [[package]] name = "tornado" -version = "6.5.8" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/10/d3/343e5bb989d6515b1646cf3d40135d73f3d5e45339bded401b56cdac24dd/tornado-6.5.8.tar.gz", hash = "sha256:9452e1b208a8bd771e2cb1f2ff564985b9b214bdebbe622793e1799e0a6bd23f", size = 520493, upload-time = "2026-08-07T02:12:42.971Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/d5/007086fd8df5489338e204f65adce33fd4f21a4999dbb2b9cff2f897b5f4/tornado-6.5.8-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:cc6aa787d7cfab7c3d35189dc7a56fbd2399a569624c730c6b55b3d6531d0403", size = 449487, upload-time = "2026-08-07T02:12:28.682Z" }, - { url = "https://files.pythonhosted.org/packages/70/c8/5a24a99495903f594f6a199dd7beead1cbc0a13e2cb9102727bcaaf2a997/tornado-6.5.8-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9715b5eb79735b2bcd454ce216a9275b7c0470e64ea1bf5742f78b2f72b26eeb", size = 447649, upload-time = "2026-08-07T02:12:30.306Z" }, - { url = "https://files.pythonhosted.org/packages/6e/de/f2e733f386b85962d1b1dc82cd63d169b5b4580062b35397eac9244a41fe/tornado-6.5.8-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:547d63f450d570c14fe0e8db2cfb14c9bbd1c2503b4a6612586267955aa47b58", size = 450707, upload-time = "2026-08-07T02:12:31.95Z" }, - { url = "https://files.pythonhosted.org/packages/0b/94/20efeee9a01c141e9ac47c397f81679dfda24b32768fc4fff24e76d36c2c/tornado-6.5.8-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7e2360a0ffbe145eca8af0b19cb7203d79b1a98dd4cccdd6b368f6f49c2e3808", size = 451677, upload-time = "2026-08-07T02:12:33.512Z" }, - { url = "https://files.pythonhosted.org/packages/42/ec/a96ccb8ccf0de2b7bc2c5fa1608a4803735018242e90c4882365a9fd418f/tornado-6.5.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5d242290bdf7ab3151bc1065fdd75c0dcc21cbc7b49f22a4c56329c2d6566d22", size = 451510, upload-time = "2026-08-07T02:12:35.346Z" }, - { url = "https://files.pythonhosted.org/packages/29/b5/93185859245ad3f00e62175f29607346788b696369347f0146e0421286bb/tornado-6.5.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7b94ff0e128fe0542f3bd331fb44d06260fc4ac16881545159f34ef08aad4195", size = 450917, upload-time = "2026-08-07T02:12:36.963Z" }, - { url = "https://files.pythonhosted.org/packages/97/cf/fe33cf062834487d34d1559746a4a12521033c22645b6d74d4bca702e018/tornado-6.5.8-cp39-abi3-win32.whl", hash = "sha256:67832909c4779c64942380cb5f044a5c6163d00831472d80e25e115de9917836", size = 451952, upload-time = "2026-08-07T02:12:38.512Z" }, - { url = "https://files.pythonhosted.org/packages/cb/e1/468ad54333e92ccb62627e62cb88e5fc14a2171daa67ed47b1b8542d5b86/tornado-6.5.8-cp39-abi3-win_amd64.whl", hash = "sha256:11881db6b7c168494be2c2d12e65931451bdf7ee718535418ae1d8855dd5a0ee", size = 452391, upload-time = "2026-08-07T02:12:39.971Z" }, - { url = "https://files.pythonhosted.org/packages/ad/3e/cd5e4f06e34cde33b8ef66cf36aa2b5ad46354cc1af7d2136bbe365fee1d/tornado-6.5.8-cp39-abi3-win_arm64.whl", hash = "sha256:68a7468c7e289f8514d7d664101753903217eff1bb6822c6b5994a0b5f5bcb26", size = 451411, upload-time = "2026-08-07T02:12:41.469Z" }, +version = "6.5.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/61/53d562a57b28c08eda40b258c0f975e360541943ad7c7bef897a40caafda/tornado-6.5.10.tar.gz", hash = "sha256:a6b1ccd08c04b4a06fb5aeb381be99de5ad1e5375c1785e31d78c880feb57687", size = 537910, upload-time = "2026-09-15T13:47:48.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/5b/ff5fc58fa2427c30dea74c90053f4fc5eda1e7f3833ed3ecc7147fe2b311/tornado-6.5.10-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9261783640e23258694a9ff0795df430a5a7b0a651d3dd53dd0969ad6be16da7", size = 465883, upload-time = "2026-09-15T13:47:35.463Z" }, + { url = "https://files.pythonhosted.org/packages/ad/f5/cd7be26c34a3315532f3aef5f092465da8f59c334dd439d3c14aaef16461/tornado-6.5.10-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:83e6cf438b106c6b3852d70960967bb1b70c87438050dca0981e4b9aa751a4c1", size = 464046, upload-time = "2026-09-15T13:47:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/60/33/df6d7d04854a58619f8349a51e3edb138324130a7562b0bb21f115bb940f/tornado-6.5.10-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bdf942448169e5336451d0494d7e3d81cfa726d5aa312affdc4682dd62a62f6d", size = 467096, upload-time = "2026-09-15T13:47:38.559Z" }, + { url = "https://files.pythonhosted.org/packages/29/17/cc35dff68272d685cffd8600ffafbd8067e7d05e7348d9f80caddffbbd5f/tornado-6.5.10-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69acca6501eed74582b76dbbceee2a91613f54728e3e418346000d7103101676", size = 468067, upload-time = "2026-09-15T13:47:40.085Z" }, + { url = "https://files.pythonhosted.org/packages/c3/01/6e5349b4e1a53a4b4972a6716785e1fe7407f312063c3972690af8ff301b/tornado-6.5.10-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:66aaa3f57d30c6e6becee83ff28055d5930ac724214bde99393eefda83d5e015", size = 467901, upload-time = "2026-09-15T13:47:41.576Z" }, + { url = "https://files.pythonhosted.org/packages/28/5e/b4facf94370dba006819c8d304376f8b9fbec6b935b5e51bf45823a9790b/tornado-6.5.10-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4bd192b959f9128fb99b8898148070ba4574c9589b78bce42d1851131fe85828", size = 467308, upload-time = "2026-09-15T13:47:43.145Z" }, + { url = "https://files.pythonhosted.org/packages/56/ae/047938e828cafc8eca4c908fafb6588fee944e3af39a0af9d7b602499ae5/tornado-6.5.10-cp39-abi3-win32.whl", hash = "sha256:302eb1e0e3e159314eb591920529fdea80acca92df5510a2cec5bbd4f099ec72", size = 468387, upload-time = "2026-09-15T13:47:44.556Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d4/5901517f05affd752490f6a654ba31b7474664e8dd80bd045a00c220bd88/tornado-6.5.10-cp39-abi3-win_amd64.whl", hash = "sha256:37ae8f150cecfdbf747fc4e12f5e9a97ecd8cf1d4cdb3f119e2de84b11196918", size = 468828, upload-time = "2026-09-15T13:47:45.961Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1a/fd497f3a7f7b74bb04f4b94536b5c9f80742b5d50501fd27977652ddec16/tornado-6.5.10-cp39-abi3-win_arm64.whl", hash = "sha256:ce045d3c298fddd30e89a2777f97039d1b641eb9518ac7b26a4721903539c694", size = 467847, upload-time = "2026-09-15T13:47:47.283Z" }, ] [[package]] diff --git a/docker/pytorch/2.14/cuda/uv.lock b/docker/pytorch/2.14/cuda/uv.lock index dc1383ae7650..8b3abc834d60 100644 --- a/docker/pytorch/2.14/cuda/uv.lock +++ b/docker/pytorch/2.14/cuda/uv.lock @@ -3366,19 +3366,19 @@ wheels = [ [[package]] name = "tornado" -version = "6.5.8" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/10/d3/343e5bb989d6515b1646cf3d40135d73f3d5e45339bded401b56cdac24dd/tornado-6.5.8.tar.gz", hash = "sha256:9452e1b208a8bd771e2cb1f2ff564985b9b214bdebbe622793e1799e0a6bd23f", size = 520493, upload-time = "2026-08-07T02:12:42.971Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/d5/007086fd8df5489338e204f65adce33fd4f21a4999dbb2b9cff2f897b5f4/tornado-6.5.8-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:cc6aa787d7cfab7c3d35189dc7a56fbd2399a569624c730c6b55b3d6531d0403", size = 449487, upload-time = "2026-08-07T02:12:28.682Z" }, - { url = "https://files.pythonhosted.org/packages/70/c8/5a24a99495903f594f6a199dd7beead1cbc0a13e2cb9102727bcaaf2a997/tornado-6.5.8-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9715b5eb79735b2bcd454ce216a9275b7c0470e64ea1bf5742f78b2f72b26eeb", size = 447649, upload-time = "2026-08-07T02:12:30.306Z" }, - { url = "https://files.pythonhosted.org/packages/6e/de/f2e733f386b85962d1b1dc82cd63d169b5b4580062b35397eac9244a41fe/tornado-6.5.8-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:547d63f450d570c14fe0e8db2cfb14c9bbd1c2503b4a6612586267955aa47b58", size = 450707, upload-time = "2026-08-07T02:12:31.95Z" }, - { url = "https://files.pythonhosted.org/packages/0b/94/20efeee9a01c141e9ac47c397f81679dfda24b32768fc4fff24e76d36c2c/tornado-6.5.8-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7e2360a0ffbe145eca8af0b19cb7203d79b1a98dd4cccdd6b368f6f49c2e3808", size = 451677, upload-time = "2026-08-07T02:12:33.512Z" }, - { url = "https://files.pythonhosted.org/packages/42/ec/a96ccb8ccf0de2b7bc2c5fa1608a4803735018242e90c4882365a9fd418f/tornado-6.5.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5d242290bdf7ab3151bc1065fdd75c0dcc21cbc7b49f22a4c56329c2d6566d22", size = 451510, upload-time = "2026-08-07T02:12:35.346Z" }, - { url = "https://files.pythonhosted.org/packages/29/b5/93185859245ad3f00e62175f29607346788b696369347f0146e0421286bb/tornado-6.5.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7b94ff0e128fe0542f3bd331fb44d06260fc4ac16881545159f34ef08aad4195", size = 450917, upload-time = "2026-08-07T02:12:36.963Z" }, - { url = "https://files.pythonhosted.org/packages/97/cf/fe33cf062834487d34d1559746a4a12521033c22645b6d74d4bca702e018/tornado-6.5.8-cp39-abi3-win32.whl", hash = "sha256:67832909c4779c64942380cb5f044a5c6163d00831472d80e25e115de9917836", size = 451952, upload-time = "2026-08-07T02:12:38.512Z" }, - { url = "https://files.pythonhosted.org/packages/cb/e1/468ad54333e92ccb62627e62cb88e5fc14a2171daa67ed47b1b8542d5b86/tornado-6.5.8-cp39-abi3-win_amd64.whl", hash = "sha256:11881db6b7c168494be2c2d12e65931451bdf7ee718535418ae1d8855dd5a0ee", size = 452391, upload-time = "2026-08-07T02:12:39.971Z" }, - { url = "https://files.pythonhosted.org/packages/ad/3e/cd5e4f06e34cde33b8ef66cf36aa2b5ad46354cc1af7d2136bbe365fee1d/tornado-6.5.8-cp39-abi3-win_arm64.whl", hash = "sha256:68a7468c7e289f8514d7d664101753903217eff1bb6822c6b5994a0b5f5bcb26", size = 451411, upload-time = "2026-08-07T02:12:41.469Z" }, +version = "6.5.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/61/53d562a57b28c08eda40b258c0f975e360541943ad7c7bef897a40caafda/tornado-6.5.10.tar.gz", hash = "sha256:a6b1ccd08c04b4a06fb5aeb381be99de5ad1e5375c1785e31d78c880feb57687", size = 537910, upload-time = "2026-09-15T13:47:48.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/5b/ff5fc58fa2427c30dea74c90053f4fc5eda1e7f3833ed3ecc7147fe2b311/tornado-6.5.10-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9261783640e23258694a9ff0795df430a5a7b0a651d3dd53dd0969ad6be16da7", size = 465883, upload-time = "2026-09-15T13:47:35.463Z" }, + { url = "https://files.pythonhosted.org/packages/ad/f5/cd7be26c34a3315532f3aef5f092465da8f59c334dd439d3c14aaef16461/tornado-6.5.10-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:83e6cf438b106c6b3852d70960967bb1b70c87438050dca0981e4b9aa751a4c1", size = 464046, upload-time = "2026-09-15T13:47:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/60/33/df6d7d04854a58619f8349a51e3edb138324130a7562b0bb21f115bb940f/tornado-6.5.10-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bdf942448169e5336451d0494d7e3d81cfa726d5aa312affdc4682dd62a62f6d", size = 467096, upload-time = "2026-09-15T13:47:38.559Z" }, + { url = "https://files.pythonhosted.org/packages/29/17/cc35dff68272d685cffd8600ffafbd8067e7d05e7348d9f80caddffbbd5f/tornado-6.5.10-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69acca6501eed74582b76dbbceee2a91613f54728e3e418346000d7103101676", size = 468067, upload-time = "2026-09-15T13:47:40.085Z" }, + { url = "https://files.pythonhosted.org/packages/c3/01/6e5349b4e1a53a4b4972a6716785e1fe7407f312063c3972690af8ff301b/tornado-6.5.10-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:66aaa3f57d30c6e6becee83ff28055d5930ac724214bde99393eefda83d5e015", size = 467901, upload-time = "2026-09-15T13:47:41.576Z" }, + { url = "https://files.pythonhosted.org/packages/28/5e/b4facf94370dba006819c8d304376f8b9fbec6b935b5e51bf45823a9790b/tornado-6.5.10-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4bd192b959f9128fb99b8898148070ba4574c9589b78bce42d1851131fe85828", size = 467308, upload-time = "2026-09-15T13:47:43.145Z" }, + { url = "https://files.pythonhosted.org/packages/56/ae/047938e828cafc8eca4c908fafb6588fee944e3af39a0af9d7b602499ae5/tornado-6.5.10-cp39-abi3-win32.whl", hash = "sha256:302eb1e0e3e159314eb591920529fdea80acca92df5510a2cec5bbd4f099ec72", size = 468387, upload-time = "2026-09-15T13:47:44.556Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d4/5901517f05affd752490f6a654ba31b7474664e8dd80bd045a00c220bd88/tornado-6.5.10-cp39-abi3-win_amd64.whl", hash = "sha256:37ae8f150cecfdbf747fc4e12f5e9a97ecd8cf1d4cdb3f119e2de84b11196918", size = 468828, upload-time = "2026-09-15T13:47:45.961Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1a/fd497f3a7f7b74bb04f4b94536b5c9f80742b5d50501fd27977652ddec16/tornado-6.5.10-cp39-abi3-win_arm64.whl", hash = "sha256:ce045d3c298fddd30e89a2777f97039d1b641eb9518ac7b26a4721903539c694", size = 467847, upload-time = "2026-09-15T13:47:47.283Z" }, ] [[package]] diff --git a/docker/ray-train/uv.lock b/docker/ray-train/uv.lock index d7785dabbca9..657c8656bdbf 100644 --- a/docker/ray-train/uv.lock +++ b/docker/ray-train/uv.lock @@ -1583,15 +1583,14 @@ wheels = [ [[package]] name = "python-discovery" -version = "1.4.4" +version = "1.6.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, - { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4c/81/58c70036dffeccb7fe7d79d6260c69f7a28272bbd3909c29a01ea9422744/python_discovery-1.4.4.tar.gz", hash = "sha256:5cad33982d412c1f3ffb8f9ca4ea292c9680bca3942451d30b69c37fce53a4a3", size = 72212, upload-time = "2026-07-08T23:06:50.691Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0c/57/250bd238b966cece44328235eb85290045d059265fdaf7527a3a958123db/python_discovery-1.6.1.tar.gz", hash = "sha256:cf87d3627dfb4412437fdd5b13eae402607722998d21567993aedbc59b23c15e", size = 84338, upload-time = "2026-09-18T01:31:53.971Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/ae/84bc0d2440c95772272bb6f4b3d09ccf08b2898fce89b3d4f969a9fc74e9/python_discovery-1.4.4-py3-none-any.whl", hash = "sha256:abebe9120b43453b68c908acfb1e72a19d1a959ed2cb620ad38fc57d08056dbe", size = 34181, upload-time = "2026-07-08T23:06:49.402Z" }, + { url = "https://files.pythonhosted.org/packages/16/7d/e9ffbadfbf89c93848412d04594135c4ae8c1d37d9e053b9c3ed718fabc4/python_discovery-1.6.1-py3-none-any.whl", hash = "sha256:d43fcdef879fe795352bd13ccf8d185ba5a9f86f36cfcd00529f596e737442b3", size = 38664, upload-time = "2026-09-18T01:31:52.448Z" }, ] [[package]] @@ -2139,17 +2138,18 @@ wheels = [ [[package]] name = "virtualenv" -version = "21.6.1" +version = "21.14.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, { name = "filelock" }, + { name = "packaging" }, { name = "platformdirs" }, { name = "python-discovery" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/34/d9/b477fddb68840b570af8b22afe9b035cbc277b5fb7b33dea390617a8b10f/virtualenv-21.6.1.tar.gz", hash = "sha256:15f978b7cd329f24855ff4a0c4b4899cc7678589f49adbdcbbb4d3232e641128", size = 5526620, upload-time = "2026-07-10T19:33:53.312Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c4/f9/f323b3b6058cff3853b31cf6a49c0425ed797bf9611572ec10d065e08bac/virtualenv-21.14.5.tar.gz", hash = "sha256:c4cb6c13e46b57225a999c7e22a09b163393878facc7ac4c059a57f46faa1647", size = 5467127, upload-time = "2026-10-02T17:42:25.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/7c/4e7225d46d634a0d8d534dd8a6ce0c319d09b4d0cf0337eb314ca4789d8c/virtualenv-21.6.1-py3-none-any.whl", hash = "sha256:afe991df855715a2b2f60edfcc0107ef95a79fdfd8cb4cdaa71603d1c12e463b", size = 5506392, upload-time = "2026-07-10T19:33:51.629Z" }, + { url = "https://files.pythonhosted.org/packages/df/93/084f10ebbecdedf7902ed68fbecc903f0e9c5742155bfffb05eccbc071da/virtualenv-21.14.5-py3-none-any.whl", hash = "sha256:b0651e0174982bba17cc6f0aaa2ef496730cb85a3f35eb5d1119d1c904f7d1da", size = 5487482, upload-time = "2026-10-02T17:42:23.38Z" }, ] [[package]] diff --git a/docker/ray/uv.lock b/docker/ray/uv.lock index 0e576e6a0fea..8898e21da059 100644 --- a/docker/ray/uv.lock +++ b/docker/ray/uv.lock @@ -1377,15 +1377,14 @@ wheels = [ [[package]] name = "python-discovery" -version = "1.3.0" +version = "1.6.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, - { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/e0/cc5a8653e9a24f6cf84768f05064aa8ed5a83dcefd5e2a043db14a1c5f44/python_discovery-1.3.0.tar.gz", hash = "sha256:d098f1e86be5d45fe4d14bf1029294aabbd332f4321179dec85e76cddce834b0", size = 63925, upload-time = "2026-05-05T14:38:39.769Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0c/57/250bd238b966cece44328235eb85290045d059265fdaf7527a3a958123db/python_discovery-1.6.1.tar.gz", hash = "sha256:cf87d3627dfb4412437fdd5b13eae402607722998d21567993aedbc59b23c15e", size = 84338, upload-time = "2026-09-18T01:31:53.971Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/30/d4/24d543ab8b8158b7f5a97113c831205f5c900c92c8762b1e7f44b7ea0405/python_discovery-1.3.0-py3-none-any.whl", hash = "sha256:441d9ced3dfce36e113beb35ca302c71c7ef06f3c0f9c227a0b9bb3bd49b9e9f", size = 33124, upload-time = "2026-05-05T14:38:38.539Z" }, + { url = "https://files.pythonhosted.org/packages/16/7d/e9ffbadfbf89c93848412d04594135c4ae8c1d37d9e053b9c3ed718fabc4/python_discovery-1.6.1-py3-none-any.whl", hash = "sha256:d43fcdef879fe795352bd13ccf8d185ba5a9f86f36cfcd00529f596e737442b3", size = 38664, upload-time = "2026-09-18T01:31:52.448Z" }, ] [[package]] @@ -2030,17 +2029,18 @@ wheels = [ [[package]] name = "virtualenv" -version = "21.3.1" +version = "21.14.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, { name = "filelock" }, + { name = "packaging" }, { name = "platformdirs" }, { name = "python-discovery" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/0d/915c02c94d207b85580eb09bffab54438a709e7288524094fe781da526c2/virtualenv-21.3.1.tar.gz", hash = "sha256:c2305bc1fddeec40699b8370d13f8d431b0701f00ce895061ce493aeded4426b", size = 7613791, upload-time = "2026-05-05T01:34:31.402Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c4/f9/f323b3b6058cff3853b31cf6a49c0425ed797bf9611572ec10d065e08bac/virtualenv-21.14.5.tar.gz", hash = "sha256:c4cb6c13e46b57225a999c7e22a09b163393878facc7ac4c059a57f46faa1647", size = 5467127, upload-time = "2026-10-02T17:42:25.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/4f/f71e641e504111a5a74e3a20bc52d01bd86788b22699dd3fee1c63253cf6/virtualenv-21.3.1-py3-none-any.whl", hash = "sha256:d1a71cf58f2f9228fff23a1f6ec15d39785c6b32e03658d104974247145edd35", size = 7594539, upload-time = "2026-05-05T01:34:28.98Z" }, + { url = "https://files.pythonhosted.org/packages/df/93/084f10ebbecdedf7902ed68fbecc903f0e9c5742155bfffb05eccbc071da/virtualenv-21.14.5-py3-none-any.whl", hash = "sha256:b0651e0174982bba17cc6f0aaa2ef496730cb85a3f35eb5d1119d1c904f7d1da", size = 5487482, upload-time = "2026-10-02T17:42:23.38Z" }, ] [[package]] diff --git a/docker/tensorflow/training/2.21/cpu/uv.lock b/docker/tensorflow/training/2.21/cpu/uv.lock index f9e65abe0267..852bb48c0f1a 100644 --- a/docker/tensorflow/training/2.21/cpu/uv.lock +++ b/docker/tensorflow/training/2.21/cpu/uv.lock @@ -1509,7 +1509,7 @@ wheels = [ [[package]] name = "jupyterlab" -version = "4.6.3" +version = "4.6.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "async-lru", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, @@ -1526,9 +1526,9 @@ dependencies = [ { name = "tornado", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, { name = "traitlets", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/c0/45934229995d4c6e38192ca118d93185f60808f64157e3df3c5c28f8c5fd/jupyterlab-4.6.3.tar.gz", hash = "sha256:2e3db6e3a12495ebd188276e985bf5ac502fbde3d1e8628819920210008de498", size = 28319771, upload-time = "2026-08-10T18:50:57.947Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/8d/995cc142f6083346b35e7d3eadc5a6717ee89ce64ea53577010ac493bc3c/jupyterlab-4.6.4.tar.gz", hash = "sha256:404f49b081819378524886c9db66dba57a5565981eff885830df1baba3a17df5", size = 28335647, upload-time = "2026-09-21T15:25:18.779Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/47/242f46de028074651c9bd6d8000fc340ed0d3cdd1a0eae4387826123413a/jupyterlab-4.6.3-py3-none-any.whl", hash = "sha256:0a1ebc6567186f1eabd99536e94df7ed9e96d1e7c5ddf3e4406ae16e88abacb7", size = 17168312, upload-time = "2026-08-10T18:50:53.044Z" }, + { url = "https://files.pythonhosted.org/packages/3b/e4/072bc0d3c6d45d414062a06af7ee81c02a2c12d769c358ec9919f9995ffd/jupyterlab-4.6.4-py3-none-any.whl", hash = "sha256:15b13f991d3985129c797eb84d9949eeb8b6615e14b444868e642411f2c418b2", size = 17171596, upload-time = "2026-09-21T15:25:14.123Z" }, ] [[package]] @@ -1969,7 +1969,7 @@ wheels = [ [[package]] name = "notebook" -version = "7.6.2" +version = "7.6.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jupyter-builder", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, @@ -1979,9 +1979,9 @@ dependencies = [ { name = "notebook-shim", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, { name = "tornado", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/31/d9/5c76de84e96e1cf8aae3fce930875e0615e14f3557bbcdb634aab52da9d3/notebook-7.6.2.tar.gz", hash = "sha256:cc02b5f0bb972160cccfe44ad8a1a202036206ba3439469c514f03aefa9ae807", size = 5500147, upload-time = "2026-08-11T13:21:16.632Z" } +sdist = { url = "https://files.pythonhosted.org/packages/42/ac/aedb759dc683dcd129f6c75271bab5eb23020b0f7969163c726343718e1e/notebook-7.6.3.tar.gz", hash = "sha256:e2c08e469c0ae20bb0b3214f0ab77e79653317a2f8e5b34c10361c66874a5b50", size = 5501618, upload-time = "2026-09-21T18:07:24.261Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/fd/3e552ff5b24dd305c6e9a10e8645e29c03091c317429f326ae10dbae1ac6/notebook-7.6.2-py3-none-any.whl", hash = "sha256:5fe9e09c335cb4b7de21627b860f77210e70e54b1fb1276ad942a4a7e1d858d3", size = 5547102, upload-time = "2026-08-11T13:21:13.302Z" }, + { url = "https://files.pythonhosted.org/packages/a1/f7/907b98438cf00bdc4e296570058f29a347214bb42338a48e3b7eae58ae2a/notebook-7.6.3-py3-none-any.whl", hash = "sha256:ad7e0eb765fba836cd4a2ab0c7a3a26cde1d91665fbf6f533b6ae7b2de6d88d2", size = 5548452, upload-time = "2026-09-21T18:07:21.563Z" }, ] [[package]] diff --git a/docker/tensorflow/training/2.21/cuda/uv.lock b/docker/tensorflow/training/2.21/cuda/uv.lock index 0a28f2a51349..100263912398 100644 --- a/docker/tensorflow/training/2.21/cuda/uv.lock +++ b/docker/tensorflow/training/2.21/cuda/uv.lock @@ -1570,7 +1570,7 @@ wheels = [ [[package]] name = "jupyterlab" -version = "4.6.3" +version = "4.6.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "async-lru", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, @@ -1587,9 +1587,9 @@ dependencies = [ { name = "tornado", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, { name = "traitlets", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/c0/45934229995d4c6e38192ca118d93185f60808f64157e3df3c5c28f8c5fd/jupyterlab-4.6.3.tar.gz", hash = "sha256:2e3db6e3a12495ebd188276e985bf5ac502fbde3d1e8628819920210008de498", size = 28319771, upload-time = "2026-08-10T18:50:57.947Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/8d/995cc142f6083346b35e7d3eadc5a6717ee89ce64ea53577010ac493bc3c/jupyterlab-4.6.4.tar.gz", hash = "sha256:404f49b081819378524886c9db66dba57a5565981eff885830df1baba3a17df5", size = 28335647, upload-time = "2026-09-21T15:25:18.779Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/47/242f46de028074651c9bd6d8000fc340ed0d3cdd1a0eae4387826123413a/jupyterlab-4.6.3-py3-none-any.whl", hash = "sha256:0a1ebc6567186f1eabd99536e94df7ed9e96d1e7c5ddf3e4406ae16e88abacb7", size = 17168312, upload-time = "2026-08-10T18:50:53.044Z" }, + { url = "https://files.pythonhosted.org/packages/3b/e4/072bc0d3c6d45d414062a06af7ee81c02a2c12d769c358ec9919f9995ffd/jupyterlab-4.6.4-py3-none-any.whl", hash = "sha256:15b13f991d3985129c797eb84d9949eeb8b6615e14b444868e642411f2c418b2", size = 17171596, upload-time = "2026-09-21T15:25:14.123Z" }, ] [[package]] @@ -2030,7 +2030,7 @@ wheels = [ [[package]] name = "notebook" -version = "7.6.2" +version = "7.6.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jupyter-builder", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, @@ -2040,9 +2040,9 @@ dependencies = [ { name = "notebook-shim", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, { name = "tornado", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/31/d9/5c76de84e96e1cf8aae3fce930875e0615e14f3557bbcdb634aab52da9d3/notebook-7.6.2.tar.gz", hash = "sha256:cc02b5f0bb972160cccfe44ad8a1a202036206ba3439469c514f03aefa9ae807", size = 5500147, upload-time = "2026-08-11T13:21:16.632Z" } +sdist = { url = "https://files.pythonhosted.org/packages/42/ac/aedb759dc683dcd129f6c75271bab5eb23020b0f7969163c726343718e1e/notebook-7.6.3.tar.gz", hash = "sha256:e2c08e469c0ae20bb0b3214f0ab77e79653317a2f8e5b34c10361c66874a5b50", size = 5501618, upload-time = "2026-09-21T18:07:24.261Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/fd/3e552ff5b24dd305c6e9a10e8645e29c03091c317429f326ae10dbae1ac6/notebook-7.6.2-py3-none-any.whl", hash = "sha256:5fe9e09c335cb4b7de21627b860f77210e70e54b1fb1276ad942a4a7e1d858d3", size = 5547102, upload-time = "2026-08-11T13:21:13.302Z" }, + { url = "https://files.pythonhosted.org/packages/a1/f7/907b98438cf00bdc4e296570058f29a347214bb42338a48e3b7eae58ae2a/notebook-7.6.3-py3-none-any.whl", hash = "sha256:ad7e0eb765fba836cd4a2ab0c7a3a26cde1d91665fbf6f533b6ae7b2de6d88d2", size = 5548452, upload-time = "2026-09-21T18:07:21.563Z" }, ] [[package]] diff --git a/docker/xgboost/uv.lock b/docker/xgboost/uv.lock index 121c2d0f3f6f..d7a14768a851 100644 --- a/docker/xgboost/uv.lock +++ b/docker/xgboost/uv.lock @@ -1115,19 +1115,19 @@ wheels = [ [[package]] name = "tornado" -version = "6.5.8" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/10/d3/343e5bb989d6515b1646cf3d40135d73f3d5e45339bded401b56cdac24dd/tornado-6.5.8.tar.gz", hash = "sha256:9452e1b208a8bd771e2cb1f2ff564985b9b214bdebbe622793e1799e0a6bd23f", size = 520493, upload-time = "2026-08-07T02:12:42.971Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/d5/007086fd8df5489338e204f65adce33fd4f21a4999dbb2b9cff2f897b5f4/tornado-6.5.8-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:cc6aa787d7cfab7c3d35189dc7a56fbd2399a569624c730c6b55b3d6531d0403", size = 449487, upload-time = "2026-08-07T02:12:28.682Z" }, - { url = "https://files.pythonhosted.org/packages/70/c8/5a24a99495903f594f6a199dd7beead1cbc0a13e2cb9102727bcaaf2a997/tornado-6.5.8-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9715b5eb79735b2bcd454ce216a9275b7c0470e64ea1bf5742f78b2f72b26eeb", size = 447649, upload-time = "2026-08-07T02:12:30.306Z" }, - { url = "https://files.pythonhosted.org/packages/6e/de/f2e733f386b85962d1b1dc82cd63d169b5b4580062b35397eac9244a41fe/tornado-6.5.8-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:547d63f450d570c14fe0e8db2cfb14c9bbd1c2503b4a6612586267955aa47b58", size = 450707, upload-time = "2026-08-07T02:12:31.95Z" }, - { url = "https://files.pythonhosted.org/packages/0b/94/20efeee9a01c141e9ac47c397f81679dfda24b32768fc4fff24e76d36c2c/tornado-6.5.8-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7e2360a0ffbe145eca8af0b19cb7203d79b1a98dd4cccdd6b368f6f49c2e3808", size = 451677, upload-time = "2026-08-07T02:12:33.512Z" }, - { url = "https://files.pythonhosted.org/packages/42/ec/a96ccb8ccf0de2b7bc2c5fa1608a4803735018242e90c4882365a9fd418f/tornado-6.5.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5d242290bdf7ab3151bc1065fdd75c0dcc21cbc7b49f22a4c56329c2d6566d22", size = 451510, upload-time = "2026-08-07T02:12:35.346Z" }, - { url = "https://files.pythonhosted.org/packages/29/b5/93185859245ad3f00e62175f29607346788b696369347f0146e0421286bb/tornado-6.5.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7b94ff0e128fe0542f3bd331fb44d06260fc4ac16881545159f34ef08aad4195", size = 450917, upload-time = "2026-08-07T02:12:36.963Z" }, - { url = "https://files.pythonhosted.org/packages/97/cf/fe33cf062834487d34d1559746a4a12521033c22645b6d74d4bca702e018/tornado-6.5.8-cp39-abi3-win32.whl", hash = "sha256:67832909c4779c64942380cb5f044a5c6163d00831472d80e25e115de9917836", size = 451952, upload-time = "2026-08-07T02:12:38.512Z" }, - { url = "https://files.pythonhosted.org/packages/cb/e1/468ad54333e92ccb62627e62cb88e5fc14a2171daa67ed47b1b8542d5b86/tornado-6.5.8-cp39-abi3-win_amd64.whl", hash = "sha256:11881db6b7c168494be2c2d12e65931451bdf7ee718535418ae1d8855dd5a0ee", size = 452391, upload-time = "2026-08-07T02:12:39.971Z" }, - { url = "https://files.pythonhosted.org/packages/ad/3e/cd5e4f06e34cde33b8ef66cf36aa2b5ad46354cc1af7d2136bbe365fee1d/tornado-6.5.8-cp39-abi3-win_arm64.whl", hash = "sha256:68a7468c7e289f8514d7d664101753903217eff1bb6822c6b5994a0b5f5bcb26", size = 451411, upload-time = "2026-08-07T02:12:41.469Z" }, +version = "6.5.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/61/53d562a57b28c08eda40b258c0f975e360541943ad7c7bef897a40caafda/tornado-6.5.10.tar.gz", hash = "sha256:a6b1ccd08c04b4a06fb5aeb381be99de5ad1e5375c1785e31d78c880feb57687", size = 537910, upload-time = "2026-09-15T13:47:48.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/5b/ff5fc58fa2427c30dea74c90053f4fc5eda1e7f3833ed3ecc7147fe2b311/tornado-6.5.10-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9261783640e23258694a9ff0795df430a5a7b0a651d3dd53dd0969ad6be16da7", size = 465883, upload-time = "2026-09-15T13:47:35.463Z" }, + { url = "https://files.pythonhosted.org/packages/ad/f5/cd7be26c34a3315532f3aef5f092465da8f59c334dd439d3c14aaef16461/tornado-6.5.10-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:83e6cf438b106c6b3852d70960967bb1b70c87438050dca0981e4b9aa751a4c1", size = 464046, upload-time = "2026-09-15T13:47:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/60/33/df6d7d04854a58619f8349a51e3edb138324130a7562b0bb21f115bb940f/tornado-6.5.10-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bdf942448169e5336451d0494d7e3d81cfa726d5aa312affdc4682dd62a62f6d", size = 467096, upload-time = "2026-09-15T13:47:38.559Z" }, + { url = "https://files.pythonhosted.org/packages/29/17/cc35dff68272d685cffd8600ffafbd8067e7d05e7348d9f80caddffbbd5f/tornado-6.5.10-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69acca6501eed74582b76dbbceee2a91613f54728e3e418346000d7103101676", size = 468067, upload-time = "2026-09-15T13:47:40.085Z" }, + { url = "https://files.pythonhosted.org/packages/c3/01/6e5349b4e1a53a4b4972a6716785e1fe7407f312063c3972690af8ff301b/tornado-6.5.10-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:66aaa3f57d30c6e6becee83ff28055d5930ac724214bde99393eefda83d5e015", size = 467901, upload-time = "2026-09-15T13:47:41.576Z" }, + { url = "https://files.pythonhosted.org/packages/28/5e/b4facf94370dba006819c8d304376f8b9fbec6b935b5e51bf45823a9790b/tornado-6.5.10-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4bd192b959f9128fb99b8898148070ba4574c9589b78bce42d1851131fe85828", size = 467308, upload-time = "2026-09-15T13:47:43.145Z" }, + { url = "https://files.pythonhosted.org/packages/56/ae/047938e828cafc8eca4c908fafb6588fee944e3af39a0af9d7b602499ae5/tornado-6.5.10-cp39-abi3-win32.whl", hash = "sha256:302eb1e0e3e159314eb591920529fdea80acca92df5510a2cec5bbd4f099ec72", size = 468387, upload-time = "2026-09-15T13:47:44.556Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d4/5901517f05affd752490f6a654ba31b7474664e8dd80bd045a00c220bd88/tornado-6.5.10-cp39-abi3-win_amd64.whl", hash = "sha256:37ae8f150cecfdbf747fc4e12f5e9a97ecd8cf1d4cdb3f119e2de84b11196918", size = 468828, upload-time = "2026-09-15T13:47:45.961Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1a/fd497f3a7f7b74bb04f4b94536b5c9f80742b5d50501fd27977652ddec16/tornado-6.5.10-cp39-abi3-win_arm64.whl", hash = "sha256:ce045d3c298fddd30e89a2777f97039d1b641eb9518ac7b26a4721903539c694", size = 467847, upload-time = "2026-09-15T13:47:47.283Z" }, ] [[package]] diff --git a/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json index 598e84587fa3..545c9a527bbd 100644 --- a/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/huggingface-pytorch-training/framework_allowlist.json @@ -28,5 +28,10 @@ "vulnerability_id": "CVE-2026-94623", "reason": "vllm 0.25.0 pinned by the image; fix requires vllm>=0.30.0, a framework version bump handled in a separate follow-up PR", "review_by": "2026-10-27" + }, + { + "vulnerability_id": "CVE-2026-93592", + "reason": "vllm 0.25.0 is pinned by vllm_version in .github/config/image/huggingface-pytorch-training/2.11-sagemaker.yml and consumed as vllm==${VLLM_VERSION} in docker/huggingface/pytorch/Dockerfile; the fix requires vllm>=0.28.0, which is a framework-version change gated on a release bump rather than a dependency patch.", + "review_by": "2026-10-30" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json index 57d242babdfe..706940c6cd51 100644 --- a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json @@ -63,5 +63,15 @@ "vulnerability_id": "CVE-2026-91777", "reason": "jackson-databind 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-89407", + "reason": "jackson-core 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", + "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-89425", + "reason": "jackson-core 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", + "review_by": "2026-11-28" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json index 52eda7db1a61..fb5281f9694d 100644 --- a/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_llm/framework_allowlist.json @@ -18,5 +18,10 @@ "vulnerability_id": "CVE-2026-90554", "reason": "vllm 0.26.0. Fixed in vllm 0.28.0, but ray[llm] 2.58.0 hard-pins vllm[audio]==0.26.0, so this cannot be patched without Ray moving its pin.", "review_by": "2026-11-17" + }, + { + "vulnerability_id": "CVE-2026-93592", + "reason": "vllm 0.26.0 is pinned by vllm_version in .github/config/image/ray-llm/ec2-gpu.yml; the fix requires vllm>=0.28.0, which is a framework-version change gated on a ray-llm release bump rather than a dependency patch.", + "review_by": "2026-10-30" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json index b28baecc7800..99feafa10f23 100644 --- a/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json @@ -48,5 +48,15 @@ "vulnerability_id": "CVE-2026-91777", "reason": "jackson-databind 2.18.8 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-89407", + "reason": "jackson-core 2.18.8 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", + "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-89425", + "reason": "jackson-core 2.18.8 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", + "review_by": "2026-11-28" } ] From 227948cd437b1c4861ff1a1de9485e8c7c5c0e4e Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Sat, 3 Oct 2026 19:37:21 -0700 Subject: [PATCH 17/19] bump virtualenv in openfold3 conda envs --- docker/openfold3/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/openfold3/Dockerfile b/docker/openfold3/Dockerfile index 4415e818bccb..0e33fedf2a7e 100644 --- a/docker/openfold3/Dockerfile +++ b/docker/openfold3/Dockerfile @@ -71,7 +71,8 @@ RUN pip install flask gunicorn RUN for PIP in /opt/conda/bin/pip /opt/conda/envs/openfold3/bin/pip; do \ "$PIP" install --upgrade \ "GitPython>=3.1.50" "urllib3>=2.7.0" "pillow>=12.2.0" \ - "dulwich>=1.2.5" "msgpack>=1.2.1" "click>=8.3.3"; \ + "dulwich>=1.2.5" "msgpack>=1.2.1" "click>=8.3.3" \ + "virtualenv>=21.7.13"; \ done \ && /opt/conda/envs/openfold3/bin/pip install --upgrade --no-deps "pytorch-lightning>=2.6.6" \ && rm -rf /opt/conda/pkgs/* \ From 81312a4bbddb465f9fc346453f411ca6153a4206 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Sat, 3 Oct 2026 22:38:27 -0700 Subject: [PATCH 18/19] extend ray aiohttp allowlist review date --- .../data/ecr_scan_allowlist/ray/framework_allowlist.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json index 706940c6cd51..1a9be98f1ae1 100644 --- a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json @@ -37,7 +37,7 @@ { "vulnerability_id": "CVE-2026-69244", "reason": "aiohttp 3.14.1 bundled inside ray/_private/runtime_env/agent/thirdparty_files/, fix requires aiohttp>=3.14.3 which is not yet vendored by any released ray", - "review_by": "2026-10-03" + "review_by": "2026-11-04" }, { "vulnerability_id": "CVE-2026-54399", From 2bb67043d74884a4bbcabb6a24fd7595763b76d9 Mon Sep 17 00:00:00 2001 From: Jinyan Li Date: Sat, 3 Oct 2026 23:01:58 -0700 Subject: [PATCH 19/19] allowlist jackson-core cve vendored in ray_dist.jar --- .../ecr_scan_allowlist/autogluon/framework_allowlist.json | 5 +++++ .../data/ecr_scan_allowlist/ray/framework_allowlist.json | 5 +++++ .../ecr_scan_allowlist/ray_train/framework_allowlist.json | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/test/security/data/ecr_scan_allowlist/autogluon/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/autogluon/framework_allowlist.json index e4ed3dbcbd8e..55d58d693782 100644 --- a/test/security/data/ecr_scan_allowlist/autogluon/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/autogluon/framework_allowlist.json @@ -33,5 +33,10 @@ "vulnerability_id": "CVE-2026-89425", "reason": "Ray 2.58.0 bundles jackson-core 2.18.8 inside ray_dist.jar. The Java dependency cannot be upgraded independently from the Ray wheel; remediation requires an upstream Ray release that updates the bundled Jackson dependency.", "review_by": "2026-10-20" + }, + { + "vulnerability_id": "CVE-2026-68494", + "reason": "Ray 2.58.0 bundles jackson-core 2.18.8 inside ray_dist.jar. The Java dependency cannot be upgraded independently from the Ray wheel; remediation requires an upstream Ray release that updates the bundled Jackson dependency.", + "review_by": "2026-10-20" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json index 1a9be98f1ae1..edeac7a2b57d 100644 --- a/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray/framework_allowlist.json @@ -73,5 +73,10 @@ "vulnerability_id": "CVE-2026-89425", "reason": "jackson-core 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-68494", + "reason": "jackson-core 2.18.6 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.21.4)", + "review_by": "2026-11-28" } ] diff --git a/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json b/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json index 99feafa10f23..dbd81378a003 100644 --- a/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json +++ b/test/security/data/ecr_scan_allowlist/ray_train/framework_allowlist.json @@ -58,5 +58,10 @@ "vulnerability_id": "CVE-2026-89425", "reason": "jackson-core 2.18.8 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.22.3)", "review_by": "2026-11-28" + }, + { + "vulnerability_id": "CVE-2026-68494", + "reason": "jackson-core 2.18.8 bundled in ray_dist.jar, cannot patch without upstream ray rebuild (fix requires 2.21.4)", + "review_by": "2026-11-28" } ]