This repository contains the source code for Tad, an application for viewing and analyzing tabular data sets.
The Tad desktop application enables you to quickly view and explore tabular data in several of the most popular tabular data file formats: CSV, Parquet, and SQLite and DuckDb database files. Internally, the application is powered by an in-memory instance of DuckDb, a fast, embeddable database engine optimized for analytic queries.
The core of Tad is a React UI component that implements a hierarchical pivot table that allows you to specify a combination of pivot, filter, aggregate, sort, column selection, column ordering and basic column formatting operations. Tad delegates to a SQL database for storage and analytics, and generates SQL queries to perform all analytic operations specified in the UI.
Tad can be launched from the command line like this:
$ tad MetObjects.csv
This will open a window with a scrollable view of the full contents of the CSV file:
Tad uses SlickGrid for rendering the data grid. This allows Tad to support efficient linear scrolling of the entire file, even for very large (millions of rows) data sets.
A few additional mouse clicks on the above view yields this view, pivoted by a few
columns (Department
, Classification
, Period
and Culture
), sorted by the Object Start Date
column, and
with columns re-ordered:
The easiest way to install the Tad desktop app is to use a pre-packaged binary release. See The Tad Landing Page for information on the latest release and download links, or go straight to the releases page.
Tad was initially released in 2017 as a standalone desktop application for viewing and exploring CSV files.
The core of Tad is a React UI component that implements a hierarchical pivot table that allows you to specify a combination of pivot, filter, aggregate, sort, column selection, column ordering and basic column formatting operations. Tad delegates to a SQL database for storage and analytics, and generates SQL queries to perform all analytic operations specified in the UI.
This repository is a modular refactor of the original Tad source code, with several key improvements on the original code base:
The core packages that are used to build Tad are found in the packages sub-directory. These are the packages used to build the Tad desktop application:
This repository also includes a number of proof-of-concept experimental packages, in varying states of completeness. These are provided for reference and as a starting point for further investigation and development.
Detailed instructions on building tad from sources available in doc/building.md