jeondaehong/lake-sift data diff
Diff two datasets (Parquet / Iceberg / Delta) at the cell level and gate a PR or pipeline on the result.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| left | Base (before) source — Parquet path, iceberg:<catalog>/<ns>.<table>[@<snap|ref>], or delta:<path>[@<ver>]. | yes | — |
| right | Compared (after) source — same forms as `left`. | yes | — |
| key | Row identity key (comma-separated column names). | yes | — |
| columns | Compare only these columns (comma-separated). | no | "" |
| exclude | Columns to exclude from comparison (comma-separated). | no | "" |
| tolerance | Numeric tolerance — cells are equal when abs(l - r) <= tolerance. | no | "" |
| ignore-case | Case-insensitive comparison for text columns. | no | false |
| allow-duplicates | Allow duplicate keys instead of erroring. | no | false |
| sample | Max rows to show per change kind in the report. | no | "" |
| extras | lake-sift extras to install for the source formats used, e.g. 'iceberg', 'delta', or 'iceberg,delta'. Empty installs Parquet-only. | no | "" |
| version | lake-sift version to install (a PyPI version specifier). Defaults to the latest release. | no | "" |
| fail-on-diff | Fail the step (non-zero exit) when differences are found. A comparison error always fails. | no | true |
| comment | Post/update a sticky comment with the diff report on the pull request (requires pull-requests: write and a PR context). | no | false |
Outputs
| name | description |
|---|---|
| diff | 'true' when differences were found, 'false' when the datasets are identical. |
| exit-code | The lake-sift exit code (0 identical, 1 differences, 2 error). |
| report | Path to the Markdown report file. |