Skip to content

Releases: markymn/fuzzyfst

v0.2.0

Choose a tag to compare

@markymn markymn released this 03 Mar 06:42

What's new

  • Levenshtein DFA mode: Compiled DFA for ~3x faster traversal (higher one-time startup cost)
  • Damerau-Levenshtein DFA mode: Handles transpositions as single edits (e.g., "teh" → "the" at distance 1)
  • Algorithm selection: New algorithm parameter ("bit-parallel" or "dfa") in both C++ and Python APIs
  • Metric selection: New metric parameter ("levenshtein" or "damerau") for choosing distance metric

Python API

# Levenshtein bit-parallel (default, same as before)
results = fst.fuzzy_search("algoritm", 2)

# Levenshtein DFA — faster traversal, higher startup cost
results = fst.fuzzy_search("algoritm", 2, algorithm="dfa")

# Damerau-Levenshtein — transpositions count as one edit
results = fst.fuzzy_search("teh", 1, metric="damerau")

Performance (370K-word dictionary, i5-9600K)

Distance Lev BitParallel Lev DFA Damerau DFA
d=1 53 us 17 us 21 us
d=2 498 us 168 us 209 us
d=3 2,525 us 924 us 989 us

v0.1.4

Choose a tag to compare

@markymn markymn released this 02 Mar 01:08

Add PyPI description with usage examples, API reference, and benchmarks.

v0.1.3

Choose a tag to compare

@markymn markymn released this 02 Mar 00:51

Fix multi-platform wheel builds (Linux -fPIC, macOS deployment target, MSVC RTTI flag).

v0.1.2

Choose a tag to compare

@markymn markymn released this 02 Mar 00:45

Fix CI: prebuilt wheels for Python 3.10-3.13 on Windows (x64), macOS (Intel + ARM), and Linux (x86_64).

v0.1.1

Choose a tag to compare

@markymn markymn released this 02 Mar 00:42

Add Python bindings (pip install fuzzyfst). Prebuilt wheels for Python 3.10-3.13 on Windows, macOS, and Linux.