cloudglancer
Simple interactive visualization of 3D point clouds using Plotly.
Features
- Interactive 3D scatter plots with pan, zoom, and rotation
- Support for categorical and continuous color mapping
- Combine multiple plots into subplot grids
- Plot batched point clouds (B, N, 3)
- Render a (B, N, 3) batch as a grid of subplots (one cloud per cell)
- Export a rotating turntable GIF of any figure
Installation
pip install cloudglancer
Quick Start
import numpy as np
import cloudglancer as cg
# Generate random 3D points
points = np.random.randn(500, 3)
# Create and display the plot
cg.plot(points, title="My Point Cloud", size=2.0).show()
Export a rotating GIF of the same figure:
fig = cg.plot(points, size=2.0)
cg.animate(fig, "rotation.gif", axis="z", n_frames=60)
Frames are rendered in parallel; pass n_workers to control how many render
processes are used (defaults to min(16, cpu_count)).
Render a batch of point clouds as a grid of subplots (one cloud per cell):
batch = np.random.randn(6, 500, 3) # (B, N, 3)
# Auto near-square grid, single color for every cloud
fig = cg.plot_grid(batch, colors="#1f77b4", size=1.5)
# Or explicit grid + per-cell colors
fig = cg.plot_grid(batch, rows=2, cols=3,
colors=["red", "green", "blue", "orange", "purple", "teal"])
# Combine with animate() for a rotating GIF of the whole grid
cg.animate(fig, "grid.gif", n_frames=60, width=1600, height=1200)
Apply a clean, GIF-friendly style (white backgrounds, hidden tick labels, light gray axis grid) to every 3D scene in a figure — works for both single plots and grids:
fig = cg.beautify(cg.plot_grid(batch, colors="#1f77b4"))
cg.animate(fig, "grid.gif", n_frames=60)
More examples are in the examples folder.
Development Installation
Clone the repository and install in editable mode:
git clone https://github.com/yourusername/cloudglancer.git
cd cloudglancer
python -m venv venv
source venv/bin/activate
pip install -e .
Install with Development Dependencies
pip install -e ".[dev]"
Requirements
- Python >= 3.9
- plotly >= 5.0.0
- pandas >= 2.0.0
- numpy >= 1.24.0
Building the Package
pip install build
python -m build
This will create both wheel and source distributions in the dist/ directory.
Deploy to PyPi
twine upload --verbose dist/*
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Metadata
Release files for cloudglancer 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cloudglancer-0.1.9.tar.gz | 14.3 kB | Without provenance | Details for cloudglancer-0.1.9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cloudglancer-0.1.9-py3-none-any.whl | Python 3 | none | any | Details for cloudglancer-0.1.9-py3-none-any.whl |
Total release size: 25.2 kB
Release files / cloudglancer-0.1.9.tar.gz
| Download URL | cloudglancer-0.1.9.tar.gz |
|---|---|
| Size | 14.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
721fe41752c7e8752fbfe001cc1b1ef3ca323f6d7882deee8964227438ac7f7b
|
|
BLAKE2b-256 checksum How to use checksums |
14013ed40f54ad3c35262e65721569567504d260ee3e68417c5aaa36f92aaeff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / cloudglancer-0.1.9-py3-none-any.whl
| Download URL | cloudglancer-0.1.9-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
da2754a394921120ad79bf5c93cd5235f03db4cddabf550edc842c02641b1d19
|
|
BLAKE2b-256 checksum How to use checksums |
27c2cdbedeeb84fa3311111aa9bb2b745b976e45a6a655b72cbccba77529c894
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Security for cloudglancer 0.1.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.