Skip to main content

BlazingPlot

Test PyPI version Python Version License: MIT

A Fast and Fully Controlled Data Visualization Library built on top of Plotly, Dash, and Polars.

Features

  • Interactive dashboards in both Jupyter Notebooks and standalone web applications
  • High-performance data transformations using Polars
  • Customizable visualizations with full control over chart elements
  • Export capabilities for charts (PNG, HTML) and data (CSV)
  • Customizable color palettes
  • Modular, object-oriented design for extensibility

Installation

pip install blazingplot

Quick Start

import polars as pl
from blazingplot import Dashboard

# Create a sample DataFrame
data = pl.DataFrame({
    'x': [1, 2, 3, 4, 5],
    'y': [10, 20, 15, 25, 30],
    'category': ['A', 'B', 'A', 'B', 'A']
})

# Create a dashboard
dashboard = Dashboard(data, title="My Dashboard")

# Run the dashboard in a Jupyter notebook
dashboard.run(mode="jupyter")

# Or run as a standalone web application
# dashboard.run(mode="standalone", port=8050)

Visualization Types

BlazingPlot supports the following visualization types:

  • Scatter Plot
  • Line Chart
  • Bar Chart
  • Bubble Chart
  • Pie Chart
  • Box Plot
  • Histogram
  • 2D Histogram
  • Time Series
  • Stock Chart
  • Error Bars
  • Map Visualizations (Bubble Map, Tile Choropleth, Line on Tiles)
  • Tables (Simple Table, Pivot Table)

Using Individual Visualizations

You can also use the visualization classes directly:

from blazingplot.visualizations.base import ScatterPlot

# Create a scatter plot
scatter = ScatterPlot(data, x='x', y='y', color='category', title="My Scatter Plot")

# Plot the visualization
fig = scatter.plot()

# Export to HTML
scatter.export_html("scatter.html")

# Export to PNG
scatter.export_png("scatter.png")

Dashboard Layout

The dashboard is divided into three main sections:

  1. Column Selector: Select columns from your dataset
  2. Visualization Controls: Configure your visualization
  3. Visualization Display: View and interact with your visualization

Performance

BlazingPlot is designed for performance, leveraging Polars for data transformations and Plotly for rendering. It can handle large datasets efficiently.

Customization

You can customize the appearance of your visualizations using color palettes:

# Create a dashboard with a custom color palette
dashboard = Dashboard(data, title="My Dashboard", custom_palette="viridis")

Development

Setup

  1. Clone the repository
git clone https://github.com/username/blazingplot.git
cd blazingplot
  1. Install development dependencies
pip install -e ".[dev]"

Testing

pytest

Building

python -m build

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for blazingplot 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blazingplot 0.1.0
File Size Uploaded
blazingplot-0.1.0.tar.gz 21.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for blazingplot 0.1.0
File Interpreter ABI Platform
blazingplot-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 43.5 kB

Release files / blazingplot-0.1.0.tar.gz

Download URL blazingplot-0.1.0.tar.gz
Size 21.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a5d7e46968d76d4edd5e3e9bed1cd9874f5521e799585c091275e8120ea45798
BLAKE2b-256 checksum
How to use checksums
a2945bcc998ee3f749e4ca64aa9f0d76c4d82b8c7d3ee1b012c8b265392a1a2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / blazingplot-0.1.0-py3-none-any.whl

Download URL blazingplot-0.1.0-py3-none-any.whl
Size 21.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c2b3a0f4215a57ebefb6a2d46b1c4275148338b2143cbb16b8e09076d719bb0f
BLAKE2b-256 checksum
How to use checksums
0f5f0c64226515f08727978f4132a285316ec44cb2e08ae7bd929522611ecd52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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