Binoc generates changelogs for datasets that don't have them. Given a series of snapshots of a dataset downloaded at different times, it detects what changed, expresses those changes as a minimal structured diff, and produces human-readable summaries from the resulting changeset. The primary audience is archivists, data scientists, and stewards tracking undocumented changes to published datasets.
Documentation: https://harvard-lil.github.io/binoc/
pip install binocOr run without installing:
uvx binoc diff path/to/snapshot-a path/to/snapshot-bThe binoc wheel bundles the first-party format packs that can ship as
in-process rules today. SQLite support remains an explicit source-build opt-in;
the project does not currently publish a separate binoc-sqlite wheel.
The documentation site has tutorials, how-to recipes, reference for the CLI / Python API / Rust SDK / changeset schema, and the architectural explanation set. Start at the Tutorial if you're new, Start here for a role-based map of the site, or the Architecture overview if you're evaluating or extending binoc.
Binoc is in a collaborative design phase. The CLI is ready to use; internals are unstable and expected to change. We welcome feedback, plugin authors, and contributors.
- File issues or suggestions: https://github.com/harvard-lil/binoc/issues
- Email: publicdata@law.harvard.edu
- Feedback form: https://forms.gle/MDZTZ1DvhuAanM8P9
The contract for human and AI contributors lives in
AGENTS.md. The long-form record of every major
design decision lives in
docs/adr/.