Tabalyst · Open source · Local-first

Understand your data before you
build on it.

Tabalyst is an open-source, local-first toolkit for profiling, understanding and exploring CSV, Excel, JSON and JSONL data. Profiling is available today with Tabalyst Report. Exploring is coming with Tabalyst Explore.

  • MPL-2.0 licensed
  • Python 3.11+
  • In beta
Open the full live report
report.html report.json insurance-customers-100k.csv Screenshots of a real Tabalyst report

TabalystReport

Explore the report

Report

Analysis

Data

Dataset overview: Size, completeness and the main signal to check first.Open in full report

See the whole-file signal first.

Column summary: Type, overview and findings per column. Errors: values a rule proves invalid. Issues: ambiguities and deviations to inspect. Missing values are counted apart.Open in full report

One row per column: type, values, issues.

Columns: Inferred type and classification per column. Issues: confirmed issues and candidate anomalies found by the scan; remarks such as missing values are under Observations.Open in full report

Every column, its type and its issues.

Transformations: Occurrences changed by each normalization stage, and the spellings it groups. Raw preview values remain unchanged.Open in full report

What was normalized, column by column.

Numeric analysis: Range and distribution statistics for accepted numeric values.Open in full report

Range, mean and median of each numeric column.

Date analysis: Strict date parsing keeps ambiguous, invalid and non-date values separate. Ambiguous values are never resolved from the other values of the column.Open in full report

Ambiguous dates are flagged, never guessed.

String analysis: Length classes, fixed widths and representative values.Open in full report

The length profile of every text column.

Detectors and formats: What each detector recognized per column, with the formats it found. Primary: the interpretation the classification starts from.Open in full report

What each detector recognized, and in which format.

Patterns: Structural patterns inferred from the distinct values the scan sampled, grouped by family (the values of one structure); the column page shows each family with its nodes and tables. 9 a digit, A a capital, a a lowercase letter, @ any letter, X a capital or a digit, x a lowercase letter or a digit, # a letter or a digit, other characters as written. Shares count distinct values, never occurrences in the file, and are not validated against the whole file.Open in full report

The shapes found in the values, with their counts.

Data sample: Rows of the scan's row sample, with original row numbers and raw values: the first records, records drawn at random from the interior and the last records. The sampled rows are not uniform over the whole file.Open in full report

Raw values, exactly as they are in the file.

Analysis settings: Rules used for this analysis, so the result can be reproduced.Open in full report

Every rule used, for a reproducible analysis.

Explore the full report

Simple. Clear. Smart.

  • Simple

    One line to install, and one command for a file or for hundreds: pip install tabalyst, then tabalyst report *.csv -d reports/.

    See the commands
  • Clear

    An interactive HTML report for people and a structured JSON profile for your tools, written together from a single analysis.

    See the two outputs
  • Smart

    Tabalyst finds the right table of a workbook or the right collection of a JSON file by itself. When it cannot choose, it lists the candidates instead of guessing.

    How Tabalyst Inspect chooses

FOUR FORMATS · TWO TOOLS · ONE WORKFLOW

Any file in.
The right way forward.

Tabalyst reads CSV, Excel, JSON and JSONL on your machine. Choose how you want to understand your data: profile it with Tabalyst Report, or investigate it with Tabalyst Explore.

YOUR FILE

CSV, Excel or JSON

Tabalyst reads your structured data locally, without changing the source.

CHOOSE YOUR TOOL

Profile or investigate

Choose a structured report or navigate your data interactively.

WITH TABALYST REPORT

Profile every column

See types, distributions, missing values, patterns and quality issues.

Navigate your data

Filter, compare and investigate records through facets suggested from your data.

Schematic rows, for illustration only.

Your way in

How do you work with data?

Four pages, one for each way of working with data. Each one starts from your questions and shows what Tabalyst Report offers for them.

TABALYST FOR

Profile and inspect data from your CLI or Python workflows.

TABALYST FOR

Understand your sources before ETL, migration or integration.

TABALYST FOR

Make data problems visible before their downstream effects.

The product Available

Meet Tabalyst Report.

Point it at a file. It reads the whole file on your machine and writes an interactive HTML report for people and a structured JSON profile for your tools.

  • 01 / FOR PEOPLE

    An interactive HTML report

    One self-contained file that opens without a connection: what each column holds, what is missing or ambiguous, with the values behind each number.

  • 02 / FOR YOUR TOOLS

    A structured JSON profile

    The same analysis as data, to reuse in a script or a pipeline. A history of successful runs records how each result was produced.

The demo above is the full report, step by step. Everything about Tabalyst Report

One file or hundreds

One line to install. One command to report.

Install Tabalyst, point Tabalyst Report at a file, or at a whole batch: one report per file, all in one folder. The files are not merged, joined or compared.

Beta, interfaces may still change · Python 3.11+ · Available on PyPI ↗

  1. 1 · Install or update
    pip install --upgrade tabalyst

    # Also updates it: Tabalyst changes often

  2. 2 · One file
    tabalyst report data.csv

    # data.html, data.json and executions.json, beside data.csv

  3. 3 · One report per file
    tabalyst report *.csv -d reports/

    # One HTML report and JSON profile per file, all in reports/. Files are not merged.

Four formats

Works with the data you already have.

The same two outputs for CSV, Excel, JSON and JSONL. Each format has its own page, with a real report and its limits.

.csv

CSV

Profile an export column by column: types, gaps, ambiguous dates, duplicate rows.

.xlsx, .xlsm

Excel

Report one sheet or named table of a workbook, header found even under a title.

.json

JSON

Report a collection of records, with nested fields named by their path.

.jsonl, .ndjson

JSONL

Report one record per line, with invalid lines excluded, counted and listed.

Next

Next: Tabalyst Explore.

Tabalyst Report summarizes and profiles a file. Tabalyst Explore is meant to filter and investigate it: facets proposed from your data, and suggestions of where to look. It is not available yet.

Coming soon Tabalyst Explore is coming soon

Try Tabalyst Report today
About Tabalyst Explore

Proof you can open

See Tabalyst on real reports.

Every report below was written by Tabalyst Report on an example file, then published without changes. The data is synthetic or fictional.

Excel REPORT

sales.xlsx

120 rows · 9 columns · 13 missing cells. Opens the real report.

JSON REPORT

orders.json

60 records · 17 fields · 48 missing cells. Opens the real report.

JSONL REPORT

web-events.jsonl

300 records · 14 fields · 3 excluded lines. Opens the real report.

Local-first · Built for big files

Stays on your machine, reads files as a stream.

Tabalyst analyzes the file where it is, with no upload and no account. It adds no telemetry or remote processing.

01 / LOCAL

No upload required

The Python package runs the analysis on your machine. A generated report may contain values from the source, so review it before sharing.

02 / STREAMING

Bounded memory

Reports read CSV, JSON and JSONL files as a stream, with memory bounded by configurable limits. An Excel workbook is read sheet by sheet into memory.

03 / HONEST

No benchmark claimed

Large files are a design goal, not a measured promise: no speed or maximum size is published. See the known limitations ↗.

More than reports

One toolkit, one engine.

Tabalyst Report is the first tool of the toolkit. The others share its engine and its command grammar: tabalyst ACTION INPUT.

All products The tools

Later

No installation? Tabalyst Online.

A hosted way to use Tabalyst in your browser is planned, with a free offer. It is not available yet: there is no upload, account or application today. Tabalyst runs on your machine.

Coming soon Tabalyst Online is coming soon

Use Tabalyst locally today
About Tabalyst Online

Open source

Built in the open. Built to integrate.

The code is MPL-2.0-licensed. Install it from PyPI, read the source on GitHub, call it from the command line or from Python, and reuse the JSON profile in your own tools.

01 / CLI

One command

tabalyst report, inspect, scan and sample share one grammar.

02 / PYTHON

The same analysis in code

A public Python API returns JSON-serializable results, for scripts and pipelines.

03 / JSON

A profile for your tools

A versioned JSON profile, still young: check its schema version when you upgrade.

Created by Gregory Borelli

Your next file

Start with a clearer picture.

Install Tabalyst and generate your own report with Tabalyst Report, or open a real report before you begin.