collate-data-diff
Command-line tool and Python library to efficiently diff rows across two different databases.
What it is and what it does
Collate-data-diff is a command-line tool and Python library forked from the archived datafold/data-diff project for comparing rows across SQL databases. It lets you identify differences between two datasets, whether they're in the same database or across different systems, without loading all data into memory. The tool is designed for data validation, synchronization checks, and quality assurance workflows where you need to verify that data matches between sources.
The package depends on dbt-core, click, pydantic, and several other libraries for database connectivity, data parsing, and terminal output formatting. It supports Python 3.10 through 3.14 and is classified as pre-alpha. The maintenance status is marked abandoned, though releases continue; the original repository is archived, so this fork's long-term viability depends on the maintaining organization.
Use it for:
- Validate that data migrated between databases matches the source after ETL operations.
- Compare production and staging database tables to detect unexpected divergence.
- Audit data consistency across federated or replicated database instances.
- Verify test data fixtures match expected state during integration testing.
- Identify row-level differences for reconciliation workflows in financial or compliance systems.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Compares rows across two SQL databases or datasets to identify differences, available as both a command-line tool and Python library.
Yes, if you need row-level database comparison and can tolerate the abandoned maintenance status. The package has low install friction, permissive licensing, and no known vulnerabilities. However, the abandoned status and archived upstream repository mean you should verify that the fork is actively maintained by the current publisher and plan for potential lack of future support or bug fixes.
Install
collate-data-diff on PyPI
pip
pip install collate-data-diffuv
uv add collate-data-diffpoetry
poetry add collate-data-diffInstalling collate-data-diff
Before you install
Low install friction with a pure-Python wheel and permissive dependencies. However, the package is marked abandoned with no active maintenance, despite a recent release date; the underlying repository is archived and the last commit was in 2024-05-17.
License in practice
MIT license is permissive and imposes no restrictions on commercial or private use, modification, or redistribution.
Quickstart
pip install collate-data-diff
from collate_data_diff import compare
# Compare two database tables
results = compare(database1_conn, database2_conn, table_name)
Requires Python 3.10 or later; dbt-core is a runtime dependency with its own substantial dependency tree.
Verify before relying
- Whether the package is actively maintained despite the abandoned status and archived repository.
- Performance characteristics and scalability limits for large datasets.
- Specific SQL dialects and database systems supported beyond the general 'SQL databases' claim.
- Whether the fork is intended as a long-term replacement or temporary maintenance of the original.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 13 — attrs, click, dbt-core, deepdiff, dsnparse, keyring, mashumaro, pydantic, rich, tabulate, toml, typing-extensions, urllib3 |
| Maintenance | abandoned — 3 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 1,092,188/month — #4,377 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: collate_data_diff-0.11.15-py3-none-any.whl
Tags
More Database Engines/Servers packages
DuckDB is an in-process SQL database engine…
permissive · top 1,000 on PyPI
pymssqlpymssql provides a Python DB-API interface to…
copyleft · top 1,000 on PyPI
mysqlclientmysqlclient provides a Python interface to…
copyleft · top 1,000 on PyPI
sqlmodelSQLModel combines SQLAlchemy and Pydantic to…
permissive · top 5,000 on PyPI
tinydbTinyDB is a lightweight, pure-Python document…
permissive · top 5,000 on PyPI
vertica-pythonNative Python client library for connecting to…
permissive · top 5,000 on PyPI
csv-diffCompares two CSV, TSV, or JSON files and…
permissive · top 15,000 on PyPI
recursive-diffRecursively compares two Python data structures…
permissive · top 15,000 on PyPI
sqlalchemy-diffCompares database schemas across two…
permissive · top 15,000 on PyPI
fastdiffFastdiff provides a fast diff algorithm…
permissive · top 15,000 on PyPI
daffCompares two tables and produces a diff summary…
permissive · top 1,000 on PyPI
migramigra compares PostgreSQL database schemas and…
permissive · top 15,000 on PyPI
datacompyDataComPy compares two DataFrames across…
permissive · top 5,000 on PyPI
datasetteDatasette is a web server and CLI tool that…
permissive · top 15,000 on PyPI
tddatdda provides test-driven data analysis tools:…
permissive · top 15,000 on PyPI
deepdiffDeepDiff compares dictionaries, iterables,…
permissive · top 1,000 on PyPI