A world-class Python visualization framework with WASM HTML export and WebGL point-cloud rendering.
Project description
AuroraViz v0.2.0
A world-class Python visualization framework with signature Aurora themes, zero-config WASM HTML export, and GPU-accelerated WebGL point-cloud rendering.
What's new in 0.2.0
| Feature | API | Description |
|---|---|---|
| WASM HTML Exporter | av.ignite_interactive() |
One call → fully self-contained, serverless HTML file powered by Apache ECharts. Pan, zoom, PNG/SVG download, chart-type toggle — no build step. |
| WebGL Point-Cloud | av.show_fluid() |
Hard-accelerated binary streaming into Jupyter/Colab. Converts DataFrames to Float32Array bitstreams, skipping JSON entirely. Renders 1 M+ points with per-particle glow animation via vanilla WebGL2 shaders. |
| Unified Theme Core | av.AURORA_DARK / av.AURORA_LIGHT |
Structured color matrices (Hex, RGB, RGBA) shared across all rendering engines — static Matplotlib, WASM, and WebGL. |
Installation
pip install auroraviz
Core dependencies: pandas, matplotlib, jinja2, ipython.
No compiled extensions. No Rust. No C build step. Pure Python.
Quick Start
Static Matplotlib charts (v0.1.x surface preserved)
import auroraviz as av
av.apply_dark()
av.charts.line([1, 4, 2, 8, 5, 7], title="Aurora Dark Line")
Interactive WASM export
import auroraviz as av
import pandas as pd
import numpy as np
df = pd.DataFrame({
"month": pd.date_range("2024-01", periods=24, freq="MS").astype(str),
"revenue": np.cumsum(np.random.normal(1000, 200, 24)),
"segment": np.tile(["Enterprise", "SMB"], 12),
})
path = av.ignite_interactive(
df,
x = "month",
y = "revenue",
hue = "segment",
filename = "revenue_dashboard.html",
theme = "dark",
)
print(f"Open in browser: {path}")
The output file is a single, portable HTML file — share by email, embed in a static site, or open locally. No internet connection required after the first CDN load of ECharts (~1 MB).
WebGL point-cloud in Jupyter / Colab
import auroraviz as av
import pandas as pd
import numpy as np
N = 500_000
df = pd.DataFrame({
"x": np.random.randn(N),
"y": np.random.randn(N),
"category": np.random.choice(["Alpha", "Beta", "Gamma"], N),
})
av.show_fluid(df, x_col="x", y_col="y", color_col="category", theme="dark")
Renders in under a second for 500 K points. At 1 M points, JSON-based
approaches typically crash the notebook — show_fluid streams raw binary
to the GPU and stays responsive.
Theme system
from auroraviz.core.theme import AURORA_DARK, AURORA_LIGHT, get_theme
# Access structured colour matrices
dark = get_theme("dark")
print(dark["background"]["hex"]) # '#0B0F19'
print(dark["palette"]["teal"]["rgb"]) # (0.0, 1.0, 0.8)
print(dark["css_vars"]["--av-accent-1"]) # '#00FFCC'
# Inject into Matplotlib
import auroraviz as av
av.apply_dark() # or av.apply() for light
Palette switching
av.set_palette("aurora_dark") # default dark series
av.set_palette("vivid") # classic Tableau-style
av.set_palette(["#FF006E", "#FB5607", "#FFBE0B"]) # custom
Scoped theming (context manager)
with av.use("dark", palette="aurora_dark"):
av.charts.scatter(x, y, title="Scoped dark chart")
# Reverts to previous state automatically
Project structure
auroraviz/
├── pyproject.toml
├── README.md
├── tests/
│ ├── __init__.py
│ └── test_core.py # unittest suite (theme, WASM, WebGL, integration)
└── src/
└── auroraviz/
├── __init__.py # unified public API
├── core/
│ ├── __init__.py
│ └── theme.py # colour matrices + Matplotlib rcParams injection
├── interactive/
│ ├── __init__.py
│ └── wasm_exporter.py # ignite_interactive()
└── notebook/
├── __init__.py
└── webgl.py # show_fluid()
Running tests
pip install -e ".[dev]"
python -m pytest tests/ -v
# or
python -m unittest discover -s tests -v
License
MIT © 2025 Gyanankur Baruah — MetaMindset Labs
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 auroraviz-0.2.0.tar.gz.
File metadata
- Download URL: auroraviz-0.2.0.tar.gz
- Upload date:
- Size: 27.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f87db4ca0b2b01df5b54107aa053c8bd2ce167e73acc9b8b15a33051b2ff675
|
|
| MD5 |
25aff737db5b47fd7001366fe6ff43e9
|
|
| BLAKE2b-256 |
a3fe9537d49e9bd3a7f6f9724874b5cafb24de88ef775b99dc300a8c919aca6d
|
File details
Details for the file auroraviz-0.2.0-py3-none-any.whl.
File metadata
- Download URL: auroraviz-0.2.0-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1a5aa9b669c1916ee460035922be447b7d5d995be3682030d730a5d3ab1581e
|
|
| MD5 |
4d727acc2adda79c914f35178e793977
|
|
| BLAKE2b-256 |
12462ca7d059940ead75467d74070768d6f40264448a78a306fac5aa47715983
|