dvlt / pyproject.toml
aburzio-nv's picture
Fix managed Space dependency mounting and pin injected SDK dependencies
6ef828c verified
Raw History Blame Contribute Delete
4.27 kB
[project]
name = "dvlt"
version = "0.0.1"
description = "Déjà View: Looping Transformers for Multi-View 3D Reconstruction"
readme = "README.md"
requires-python = ">= 3.11"
license = { file = "LICENSE" }
authors = [
{name = "Tobias Fischer", email = "tobiasfischer623@gmail.com"},
{name = "Alessandro Burzio", email = "aburzio@nvidia.com"},
{name = "Haithem Turki", email = "hturki@nvidia.com"},
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Scientific/Engineering :: Image Processing",
]
dependencies = [
# core
"accelerate==1.15.0",
"h5py==3.16.0",
"huggingface-hub==1.16.4",
"hydra-core==1.3.8",
"numpy==2.4.4",
"omegaconf==2.3.0",
"opencv-python==4.11.0.86",
"Pillow==12.3.0",
"pydantic==2.12.4",
"safetensors==0.5.3",
"scipy==1.16.0",
"torch==2.13.0",
"torchvision==0.28.0",
"tqdm==4.67.1",
# logging + console
"rich==14.3.3",
"tensorboard==2.19.0",
"wandb==0.25.1",
# visualization (transitively required by callbacks/__init__)
"matplotlib==3.10.3",
"plotly==6.2.0",
"rerun-sdk==0.24.1",
# 3D geometry (ICP, voxel downsampling)
"open3d==0.19.0",
]
[project.optional-dependencies]
demos = [
# interactive gradio demos
"gradio[oauth,mcp]==6.31.0",
"onnxruntime-gpu==1.25.0",
"requests==2.34.2",
"trimesh==4.8.3",
]
dev = [
"black==25.1.0",
"pre-commit==4.2.0",
"pytest==8.4.1",
"ruff==0.12.1",
]
all = ["dvlt[demos,dev]"]
# Using setuptools as the build backend
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
# setuptools configuration
[tool.setuptools.packages.find]
where = ["src"]
include = ["dvlt*"]
# Black configuration
[tool.black]
line-length = 120
target-version = ["py310"]
include = '\.pyi?$'
extend-exclude = '''
# A regex preceded with ^/ will apply only to files and directories
# in the root of the project.
^/build/
'''
# Ruff configuration
[tool.ruff]
line-length = 120
target-version = "py310"
# Enable various linting rules:
# E: pycodestyle errors (PEP 8 style guide)
# F: Pyflakes (detects logical errors)
# I: isort (import sorting)
# N: pep8-naming (naming conventions)
# W: pycodestyle warnings
# B: flake8-bugbear (additional bug detection)
# UP: pyupgrade (upgrade syntax to newer Python)
# PL: Pylint (general Python linting)
# RUF: Ruff-specific rules
lint.select = ["E", "F", "I", "W", "B", "PLE", "PLW", "PLC", "PLR"]
lint.ignore = [
"E731", # lambda expression
"E501", # Line too long.
"PLR2004", # Magic value used in comparison.
"PLR0915", # Too many statements.
"PLR0913", # Too many arguments.
"PLC0414", # Import alias does not rename variable. (this is used for exporting names)
"PLC1901", # Use falsey strings.
"PLR0911", # Too many return statements.
"PLR0912", # Too many branches.
"PLW2901", # For loop variable overwritten.
"B027", # Allow empty methods in abstract base class
]
# Specify directories that should be checked
include = ["src/**/*.py", "tests/**/*.py"]
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"venv",
]
# Allow unused variables when underscore-prefixed.
lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.ruff.lint.isort]
known-first-party = ["dvlt", "tests"]
force-single-line = false
lines-after-imports = 2
[tool.ruff.lint.flake8-quotes]
docstring-quotes = "double"
inline-quotes = "single"
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]