Skip to main content

No project description provided

Project description

ffzf

Fast fuzzy string matching for Python.

Installation

pip install ffzf

Usage

# Find closest string matching
from ffzf import closest
best_match = closest("hello", ["harps", "apples", "jello"])

# Find n best matches
from ffzf import n_closest
best_matches = n_closest("hello", ["harps", "apples", "jello"], 2)

from ffzf import JAROWINKLER
# Specify an algorithm (default is levenshtein distance)
best_match = closest("hello", ["harps", "apples", "jello"], algorithm=JAROWINKLER)

# Call algorithm directly
from ffzf import levenshtein_distance
dist = levenshtein_distance("hello", "jello")

# Case sensitive comparison (default is case insensitive)
dist = levenshtein_distance("Hello", "hello", case_sensitive=True)
best_match = closest("Hello", ["harps", "apples", "jello"], case_sensitive=True)

# Remove whitespace (default is to keep the whitespace in strings)
dist = levenshtein_distance("hello world", "helloworld", remove_whitespace=True)

# Return scores with closest results
from ffzf import n_closest_with_score
best_matches = n_closest_with_score("hello", ["harps", "apples", "jello"], 2)

Supported Algorithms

  • Levenshtein Distance (default)
  • Jaro Similarity ("JARO")
  • Jaro-Winkler Similarity ("JAROWINKLER")
  • Hamming Distance ("HAMMING")

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

ffzf-0.2.6.tar.gz (8.8 kB view hashes)

Uploaded Source

Built Distributions

ffzf-0.2.6-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.whl (594.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ x86-64

ffzf-0.2.6-cp310-none-win_amd64.whl (159.3 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

ffzf-0.2.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl (593.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ x86-64

ffzf-0.2.6-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (494.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

ffzf-0.2.6-cp39-none-win_amd64.whl (159.3 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

ffzf-0.2.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (593.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ x86-64

ffzf-0.2.6-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (494.7 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

ffzf-0.2.6-cp38-none-win_amd64.whl (159.3 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

ffzf-0.2.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (593.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

ffzf-0.2.6-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (494.7 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

ffzf-0.2.6-cp37-none-win_amd64.whl (159.2 kB view hashes)

Uploaded CPython 3.7 Windows x86-64

ffzf-0.2.6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (593.9 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.5+ x86-64

ffzf-0.2.6-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (494.7 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

ffzf-0.2.6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (594.0 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.5+ x86-64

Supported by

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