Skip to main content

High-performance string similarity library for Python, written in Rust

Project description

FuzzyRust 🔍

PyPI License

High-performance string similarity library for Python, written in Rust.

FuzzyRust is designed for searching through messy data full of typos, manufacturer part codes, and string variations. It provides multiple similarity algorithms and efficient indexing structures for scalable fuzzy search.

Features

  • Blazing Fast: Core algorithms written in Rust with parallel processing support
  • 🎯 Multiple Algorithms: Levenshtein, Damerau-Levenshtein, Jaro-Winkler, Soundex, Metaphone, N-grams, and more
  • 📊 Efficient Indexing: BK-tree and N-gram indices for fast fuzzy search at scale
  • 🔄 Batch Processing: Parallel search across millions of records
  • 🌍 Unicode Support: Full Unicode character handling
  • 📝 Type Hints: Complete type annotations for IDE support
  • 🧩 Extensible: Modular design for easy customization

Installation

pip install fuzzyrust

Or build from source:

pip install maturin
maturin develop --release

Quick Start

Basic Similarity

import fuzzyrust as fr

# Jaro-Winkler similarity (great for names)
fr.jaro_winkler_similarity("Robert", "Rupert")  # 0.84

# Levenshtein distance (edit distance)
fr.levenshtein("kitten", "sitting")  # 3

# Damerau-Levenshtein (handles transpositions)
fr.damerau_levenshtein("ca", "ac")  # 1 (just one swap)

# Phonetic matching
fr.soundex_match("Robert", "Rupert")  # True
fr.metaphone_match("phone", "fone")   # True

Finding Best Matches

# Search through a list for best matches
parts = ["ABC-123", "ABC-124", "XYZ-999", "ABC-12", "ABD-123"]
matches = fr.find_best_matches(parts, "ABC-123", algorithm="jaro_winkler", limit=3)

# Returns MatchResult objects with text and score attributes
for match in matches:
    print(f"{match.text}: {match.score:.2f}")
# ABC-123: 1.00
# ABC-124: 0.95
# ABC-12: 0.93

Using Indices for Large Datasets

For searching through large datasets, use the indexing structures:

# BK-tree: Great for edit distance queries
tree = fr.BkTree()
tree.add_all(["hello", "hallo", "hullo", "world", "help"])
results = tree.search("helo", max_distance=2)

# Returns SearchResult objects with id, text, score, distance
for r in results:
    print(f"{r.text}: distance={r.distance}, score={r.score:.2f}")
# hello: distance=1, score=0.80
# hallo: distance=2, score=0.60

# N-gram Index: Fast candidate filtering + similarity scoring
products = ["PRODUCT-ABC", "PRODUCT-XYZ", "ITEM-123"]  # Your product list
index = fr.NgramIndex(ngram_size=2)  # Use bigrams
index.add_all(products)
results = index.search(
    "PRDUCT-XYZ",
    algorithm="jaro_winkler",
    min_similarity=0.7,
    limit=10
)

# Returns SearchResult objects
for r in results:
    print(f"{r.text}: {r.score:.2f}")

Batch Processing

Process millions of comparisons in parallel:

# Compare many strings against a query - returns MatchResult objects
items = ["apple", "application", "apply", "banana"]
matches = fr.batch_jaro_winkler(items, "appel")

for match in matches:
    print(f"{match.text}: {match.score:.2f}")
# apple: 0.87
# application: 0.71
# ...

# Batch search with an index
results = index.batch_search(
    queries=user_queries,
    algorithm="jaro_winkler",
    min_similarity=0.8
)
# Returns List[List[SearchResult]] - one list per query

Case-Insensitive Matching

All similarity functions have case-insensitive variants with the _ci suffix:

# Regular functions are case-sensitive
fr.levenshtein("Hello", "hello")  # 1

# Case-insensitive variants ignore case
fr.levenshtein_ci("Hello", "HELLO")  # 0

# Works with all algorithms
fr.jaro_winkler_similarity_ci("Product-ABC", "PRODUCT-ABC")  # 1.0
fr.ngram_similarity_ci("Test", "TEST", ngram_size=2)  # 1.0
fr.damerau_levenshtein_ci("ab", "BA")  # 1 (transposition)

Deduplication

Find duplicate entries in your data with a single function call:

items = ["iPhone 15", "iphone 15", "IPHONE 15", "Samsung Galaxy", "iPhone 14"]

result = fr.find_duplicates(
    items,
    algorithm="jaro_winkler",
    threshold=0.85,
    normalize=True  # Handles case and whitespace
)

print(f"Duplicate groups: {result.groups}")
# [["iPhone 15", "iphone 15", "IPHONE 15"]]

print(f"Unique items: {result.unique}")
# ["Samsung Galaxy", "iPhone 14"]

print(f"Total duplicates found: {result.total_duplicates}")
# 2

Multi-Algorithm Comparison

Compare the same strings using different algorithms to find the best one for your use case:

strings = ["hello", "hallo", "help", "world"]
query = "helo"

comparisons = fr.compare_algorithms(
    strings,
    query,
    algorithms=["levenshtein", "jaro_winkler", "ngram"],  # Optional: specify algorithms
    limit=3  # Top 3 matches per algorithm
)

for comp in comparisons:
    print(f"\n{comp.algorithm}: overall score {comp.score:.3f}")
    for match in comp.matches:
        print(f"  {match.text}: {match.score:.3f}")

# Output:
# jaro_winkler: overall score 0.917
#   hello: 0.917
#   hallo: 0.867
#   help: 0.783

Algorithms

Edit Distance Family

Function Description Best For
levenshtein Classic edit distance General typos
damerau_levenshtein Includes transpositions Keyboard typos
hamming Positional differences Fixed-length codes

Similarity Scores

Function Description Best For
jaro_similarity Jaro algorithm Short strings
jaro_winkler_similarity Prefix-weighted Jaro Names, codes
ngram_similarity N-gram overlap Partial matches
lcs_similarity Longest common subsequence Rearrangements
cosine_similarity_* Vector space model Document similarity

Phonetic

Function Description Best For
soundex / soundex_match Classic phonetic English names
metaphone / metaphone_match Improved phonetic More accurate

Indexing Structures

BkTree

Efficient fuzzy search using metric space properties:

tree = fr.BkTree(use_damerau=False)  # or True for transpositions
tree.add_all(strings)
tree.search(query, max_distance=2)
tree.find_nearest(query, k=5)

NgramIndex

Fast candidate filtering with similarity scoring:

index = fr.NgramIndex(ngram_size=2, min_similarity=0.5)
index.add_with_data("ABC-123", 42)  # Store with user data

# Search returns SearchResult objects
results = index.search(query, algorithm="jaro_winkler")
for r in results:
    print(f"{r.text}: {r.score:.2f} (data: {r.data})")

# Find k-nearest neighbors
nearest = index.find_nearest(query, k=5)

# Check if exact match exists
if index.contains("ABC-123"):
    print("Found exact match!")

HybridIndex

Best of both worlds - combines n-gram filtering with BK-tree precision:

index = fr.HybridIndex(ngram_size=3)
index.add_all(millions_of_records)

# Search with similarity threshold
results = index.search(query, min_similarity=0.8, limit=10)

# Batch search multiple queries
batch_results = index.batch_search(
    ["query1", "query2", "query3"],
    limit=5
)

# Find k-nearest neighbors
nearest = index.find_nearest(query, k=10)

# Check for exact matches
if index.contains("exact-match"):
    print("Found!")

Performance Tips

  1. Choose the right algorithm:

    • jaro_winkler: Best for names and short codes
    • levenshtein: Best for general text with typos
    • ngram: Best for partial matching
  2. Use indices for large datasets:

    • < 1,000 items: Direct comparison is fine
    • < 100,000 items: Use NgramIndex
    • < 1,000,000+ items: Use HybridIndex
  3. Set appropriate thresholds:

    # Pre-filter with min_similarity
    index.search(query, min_similarity=0.7, limit=10)
    
  4. Use batch operations:

    # Process many queries in parallel
    index.batch_search(queries, ...)
    

Example: Product Search

import fuzzyrust as fr

# Index your product catalog
products = [
    "iPhone 15 Pro Max 256GB",
    "iPhone 15 Pro 128GB",
    "Samsung Galaxy S24 Ultra",
    "Google Pixel 8 Pro",
    # ... millions more
]

index = fr.HybridIndex(ngram_size=3)
for i, product in enumerate(products):
    index.add_with_data(product, i)

# Search with typos (use case-insensitive search for better results)
results = index.search(
    "iphone 15 pro max",  # User query with different case
    algorithm="jaro_winkler",
    min_similarity=0.7,
    limit=5
)

# Results are SearchResult objects
for r in results:
    print(f"{r.score:.2f}: {r.text} (product_id: {r.data})")
# 0.95: iPhone 15 Pro Max 256GB (product_id: 0)
# 0.89: iPhone 15 Pro 128GB (product_id: 1)

Example: Deduplication

import fuzzyrust as fr

# Customer data with typos and variations
customer_names = [
    "John Smith",
    "Jon Smith",
    "JOHN SMITH",
    "Jane Doe",
    "Jane M. Doe",
    "Bob Johnson",
    "Robert Johnson",
]

# Use the built-in deduplication helper
result = fr.find_duplicates(
    customer_names,
    algorithm="jaro_winkler",
    threshold=0.85,
    normalize=True  # Handles case differences and whitespace
)

# Review duplicate groups
for i, group in enumerate(result.groups):
    print(f"\nDuplicate group {i + 1}:")
    for name in group:
        print(f"  - {name}")

# Output:
# Duplicate group 1:
#   - John Smith
#   - Jon Smith
#   - JOHN SMITH
#
# Duplicate group 2:
#   - Jane Doe
#   - Jane M. Doe

print(f"\nUnique records: {result.unique}")
# ['Bob Johnson', 'Robert Johnson']

print(f"Total duplicates removed: {result.total_duplicates}")
# 3

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

Dual-licensed under MIT or Apache-2.0 at your option.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fuzzyrust-0.1.0.tar.gz (151.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fuzzyrust-0.1.0-cp313-cp313-win_amd64.whl (490.2 kB view details)

Uploaded CPython 3.13Windows x86-64

fuzzyrust-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (563.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fuzzyrust-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (535.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

fuzzyrust-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (510.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fuzzyrust-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl (537.2 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

fuzzyrust-0.1.0-cp312-cp312-win_amd64.whl (490.6 kB view details)

Uploaded CPython 3.12Windows x86-64

fuzzyrust-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (563.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fuzzyrust-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (535.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

fuzzyrust-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (511.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fuzzyrust-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (537.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

fuzzyrust-0.1.0-cp311-cp311-win_amd64.whl (489.7 kB view details)

Uploaded CPython 3.11Windows x86-64

fuzzyrust-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (563.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fuzzyrust-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (536.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

fuzzyrust-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (511.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fuzzyrust-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (538.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

fuzzyrust-0.1.0-cp310-cp310-win_amd64.whl (489.8 kB view details)

Uploaded CPython 3.10Windows x86-64

fuzzyrust-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (563.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fuzzyrust-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (536.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

fuzzyrust-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (511.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fuzzyrust-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (538.2 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

fuzzyrust-0.1.0-cp39-cp39-win_amd64.whl (490.1 kB view details)

Uploaded CPython 3.9Windows x86-64

fuzzyrust-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (563.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

fuzzyrust-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (536.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

fuzzyrust-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (512.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fuzzyrust-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl (538.6 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file fuzzyrust-0.1.0.tar.gz.

File metadata

  • Download URL: fuzzyrust-0.1.0.tar.gz
  • Upload date:
  • Size: 151.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for fuzzyrust-0.1.0.tar.gz
Algorithm Hash digest
SHA256 011cb137ba196a5f0f26b9fe00b7bf70429934a966843a758826442b694101c2
MD5 50ed81fcc05340f33e40e09108169df4
BLAKE2b-256 c2903baa47b6ea0e3521d0c2235adbc07d177c338a5eef5eb864ef3969aa4801

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c90745bd7046da8a570dd7fe68a93391dfa506a9d76e75c7a08e62080aa7313c
MD5 f019e8bd241160644e3b2e212993369e
BLAKE2b-256 0647f2f8287cdba6d770a65618126aa03db8bb386fb2ebfb899b31b480fa1059

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e308dbeaaa699ddaaae7b580304869d01cdfb4c1740e1269d36b31b90bf0424a
MD5 d696b881326e64644b1622ad51dcd7dd
BLAKE2b-256 fde535e9bd1ea7b9555d5a86570db07ce1a78ae6e1daa6a60c86b7733a291d50

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8006c93dda2a9db74ef80101e8f7cd60673c84d36b4e93f01c24fe5860f4242a
MD5 cc91cb2717408cc822a5a6933ec19edc
BLAKE2b-256 4a9253c5314f48d2ea45c54fb2522ed0c51430993c8f2bf95665014814a1b648

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ef124b3e0f56e49bfa92f683618d66f1b79c6f7d6137104b3980168f997b782
MD5 ff66e3b7304483c41eb75f5f0e69c170
BLAKE2b-256 5a6e210d072830eec2904a947d150eaceabfde45663986bcc4f5ea559f358778

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 08ee6f497b14784ac3460c55322c52569e1aaa3114380a53fb25c474e643c0a9
MD5 0897648aad1a02ee549658e7c85bb79c
BLAKE2b-256 be44cab6b398f0131a864e0836d1b2f18165bcfa935253362fcecbe9ee149ae5

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 afdd715af4e3ed50acf206f357f878c5e03e8b2c0d6049c196ee8a7fec6027c6
MD5 8c01c1a180f42701ade3898e660d96b4
BLAKE2b-256 f0d614d9b7325035a75fdf510489af2feae17aad3208443c94f6cc239de3e7d5

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fb8361db5769dbe8ea2e24857f7aace4bd5ac9abd6893816bba225a8a0d006d
MD5 e97f963c4c837a4ad76f03b5dac777a2
BLAKE2b-256 cda2e331e5fe5597d21f0c56402d0def1a6fdc132ae70c8ace383efd3a86cf69

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6c19881d6c1eaed467893cd9147016d1cf639831ea6e6e7cc15c4a0a8759895a
MD5 f5aeaec98901c5cb13e65ad1df42996d
BLAKE2b-256 abfb3c49b50dca098710fefb588c805095fef87c54508829795761a3ba56a066

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2053749a011fa5ab892a9d7bcfdfe45070f373647244bca212a0420ed95499a3
MD5 5d703dbe3a17b43ce4f7bde0f731170d
BLAKE2b-256 d82dbb7d6b5fb3df1d75075ccf2987c5ba3cd3e8ec1578d00b62c514556383d6

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4c00c6b2bcf716f79de92c95cd8717d56455b88de6526c3da0d9ed4419b40ec7
MD5 8b1e8fbbfde6d58c108cfc859ff328e6
BLAKE2b-256 27abb5a15a3c3fb24de7404d65e60f67620f8d912061eec981faaf3906575609

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a19fd26cb42b032fa4909a16e9a0b8d9d63e9e254aaed0732d953984881e5171
MD5 aa0f3f6ca84cb2f79725c76901113442
BLAKE2b-256 c312535023cb384a6a2f0b9fc8e20f6f2d018dde829b85e42799732e26b0f7a9

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f4a68c0a2eb8fb0def6eddd01294a4f62d407638b6759bf5c0e493de4c987dd8
MD5 be6d43fd4e8a8628ed6e450a224ac871
BLAKE2b-256 5dee46b6467ad9162b3862443f5ece9f9b9909e505a406769039e364fb77e537

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e6dac0c3012e2d81da9fb922d2d2e4312beefeb7141e682b0f8956229b0c0813
MD5 b99859afcbd6fbeff9895c3843704adf
BLAKE2b-256 308f365a61fa669c7f671ef78ccf7fab9b4c68ff9985ab96d38724dd50a627a3

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b8dabff562cba3782854dbd67c3fcfe79f5f6af77ddcf98a3aae32c0ef7926a
MD5 c5c170319a58ae05a7aa90aad3fbd98d
BLAKE2b-256 a3333bea841cb12e0b11b972fef11d4e40df84565c4f2c8ab58076d789451649

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7e502dd2c8c4813afc22d38f75adfc9506e7502dc946ac5ac7442ccb963b2bbb
MD5 9c7f7b240b33df97ebfdbc6f0c08262b
BLAKE2b-256 b8ad8b3b71952834423f6af2297fe63cfe8a4b4ca994fdf70252895c00a83407

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 58a99bd9ee0867b1a59d2d47e9744c609119235d3a81c77b92457f79f0d4898e
MD5 b8d575406d2137ab9262e7069ebab767
BLAKE2b-256 95558014eddaa2ac6d85bb4f0e7bd731b02e1467cc7d78a05d4d9d3a7e32e356

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af6c1d79101e291770d6bda4819a1d9ad352d69b18787a62d790195cefcf6c1c
MD5 de8f9aa55254b0c843d01e35d7109129
BLAKE2b-256 745c4448d8299a6f976b6815cfc34a8fceaedc6819ea608c3717fba1a9f7bc18

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0eeb1fb057ebcc5bacb27e4019a704f159d1f735dbb77386859b54b50d2ecdd1
MD5 d271642af27e70f8ff7d67b0c88da211
BLAKE2b-256 eade139b06b6ca4cb66580d3fcfc835003190c3accb69def99b29f09432c91a9

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b1698df309b9b9f030eecaf51d378bea57758bdaabd48fd51ec0c68973539a91
MD5 2960b3e48dafb8432fc0e8b4c3761ef6
BLAKE2b-256 881ff7a865e142d1cf3bdd5fb693c79e813a556de0d116d1133871361022c2d9

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e74d46a9b7cf162cedf0b58b66c23aca8a3623dc6bddb0cbdcd92f8688071900
MD5 2109f3ddaabf9f790fba4d34ee40631b
BLAKE2b-256 76390b6b5a87882fe5ace4c20943d688d9188b9c8356ae29edba80397aeff4fa

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fuzzyrust-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 490.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for fuzzyrust-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 79238ed56fcd8346def5e569331e950894618eeeb7b955aa2b7c6c262892ba48
MD5 75ffbdcdffde73ee7c9be458ab8ea8d9
BLAKE2b-256 2efc9a7fa9718a35a2c4778371703c5ab4caa1d9e258d3406fb235d97e834f2a

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d1a31cceb210db464ca5b257532ab603951beabcbc81e4cb9034941a1938727
MD5 7c68d16ab42c1b72eb5ed87711fde773
BLAKE2b-256 748bd18d8884f333ae6d2cffbb0b6be59a99b685bda3be7834273e58c67fea6b

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9e5282662c354872475664243b6d50e69e85cc7fbeeea9bbfdfa75edf7d66c8a
MD5 dea0b2f6fb832de5d03e04130fea422d
BLAKE2b-256 602c5be8b419b7c49320d4fba05bf25019b24acca0804f8c3758d39244970bd6

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b8613a1f72d6db4834e87d03f706a348848f4732191bd69f1148e1a4b1d3731
MD5 856687c4b8451f54bcb8cfe660898314
BLAKE2b-256 a9420d62854e8dea72decfa5adc30efbe4d4fb84bca264e7d8dc01d488938b8d

See more details on using hashes here.

File details

Details for the file fuzzyrust-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fuzzyrust-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c1c55063a462d8d495fbc6395e6ecee71307c7b84222314443b693023bf6f159
MD5 98b482da910ec5e63a2f99cdfd6166f6
BLAKE2b-256 b08ccd569bbef48252bcf6c3e90993884d0b10b8189d0b97feda61e2e0b771df

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page