mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-12 19:04:03 +08:00
* Copy in `viser` communication infrastructure * Update background image * Add build directory to fix viser HTTP server May want to remove these later * Copy in `viser` communication infrastructure * Update background image * Pass dataset vis using viser * initial impl of ViewerParameter * idk what i did but brent and matt know * Suppress eslint typescript warnings * implement ViewerElement base class, then ViewerButton, ViewerSlider, etc * client -> server message setup * multi folder stuff * Stream controls over viser * import * add types to viewer_param.py * Move another message to viser * Update folder color * Use non throttled messages * multiple folders works * Cleanup, more porting * starting impl of control panel in viser * More porting * scenebox to viser * Cleanup * Fix render updates * More cleanup, docs, typing * start control_panel.py * set_hidden logic but not merged in * control_panel replicates behavior of existing control panel (visually), except for setting the list of output options. not yet integrated with viewer_utils.py for logic flow. also implemented set_disabled and set_hidden in javscript/ViewerElement side * Remove some original leva components * add some train util logic, attempt set_value, doesn't work on javascript side fully yet (value updates but not slider visually * bye zmq * missing call to decoder * 'gui_set' works properly, control panel now replicates behavior of original * remove print * Fix status viewer message * More cleanup * support set_options in dropdown * hiding buttons works correctly * fix set_options, switch from cur_value to get_value() * Fix slowdown * output options * colormap logic converted * add handle to cb_hook * fix some lambda bugs * cleanup * Save checkpoint logic readded * Cleanup and minor fixes * snappier ui * Refactoring * Fix state update bugs * Bug fixes * Write less to redux * added comments to reducer code * Render state machine (#1727) * state machine works, but train step throttling not implemented * more step logic, cleanup * remove random try catcH * mutex logic for render * Update lock logic * types and docs * added some state machine logic to help rerenders * merge --------- Co-authored-by: Justin <justin.g.kerr@gmail.com> * Refactor and cleanup * More cleanup and docs * docstring to gui_utils * docstrings, rename viewer_param.py to viewer_elements.py * Fix viewer, remove bridge stuff * Render on connect * Fix lint errors * More eslint fixes * render_freq logic * better rerender logic for crop * More cleanup * Purge * Cleanup * Lint fixes * Fix cache * better parsing logic * Fix infinite test * More cleanup * typo * Update webdocs * Update docs * rerender on custom hooks * add more docs * Use shared utilities in `viser.infra` * rework callback to use elements instead of handles * Fix ESlint errors * change naming of handle to element, add setter for value * cleanup --------- Co-authored-by: Matt Tancik <mattt4001@gmail.com> Co-authored-by: Justin <justin.g.kerr@gmail.com> Co-authored-by: Ethan Weber <eweb0124@gmail.com> Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
171 lines
4.1 KiB
TOML
171 lines
4.1 KiB
TOML
[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.3.31",
|
|
"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",
|
|
"viser==0.0.2",
|
|
"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-dev-sync-viser-message-defs = "scripts.viewer.sync_viser_message_defs: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__",
|
|
]
|
|
defineConstant = { DEBUG = true }
|
|
|
|
reportMissingImports = true
|
|
reportMissingTypeStubs = false
|
|
reportPrivateImportUsage = false
|
|
reportUndefinedVariable = false
|
|
|
|
pythonVersion = "3.7"
|
|
pythonPlatform = "Linux"
|