A Python CLI for Vuer, a real-time 3D visualization library
Project description
Vuer Hub Environment Manager
Vuer HUB and the vuer command line tool enable you to manage, version-control, and distribute physical simulation environments the same way you manage software packages.
Overview
The CLI maintains a local environment list in vuer.json.
Commands:
sync- pull all included environmentsadd- add an environment to the vuer.jsonremove- remove an environmentupgrade- upgrade environments
Environment Commands:
envs-create– create a workspace for an environmentenvs-publish- publish an environment to the workspaceenvs-pull– download an environment byenvironmentIdenvs-push– upload a packaged environment
Installation
pip install vuer-cli
Environment Variables
| Variable | Required | Description |
|---|---|---|
VUER_AUTH_TOKEN |
✅ | JWT token used for all authenticated requests |
VUER_HUB |
❌ | Base URL of the Vuer Hub API backend (defaults to https://hub.vuer.ai/api) |
export VUER_AUTH_TOKEN="your-jwt-token"
export VUER_HUB="https://hub.vuer.ai/api"
Usage Overview
# Sync all environments
vuer sync
# Add an environment
vuer add --command.env <environmentId>
# Pull an environment
vuer envs-pull --command.id <environmentId>
# Push an environment
vuer envs-push --command.file ./build/my-env.zip --command.name demo-env --command.version 1.2.3
Push Command
Upload a packaged environment:
vuer envs-push \
--command.file ./build/my-env.zip \
--command.name demo-env \
--command.version 1.2.3 \
--command.description "Demo package" \
--command.env-type isaac \
--command.visibility PUBLIC \
--command.push-timeout 600
Push Flags
| Flag | Required | Description |
|---|---|---|
--command.file PATH |
✅ | Path to the package file (zip/tar/etc.) |
--command.name NAME |
✅ | Environment name without spaces |
--command.version SEMVER |
✅ | Semver-compliant version string (1.2.3, 2.0.0-beta, …) |
--command.description TEXT |
❌ | Optional text |
--command.env-type TYPE |
❌ | Example: isaac, mujoco |
--command.visibility VIS |
❌ | PUBLIC (default), PRIVATE, or ORG_MEMBERS |
--command.push-timeout SECONDS |
❌ | Request timeout in seconds (default: 300) |
Pull Command
Download an environment by ID:
vuer envs-pull \
--command.id 252454509945688064 \
--command.output ./downloads \
--command.filename demo-env.zip \
--command.timeout 600
If --command.filename is omitted, the tool will try to derive the original filename
from the server's Content-Disposition header. Files are stored under the downloads/ directory by default.
Pull Flags
| Flag | Required | Description |
|---|---|---|
--command.id ENV_ID |
✅ | Target environment's environmentId |
--command.output DIR |
❌ | Destination directory (default downloads) |
--command.filename NAME |
❌ | Override for the saved filename |
--command.timeout SECONDS |
❌ | Request timeout in seconds (default: 300) |
Hub Configuration
You can also configure Hub settings via CLI options:
vuer sync --hub.url https://custom-hub.example.com/api --hub.auth-token your-token
Error Handling
All network and file-system errors are surfaced as readable messages (prefixed
with [ERROR]). Typical causes:
- Invalid JWT → ensure
VUER_AUTH_TOKENis set and not expired. - Missing backend endpoint → ensure
VUER_HUBis set. - Duplicate name/version on
push→ server enforces(name, versionId)uniqueness. - Missing file path on
pushor invalid target directory onpull. - Timeout errors → increase
--command.push-timeoutor--command.timeoutfor large files.
Development
- Clone the main repository and navigate into the CLI folder.
- Install dependencies:
pip install -e .
- Run the CLI locally using
vuer ....
Running with uv
Use uv run to execute the CLI without installing it globally:
# Create a new environment workspace
uv run vuer envs-create --command.name my-environment
# Pull an environment by ID
uv run vuer envs-pull --command.id 252454509945688064 --command.output ./downloads
# Push an environment package
uv run vuer envs-push \
--command.file ./build/my-env.zip \
--command.name demo-env \
--command.version 1.2.3 \
--command.description "Demo package" \
--command.env-type isaac \
--command.visibility PUBLIC
# Sync all environments in vuer.json
uv run vuer sync
# Add an environment to vuer.json
uv run vuer add --command.env <environmentId>
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 vuer_cli-0.0.1.tar.gz.
File metadata
- Download URL: vuer_cli-0.0.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41e363e0ebd420eadae26f0e63c8d0acdbcbbdbb83a3173a1f1be1cb54f2697d
|
|
| MD5 |
15fd61a80ccba539561301a185c58a09
|
|
| BLAKE2b-256 |
aeb9fcdc3028f5d91e042821dd6c911f4cbf3aa892f4f8857b609b86ffc506e7
|
File details
Details for the file vuer_cli-0.0.1-py3-none-any.whl.
File metadata
- Download URL: vuer_cli-0.0.1-py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a175e9f6db4462e8f73acae681e69cc144e9d664463d4353df1191bcb19a981
|
|
| MD5 |
1673de05edf24a439e7dcb9768343e48
|
|
| BLAKE2b-256 |
a47fde297d76ac57cd939ce4547193d0fd878aa72b11b961ffb53638d4a6a3cd
|