Minimal pybind11 bindings for Pangolin on Windows (users install Pangolin deps themselves).
Project description
pangolin_fast
pangolin_fast is a lightweight Python wrapper around Pangolin for fast, simple realtime 3D visualization.
It is designed as a pragmatic alternative to heavier viewers when you want:
- High-FPS rendering with a dedicated C++ render thread
- Minimal Python API for points, lines, meshes, poses, and UI controls
- Low-overhead updates for dynamic scenes (e.g. SLAM, tracking, robotics, point-cloud streams)
What This Repo Contains
pangolin_fast/- Python package entrypointsrc/- C++ viewer implementation + pybind11 bindingsdemo.py- runnable usage exampleINSTALL_PANGOLIN_WINDOWS.md- Pangolin/vcpkg/Windows setup guide
If you need help installing Pangolin itself on Windows, follow:
Quick Start (Library)
# From this repo root:
python -m pip install -e .
python demo.py
Public PyPI package:
pip install pangolin-windows-easy==0.1.0
Note: the package still requires Pangolin and its Windows toolchain/runtime dependencies to be installed and configured first. Follow:
If your Pangolin dependencies are in vcpkg and not on PATH, set:
$env:VCPKG_ROOT = "$env:USERPROFILE\vcpkg"
pangolin_fast will try to load DLLs from:
VCPKG_ROOT\installed\x64-windows\binVCPKG_INSTALLATION_ROOT\installed\x64-windows\bin%USERPROFILE%\vcpkg\installed\x64-windows\bin
Minimal Usage
import time
import numpy as np
from pangolin_fast import Viewer
v = Viewer(width=1280, height=720, title="pangolin_fast")
v.add_bool("show_grid", True)
v.add_float("point_size", 2.0, 1.0, 8.0)
v.add_grid("grid", half=10.0, step=1.0)
xyz = np.random.uniform(-2, 2, size=(50000, 3)).astype(np.float32)
rgb = np.clip((xyz + 2.0) / 4.0, 0.0, 1.0)
v.add_points("cloud", xyz, rgb=rgb, dynamic=True)
v.start()
try:
while v.is_running():
ui = v.get_ui()
v.set_visible("grid", bool(ui.get("show_grid", True)))
v.set_point_size("cloud", float(ui.get("point_size", 2.0)))
v.update_points("cloud", xyz=xyz)
time.sleep(1.0 / 30.0)
finally:
v.stop()
API Overview
Viewer methods currently exposed:
- Lifecycle:
start,stop,is_running - Camera:
set_camera,set_projection - Geometry:
add_points,update_points,set_point_sizeadd_linesadd_axis,add_gridadd_meshset_poseset_visible,remove
- UI vars:
add_bool,add_float,get_ui
Input conventions:
- Coordinates are NumPy arrays of shape
(N, 3)and float32-compatible. - Colors accept float
[0,1]or uint8[0,255], shape(N, 3). - Mesh faces are integer arrays of shape
(M, 3). - Poses are 4x4 transform matrices.
Current Scope
- Target platform: Windows (native, Pangolin + vcpkg workflow)
- Key focus: fast visualization and simple control loops from Python
on_keyis currently a stub in this build
Installation Notes
This README is intentionally focused on using the Python library.
For Pangolin installation/toolchain setup, see:
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 pangolin_fast-0.1.0.tar.gz.
File metadata
- Download URL: pangolin_fast-0.1.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7373a719e07c4027e82efdea0126492e5c794da173e021a782d56ce147414dc
|
|
| MD5 |
c4d965003598e844dda1cbbe2846e490
|
|
| BLAKE2b-256 |
2103747c2178ace7bb383726d8f06a1303c033760beaca617d1438787f74c62e
|
File details
Details for the file pangolin_fast-0.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pangolin_fast-0.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 398.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9044da1d0d235482bb0d84f1350883904ad9829097656ea5343bf05347783ea8
|
|
| MD5 |
d3a2e63012ed88eb3df9af2070b43ea8
|
|
| BLAKE2b-256 |
700760d1661243f170cd23c94782cb3bba58e280a4a98da8d5f8a5e0d9a1c0e4
|