CLI tool for data diffing between two tables
Project description
tablediff
CLI tool for data diffing between two tables
Local development
# Setup virtual environment
uv sync --extra dev
source .venv/bin/activate
# Run tests
pytest
# Run table diffing (DuckDB)
tablediff table_a table_b --pk id --conn duckdb://./sample.duckdb
Generating sample DuckDB for local testing
To generate local DuckDB database with the same cases as in /tests run:
python generate-sample.py --db-path sample.duckdb
Alternatively, use Python scripts:
python scripts/generate_duckdb_test_data.py \
--db-path sample.duckdb \
--prod-rows 23753 \
--dev-remove-rows 342 \
--dev-add-rows 30 \
--dev-null-status-rows 578
And then:
tablediff users_dev users_prod --pk id --conn duckdb://./sample.duckdb
TODO before PyPi release
- Add proper README
- Add pre-commit hooks (check vesion bump?)
- Add CI/CD for bublishing new releases
TODO Future roadmap
- Add tests
- Add dbt support
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tablediff_cli-0.2.2.tar.gz.
File metadata
- Download URL: tablediff_cli-0.2.2.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7d40a62d425fc9f0cfedab15d0fcb353804d90901839c7377816ba43daded35
|
|
| MD5 |
7fa2c17dc3dd5af6247a4107874b8083
|
|
| BLAKE2b-256 |
20e737a96ce68c6da75f0adb689a3c0abae927b458d178d406c350a65e655a09
|
Provenance
The following attestation bundles were made for tablediff_cli-0.2.2.tar.gz:
Publisher:
release.yml on oleg-agapov/tablediff
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tablediff_cli-0.2.2.tar.gz -
Subject digest:
d7d40a62d425fc9f0cfedab15d0fcb353804d90901839c7377816ba43daded35 - Sigstore transparency entry: 789060780
- Sigstore integration time:
-
Permalink:
oleg-agapov/tablediff@bf96b8bd01e7ffb84b66b3c4ccb1d4801d89e52d -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/oleg-agapov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bf96b8bd01e7ffb84b66b3c4ccb1d4801d89e52d -
Trigger Event:
release
-
Statement type:
File details
Details for the file tablediff_cli-0.2.2-py3-none-any.whl.
File metadata
- Download URL: tablediff_cli-0.2.2-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf130dd3536ea9b320aae9dd3dff45b96ad890fb3ed8198357632ea94b165bd4
|
|
| MD5 |
bdd50d09d4baa92d159fadca20a24c1e
|
|
| BLAKE2b-256 |
915a658a05afb9445dff3d80d9801f0e97cf10ee7597429ed65295aca6244d55
|
Provenance
The following attestation bundles were made for tablediff_cli-0.2.2-py3-none-any.whl:
Publisher:
release.yml on oleg-agapov/tablediff
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tablediff_cli-0.2.2-py3-none-any.whl -
Subject digest:
cf130dd3536ea9b320aae9dd3dff45b96ad890fb3ed8198357632ea94b165bd4 - Sigstore transparency entry: 789060783
- Sigstore integration time:
-
Permalink:
oleg-agapov/tablediff@bf96b8bd01e7ffb84b66b3c4ccb1d4801d89e52d -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/oleg-agapov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bf96b8bd01e7ffb84b66b3c4ccb1d4801d89e52d -
Trigger Event:
release
-
Statement type: