Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

rundown

A quick, good-looking overview of a pandas DataFrame for notebooks.

Installation

pip install rundown

Usage

In Jupyter (Lab, Notebook or VS Code), or anywhere else that renders HTML:

import pandas as pd
import seaborn as sns
import rundown

titanic = sns.load_dataset("titanic")
titanic.rundown()

rundown

Every column gets a margin viz above it: a histogram for numbers, dates and durations, or its top values for categories, text, booleans and low-cardinality numbers. Underneath are the null rate and a few key stats (hover over a bar for exact counts), then a sample of rows. The header stays put while you scroll. Click a column name to sort the rows, or type in the filter box.

It's plain HTML and inline SVG (no matplotlib, no JavaScript dependencies), so it's fast and small. A 5-million-row frame renders in about 2 seconds as ~45 KB of HTML. On frames with more than max_profile_rows rows (1M by default), stats come from a random sample.

Sparklines

sparklines=True adds a sparkline under each numeric, datetime and boolean column, plotting its values in row order. It helps with time series and with spotting sorting, drift or gaps. Long columns are downsampled to min/mean/max buckets, so the shape survives at any size.

ticks.rundown(sparklines=True)

rundown with sparklines

Options

df.rundown(
    n=10,                    # rows to show
    sample="random",         # "random" (kept in order), "head" or "tail"
    sparklines=False,
    max_columns=50,          # None for all
    max_height="480px",      # the table scrolls inside this height
    max_chars=40,            # longer cell text is truncated (full text on hover)
    bins=20,
    top_k=5,                 # top values shown for categorical columns
    max_profile_rows=1_000_000,
    random_state=None,
)

pd.Series.rundown() works too. The result displays itself in a notebook; use .to_html() or .save("rundown.html") to use it elsewhere.

Development

uv sync
uv run pytest

Releasing

The Release workflow publishes to PyPI based on the version in pyproject.toml. It needs a PYPI_API_TOKEN Actions secret.

  • Merge to main: if that version isn't tagged yet, it's published to PyPI and tagged (v<version>) with a GitHub release. To release, bump the version (uv version --bump patch) and merge to main.
  • Merge to develop: a dev pre-release <version>.dev<N> is published (N is the workflow run number). If the version is already released, dev builds count towards the next patch version. Install one with pip install --pre rundown.

Metadata

Release files for rundown 0.3.0.dev5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rundown 0.3.0.dev5
File Size Uploaded Provenance Actions
rundown-0.3.0.dev5.tar.gz 17.1 kB Without provenance Details for rundown-0.3.0.dev5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rundown 0.3.0.dev5
File Interpreter ABI Platform Actions
rundown-0.3.0.dev5-py3-none-any.whl Python 3 none any Details for rundown-0.3.0.dev5-py3-none-any.whl

Total release size: 32.2 kB

Release files / rundown-0.3.0.dev5.tar.gz

Download URL rundown-0.3.0.dev5.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3a4e8e7a68c773740417019eff257d384f17375defadaf85565bfe97c1419626
BLAKE2b-256 checksum
How to use checksums
b89edc20a0b9e2a590e8588df4202e1eea2a982621ff75b2f670e08858f78ffa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / rundown-0.3.0.dev5-py3-none-any.whl

Download URL rundown-0.3.0.dev5-py3-none-any.whl
Size 15.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9029007c02ca482463b5f719e98306d807f8ab1456510c47305e549b072df19
BLAKE2b-256 checksum
How to use checksums
02432fd6b29a95b381a7d536e271eb49c9eab218282161e88c442f19bcf1a6df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for rundown 0.3.0.dev5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page