numpy>=1.24

[action-state]
opencv-python>=4.9

[all]
scikit-learn>=1.5
pyarrow>=23.0.1
h5py>=3.10
fsspec>=2026.6
s3fs>=2026.6
gcsfs>=2026.6
adlfs>=2026.5
torch>=2.13
datasets>=5.0.1
zarr>=2.17
protobuf>=5.29.6
jsonschema>=4.21
av>=12
ray>=2.56.1
matplotlib>=3.8
torchvision>=0.28
huggingface_hub>=0.25
omegaconf>=2.3
addict>=2.4
einops>=0.7
opencv-python>=4.9
imageio>=2.31
tqdm>=4.66.3
pillow>=13.0
safetensors>=0.4
faiss-cpu>=1.8
trimesh>=4
rtree>=1.0

[array]
h5py>=3.10

[azure]
fsspec>=2026.6
adlfs>=2026.5

[cli]
jsonschema>=4.21

[cloud]
fsspec>=2026.6

[collision]
trimesh>=4
rtree>=1.0

[dev]
pytest>=8
pytest-cov>=5
hypothesis>=6.100
jsonschema>=4.21
ruff>=0.5
mypy>=1.10
build<2,>=1.5
twine<8,>=6.2
check-wheel-contents<1,>=0.6.3

[docs]
mkdocs<2,>=1.6
mkdocs-material>=9.5

[gameplay]
av>=12
torch>=2.13
torchvision>=0.28
huggingface_hub>=0.25
omegaconf>=2.3
addict>=2.4
einops>=0.7
opencv-python>=4.9
imageio>=2.31
tqdm>=4.66.3
pillow>=13.0
safetensors>=0.4
faiss-cpu>=1.8
trimesh>=4
rtree>=1.0

[gcs]
fsspec>=2026.6
gcsfs>=2026.6

[hf]
datasets>=5.0.1

[methods]
scikit-learn>=1.5

[p2p]
protobuf>=5.29.6

[parquet]
pyarrow>=23.0.1

[pixel-shift]
opencv-python>=4.9

[ray]
ray>=2.56.1

[s3]
fsspec>=2026.6
s3fs>=2026.6

[scale]
pyarrow>=23.0.1

[slam]
av>=12
torch>=2.13
torchvision>=0.28
huggingface_hub>=0.25
omegaconf>=2.3
addict>=2.4
einops>=0.7
opencv-python>=4.9
imageio>=2.31
tqdm>=4.66.3
pillow>=13.0
safetensors>=0.4
faiss-cpu>=1.8

[slam-viz]
trimesh>=4

[standard-operators]
av>=12
torch>=2.13
torchvision>=0.28
huggingface_hub>=0.25
omegaconf>=2.3
addict>=2.4
einops>=0.7
opencv-python>=4.9
imageio>=2.31
tqdm>=4.66.3
pillow>=13.0
safetensors>=0.4
faiss-cpu>=1.8
trimesh>=4
rtree>=1.0

[stats]
matplotlib>=3.8

[torch]
torch>=2.13

[video]
av>=12

[zarr]
zarr>=2.17
