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

[all]
ManipulaPy[core-optional,docs,ml,simulation,vision]

[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

[core-optional]
scikit-learn>=1.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]
cupy-cuda11x>=10.0.0

[gpu-cuda11]
cupy-cuda11x>=10.0.0

[gpu-cuda12]
cupy-cuda12x>=12.0.0

[gpu-pycuda]
pycuda>=2021.1

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

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

[test-ci]
ManipulaPy[ci]

[test-core]
ManipulaPy[dev]

[test-full]
ManipulaPy[dev,ml,simulation,vision-headless]

[test-gpu]
ManipulaPy[dev,gpu-cuda11]

[test-simulation]
ManipulaPy[dev,simulation]

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

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

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