Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ci/docker/windows.build.wanda.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: "windowsbuild"
froms: ["@rayproject/buildenv:windows"]
dockerfile: ci/docker/windows.build.Dockerfile
srcs:
- python/deplocks/ci/windows-tests-torch27-ci_depset_py3.10.lock
- python/deplocks/ci/windows-tests-ci_depset_py3.10.lock
- ci/ray_ci/windows/build_base.sh
- ci/ray_ci/windows/install_bazelisk.ps1
- ci/ray_ci/windows/cleanup.ps1
Expand Down
8 changes: 4 additions & 4 deletions ci/ray_ci/windows/build_base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ conda update --freeze-installed -c conda-forge -q -y ca-certificates certifi
# Install the Windows test environment from its raydepsets lock file (see
# ci/raydepsets/configs/ci_windows.depsets.yaml). The lock resolves
# python/requirements.txt, test-requirements.txt and dl-cpu-requirements.txt
# for windows/py3.10, with torch pinned back to 2.7.0: torch 2.8/2.9 Windows
# wheels are built without libuv and cannot initialize the gloo backend
# (pytorch/pytorch#150381; fixed upstream in torch 2.10).
# for windows/py3.10. (torch 2.8/2.9 Windows wheels lacked libuv and could not
# initialize the gloo backend, pytorch/pytorch#150381, which is why Windows was
# held on a separate torch 2.7 lock until the repo-wide pin reached 2.10.)
# Strip hashes and install --no-deps, like ci/ray_ci/macos/macos_ci.sh: the
# lock is a complete closure, and hash mode would choke on the unhashed
# packages that are intentionally excluded from it (ray, setuptools).
sed 's/ \\$//; s/ --hash[^ ]*//g' \
python/deplocks/ci/windows-tests-torch27-ci_depset_py3.10.lock \
python/deplocks/ci/windows-tests-ci_depset_py3.10.lock \
> /tmp/windows_tests_depset_no_hashes.txt
pip install -U --ignore-installed --no-deps -r /tmp/windows_tests_depset_no_hashes.txt

Expand Down
2 changes: 1 addition & 1 deletion ci/raydepsets/configs/ci_core.depsets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ depsets:
- /tmp/ray-deps/requirements_compiled_py3.13.txt
output: python/deplocks/ci/core-gpu-cu130-build-ci_depset_py${PYTHON_VERSION}.lock
append_flags:
# TODO(elliot): dl-gpu-requirements.txt pins torch==2.9.0+cu128, which forces
# TODO(elliot): dl-gpu-requirements.txt pins torch==2.10.0+cu128, which forces
# cu128 wheels regardless of this index. Compiling with cu128 here matches
# what the lock has always actually contained. Restore to cu130 once the
# +cu128 local-version is stripped from dl-gpu-requirements.txt.
Expand Down
28 changes: 0 additions & 28 deletions ci/raydepsets/configs/ci_windows.depsets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,31 +38,3 @@ depsets:
- py310
pre_hooks:
- ci/raydepsets/pre_hooks/remove-compiled-headers.sh 3.13

# torch is relaxed so the torch2.7 depset below can downgrade it. torch
# 2.8/2.9 Windows wheels lack libuv and cannot init the gloo backend
# (pytorch/pytorch#150381); see python/requirements/windows-requirements.txt.
- name: relaxed_windows_tests_ci_depset_${PYTHON_SHORT}
operation: relax
source_depset: windows_tests_ci_depset_${PYTHON_SHORT}
packages:
- torch
- torchvision
output: python/deplocks/ci/relaxed_windows-tests-ci_depset_py${PYTHON_VERSION}.lock
build_arg_sets:
- py310

- name: windows_tests_torch27_ci_depset_${PYTHON_SHORT}
operation: expand
depsets:
- relaxed_windows_tests_ci_depset_${PYTHON_SHORT}
requirements:
- python/requirements/windows-requirements.txt
output: python/deplocks/ci/windows-tests-torch27-ci_depset_py${PYTHON_VERSION}.lock
append_flags:
- --python-version=${PYTHON_VERSION}
- --python-platform=windows
- --unsafe-package ray
- --prerelease=allow
build_arg_sets:
- py310
47 changes: 17 additions & 30 deletions ci/raydepsets/configs/ray_torch.depsets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,42 +8,29 @@ build_arg_sets:
PYTHON_SHORT: "314"
CUDA_CODE: cu128

# TODO(elliot-barn): Unify these two depset definitions once the py3.11 and
# py3.14 images can share one constraints source. They are split only because
# requirements_compiled_py3.14.txt pins torch 2.7.0, which has no cp314 wheels,
# so the py3.14 image cannot be constrained by Ray's compiled requirements the
# way the py3.11 one is.
.ray_torch_base: &ray_torch_base
operation: expand
depsets:
- ray_img_depset_${PYTHON_SHORT}
requirements:
- docker/ray-torch/torch-requirements.txt
- docker/base-deps/requirements.in
- docker/base-extra/requirements.in
output: python/deplocks/ray-torch/ray-torch-${CUDA_CODE}_base_py${PYTHON_VERSION}.lock
append_flags:
- --index https://download.pytorch.org/whl/${CUDA_CODE}
- --unsafe-package ray
- --python-version=${PYTHON_VERSION}
- --python-platform=linux

depsets:
# py3.11 follows Ray's own compiled requirements, the same constraints source
# the CI depsets use.
# Both images follow Ray's own compiled requirements, the same constraints
# source the CI depsets use. (Until torch 2.10 -- the first line with cp314
# wheels -- the py3.14 image had to pin torch itself, because
# requirements_compiled_py3.14.txt pinned an uninstallable torch 2.7.0.)
- name: ray_torch_${CUDA_CODE}_base_depset_${PYTHON_SHORT}
<<: *ray_torch_base
operation: expand
depsets:
- ray_img_depset_${PYTHON_SHORT}
requirements:
- docker/ray-torch/torch-requirements.txt
- docker/base-deps/requirements.in
- docker/base-extra/requirements.in
constraints:
- /tmp/ray-deps/requirements_compiled_py${PYTHON_VERSION}.txt
output: python/deplocks/ray-torch/ray-torch-${CUDA_CODE}_base_py${PYTHON_VERSION}.lock
append_flags:
- --index https://download.pytorch.org/whl/${CUDA_CODE}
- --unsafe-package ray
- --python-version=${PYTHON_VERSION}
- --python-platform=linux
pre_hooks:
- ci/raydepsets/pre_hooks/remove-compiled-headers.sh ${PYTHON_VERSION}
build_arg_sets:
- py311_cuda128

# py3.14 pins torch directly; see docker/ray-torch/torch-constraints-py3.14.txt.
- name: ray_torch_${CUDA_CODE}_base_depset_${PYTHON_SHORT}
<<: *ray_torch_base
constraints:
- docker/ray-torch/torch-constraints-py${PYTHON_VERSION}.txt
build_arg_sets:
- py314_cuda128
2 changes: 1 addition & 1 deletion doc/source/ray-contribute/dependency-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ pip show ax-platform botorch gpytorch jaxtyping # who pulls what, what's insta

### Platform-specific GPU dependencies

`torch` and `torch-scatter` ship CPU and GPU builds as distinct PEP 440 versions (`2.9.0`, `2.9.0+cpu`, `2.9.0+cu128`; `2.1.2+cpu.torch.2.9`, `2.1.2+cu.12.8.torch.2.9`) on separate indexes (`download.pytorch.org/whl/<backend>`, `wheels.astral.sh/simple/<backend>/`). A single compile pass resolves against one index, so you can't put both the CPU and GPU requirement files in one dependency set — the resolver is asked to satisfy `+cpu` and `+cu128` of the same package at once and declares the requirements unsatisfiable.
`torch` and `torch-scatter` ship CPU and GPU builds as distinct PEP 440 versions (`2.10.0`, `2.10.0+cpu`, `2.10.0+cu128`; `2.1.2+cpu.torch.2.10`, `2.1.2+cu.12.8.torch.2.10`) on separate indexes (`download.pytorch.org/whl/<backend>`, `wheels.astral.sh/simple/<backend>/`). A single compile pass resolves against one index, so you can't put both the CPU and GPU requirement files in one dependency set — the resolver is asked to satisfy `+cpu` and `+cu128` of the same package at once and declares the requirements unsatisfiable.

The fix is to keep CPU and GPU as separate dependency sets, each with its own `--index`. Environment markers don't work here: a CPU-only and a GPU x86_64 Linux host match the same markers, so a marker-based split installs CUDA wheels on CPU-only machines. This mirrors the existing `ci_ml_build_depset` (CPU) and `ci_ml_gpubuild_depset` (GPU) split.

Expand Down
23 changes: 0 additions & 23 deletions docker/ray-torch/torch-constraints-py3.14.txt

This file was deleted.

5 changes: 1 addition & 4 deletions docker/ray-torch/torch-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@ daft
sentence-transformers
grpcio
jupytext
# Excluded on 3.11: every langchain-text-splitters release needs a
# langchain-core requiring jsonpatch>=1.33, and
# requirements_compiled_py3.11.txt pins jsonpatch 1.32.
langchain-text-splitters; python_version >= "3.12"
langchain-text-splitters

#vllm==0.21.0 # cuda-tile doesn't have a python 3.14 wheel (21st May)
cupy-cuda12x
Expand Down
6 changes: 3 additions & 3 deletions python/deplocks/base_extra/ray_base_extra_py3.10.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1273,9 +1273,9 @@ json5==0.14.0 \
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.10.lock
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.10.lock
# anyscale
Expand Down
6 changes: 3 additions & 3 deletions python/deplocks/base_extra/ray_base_extra_py3.11.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1261,9 +1261,9 @@ json5==0.14.0 \
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.11.lock
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.11.lock
# anyscale
Expand Down
6 changes: 3 additions & 3 deletions python/deplocks/base_extra/ray_base_extra_py3.12.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1261,9 +1261,9 @@ json5==0.14.0 \
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.12.lock
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.12.lock
# anyscale
Expand Down
6 changes: 3 additions & 3 deletions python/deplocks/base_extra/ray_base_extra_py3.13.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1268,9 +1268,9 @@ json5==0.14.0 \
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.13.lock
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.13.lock
# anyscale
Expand Down
6 changes: 3 additions & 3 deletions python/deplocks/base_extra/ray_base_extra_py3.14.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1305,9 +1305,9 @@ json5==0.14.0 \
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.14.lock
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c python/deplocks/base_extra_testdeps/ray-base_extra_testdeps_py3.14.lock
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2217,9 +2217,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.10.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.10.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1538,9 +1538,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.11.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.11.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1538,9 +1538,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.12.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.12.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1546,9 +1546,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.13.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.13.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1513,9 +1513,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.14.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.14.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2185,9 +2185,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.10.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.10.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1586,9 +1586,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.10.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.10.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1572,9 +1572,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.11.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.11.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1572,9 +1572,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.12.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.12.txt
# anyscale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1572,9 +1572,9 @@ json5==0.14.0 \
# via
# -c /tmp/ray-deps/requirements_compiled_py3.13.txt
# jupyterlab-server
jsonpatch==1.32 \
--hash=sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397 \
--hash=sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2
jsonpatch==1.33 \
--hash=sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade \
--hash=sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c
# via
# -c /tmp/ray-deps/requirements_compiled_py3.13.txt
# anyscale
Expand Down
Loading
Loading