Skip to main content

veridata-recon

PyPI PyPI downloads Python versions License

Verifiable Reconciliation Proofs for Python - powered by Rust.

This is not the veridata pandas-cleaning package. This library provides cryptographic data pipeline reconciliation using Merkle trees, Ed25519 signatures, and the VRP (Verifiable Reconciliation Proof) format.

What It Does

veridata-recon lets you mathematically prove that data made it from a source system to a sink system without:

  • Drops - records lost in transit
  • Mutations - records altered during transfer
  • Duplicates - records replicated unexpectedly

It generates cryptographic proofs (VRP documents) that can be verified offline by any party with the public key - no access to the original data required.

VRP pipeline flow

Installation

pip install veridata-recon

Current version on PyPI: 0.1.1.

Quick Start

import veridata_recon as vr

# Generate a random salt for this reconciliation run
salt = vr.generate_salt()

# Your source and sink records (e.g., from Kafka topic and Iceberg table)
source = [
    {"order_id": "1001", "item": "widget", "qty": "5", "status": "shipped"},
    {"order_id": "1002", "item": "gadget", "qty": "3", "status": "pending"},
    {"order_id": "1003", "item": "gizmo",  "qty": "1", "status": "shipped"},
]

sink = [
    {"order_id": "1001", "item": "widget", "qty": "5", "status": "shipped"},
    {"order_id": "1002", "item": "gadget", "qty": "3", "status": "pending"},
    {"order_id": "1003", "item": "gizmo",  "qty": "1", "status": "shipped"},
]

# Reconcile with cryptographic proof
result = vr.reconcile(
    source=source,
    sink=sink,
    identity_rule="composite:[order_id]",
    content_fields=["order_id", "item", "qty", "status"],
    salt=salt,
)

print(result["verdict"])        # "PASS"
print(result["matched_count"])  # 3

Detecting Issues

# Source has 3 records, sink is missing one
sink_missing = source[:2]

result = vr.reconcile(
    source=source,
    sink=sink_missing,
    identity_rule="composite:[order_id]",
    content_fields=["order_id", "item", "qty", "status"],
    salt=salt,
)

print(result["verdict"])      # "FAIL"
print(len(result["missing"])) # 1 - order_id 1003 dropped

Key Features

Hashing

# SHA-256 (default) or BLAKE3
digest = vr.hash_bytes(b"hello world")
digest_b3 = vr.hash_bytes(b"hello world", algorithm="blake3")

Fingerprinting

fp = vr.fingerprint(
    record={"order_id": "1001", "amount": "99.99"},
    identity_rule="composite:[order_id]",
    content_fields=["order_id", "amount"],
    salt=salt,
)
# Returns: {"id_hash": "ab12...", "content_hash": "cd34...", "fingerprint": "ef56..."}

Key Management

# Generate a new Ed25519 key pair
keys = vr.generate_keypair()
print(keys["public_key"])   # base64-encoded
print(keys["private_key"])  # base64-encoded - keep secret!

# Reload from private key
keys2 = vr.keypair_from_private(keys["private_key"])
assert keys2["public_key"] == keys["public_key"]

Proof Verification

# Verify a .vrp.json proof file offline
outcome = vr.verify_proof("path/to/proof.vrp.json", public_key_b64)
# Returns: "PASS", "FAIL", or "UNVERIFIED"

Use Cases

  • Data Pipeline Integrity: Prove Kafka->Iceberg pipelines don't lose data
  • Regulatory Compliance: Cryptographic evidence of data completeness
  • CI/CD Gates: Fail builds if reconciliation doesn't pass
  • Cross-Team Trust: Share proofs without sharing raw data
  • Audit Trails: Chain proofs for continuous monitoring

How It Works

  1. Fingerprint each record using salted, domain-separated hashing
  2. Reconcile source vs sink fingerprint sets
  3. Produce a verdict: PASS, FAIL, or UNVERIFIED
  4. Generate Merkle proofs for missing records (offline verifiable)
  5. Sign the entire proof with Ed25519

Performance

Built on Rust with zero-copy where possible. Handles millions of records efficiently thanks to the underlying veridata-core engine.

License

Apache-2.0

Metadata

Release files for veridata-recon 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for veridata-recon 0.1.1
File Size Uploaded Provenance Actions
veridata_recon-0.1.1.tar.gz 59.0 kB With provenance Details for veridata_recon-0.1.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for veridata-recon 0.1.1
File Interpreter ABI Platform Actions
veridata_recon-0.1.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for veridata_recon-0.1.1-cp312-cp312-win_amd64.whl
veridata_recon-0.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details for veridata_recon-0.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
veridata_recon-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for veridata_recon-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Total release size: 2.4 MB

Release files / veridata_recon-0.1.1.tar.gz

Download URL veridata_recon-0.1.1.tar.gz
Size 59.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d665b24d8eaa56e472710bb16c5ebdf985e76c548bafc120afd3b6ee0b1aff3d
BLAKE2b-256 checksum
How to use checksums
fa15376cf00beae78c05276eccd0c589c71ffb03f63511e2126b85e1336a7419
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release files / veridata_recon-0.1.1-cp312-cp312-win_amd64.whl

Download URL veridata_recon-0.1.1-cp312-cp312-win_amd64.whl
Size 507.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2f0d5b30fa565b1f6257d6d1668717ed84eb88852c9746e13f486a3ad66fe0bc
BLAKE2b-256 checksum
How to use checksums
452f2c341fa653ad2c12efa517d27ab19f5c22c26df16ec82acc11b6d2b83436
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release files / veridata_recon-0.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL veridata_recon-0.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.2 MB
Tags CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6c58704cd856b8074bfbb72b1d0df08aa34f258f386db5845f0413d4b423b0de
BLAKE2b-256 checksum
How to use checksums
098ccb44ac53022031de1210fe3532120b961103ffc3d8e15248f3c7fbf071c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release files / veridata_recon-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL veridata_recon-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 666.8 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e7fe05b39e899f6f8060a1fb11345012cf860504ddd1704d2e9efb6b5f8539e3
BLAKE2b-256 checksum
How to use checksums
1abc49fa58eab6c1ffa42be7e1d955dc0fad1a7bd6b301cc8a7ee45237e9cd34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Security for veridata-recon 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for veridata_recon-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

4 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page