Skip to main content

A lazy table viewer with narwhals-backed query pushdown, for Marimo or Juptyer

Project description

tablescope

tablescope is a Marimo-oriented lazy table viewer. It accepts a dataframe-like object that Narwhals can normalize, keeps sort and aggregation work pushed down to the underlying engine, and renders a Solid + TanStack data grid via anywidget.

Install

pip install tablescope

Status

This is a first pass focused on:

  • lazy row paging with backend pushdown
  • arbitrary fraction jumps through the dataset
  • per-column profile stats
  • value counts for enum-like columns
  • keyboard navigation in the grid

Usage

import marimo as mo
import polars as pl
import tablescope

lf = pl.scan_parquet("data.parquet")
viewer = tablescope.view(lf, page_size=100)
viewer

CLI

To browse a file without writing any Python, run:

tablescope data.parquet

This starts a local server, prints its URL, and opens your browser. Supported file types: .parquet, .csv, .tsv, .arrow/.feather/.ipc, and .json/.ndjson/.jsonl. Files are read with polars, using lazy pushdown where the format allows it.

Over SSH, pass --no-open and use the printed URL (forward the port, e.g. ssh -L 6767:localhost:6767 host):

tablescope data.parquet --no-open
# tablescope: serving data.parquet at http://localhost:6767

Other flags: --port, --host, --page-size.

Release

Use the justfile to build and validate the package artifacts before uploading them to PyPI.

just check-release
just publish

Frontend build

The frontend bundle is generated from frontend/src and inlined into src/tablescope/_frontend.py.

npm install
npm run build

Python workflow

just sync
just test

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

tablescope-0.2.1.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

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

tablescope-0.2.1-py3-none-any.whl (54.1 kB view details)

Uploaded Python 3

File details

Details for the file tablescope-0.2.1.tar.gz.

File metadata

  • Download URL: tablescope-0.2.1.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tablescope-0.2.1.tar.gz
Algorithm Hash digest
SHA256 d99cef12b62701a8c9ac58e2846744af1d7995ed8bc6406b9316cf808e6108ab
MD5 aa84bc22396057f99f1c4fc24b4ba7af
BLAKE2b-256 b4712e43e645584a022335d83d35c8019c97743a6c35dabd24d6059c61e60b23

See more details on using hashes here.

File details

Details for the file tablescope-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: tablescope-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 54.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tablescope-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 64e4c6170f71514c1186f1142936ee94294a9424b57f66fc97838fe09dd642b3
MD5 29998c0ef39c2506bf6a42b11f5c0a66
BLAKE2b-256 d363f8c14032217a1c5f20bd4fedd6b0fe02f2aad5264665d11df734c3ac4def

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