Repository navigation
Releases: codex-improvement-lab/joindelta
Release list
JoinDelta 0.1.0a1 — before you clean the keys
Before cleaning CSV join keys, preview the relationships the cleanup would create.
JoinDelta is an experimental, read-only CLI and Python API. It compares raw equality with explicit trim/Unicode/case policies, reports exact introduced-match counts and raw-key collisions, and points to bounded source-record/line witnesses. It includes composite textual keys, explicit null semantics, a JSON interface and a local interactive report. Python 3.11+, no runtime dependencies or network service.
Try it
python -m pip install https://github.com/codex-improvement-lab/joindelta/releases/download/v0.1.0a1/joindelta-0.1.0a1-py3-none-any.whl
joindelta demo --out demo-caseOpen demo-case/report.html and compare policies. The separate demo ZIP can be opened without installing Python. It is an authored example: the most aggressive displayed policy creates seven new pairs while collapsing identifiers defined as distinct in the fixture. More matches do not establish the same business identity. No source files are changed and no repaired join is automatically applied.
What was checked
- Nine test groups, including 35 composite-key fixtures across four policies compared with independent SQLite joins, multiline/quoted fields, missing keys, leading zeros, dense expansion, output refusal, HTML escaping and Unicode JSON through legacy console encoding.
- Clean wheel installation and CLI behavior outside the checkout.
- Six successful hosted CI jobs: Windows/Ubuntu/macOS × Python 3.11/3.13.
- The actual HTML report was viewed locally at desktop and narrow widths, with policy switching and no document overflow.
- A reproducible public-data task compares an OpenFlights code lookup with its declared-ID lookup. SQL and JoinDelta agree; the source snapshot is historical. Data is not bundled in the wheel.
SQL, qsv and joinspy are strong alternatives. This preview has not demonstrated independent agent preference, repeat use or whole-task time/token savings. Its declared semantics and resource/output limits are documented in the README. Review report contents before sharing input-derived keys.
Source: b30898b17ceac1250e144a288e79498d5d0ea127. Checksums identify the attached bytes, not semantic correctness. This is a GitHub release, not a PyPI publication.