Skip to main content

A Polars-native DataFrame styling tool for HTML visualization

Project description

Polarise

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

Documentation

Full documentation: https://egayer.github.io/polarise/


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

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.1.tar.gz (58.2 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.1-py3-none-any.whl (66.3 kB view details)

Uploaded Python 3

File details

Details for the file polarise-1.0.1.tar.gz.

File metadata

  • Download URL: polarise-1.0.1.tar.gz
  • Upload date:
  • Size: 58.2 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.1.tar.gz
Algorithm Hash digest
SHA256 b3d545c796a45ad10c9fc03e35f531e8f779cfcb05af5465418e9335ffefa17e
MD5 7d3f5d5f9e03fed81c3b6659926c874f
BLAKE2b-256 1971e6a5345d0ebdc6e4fd35dc9ca8e3e5ae128a245bf971a85d912bd46a478d

See more details on using hashes here.

File details

Details for the file polarise-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: polarise-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 66.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f103e1cc8deb44ec7a69114dde82e60db8e871f8b0040b26e86f0e5ba5bdc182
MD5 c60215c81a9c500899f563fa112bf7cc
BLAKE2b-256 225ca1d2fc5cf161fc707717f9d6ea4fef18d262d1f4cb60e1f72b607d1b128c

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