Skip to main content

Fuzzy-Match

Fuzzy string matching in Python. By default it uses Trigrams to calculate a similarity score and find matches by splitting strings into ngrams with a length of 3. The length of the ngram can be altered if desired. Also, Cosine, Levenshtein Distance, and Jaro-Winkler Distance algorithims are also available as alternatives.

Usage

>>> from fuzzy_match import match
>>> from fuzzy_match import algorithims

Trigram

>>> algorithims.trigram("this is a test string", "this is another test string")
    0.703704

Cosine

>>> algorithims.cosine("this is a test string", "this is another test string")
    0.7999999999999998

Levenshtein

>>> algorithims.levenshtein("this is a test string", "this is another test string")
    0.7777777777777778

Jaro-Winkler

>>> algorithims.jaro_winkler("this is a test string", "this is another test string")
    0.798941798941799

Match

>>> choices = ["simple strings", "strings are simple", "sim string", "string to match", "matching simple strings", "matching strings again"]
>>> match.extract("simple string", choices, limit=2)
    [('simple strings', 0.8), ('sim string', 0.642857)]
>>> match.extractOne("simple string", choices)
    ('simple strings', 0.8)

You can also pass additional arguments to extract and extractOne to set a score cutoff value or use one of the other algorithims mentioned above. Here is an example:

>>> match.extract("simple string", choices, match_type='levenshtein', score_cutoff=0.7)
    [('simple strings', 0.9285714285714286), ('sim string', 0.7692307692307693)]

match_type options include trigram, cosine, levenshtein, jaro_winkler

Metadata

Release files for fuzzy-match 0.0.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 fuzzy-match 0.0.1
File Size Uploaded
fuzzy-match-0.0.1.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fuzzy-match 0.0.1
File Interpreter ABI Platform
fuzzy_match-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.6 kB

Release files / fuzzy-match-0.0.1.tar.gz

Download URL fuzzy-match-0.0.1.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
be0c4568b555394947e1457cf21f9a965429f7d291f6990f1d4821de996bb6ae
BLAKE2b-256 checksum
How to use checksums
2f887d2bc2d9d87d3c7437292def951ad8fbcb7956c3a8b9e250ec229623f01e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

Release files / fuzzy_match-0.0.1-py3-none-any.whl

Download URL fuzzy_match-0.0.1-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0cc8eede335bfd7ab18509da593fef5b5336e2eec0757f7bb886c828d1ff849
BLAKE2b-256 checksum
How to use checksums
e3aebe76d0df7d70f5912b0475bd06b48920d87fa18254666c86d8bdd4911678
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

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