BlazingPlot
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:
- Column Selector: Select columns from your dataset
- Visualization Controls: Configure your visualization
- 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
- Clone the repository
git clone https://github.com/username/blazingplot.git
cd blazingplot
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| blazingplot-0.1.0.tar.gz | 21.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|