mini-dpvo-zero / pyproject.toml
pablovela5620's picture
Upload pyproject.toml with huggingface_hub
389df50 verified
[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 <pablovela5620@gmail.com>"]
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.
]