Rust data visualization framework - The modern Plotly alternative
Project description
SeraPlot - High-Performance Visualization & Production-Ready ML
SeraPlot is a Rust-native framework that bundles 60+ interactive chart types and a complete machine-learning toolkit in a single binary - no Plotly, no Matplotlib, no scikit-learn dependency. Build dashboards, train models, ship to production, all from one library.
📖 Full documentation: https://feur25.github.io/seraplot/introduction.html
📦 PyPI: pip install seraplot ·
Why SeraPlot
- 100x to 8000x faster than Plotly + Matplotlib on chart generation - measured, reproducible.
- Zero Python dependencies for plots - every renderer ships as compiled Rust, ready for serverless, edge devices and embedded systems.
- Plots + ML in one package - no need to glue 5 libraries together. Visualize, preprocess, train, evaluate from a single
import seraplot as sp. - Production-grade - online learning (Welford
partial_fit), incremental encoders, deterministic outputs, zero hidden global state. - Multi-target - Python (PyPI), JavaScript / WebAssembly (npm), C / C++ FFI, C# bindings.
- Self-contained HTML output - every chart is a single inlined HTML file. Drop into a slide, an email, a notebook, a dashboard - it just works.
Gallery - Chart Types
2D Charts
3D Charts
Machine Learning - Production Toolkit
A scikit-learn compatible API, written in Rust, with online-learning primitives ready for streaming workloads.
Supervised Learning
- Linear models: Linear / Ridge / Lasso / ElasticNet / Logistic regression with
score,predict_proba,decision_function. - Trees & ensembles: Decision Tree (classifier + regressor), Random Forest, Gradient Boosting.
- Neighbors: KNN classifier + regressor.
- Naive Bayes, SVM, MLP - full estimator interface.
Unsupervised Learning
- Clustering: KMeans, DBSCAN, Agglomerative, Mean-Shift.
- Dimensionality reduction: PCA, t-SNE, UMAP.
Preprocessing & Pipelines
- Online scalers:
StandardScalerwith Welfordpartial_fitfor streaming data - no full pass required. - Incremental encoders:
OneHotEncoderandOrdinalEncoderwith category union across batches. - Pipelines: Chain transformers + estimator with full
score/predict_proba/decision_functionpropagation. - Train/test split, cross-validation, grid search.
Metrics
Accuracy, precision, recall, F1, ROC-AUC, log-loss, R-squared, MAE, MSE, RMSE, confusion matrix, classification report - identical signatures to scikit-learn.
Installation
pip install seraplot
Conda / uv users:
conda install -c conda-forge seraplot
uv pip install seraplot
JavaScript / WebAssembly:
npm install seraplot
Performance
SeraPlot consistently delivers 100x to 8000x speedups over Plotly and Matplotlib on chart generation, with a flat memory profile that fits inside containers, lambdas and embedded targets. ML estimators are within ~5% of scikit-learn while supporting partial_fit for streaming workloads that scikit-learn cannot handle natively.
- Documentation: https://feur25.github.io/seraplot/introduction.html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 seraplot-2.6.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: seraplot-2.6.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 8.0 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b78938dc9adc19f35c7fcf52417101cf806880feaf0ca5154fa46468cedfc3d
|
|
| MD5 |
a02faf24c8d5017d1f8e2e5b498486ad
|
|
| BLAKE2b-256 |
3de7924e4c8b5d97ab73f2da39ca3b48493a08b2ccc62d7f55c5656892b3e7bf
|