[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "nerfstudio" version = "0.1.19" 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 = [ "appdirs>=1.4", "av>=9.2.0", "cryptography>=38", "tyro>=0.4.0", "gdown>=4.6.0", "ninja>=1.10", "functorch>=0.2.1", "h5py>=2.9.0", "imageio>=2.21.1", 'importlib-metadata>=6.0.0; python_version < "3.10"', "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.5", "open3d>=0.16.0", "opencv-python==4.6.0.66", "Pillow>=9.3.0", "plotly>=5.7.0", "protobuf<=3.20.3,!=3.20.0", # TODO(1480) enable when pycolmap windows wheels are available # "pycolmap==0.3.0", "pyequilib>=0.5.6", "pymeshlab>=2022.2.post2", "pyngrok>=5.1.0", "python-socketio>=5.7.1", "pyquaternion>=0.9.9", "requests", "rich>=12.5.1", "scikit-image>=0.19.3", "tensorboard==2.9.0", "torch>=1.12.1,<2.0.0", "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", "trimesh>=3.20.2" ] [project.urls] "Documentation" = "https://docs.nerf.studio" [project.optional-dependencies] # Generative related dependencies gen = [ "diffusers==0.9.0", "transformers==4.24.0", ] # 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-viewer = "scripts.viewer.run_viewer: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"