[build-system] requires = ["setuptools>=61", "wheel"] build-backend = "setuptools.build_meta" [project] name = "prima-animal" version = "0.1.7" description = "PRIMA: 3D animal pose and shape estimation" readme = "README.md" requires-python = ">=3.9" authors = [ { name = "Xiaohang Yu", email = "xiaohang.yu@epfl.ch" }, { name = "Ti Wang", email = "ti.wang@epfl.ch" }, { name = "Mackenzie Weygandt Mathis", email = "mackenzie.mathis@epfl.ch" }, ] keywords = ["3d", "animal", "pose", "shape", "vision", "pytorch"] classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ # Core "numpy==1.26.1", "pandas==2.3.2", # Vision & geometry "opencv-python==4.11.0.86", "pyrender==0.1.45", "open3d==0.19.0", "trimesh==4.8.2", "scikit-image==0.25.2", "mmcv==1.3.9", # Model components "smplx==0.1.28", "yacs==0.1.8", "timm==1.0.24", "einops==0.8.1", "xtcocotools==1.14.3", "open_clip_torch==3.2.0", "transformers==4.57.0", # Config & utilities "omegaconf==2.3.0", "hydra-core==1.3.2", "hydra-submitit-launcher==1.2.0", "hydra-colorlog==1.2.0", "pyrootutils==1.0.4", "rich==14.1.0", # IO / misc "gdown==5.2.0", # Match HF Space (Gradio 6.x) and local demo; do not pin 5.1 — Space injects gradio==6.x. "gradio>=5.1,<7", "pydantic>=2.10,<3", # Training framework "pytorch-lightning==2.5.5", # Build/runtime helpers needed for older mmcv installation flows "setuptools<81", "packaging<25", "Cython<3", "wheel", # Demo runtime dependencies (included in main PyPI install) "detectron2 @ git+https://github.com/facebookresearch/detectron2.git", "deeplabcut", ] [project.optional-dependencies] all = [] [project.urls] Homepage = "https://github.com/AdaptiveMotorControlLab/PRIMA" Source = "https://github.com/AdaptiveMotorControlLab/PRIMA" Issues = "https://github.com/AdaptiveMotorControlLab/PRIMA/issues" [tool.setuptools] include-package-data = true [tool.setuptools.packages.find] where = ["."] include = ["prima*", "chumpy*"]