## Requirements for running tests # General test requirements async-exit-stack==1.0.1 async-generator==1.10 azure-cli-core==2.62.0 azure-identity==1.17.1 azure-mgmt-compute==31.0.0 azure-mgmt-network==25.4.0 azure-mgmt-resource==23.1.1 msrestazure==0.6.4 beautifulsoup4==4.11.1 boto3==1.29.7 # Todo: investigate if we can get rid of this and exchange for ray.cloudpickle cloudpickle==3.1.1 tornado>=6.2.0 cython==0.29.37 # Bumped to >=0.133.0 for the starlette 1.0.1 security update fastapi>=0.133.0 # asgiref 3.10+ reworked async-to-sync adapters; Serve's direct-ingress # request timeout / disconnect handling regresses on 3.11 — fails # test_direct_ingress_standalone::test_http_request_timeout_disconnect_headers # parametrizations that depend on server-side timeout or client-disconnect # detection. Hold at the last known-good version. asgiref==3.9.2 feather-format==0.4.1 # Keep compatible with Werkzeug flask==2.1.3 freezegun==1.1.0 google-api-python-client==2.111.0 google-cloud-storage==2.14.0 gradio==6.15.2; platform_system != "Windows" graphviz==0.20.3 websockets==15.0.1 joblib==1.2.0 jsonpatch==1.32 kubernetes==24.2.0 llvmlite==0.44.0 lxml>=6.0.2 moto[s3,server]==5.1.18 mypy==1.7.0 pyright==1.1.408 numba==0.61.2 openpyxl==3.0.10 opentelemetry-api==1.39.0 opentelemetry-sdk==1.39.0 # proto and exporter-otlp-proto-grpc must match sdk/proto version or vllm # (rayllm depset) can't satisfy opentelemetry-exporter-otlp's in-family pins. opentelemetry-proto==1.39.0 opentelemetry-exporter-otlp-proto-grpc==1.39.0 opentelemetry-exporter-prometheus==0.60b0 opentelemetry-semantic-conventions==0.60b0 pexpect==4.8.0 Pillow>=10.4.0; platform_system != "Windows" proxy.py==2.4.3 pydantic>=2.10.0 pydot==1.4.2 pygame==2.5.2 Pygments==2.18.0 pymongo==4.3.2 pyspark==3.4.1 pytest==7.4.4 pytest-asyncio==0.17.2 pytest-aiohttp==1.1.0 pytest-httpserver==1.1.3 pytest-rerunfailures==11.1.2 pytest-sugar==0.9.5 pytest-lazy-fixtures==1.1.2 pytest-timeout==2.1.0 pytest-virtualenv==1.8.1; python_version < "3.12" pytest-sphinx @ git+https://github.com/ray-project/pytest-sphinx pytest-mock==3.14.0 redis==4.5.4 scikit-learn>=1.5.2 smart_open[s3]==6.2.0 tqdm==4.67.1 trustme==0.9.0 testfixtures==7.0.0 uv==0.8.9 uvicorn==0.22.0 werkzeug==2.3.8 xlrd==2.0.1 yq==3.2.2 memray; platform_system != "Windows" and sys_platform != "darwin" and platform_machine != 'aarch64' numpy==2.2.6 ipywidgets==8.1.3 pyzmq>=27.1.0 colorama # jupytext: required by doc/test_myst_doc.py, which converts notebook examples in CI test runs. jupytext>1.13.6 # sphinx / myst-parser / myst-nb are intentionally NOT listed here: they belong to the docs build # (doc/requirements-doc.txt) and nothing in the test/CI image imports them; doctests use the # `doctest` bazel macro (pytest + pytest-sphinx, above). jinja2>=3.1.6 pytest-docker-tools==3.1.3 pytest-forked==1.4.0 opentelemetry-instrumentation-fastapi==0.60b0 mlflow>=3.0.0 # For dataset tests polars>=1.36.0,<2.0.0 importlib-metadata==6.11.0 # Some packages have downstream dependencies that we have to specify here to resolve conflicts. # Feel free to add (or remove!) packages here liberally. tensorboardX tensorboard tensorboard-data-server==0.7.2 h11>=0.16.0 markdown-it-py pytz==2022.7.1 # Aim requires segment-analytics-python, which requires backoff~=2.10, # which conflicts with the opentelemetry-api 1.1.0. segment-analytics-python==2.2.0 httpcore>=1.0.9 httpx>=0.28.1 backoff==1.10 # Bisecting test_raylet_and_agent_share_fate against the py3.13 compile # refresh. grpcio 1.80 cold import on the runtime-env agent may be eating # the 10s wait_for_condition budget; testing whether the previous pin # restores agent startup in time. grpcio-tools and grpcio-status must # match so pip-compile doesn't pull 1.80 (which requires grpcio>=1.80 # and would conflict), and so the resolver doesn't backtrack through # every grpcio-status / typer version trying to find a compatible set. grpcio==1.76.0 grpcio-tools==1.76.0 grpcio-status==1.76.0 # For test_basic.py::test_omp_threads_set threadpoolctl==3.1.0 numexpr==2.14.1 # For test_rdt_gloo.py tensordict==0.8.3 ; sys_platform != "darwin" # For `serve run --reload` CLI. watchfiles==0.19.0 # Upgrades typing-extensions>=4.10 filelock>=3.16.1 virtualenv>=20.29 # jsonschema 4.25 introduced rfc3987-syntax (format-nongpl extra) which pins # lark==1.3.1. That conflicts with vllm's lark==1.2.2, so we cap below 4.25 # to keep the rayllm depsets resolvable when they use this lock as a constraint. jsonschema>=4.23.0,<4.25.0 attrs>=22.2.0 openapi-schema-validator>=0.6.3 wheel>=0.45.1 aiohttp>=3.13.3 cryptography>=44.0.3 pyopenssl>=25.0.0 starlette>=1.0.1 requests>=2.32.3 docker>=7.1.0 # tensorflow-metadata (pinned for py3.10 compat) caps protobuf<=6.32 on py<3.11. protobuf>=4,<=6.32; python_version < '3.11' protobuf==6.33.6; python_version >= '3.11' # scipy 1.16 / contourpy 1.3.3 / networkx 3.5 all dropped py3.10 support (no # cp310 wheels or Requires-Python>=3.11). The py3.13 lock is consumed as a # constraint by py3.10 depsets, so these are dual-pinned here with markers to # preserve the cross-py-version compat path. scipy==1.15.3; python_version < '3.11' scipy==1.17.1; python_version >= '3.11' contourpy==1.3.2; python_version < '3.11' contourpy==1.3.3; python_version >= '3.11' networkx==3.4.2; python_version < '3.11' networkx==3.6.1; python_version >= '3.11' cffi>=1.17.1,<2 # cupy-cuda12x requires fastrlock fastrlock>=0.8.3; sys_platform != 'darwin' lz4>=4.4.5 pyyaml>=6.0.3 msgpack>=1.1.2 # TODO(aslonnie): remove this # this is required as some packages depends on ray and will pick up older version of # ray, which has overly strict version requirements. ray>=2.47.1