Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
@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

    Python 3.1k 129

  2. Levenshtein Levenshtein Public

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

    C++ 326 20

  3. rapidfuzz-cpp rapidfuzz-cpp Public

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

    C++ 299 45

  4. rapidfuzz-rs rapidfuzz-rs Public

    Rapid fuzzy string matching in Rust using various string metrics

    Rust 54 5

  5. strsim-rs strsim-rs Public

    🔤 Rust implementations of string similarity metrics

    Rust 439 42

Repositories

Loading
Type
Select type
Language
Select language
Sort
Select order
Showing 10 of 13 repositories

Most used topics

Loading…

Morty Proxy This is a proxified and sanitized view of the page, visit original site.