3D visualization + Python, with multi-column GUI layouts for keyframe editors
Project description
viser-keyframe
A fork of viser with additional features for building keyframe editors and multi-column GUI layouts.
What's New in viser-keyframe
This fork adds the following features on top of the original viser:
1. Multi-Column GUI Layouts
Create side-by-side control panels with gui.add_columns():
import viser
server = viser.ViserServer()
# Create a 3-column layout
columns = server.gui.add_columns(3)
# Add controls to each column
with columns.column(0):
server.gui.add_slider("Left Arm", 0, 1, 0.5)
with columns.column(1):
server.gui.add_button("Center")
with columns.column(2):
server.gui.add_slider("Right Arm", 0, 1, 0.5)
You can also specify custom column widths:
columns = server.gui.add_columns(3, widths=[0.3, 0.4, 0.3])
2. Slider Precision Fix
Fixes floating-point display noise in sliders (e.g., 0.30000000001 → 0.3), with improved input validation and dynamic width for high-precision values.
Installation
pip install viser-keyframe
Usage
This package is a drop-in replacement for viser. Just install it and import as usual:
import viser
server = viser.ViserServer()
# All original viser features work
server.scene.add_frame("/world")
# Plus the new multi-column layout
columns = server.gui.add_columns(2)
Original Viser Features
All features from the original viser are included:
- 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
- Web-based client for easy use over SSH
For full documentation, see the original viser docs: https://viser.studio
Credits
This package is a fork of viser by the Nerfstudio team.
To cite the original viser project:
@misc{yi2025viser,
title={Viser: Imperative, Web-based 3D Visualization in Python},
author={Brent Yi and Chung Min Kim and Justin Kerr and Gina Wu and Rebecca Feng and Anthony Zhang and Jonas Kulhanek and Hongsuk Choi and Yi Ma and Matthew Tancik and Angjoo Kanazawa},
year={2025},
eprint={2507.22885},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2507.22885},
}
License
MIT License (same as original viser)
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
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_keyframe-1.0.20.tar.gz.
File metadata
- Download URL: viser_keyframe-1.0.20.tar.gz
- Upload date:
- Size: 29.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4085de74f8fd51a8a097ba91dee272519a7dc9b6ac750c18b06c4254e382dd96
|
|
| MD5 |
b0ca23987756d2f38438c17532652e0a
|
|
| BLAKE2b-256 |
d9d7348c95c0e817da5623c99904c903504c9ac7eee84350f80eee2cd33d6ebf
|
File details
Details for the file viser_keyframe-1.0.20-py3-none-any.whl.
File metadata
- Download URL: viser_keyframe-1.0.20-py3-none-any.whl
- Upload date:
- Size: 29.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a065877fc9090748e4c4b56c97ad8050827f7e009b0be6688eddca348a0e5dcf
|
|
| MD5 |
ac391ad9bc0871a43656667aefe1a08d
|
|
| BLAKE2b-256 |
0db9db80d27e2cbf6068106b27994622222cbe87598fd03f9b36d2899f3c9b49
|