Skip to main content

TabularDelta

CI Documentation pypi-version python-version

TabularDelta helps to automate and simplify the often tedious and manual process of comparing relational data.

The so-called TabularDelta protocol defines a representation of the differences between two tables. "Comparators" are used to generate such a representation from two table objects. The exchangeability of the comparators allows for varying table input formats like SQL tables or Pandas DataFrames. "Formatters" allow to present the differences in different output formats depending on the desired usecase. The flexibility in the output format allows to find small deviations in largely similar tables or provide an overview of more structural changes.

Usage example

This snippet will report the differences of two CSV files. You can execute it directly in test_docs_examples.py.

import pandas as pd
from tabulardelta import PandasComparator, DetailedTextFormatter

df_old = pd.read_csv("week24.csv", index_col=[0, 1])
df_new = pd.read_csv("week25.csv", index_col=[0, 1])

delta = PandasComparator().compare(df_old, df_new)
print(DetailedTextFormatter().format(delta))

To compare two tables, first select a comparator that supports the table format. Now select any formatter that best suits your use case to obtain a visualization of the result.

To find more examples and get started, please visit the documentation.

Development

This project is managed by pixi. You can install the package in development mode using:

git clone https://github.com/quantco/tabulardelta
cd tabulardelta

pixi run pre-commit-install
pixi run postinstall

Testing

  • Make sure docker is installed
  • Make sure ODBC Driver 17 for SQL Server is installed
  • Run pixi run test

Setting up the MsSql docker container may take a while, but it will be cached for future runs as long as you keep it running.

Metadata

Release files for tabulardelta 1.1.1

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

Source distribution (sdist)

Source distribution for tabulardelta 1.1.1
File Size Uploaded Provenance Actions
tabulardelta-1.1.1.tar.gz 406.2 kB With provenance Details for tabulardelta-1.1.1.tar.gz

Built distribution (wheel)

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

Total release size: 441.9 kB

Release files / tabulardelta-1.1.1.tar.gz

Download URL tabulardelta-1.1.1.tar.gz
Size 406.2 kB
Tags Source
SHA-256 checksum
How to use checksums
64965c345c5896ac51791bb80cb5dbd08be1b4fd5e15daa23d949aaad3aef807
BLAKE2b-256 checksum
How to use checksums
ed354de0eef1aafb32bb3fe1043f683138d457546674c1def8b361270bc9958a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 15, 2025.

Transparency log

Release files / tabulardelta-1.1.1-py3-none-any.whl

Download URL tabulardelta-1.1.1-py3-none-any.whl
Size 35.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
655de98f6de6b1324beb746edeaf581fd34e3fa37a86b6bbeef50ce621c4a169
BLAKE2b-256 checksum
How to use checksums
ac3af231c89501ca9f2dc4d4f2a6e82b4554bb874a37063d343653bbe30a85bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 15, 2025.

Transparency log

Security for tabulardelta 1.1.1

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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for tabulardelta-1.1.1.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 Aug 15, 2025.

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