# Testing framework.
pytest
pytest-asyncio

# Environment adapters.
# ---------------------
# Atari
ale_py==0.10.1
imageio==2.34.2
opencv-python-headless==4.10.0.84

# For testing MuJoCo envs with gymnasium.
mujoco==3.2.4
dm_control==1.0.12; python_version < "3.12"

# For tests on PettingZoo's multi-agent envs.
pettingzoo==1.24.3
pymunk==6.2.1
tinyscaler==1.2.8
shimmy==2.0.0
supersuit==3.9.3

# For tests on minigrid.
minigrid==2.3.1
tensorflow_estimator

# DeepMind's OpenSpiel
open-spiel==1.4

# Requires libtorrent which is unavailable for arm64
h5py==3.12.1

# Requirements for rendering.
moviepy

# numexpr is an optional pandas dependency that gets imported at runtime.
# It must be explicitly pinned here to ensure compatibility with numpy 2.x.
numexpr

# For ONNX export tests (policy_inference_after_training examples, --use-onnx-for-inference).
# onnxscript 0.5.x has a version-converter bug that breaks every torch>=2.9 dynamo ONNX
# export; pin >=0.6 directly (bumping onnx alone won't force it -- the resolver keeps the
# existing onnxscript pin). onnxscript>=0.6 in turn requires onnx>=1.17.
# Pinned only on this py3.13 track, NOT in the non-py313 rllib-test-requirements.txt: that
# track's tensorflow 2.15.1 caps ml_dtypes~=0.3.1, which conflicts with onnxscript>=0.6's
# onnx-ir -> ml_dtypes>=0.5.0. The rllib ONNX tests run from py3.13-derived deplocks
# (rllib_build_depset), so pinning here is sufficient; don't add this to the non-py313 file.
onnx>=1.17.0; sys_platform != 'darwin' or platform_machine != 'arm64'
onnxruntime==1.20.0; (sys_platform != 'darwin' or platform_machine != 'arm64') and python_version == '3.10'
onnxruntime==1.24.4; (sys_platform != 'darwin' or platform_machine != 'arm64') and python_version > '3.10'
onnxscript>=0.6.2; sys_platform != 'darwin' or platform_machine != 'arm64'
