[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "mini-dpvo" version = "0.1.1" description = "Miniature version of dpvo, focused on inference" requires-python = ">=3.10.0" license = { file = "LICENSE" } classifiers = [ "Development Status :: 3 - Alpha", "Programming Language :: Python", ] readme = "README.md" dependencies = [ "build>=1.2.2.post1,<2", "mmcv-lite>=2.2.0,<3", "hf-transfer>=0.1.8,<0.2", ] [tool.pixi.project] name = "mini-dpvo" authors = ["pablovela5620 "] channels = [ "nvidia/label/cuda-11.8.0", "nvidia", "conda-forge", "pytorch", "pyg", ] platforms = ["linux-64"] [tool.pixi.system-requirements] libc = { family = "glibc", version = "2.31" } [tool.pixi.activation] scripts = [".pixi.sh"] [tool.pixi.tasks] _download-model = """ test -e checkpoints/dpvo.pth || ( huggingface-cli download pablovela5620/dpvo dpvo.pth --repo-type model --local-dir checkpoints/ ) """ _download-dpvo-data = """ test -e data/movies/IMG_0492.MOV || ( huggingface-cli download pablovela5620/dpvo-example-data movies.zip --repo-type dataset --local-dir data/ && unzip data/movies.zip -d data/ && rm -r data/movies.zip ) """ _download-iphone-data = """ test -e data/iphone/pool.MOV || ( huggingface-cli download pablovela5620/dpvo-example-data pool.MOV --repo-type dataset --local-dir data/iphone/ ) """ post-install = { cmd = "pwd", depends_on = [ "_download-model", "_download-dpvo-data", "_download-iphone-data", ] } _build-wheel = "python -m build --no-isolation" upload-hf = { cmd = "python tools/upload_to_hf.py", depends_on = [ "_build-wheel", ] } demo = """ python tools/demo.py --imagedir data/movies/IMG_0493.MOV --config config/fast.yaml """ [tool.pixi.tasks.app] cmd = "python tools/gradio_app.py" description = "run gradio frontend for mini-dust3r" depends_on = ["post-install"] [tool.pixi.tasks.dev-app] cmd = """ gradio tools/gradio_app.py """ description = "Runs Gradio frontend with hot-reload" depends_on = ["post-install"] [tool.pixi.feature.spaces.tasks.app] cmd = """ python gradio_app.py """ description = "Runs Gradio frontend in huggingface spaces" depends_on = ["post-install"] [tool.pixi.pypi-options] no-build-isolation = ["mini_dpvo"] [tool.pixi.dependencies] python = "3.11.*" pip = ">=24.0,<25" cuda = { version = "*", channel = "nvidia/label/cuda-11.8.0" } pytorch-cuda = { version = "11.8.*", channel = "pytorch" } pytorch = { version = ">=2.2.0,<2.3", channel = "pytorch" } torchvision = { version = ">=0.17.0,<0.18", channel = "pytorch" } plyfile = ">=1.0.3,<1.1" pytorch-scatter = { version = "*", channel = "pyg" } matplotlib = ">=3.8.4,<3.9" yacs = ">=0.1.8,<0.2" jaxtyping = ">=0.2.28,<0.3" icecream = ">=2.1.3,<2.2" eigen = ">=3.4.0,<3.5" tyro = ">=0.8.4,<0.9" numpy = "<2.0.0" gradio = "<5" rerun-sdk = ">=0.19.0,<0.20" [tool.pixi.pypi-dependencies] # mini_dpvo = { path = ".", editable = true } mini_dpvo = { path = "dist/mini_dpvo-0.1.1-cp311-cp311-linux_x86_64.whl" } opencv-python = ">=4.9.0.80" evo = ">=1.28.0" gradio-rerun = ">=0.0.3" numpy = { version = "<2.0.0" } mini-dust3r = ">=0.1.1, <0.2" [tool.pixi.feature.spaces.pypi-dependencies] spaces = "*" [tool.pixi.environments] spaces = { features = ["spaces"], solve-group = "default" } [tool.ruff] ignore = [ "F722", # Forward annotation false positive from jaxtyping. Should be caught by pyright. ]