Skip to content

SDKs & Tools

One Python package with a Rust-powered engine, plus a CLI for terminal workflows.

The kanoniv Package

bash
pip install kanoniv
python
from kanoniv import Spec, Source, validate, plan, diff, reconcile

Everything runs locally via the embedded Rust engine. No server, no API keys, no account required.

Validate and plan:

python
spec = Spec.from_file("identity-spec.yaml")
result = validate(spec)
if result:
    p = plan(spec)
    print(p.summary())

Reconcile data from any source:

python
crm = Source.from_csv("crm", "crm_contacts.csv", primary_key="id")
billing = Source.from_csv("billing", "invoices.csv", primary_key="customer_id")

result = reconcile([crm, billing], spec)
print(result.cluster_count, result.merge_rate)

Architecture

  Your Code


  kanoniv (Python SDK)


  Rust Native Engine    ◀── Offline, no server needed
  (kanoniv._native)

The SDK is a Rust native extension via PyO3 - same engine as the CLI. No Python dependencies beyond what you install for adapters (pandas, sqlalchemy).

CLI

For terminal workflows, git hooks, and CI pipelines:

bash
pip install kanoniv
kanoniv validate my-spec.yaml
kanoniv plan my-spec.yaml
kanoniv diff v1.yaml v2.yaml

See CLI Reference for all commands.

Next Steps

  • Python SDK — Spec validation, planning, diffing, and local reconciliation
  • Source Adapters — CSV, pandas, Snowflake, BigQuery, dbt
  • CLI — Terminal-first validation and compilation

Need real-time resolution or a persistent identity graph?

Kanoniv Cloud adds a managed platform with sub-millisecond resolution API, audit logs, overrides, and more.

The identity and delegation layer for AI agents.