## 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==2.2.0 ; python_version < "3.12"
cloudpickle==3.0.0 ; python_version >= "3.12"
tornado>=6.2.0
cython==0.29.37
fastapi>=0.115.12
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==3.50.2; platform_system != "Windows"
graphviz==0.20.3
websockets==11.0.3
joblib==1.2.0
jsonpatch==1.32
kubernetes==24.2.0
llvmlite==0.42.0
lxml>=6.0.2
moto[s3,server]==4.2.12
mypy==1.7.0
numba==0.59.1
openpyxl==3.0.10
opentelemetry-api
opentelemetry-sdk
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
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
vsphere-automation-sdk @ git+https://github.com/vmware/vsphere-automation-sdk-python.git@v8.0.1.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==1.26.4
ipywidgets==8.1.3
pyzmq>=27.1.0
colorama

# For doc tests
myst-parser==1.0.0
myst-nb==1.1.0
sphinx==6.2.1
jupytext>1.13.6
jinja2>=3.1.6
pytest-docker-tools==3.1.3
pytest-forked==1.4.0
opentelemetry-instrumentation-fastapi==0.55b1
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

# For test_basic.py::test_omp_threads_set
threadpoolctl==3.1.0
numexpr==2.8.4

# For test_gpu_objects_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.23.0
attrs>=22.2.0
openapi-schema-validator>=0.6.3
wheel>=0.45.1
aiohttp>=3.11.16
cryptography>=44.0.3
pyopenssl>=25.0.0
starlette>=0.40.0
requests>=2.32.3
docker>=7.1.0
protobuf>=4,<5
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
