numpy<3.0,>=2.0
scipy>=1.13
matplotlib>=3.9
numba>=0.60
pillow>=8.0.0

[all]
pybullet<4.0,>=3.2.5
trimesh>=3.9.14
opencv-python>=4.5
ultralytics>=8.4.0
torch>=1.8.0
scikit-learn>=1.0

[all:sys_platform != "darwin"]
cupy-cuda12x<14.0,>=13.0

[ci]
pytest>=6.0.0
pytest-cov>=3.0.0
pytest-mock>=3.6.0
pytest-xvfb>=2.0.0
pytest-timeout>=2.1.0
coverage[toml]>=6.0.0
opencv-python-headless>=4.5

[ci:python_version < "3.11"]
tomli>=1.2.0

[cuda]

[cuda:sys_platform != "darwin"]
cupy-cuda12x<14.0,>=13.0

[dev]
pytest>=6.0.0
pytest-cov>=3.0.0
pytest-mock>=3.6.0
pytest-xvfb>=2.0.0
pytest-timeout>=2.1.0
pytest-benchmark>=4.0.0
coverage[toml]>=6.0.0
black>=22.0.0
flake8>=4.0.0
isort>=5.10.0
mypy>=0.950
pre-commit>=2.15.0
tox>=4.0.0

[docs]
sphinx<9.0.0,>=8.0.0
pydata-sphinx-theme<0.19.0,>=0.18.0
sphinx-rtd-theme<4.0.0,>=3.0.0
myst-parser<5.0.0,>=4.0.0
sphinx-autodoc-typehints<4.0.0,>=3.0.0
nbsphinx>=0.8.0
jupyter>=1.0.0

[gpu-cuda11]

[gpu-cuda11:sys_platform != "darwin"]
cupy-cuda11x<14.0,>=13.0

[gpu-cuda12]

[gpu-cuda12:sys_platform != "darwin"]
cupy-cuda12x<14.0,>=13.0

[gpu-pycuda]
pycuda>=2021.1

[gpu-rocm]
cupy-rocm-4-3>=10.0.0

[minimal]
numpy<3.0,>=2.0
scipy>=1.13
matplotlib>=3.9
numba>=0.60
pybullet<4.0,>=3.2.5

[ml]
torch>=1.8.0
scikit-learn>=1.0

[simulation]
pybullet<4.0,>=3.2.5

[test-ci]
ManipulaPy[ci,vision-headless]

[test-full]
ManipulaPy[dev]

[test-minimal]
ManipulaPy[dev,minimal]

[urdf]
trimesh>=3.9.14

[vision]
opencv-python>=4.5
ultralytics>=8.4.0
torch>=1.8.0

[vision-headless]
opencv-python-headless>=4.5
ultralytics>=8.4.0
pillow>=8.0.0
