Skip to main content

Pari

Find similar records and deduplicate datasets with Rust, Python, or your terminal.

PyPI crates.io Build MIT license


Pari builds MinHash signatures, finds approximate similarity candidates with LSH, and groups duplicate records. Start in memory, save an index to a versioned .pari file, or process bounded batches from larger datasets through the same Rust engine.

Pari 0.1.1 alpha targets Python 3.10+ and Rust 1.81+ for the public crates. The project is pre-1.0; see the compatibility policy. The Python extension requires Rust 1.83 when built from source.

Installation

Python

python -m pip install "pari-similarity==0.1.1"

The distribution name is pari-similarity; the import name is pari.

Rust

cargo add pari-core@0.1.1 pari-index@0.1.1 pari-store@0.1.1

Use only the layers your application needs. Add pari-format = "0.1.1" when working directly with codecs or persisted-format metadata. Keep public crates on the same release version.

CLI

Download an archive from the 0.1.1 release, verify it against SHA256SUMS, extract it, and put pari on your PATH.

Platform Archive
Linux x86_64 pari-0.1.1-linux.tar.gz
Linux arm64 pari-0.1.1-linux-arm64.tar.gz
macOS arm64 pari-0.1.1-macos.tar.gz
Windows x86_64 pari-0.1.1-windows.zip

Packages and archives become available when the tagged release workflow completes. See release notes and platform support.

Compare Records

Build two signatures and estimate their Jaccard similarity:

from pari import MinHash

first = MinHash.from_values(
    [b"new york", b"rust", b"search"], num_perm=128, seed=7
)
second = MinHash.from_values(
    [b"new york", b"python", b"search"], num_perm=128, seed=7
)

print(first.jaccard(second))

Use the same permutation count and seed for signatures you compare. The Python guide covers persistent indexes, batch operations, and the explicit MinHash64 and Index64 APIs.

Create documents.jsonl with one record per line:

{"key":1,"values":["new york","rust","search"]}
{"key":2,"values":["new york","python","search"]}

Build a persistent index and verify its contents:

pari index --input documents.jsonl --output documents.pari --json
pari verify --index documents.pari --json
pari search --help

Indexes use safe, versioned persistence. LSH returns approximate candidates; verify candidates against source features when your application needs an exact similarity threshold.

Deduplicate a Dataset

Group duplicate candidates through the native engine:

pari dedup --input documents.jsonl --emit groups --json

Python's DedupeIndex and deduplicate add bounded batches, exact verification, representative selection, and progress callbacks. Optional adapters read PyArrow/Parquet, Polars, and Hugging Face datasets.

Reference

Use --help to explore commands and options:

pari --help
pari index --help
pari dedup --help

The committed benchmark scale envelope is 1M records. Performance figures apply to the environment and workload recorded with each result.

Developing

git clone https://github.com/dipeshbabu/pari.git
cd pari

python -m pip install "pre-commit==4.6.2"
pre-commit install
pre-commit run --all-files

cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-targets --all-features

CI remains authoritative. Build the CLI with cargo build --release -p pari-cli. For Python development, install the checkout with python -m pip install ..

Path Purpose
crates/pari-core MinHash signatures and similarity primitives
crates/pari-index LSH candidates and duplicate grouping
crates/pari-format Codecs and versioned file format
crates/pari-store Persistent local indexes
crates/pari-cli Command-line workflows
crates/pari-py, python/pari Python bindings and APIs

Contributing

See CONTRIBUTING.md for setup, checks, and compatibility rules. Report bugs and propose changes through GitHub issues. For security reports, follow SECURITY.md.

License

Pari is released under the MIT license. Third-party attribution is recorded in NOTICE.

Metadata

Release files for pari-similarity 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 pari-similarity 0.1.1
File Size Uploaded Provenance Actions
pari_similarity-0.1.1.tar.gz 154.1 kB With provenance Details for pari_similarity-0.1.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pari-similarity 0.1.1
File Actions
pari_similarity-0.1.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for pari_similarity-0.1.1-cp310-abi3-win_amd64.whl
pari_similarity-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details for pari_similarity-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pari_similarity-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details for pari_similarity-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pari_similarity-0.1.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for pari_similarity-0.1.1-cp310-abi3-macosx_11_0_arm64.whl

Total release size: 2.2 MB

Release files / pari_similarity-0.1.1.tar.gz

Download URL pari_similarity-0.1.1.tar.gz
Size 154.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a475fd30082adb9686965048d2bad6df345cedb55e653224b6099335e2f4ac6c
BLAKE2b-256 checksum
How to use checksums
606e41d96d45e5616494f859ee05511aa06a11640e5a464d274e903f01ba529a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / pari_similarity-0.1.1-cp310-abi3-win_amd64.whl

Download URL pari_similarity-0.1.1-cp310-abi3-win_amd64.whl
Size 441.5 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
80976a575468f0613592da262bbcf0dea3daf655fef93d86c9919482b2bab99c
BLAKE2b-256 checksum
How to use checksums
d4e7666d67f554fa1d76aca85f04b9e9be29c2720dc453e3fe1faf5a631a5b75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / pari_similarity-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pari_similarity-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 544.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
43f14789cc0fce5e0896695b2a94fab4e6325531751f2cbc20465e3735f6021c
BLAKE2b-256 checksum
How to use checksums
48f96c1c47700e45aba991701a9dda497d1248950cca4535c39e6b6fd5765a15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / pari_similarity-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pari_similarity-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 519.4 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
57485c8f80542cea9689764dc9b42240170521fc842f9ca674a79b5a92b873c0
BLAKE2b-256 checksum
How to use checksums
30b9ce998b4653c3c63202c6c8f9723dafaa869d3cf0d76ee338b703fa4478e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / pari_similarity-0.1.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL pari_similarity-0.1.1-cp310-abi3-macosx_11_0_arm64.whl
Size 498.7 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7f0871bc2171cf5f07f6aaad490ee768937557ab6eb5127cb38dea28be8eae83
BLAKE2b-256 checksum
How to use checksums
01dcc2ea610999aa368b5b5df475cb307b409429313512d5d5b6e7265fdabe95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Security for pari-similarity 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 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for pari_similarity-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 Nov 4, 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

5 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