Cross-database data comparison tool (CLI + Python library). Efficiently diffs rows across 13+ database engines using bisection and checksumming.
uv sync # install dependencies
uv run pre-commit install # set up pre-commit hooksmake test-unit # unit tests only (no DB required)
make test # full suite against PG + MySQL (starts containers)
uv run pytest tests/ -x # run all tests, stop on first failure
uv run pytest -k <name> # run a specific testuv run ruff check . # lint
uv run ruff format . # formatRuff config: ruff.toml -- line-length 120, target Python 3.10.
- Format with
ruff format .; lint withruff check . - Follow existing patterns in the codebase
- Imports sorted by ruff isort (first-party:
data_diff)
data_diff/-- main packagedata_diff/databases/-- database driver modulestests/-- pytest test suitedocker-compose.yml-- local test databases (PG, MySQL, ClickHouse, etc.)
- Fork and create a feature branch
- Write tests for changes
- Ensure
uv run ruff check .anduv run pytestpass - Open a PR with a clear description