Skip to main content

A world-class Python visualization framework with WASM HTML export and WebGL point-cloud rendering.

Project description

AuroraViz v0.2.0

PyPI Python License: MIT

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

auroraviz-0.2.0.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auroraviz-0.2.0-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

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

Hashes for auroraviz-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4f87db4ca0b2b01df5b54107aa053c8bd2ce167e73acc9b8b15a33051b2ff675
MD5 25aff737db5b47fd7001366fe6ff43e9
BLAKE2b-256 a3fe9537d49e9bd3a7f6f9724874b5cafb24de88ef775b99dc300a8c919aca6d

See more details on using hashes here.

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

Hashes for auroraviz-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1a5aa9b669c1916ee460035922be447b7d5d995be3682030d730a5d3ab1581e
MD5 4d727acc2adda79c914f35178e793977
BLAKE2b-256 12462ca7d059940ead75467d74070768d6f40264448a78a306fac5aa47715983

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page