3D visualization toolkit for robotics and GenAI
npx claudepluginhub vuer-ai/vuer3D visualization toolkit for robotics and GenAI
Share bugs, ideas, or general feedback.
pip install vuer
⬝
docs
⬝
development
Vuer is a light-weight visualization toolkit for interacting with dynamic 3D and robotics data. It is VR and AR ready, and can be run on mobile devices.
You can install vuer with pip:
pip install -U vuer
Here is an example that loads a URDF file and displays it in the browser. For more examples, see the the examples page.
from vuer import Vuer
from vuer.schemas import DefaultScene, Urdf, OrbitControls
app = Vuer()
@app.spawn(start=True)
async def main(sess):
sess.set @ DefaultScene(
Urdf(src="https://raw.githubusercontent.com/nasa-jpl/m2020-urdf-models/main/rover/m2020.urdf"),
up=[0, 0, -1], # Z-down coordinate system
bgChildren=[OrbitControls(key="OrbitControls")]
)
await sess.forever()
To get a quick overview of what you can do with vuer, check out the following:
For more details:
A full list of visualization components: API documentation on Components.
A full list of data types: API documentation on Data Types.
Vuer includes a Claude Code plugin that teaches Claude how to use the library. To install:
/plugin marketplace add vuer-ai/vuer
/plugin install vuer@vuer
See the full guide for details.
To run the examples, you'll need to download the required assets:
vuer_doc_assets from this Google Drive linkvuer_doc_assets folder alongside the project directory and rename it to assets.parent_directory/
├── vuer/ # This project
│ ├── docs/
│ ├── vuer/
│ └── README.md
└── assets/ # Downloaded assets folder
cd docs/examples/meshes
python mesh_loading.py
Using uv (recommended):
uv sync --group dev
source .venv/bin/activate
Using pip:
pip install -e '.[dev]'
make docs # Build documentation
make preview # Build and live preview at http://localhost:8000/
make test # Run tests
make clean # Clean build artifacts
We welcome contributions! See CONTRIBUTING.md for detailed guidelines on:
Vuer can run directly in the web browser via PyScript and Pyodide. To support this, server dependencies (websockets, aiohttp) are automatically excluded when platform_system == 'Emscripten'.
import micropip
await micropip.install("vuer")
from vuer.schemas import Scene, Box, Sphere, Urdf