numpy<3.0,>=1.19.2
scipy>=1.5.2
matplotlib>=3.3
numba>=0.55
pybullet>=3.0.6
trimesh>=3.9.14
torch>=1.8.0
scikit-learn>=1.0
opencv-python>=4.5
ultralytics>=8.0
pillow>=8.0.0

[:sys_platform != "darwin"]
cupy-cuda11x>=10.0.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

[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>=4.0.0
sphinx-rtd-theme>=1.0.0
myst-parser>=0.15.0
sphinx-autodoc-typehints>=1.12.0
nbsphinx>=0.8.0
jupyter>=1.0.0

[gpu-cuda12]
cupy-cuda12x>=12.0.0

[gpu-pycuda]
pycuda>=2021.1

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

[minimal]
numpy<3.0,>=1.19.2
scipy>=1.5.2
matplotlib>=3.3
numba>=0.55
pybullet>=3.0.6

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

[test-full]
ManipulaPy[dev]

[test-minimal]
ManipulaPy[dev,minimal]

[urdf-legacy]
urchin>=0.0.27
numpy<2.0,>=1.19.2

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