Hi all,
I’ve revived and substantially rebuilt Dash Pannellum, a Dash component for interactive 360° content — equirectangular panoramas, multi-scene virtual tours,
gigapixel multi-resolution tiles, and 360° video — built on the plugin-free Pannellum WebGL viewer.
The original component (0.0.6) was from the Dash 1/2 era and had gone stale. Versions 0.1.0 → 0.4.0 bring it onto the modern stack and, more importantly, add a
real-time imperative API so the camera and the scene can be driven from callbacks without tearing down and rebuilding the viewer.
Install
pip install dash-pannellum>=0.4.0 # requires dash>=4.2.0
Minimal example — pass exactly one of tour, multiRes, or video; the viewer reports pitch, yaw, currentScene, loaded and lastClickedHotspot back as callback
inputs.
What’s new since 0.0.6
- Dash 4.2+ / React 18 rebuild, pyproject.toml packaging, webpack 5.
- Live config props — change tour/multiRes/video/compass/… from a callback and the viewer re-initializes instead of silently breaking.
- Imperative camera (lookAt) — pan/zoom the live viewer with no rebuild; loadScene switches tour scenes the same way.
- Live callbackHotspots — per-name diff; position-only changes move the DOM node in place, so markers animate in real time.
- Dynamic canvas scenes — point a scene at a and redraw to update the texture in place (no flash).
- Gyroscope look-around (0.4.0) — orientation prop with iOS-permission handling.
- Plus scene preloading, deduplicated CDN loading, coherent customControls, throttled view-state callbacks.
Github Repo -

