Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polarise-1.0.0.tar.gz (51.0 kB view details)

Uploaded Source

Built Distribution

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

polarise-1.0.0-py3-none-any.whl (59.8 kB view details)

Uploaded Python 3

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

Hashes for polarise-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5acfa7648bfbf5a8abc48d1303986acb23e3d6822974ffdb5aecb8617cc14d9b
MD5 6920d4e84e54aab08d84050b8e28cf84
BLAKE2b-256 245037fa77c53feb6cd60854ddc87ca5d53817f7eee5fc3120f4dbcde8c537c1

See more details on using hashes here.

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

Hashes for polarise-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 73d9a5cb3f66b8b89ae59da5af6ef145a58e4671170333a1b351a5e92ea16c31
MD5 f737ee662ee6214b4ad90bffeed803ca
BLAKE2b-256 33a26a1d0fd30f76d0f9c6175ae9edcde5c7dac58a5915a2cd1ee010796116bd

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