4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00
nerfstudio/pyproject.toml

158 lines
3.8 KiB
TOML

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "nerfstudio"
version = "0.1.15"
description = "All-in-one repository for state-of-the-art NeRFs"
readme = "README.md"
license = { text="Apache 2.0"}
requires-python = ">=3.7.3"
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python",
]
dependencies = [
"aiohttp>=3.8.1",
"aiortc>=1.3.2",
"appdirs>=1.4",
"av>=9.2.0",
"cryptography>=38,<39",
"tyro>=0.3.31",
"gdown>=4.6.0",
"ninja>=1.10",
"functorch==0.2.1",
"h5py>=2.9.0",
"imageio>=2.21.1",
"ipywidgets>=7.6",
"jupyterlab>=3.3.4",
"matplotlib>=3.5.3",
"mediapy>=1.1.0",
"msgpack>=1.0.4",
"msgpack_numpy>=0.4.8",
"nerfacc==0.3.3",
"open3d>=0.16.0",
"opencv-python==4.6.0.66",
"plotly>=5.7.0",
"protobuf<=3.20.3.*,!=3.20.0",
"pymeshlab>=2022.2.post2",
"pyngrok>=5.1.0",
"python-socketio>=5.7.1",
"requests",
"rich>=12.5.1",
"scikit-image>=0.19.3",
"tensorboard==2.9.0",
"torch==1.12.1",
"torchmetrics[image]>=0.9.3",
"torchtyping>=0.1.4",
"torchvision>=0.13.0",
"u-msgpack-python>=2.4.1",
"nuscenes-devkit>=1.1.1",
"wandb>=0.13.3",
"xatlas"
]
[project.urls]
"Documentation" = "https://docs.nerf.studio"
[project.optional-dependencies]
# Development packages
dev = [
"black[jupyter]==22.3.0",
"pylint==2.13.4",
"pytest==7.1.2",
"pytest-xdist==2.5.0",
"typeguard>=2.13.3",
]
# Documentation related packages
docs = [
"furo==2022.09.29",
# Specifying ipython for https://github.com/ipython/ipython/issues/13845
"ipython==8.6.0",
"readthedocs-sphinx-search==0.1.2",
"myst-nb==0.16.0",
"nbconvert==7.2.5",
"nbformat==5.5.0",
"sphinx==5.2.1",
"sphinxemoji==0.2.0",
"sphinx-argparse==0.3.1",
"sphinx-copybutton==0.5.0",
"sphinx-design==0.2.0",
"sphinxext-opengraph==0.6.3"
]
[project.scripts]
# Note, add entrypoint name to scripts/completions/install.py to include CLI completion
ns-install-cli = "scripts.completions.install:entrypoint"
ns-process-data = "scripts.process_data:entrypoint"
ns-download-data = "scripts.downloads.download_data:entrypoint"
ns-train = "scripts.train:entrypoint"
ns-eval = "scripts.eval:entrypoint"
ns-render = "scripts.render:entrypoint"
ns-export = "scripts.exporter:entrypoint"
ns-dev-test = "scripts.github.run_actions:entrypoint"
ns-bridge-server = "nerfstudio.viewer.server.server:entrypoint"
[options]
# equivalent to using --extra-index-url with pip, which is needed for specifying the CUDA version torch and torchvision
dependency_links = [
"https://download.pytorch.org/whl/cu113"
]
[tool.setuptools.packages.find]
include = ["nerfstudio*","scripts*"]
[tool.setuptools.package-data]
"*" = ["*.json", "py.typed", "setup.bash", "setup.zsh"]
# black
[tool.black]
line-length = 120
# pylint
[tool.pylint.messages_control]
max-line-length = 120
generated-members = ["numpy.*", "torch.*", "cv2.*", "cv.*"]
good-names-rgxs = "^[_a-zA-Z][_a-z0-9]?$"
ignore-paths = ["scripts/colmap2nerf.py"]
jobs = 0
ignored-classes = ["TensorDataclass"]
disable = [
"duplicate-code",
"fixme",
"logging-fstring-interpolation",
"too-many-arguments",
"too-many-branches",
"too-many-instance-attributes",
"too-many-locals",
"unnecessary-ellipsis",
]
#pytest
[tool.pytest.ini_options]
addopts = "-n=4 --typeguard-packages=nerfstudio --torchtyping-patch-typeguard --disable-warnings"
testpaths = [
"tests",
]
# pyright
[tool.pyright]
include = ["nerfstudio"]
exclude = ["**/node_modules",
"**/__pycache__",
]
ignore = ["nerfstudio/viewer"]
defineConstant = { DEBUG = true }
reportMissingImports = true
reportMissingTypeStubs = false
reportPrivateImportUsage = false
reportUndefinedVariable = false
pythonVersion = "3.7"
pythonPlatform = "Linux"