A Polars-native DataFrame styling tool for HTML visualization
Project description
Polarise
Style your data to explore. Style your results to present.
A Polars-native DataFrame styling tool for HTML visualization
- Fast, expressive styling with a clean, chainable API
- Turn Polars DataFrames into clear, expressive HTML views
- Style using native Polars expressions
- Built for data inspection, debugging, and exploration
- Ready for reports, presentations, and sharing
Installation
pip install polarise
Quickstart
import polars as pl
import polarise
df = pl.DataFrame({
"date": ["2024-01-01", "2024-01-02", "2024-01-03", "2024-01-04"],
"region": ["EU", "EU", "US", "US"],
"sales": [120, 85, 210, 250],
"profit": [20, -15, 45, 55]
})
(
df.style()
.highlight_when(
in_col="date",
when=pl.col("profit") < 0,
then_fill="alert_orange"
)
.gradient("sales", cmap="greens")
.bar("profit", fill_pos="alert_green", fill_neg="alert_orange")
.fashion_zebra()
.show()
)
Where Polarise fits
Polarise is inspired by the styling capabilities of pandas, but built for a Polars workflow.
While Great Tables provides a rich and highly customizable system for building publication-quality tables, it comes with a more structured and declarative approach.
Polarise takes a different path:
- Lightweight and fast
- Fully aligned with Polars expressions
- Designed for quick inspection and clean presentation
It started as a simple tool to explore Polars DataFrames visually, and grew into a practical way to produce clear, styled HTML tables for reports and sharing — with optional LaTeX export for simple use cases.
At a glance
| Feature | pandas Styler | Great Tables | Polarise |
|---|---|---|---|
| Ecosystem | pandas | Polars | Polars |
| Philosophy | Flexible, built-in | Rich, declarative | Lightweight, expressive |
| Best for | General styling | Publication workflows | Inspection & quick presentation |
| Syntax | pandas-based | Table grammar | Polars expressions |
| Complexity | Medium | High | Low |
| Speed (iteration) | Medium | Slower | Fast |
Documentation
Full documentation: https://egayer.github.io/polarise/
License
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.
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 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 polarise-1.0.0.tar.gz.
File metadata
- Download URL: polarise-1.0.0.tar.gz
- Upload date:
- Size: 51.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5acfa7648bfbf5a8abc48d1303986acb23e3d6822974ffdb5aecb8617cc14d9b
|
|
| MD5 |
6920d4e84e54aab08d84050b8e28cf84
|
|
| BLAKE2b-256 |
245037fa77c53feb6cd60854ddc87ca5d53817f7eee5fc3120f4dbcde8c537c1
|
File details
Details for the file polarise-1.0.0-py3-none-any.whl.
File metadata
- Download URL: polarise-1.0.0-py3-none-any.whl
- Upload date:
- Size: 59.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73d9a5cb3f66b8b89ae59da5af6ef145a58e4671170333a1b351a5e92ea16c31
|
|
| MD5 |
f737ee662ee6214b4ad90bffeed803ca
|
|
| BLAKE2b-256 |
33a26a1d0fd30f76d0f9c6175ae9edcde5c7dac58a5915a2cd1ee010796116bd
|