Skip to content

Repository files navigation

intentumdiff (Python)

CI License: MIT Python 3.12+

The Python binding and intentumdiff PyPI package — a thin shell over the IntentumDiff engine. Semantic code review: detect intent, moves, refactorings, and style changes.

All diffing, matching, classification, guardrails, and presentation live in the engine (intentumdiff-core, Rust). This package is the public Python API, CLI, and VCS/config orchestration: it loads the engine's cdylib via ctypes and drives the stable C ABI (intentumdiff_call). The binding does zero functional work.

from intentumdiff import SemanticDiffer

diff = SemanticDiffer().diff_strings(old, new, "example.py")
for change in diff.changes:
    print(change.change_type, change.description)

Building from source

The wheel bundles two provisioned build inputs — the engine and the parser components:

python scripts/provision_build_inputs.py \
    --core-dir /path/to/intentumdiff-core \      # or let it clone the repo
    --wasm-dir /path/to/built/components       # built by the parser repos
pip install -e .[dev]

Released wheels on PyPI are pre-built per platform — installing from source is a development workflow, not the user path.

Tests

python -m pytest tests/unit -q

The suite runs entirely over the ctypes path (there is no other path — the engine has no Python dependency and this package has no engine).

Provenance

Migrated files-only (no history) from the IntentumDiff monorepo (buchochelliq-labs/intentumdiff), which remains the archive of record.

License: MIT.

About

IntentDiff Python bindings — thin C-ABI wrapper; ships the intentdiff package to PyPI.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages