Releases: rapidfuzz/RapidFuzz
Releases · rapidfuzz/RapidFuzz
Release 2.0.0
Added
- added C-Api which can be used to extend RapidFuzz from different Python modules using any
programming language which allows the usage of C-Apis (C/C++/Rust) - added new scorers in
rapidfuzz.distance.*
- port existing distances to this new api
- add Indel distance along with the corresponding editops function
Changed
- when the result of
string_metric.levenshtein
orstring_metric.hamming
is below max
they do now returnmax + 1
instead of -1 - Build system moved from setuptools to scikit-build
- Stop including all modules in __init__.py, since they significantly slowed down import time
Removed
- remove the
rapidfuzz.levenshtein
module which was deprecated in v1.0.0 and scheduled for removal in v2.0.0 - dropped support for Python2.7 and Python3.5
Deprecated
- deprecate support to specify processor in form of a boolean (will be removed in v3.0.0)
- new functions will not get support for this in the first place
- deprecate
rapidfuzz.string_metric
(will be removed in v3.0.0). Similar scorers are available
inrapidfuzz.distance.*
Fixed
- process.cdist did raise an exception when used with a pure python scorer
Performance
- improve performance and memory usage of
rapidfuzz.string_metric.levenshtein_editops
- memory usage is reduced by 33%
- performance is improved by around 10%-20%
- significantly improve performance of
rapidfuzz.string_metric.levenshtein
formax <= 31
using a banded implementation
Release 1.9.1
Fixed
- fix bug in new editops implementation, causing it to SegFault on some inputs (see qurator-spk/dinglehopper#64)
Release 1.9.0
Fixed
- Fix some issues in the type annotations (see #163)
Performance
- improve performance and memory usage of
rapidfuzz.string_metric.levenshtein_editops
- memory usage is reduced by 10x
- performance is improved from
O(N * M)
toO([N / 64] * M)
Release 1.8.3
Added
- Added missing wheels for Python3.6 on MacOs and Windows (see #159)
Release 1.8.2
Added
- Add wheels for Python 3.10 on MacOs
Release 1.8.1
Fixed
- Fix incorrect editops results (See #148)
Release 1.8.0
Changed
- Add Wheels for Python3.10 on all platforms except MacOs (see #141)
- Improve performance of
string_metric.jaro_similarity
andstring_metric.jaro_winkler_similarity
for strings with a length <= 64
Release 1.7.1
Fixed
- fixed incorrect results of fuzz.partial_ratio for long needles (see #138)
Release 1.7.0
Changed
- Added typing for process.cdist
- Added multithreading support to cdist using the argument
process.cdist
- Add dtype argument to
process.cdist
to set the dtype of the result numpy array (see #132) - Use a better hash collision strategy in the internal hashmap, which improves the worst case performance
Release 1.6.2
Changed
- improved performance of fuzz.ratio
- only import process.cdist when numpy is available