Skip to content
@rapidfuzz

RapidFuzz

fuzzy string matching libraries for various programming languages

RapidFuzz provides libraries for fuzzy string matching in various programming languages.

Python

For Python there are the following libraries:

  • RapidFuzz provides various string metrics with a focus on making them as fast as possible.
  • Levenshtein provides a couple string metrics and median implementations. For string metrics generally rapidfuzz should be te preferred choice. Opposed to all other libraries this library is currently GPLv2 licensed.
  • python-Levenshtein this is an alias to the Levenshtein library that only exists for backwards compatibility reasons.
  • JaroWinkler provides a fast implementation of Jaro and JaroWinkler similarity. This was placed in RapidFuzz at some point and so this largely exists for applications already using it.
  • CyDifflib drop in replacement for difflib in the Python standard library which is faster.

C++

For C++ there are the following libraries:

  • rapidfuzz-cpp provides various string metrics with a focus on making them as fast as possible. This should be used when the performance of the algorithms is more important than a slightly larger binary.

Similar to rust there will be an implementation focussing on binary size in the future.

Rust

For rust there are the following libraries:

  • rapidfuzz-rs provides various string metrics with a focus on making them as fast as possible. This should be used when the performance of the algorithms is more important than a slightly larger binary.
  • strsim-rs provides a lot of string metrics of rapidfuzz, but has a focus on keeping the binary size as small as possible. This should be used when performance of the algorithms doesn't really matter too much, since the application only compares a small set of strings. An example for this would be suggestions in a CLI.

Pinned Loading

  1. RapidFuzz RapidFuzz Public

    Rapid fuzzy string matching in Python using various string metrics

    C++ 2.7k 119

  2. Levenshtein Levenshtein Public

    The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity

    C++ 282 17

  3. rapidfuzz-cpp rapidfuzz-cpp Public

    Rapid fuzzy string matching in C++ using the Levenshtein Distance

    C++ 245 39

  4. rapidfuzz-rs rapidfuzz-rs Public

    Rapid fuzzy string matching in Rust using various string metrics

    Rust 36 2

  5. strsim-rs strsim-rs Public

    🔤 Rust implementations of string similarity metrics

    Rust 409 39

Repositories

Showing 10 of 13 repositories
  • RapidFuzz Public

    Rapid fuzzy string matching in Python using various string metrics

    rapidfuzz/RapidFuzz’s past year of commit activity
  • python-Levenshtein Public

    The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity

    rapidfuzz/python-Levenshtein’s past year of commit activity
    99 GPL-2.0 5 2 0 Updated Oct 27, 2024
  • Levenshtein Public

    The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity

    rapidfuzz/Levenshtein’s past year of commit activity
    C++ 282 GPL-2.0 17 3 0 Updated Oct 27, 2024
  • rapidfuzz-cpp Public

    Rapid fuzzy string matching in C++ using the Levenshtein Distance

    rapidfuzz/rapidfuzz-cpp’s past year of commit activity
    C++ 245 MIT 39 2 0 Updated Oct 24, 2024
  • rapidfuzz-rs Public

    Rapid fuzzy string matching in Rust using various string metrics

    rapidfuzz/rapidfuzz-rs’s past year of commit activity
    Rust 36 Apache-2.0 2 4 0 Updated Jun 29, 2024
  • strsim-rs Public

    🔤 Rust implementations of string similarity metrics

    rapidfuzz/strsim-rs’s past year of commit activity
    Rust 409 MIT 39 3 5 Updated Apr 3, 2024
  • CyDifflib Public

    CyDifflib is a fast implementation of difflib's algorithms, which can be used as a drop-in replacement.

    rapidfuzz/CyDifflib’s past year of commit activity
    Cython 18 MIT 5 0 0 Updated Feb 3, 2024
  • JaroWinkler Public

    Python library for fast approximate string matching using Jaro and Jaro-Winkler similarity

    rapidfuzz/JaroWinkler’s past year of commit activity
    Python 64 MIT 5 0 0 Updated Jan 8, 2024
  • .github Public
    rapidfuzz/.github’s past year of commit activity
    0 0 0 0 Updated Jan 5, 2024
  • rapidfuzz/rapidfuzz.github.io’s past year of commit activity
    HTML 0 0 0 0 Updated Dec 28, 2023