Skip to main content

3D visualization helper

Project description

viser

pip install viser   •   [ API Reference ]

pyright mypy typescript pypi


viser is a library for interactive 3D visualization + Python, inspired by tools like Pangolin, rviz, and meshcat.

Warning viser is in a working state, but under development. Large changes may be made, and backwards compatibility can't yet be guaranteed.

As a standalone visualization tool, viser features include:

  • Web interface for easy use on remote machines.
  • Python API for sending 3D primitives to the browser.
  • Python-configurable inputs: buttons, checkboxes, text inputs, sliders, dropdowns, gizmos.
  • Support for multiple panels and view-synchronized connections.

The viser.infra backend can also be used to build custom web applications (example: the Nerfstudio viewer). It supports:

  • Websocket / HTTP server management, on a shared port.
  • Asynchronous server/client communication infrastructure.
  • Client state persistence logic.
  • Typed serialization; synchronization between Python dataclass and TypeScript interfaces.

Running examples

# Clone the repository.
git clone https://github.com/nerfstudio-project/viser.git

# Install the package.
# You can also install via pip: `pip install viser`.
cd ./viser
pip install -e .

# Run an example.
pip install -e .[examples]
python ./examples/4_gui.py

After an example script is running, you can connect by navigating to the printed URL (default: http://localhost:8080).

Setup (client development)

This is only needed for client-side development. The automatically hosted viewer should be sufficient otherwise.

cd ./viser/viser/client
yarn
yarn start

Demos

Interactive SMPL-X Example

https://user-images.githubusercontent.com/6992947/228734499-87d8a12a-df1a-4511-a4e0-0a46bd8532fd.mov

Interactive NeRF rendering

(code not released)

https://user-images.githubusercontent.com/6992947/232163875-ff788455-f074-4bd3-9154-5330b5ed4733.mov

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

viser-0.0.16.tar.gz (4.3 MB view hashes)

Uploaded Source

Built Distribution

viser-0.0.16-py3-none-any.whl (4.3 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page