Skip to main content

PyPI version

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)

Source distribution for cloudglancer 0.1.9
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)

Table of built distributions (wheels) for cloudglancer 0.1.9
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page