Skip to main content

table3

Paged, theme-aware tables in notebook output, the way R notebooks print a data frame. It is the shared table display of tidy3, tidy3a and stats3, released on its own so each can show tables without depending on the others. It needs only polars.

import polars as pl
import table3

penguins = pl.read_csv(
    "https://raw.githubusercontent.com/allisonhorst/palmerpenguins/main/inst/extdata/penguins.csv",
    null_values="NA",
)
table3.show(penguins);                           # ten rows a page, every row up to n=1000
table3.show(penguins, page_size=25);             # bigger pages
table3.show(penguins, pages=False, height=300);  # one box that scrolls
table3.show(penguins, digits=4);                 # four significant digits

Column names and types sit in the header, missing values show as null, floats print as polars' text preview prints them (or to digits= significant digits, or digits="full"), and long values are cut with the full value on hover. Wide tables show as many columns as fit, with arrows to the rest. The table follows the notebook's light or dark theme in VS Code, JupyterLab and SolveIt.

Explore

table3.view(penguins) opens a data explorer, as R's View() does: one grid of up to 10,000 rows with a search box, headers that sort on a click, and a filter under each column (from–to for numbers and dates, "contains" for text, a pick-list for columns of few values).

table3.view(penguins);
table3.view(penguins, n=50_000, height=600);  # more rows, a taller grid

show() and view() return what they were given, so they can sit in the middle of a pipe. As a cell's last line the notebook also prints that value; end the line with ; to hide it.

Your own frames

A package makes its frames print this way by returning table3.html(self) from _repr_html_. An object with a __table3__ method shows without table3 importing its package:

def __table3__(self, n):
    return first_n_rows_as_polars, total_rows_or_None, "caption or None"

def _repr_html_(self):
    return table3.html(self, n=100)

More

docs/design.md records the design and what each package adds, and docs/explorer.md the explorer's. table3 was first released as view3 0.1 and 0.2, where show() was view(); its versions continue from them, and view() is now the explorer.

Metadata

Release files for table3 0.4.0

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

Source distribution (sdist)

Source distribution for table3 0.4.0
File Size Uploaded Provenance Actions
table3-0.4.0.tar.gz 27.4 kB With provenance Details for table3-0.4.0.tar.gz

Built distribution (wheel)

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

Total release size: 44.8 kB

Release files / table3-0.4.0.tar.gz

Download URL table3-0.4.0.tar.gz
Size 27.4 kB
Tags Source
SHA-256 checksum
How to use checksums
255896c6c9c460c4429661b37fd4ad45ca40b2bb991a0bb8641ee24fb6027b76
BLAKE2b-256 checksum
How to use checksums
e6358633386d1c844e66102ad6d934c2d1e20c21e69cc7a29696a0e1f7c9a8e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / table3-0.4.0-py3-none-any.whl

Download URL table3-0.4.0-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed1765ff79283d3254c8dfd7e8e4265bbcd419f91bdd2aa4d931b90336dc3be0
BLAKE2b-256 checksum
How to use checksums
a91e15f6ca1993e100c9d2350c9902a37088a5b26f48efa1327c10cee3b422df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Security for table3 0.4.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for table3-0.4.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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