[project]
name = "anydata"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = [
  # Core
  "av==16.1.0",
  "boto3==1.42.2",
  "braceexpand==0.1.7",
  "decord==0.6.0",
  "einops==0.8.2",
  "ffmpeg-python==0.2.0",
  "fsspec==2026.1.0",
  "imageio==2.37.2",
  "nest_asyncio==1.6.0",
  "numba==0.64.0",
  "numpy==2.2.6",
  "opencv-python==4.13.0.90",
  "pandas==2.3.3",
  "pillow==12.1.0",
  "pyyaml==6.0.2",
  "requests==2.32.3",
  "rich==14.3.3",
  "scipy==1.15.3",
  "sagemaker==2.256.1",
  "torch==2.10.0",
  "torchcodec==0.10.0",
  "torchvision==0.25.0",
  "tqdm==4.67.1",
  "transformers==4.51.3",
  "webdataset",
  # Linux-only (CUDA)
  "cuda-bindings==12.9.4; sys_platform == 'linux'",
  "cuda-pathfinder==1.3.3; sys_platform == 'linux'",
  "rerun-sdk>=0.30.0",
  "zarr==3.1.5"
]

[project.optional-dependencies]
viz = ["matplotlib==3.10.8", "pygame==2.6.1", "PyOpenGL==3.1.10", "camviz", "rerun-sdk"]
dl3dv10k = ["torch-scatter"]
droid = ["h5py==3.15.1"]
hypersim = ["h5py==3.15.1"]
PhysicalAI = ["physical_ai_av==0.2.0", "DracoPy==2.0.0", "torch-scatter"]


[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["anydata"]

[tool.uv.extra-build-dependencies]
torch-scatter = ["torch"]

[tool.uv.sources]
webdataset = { path = "externals/webdataset", editable = true }
camviz = { git = "ssh://git@github.com/TRI-ML/camviz_internal.git" }
