File size: 4,269 Bytes
a266324 4c704a2 a266324 4c704a2 a266324 4c704a2 a266324 4c704a2 a266324 6ef828c a266324 4c704a2 a266324 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | [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"]
|