3D visualization + Python
Project description
Viser
Viser is a 3D visualization library for computer vision and robotics in Python.
Features include:
- API for visualizing 3D primitives.
- GUI building blocks: buttons, checkboxes, text inputs, sliders, etc.
- Scene interaction tools (clicks, selection, transform gizmos).
- Programmatic camera control and rendering.
- An entirely web-based client, for easy use over SSH!
The goal is to provide primitives that are (1) easy for simple visualization tasks, but (2) can be composed into more elaborate interfaces. For more about design goals, see the technical report.
Examples and documentation: https://viser.studio
Installation
You can install viser with pip:
pip install viser # Core dependencies only.
pip install viser[examples] # To include example dependencies.
That's it! To learn more, we recommend looking at the examples in the documentation.
Citation
To cite Viser in your work, you can use the BibTeX for our technical report:
@article{yi2025viser,
title={Viser: Imperative, web-based 3d visualization in python},
author={Yi, Brent and Kim, Chung Min and Kerr, Justin and Wu, Gina and Feng, Rebecca and Zhang, Anthony and Kulhanek, Jonas and Choi, Hongsuk and Ma, Yi and Tancik, Matthew and Kanazawa, Angjoo},
journal={arXiv preprint arXiv:2507.22885},
year={2025}
}
Acknowledgements
viser is heavily inspired by packages like
Pangolin,
Dear ImGui,
rviz,
meshcat, and
Gradio.
The web client is implemented using React, with:
- Vite / Rollup for bundling
- three.js via react-three-fiber and drei
- Mantine for UI components
- zustand for state management
- vanilla-extract for stylesheets
Thanks to the authors of these projects for open-sourcing their work!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file viser-1.0.21.tar.gz.
File metadata
- Download URL: viser-1.0.21.tar.gz
- Upload date:
- Size: 4.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b047b0b6ccc5c9b26374e1c48a514e15dbed05df351dcc2e71014f13ac651771
|
|
| MD5 |
0f86e11661029ac7e7d844bc7486fa84
|
|
| BLAKE2b-256 |
d5f04aeb9b6fe5d285bf201dc8ec236659b94aa73f8e350f0401f7f7015e5363
|
File details
Details for the file viser-1.0.21-py3-none-any.whl.
File metadata
- Download URL: viser-1.0.21-py3-none-any.whl
- Upload date:
- Size: 4.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9458709976e2d1b59b7b4a531e0e7088234f394ee9a58ca864e002fb34ef4bfe
|
|
| MD5 |
783b316c29af8f801304272d7fa4597c
|
|
| BLAKE2b-256 |
b9c4819f000b3d64f654a054a8b24bf8d0c5e799636393135784d0886d8c808e
|