Skip to main content

3D visualization + Python

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


Release history Release notifications | RSS feed

This version

0.1.2

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.1.2.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

viser-0.1.2-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file viser-0.1.2.tar.gz.

File metadata

  • Download URL: viser-0.1.2.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.18

File hashes

Hashes for viser-0.1.2.tar.gz
Algorithm Hash digest
SHA256 84a84598e9274852d5594ba7ac4ddd7b87ccd0bc5ecc4eecd08b2dc14541e039
MD5 1feaba1cdd87ab6d82b46b44ee03defd
BLAKE2b-256 93efda00ff47a7bccb0c33c115f1e78a385dc7a34e5dc951acd3f717593d5701

See more details on using hashes here.

File details

Details for the file viser-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: viser-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.18

File hashes

Hashes for viser-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 304bc72ce3e7c2b6fbcaf132a79864fec56855580b89917962c67c1aaeeca65f
MD5 a54c950a67985b3562b4f57219159133
BLAKE2b-256 045a1058600dd93a01840a07e02a364568197cf3584f2459dee41dcfc652eef4

See more details on using hashes here.

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