Match a misspelled search term against a list of known titles
Deduplicate a list of company or venue names with slightly different spellings
Build an autocomplete feature that tolerates typos
Rank a list of candidate strings by similarity to a query
| seatgeek/thefuzz | swar/nba_api | city96/comfyui-gguf | |
|---|---|---|---|
| Stars | 3,623 | 3,623 | 3,624 |
| Language | Python | Python | Python |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 2/5 | 3/5 |
| Audience | developer | data | vibe coder |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3.8+ and the rapidfuzz dependency for the underlying calculations.
TheFuzz is a Python library for fuzzy string matching, which means finding strings that are similar but not identical. It uses an algorithm called Levenshtein distance, which counts the minimum number of character insertions, deletions, or substitutions needed to transform one string into another. The closer two strings are by that measure, the higher the similarity score, expressed as a number between 0 and 100. The library provides several comparison modes for different situations. A simple ratio comparison scores two strings by their overall character overlap. A partial ratio is useful when one string is a substring of the other, like matching a short search term against a longer title. Token sort ratio and token set ratio are designed for cases where word order differs or words repeat, such as comparing "New York Giants" to "Giants New York" or handling a name that appears twice in one string. Beyond comparing two strings directly, the library includes a process module for searching a list of choices. You give it a query string and a list of candidates, and it returns the best matches along with their scores. This is useful for autocomplete, deduplication, or correcting typos in user input. The README shows an example of matching a partial team name against NFL team names and getting ranked results back. Installation is via pip. The library requires Python 3.8 or newer and depends on rapidfuzz, a fast fuzzy matching library, for the underlying calculations. It originated at SeatGeek, a ticket marketplace, where matching inconsistently spelled venue and team names is a common data problem.
A Python library for fuzzy string matching that scores how similar two strings are, useful for autocomplete, deduplication, and fixing typos.
Mainly Python. The stack also includes Python, rapidfuzz.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.