Commit Graph

11 Commits

Author SHA1 Message Date
Max Bachmann a9e7bd703f
add back legacy python support (#122) 2021-09-11 12:25:31 +02:00
Max Bachmann 1aed654d4f
improve performance of partial_ratio (#121) 2021-09-10 02:08:08 +02:00
maxbachmann 370190b088 fix inconsistent handling of empty strings (see #110) 2021-08-17 10:55:48 +02:00
Max Bachmann 30ec2f92ae
add more supported types (#101) 2021-05-23 22:09:03 +02:00
Max Bachmann 853681f7cf fix bug in mbleven implementation 2021-03-20 12:04:12 +01:00
Max Bachmann 88a86a1028 deactivate bitparallel LCS
The algorithm to find the longest common subsequence after calculating it in bitparall
appears to have a bug. Deactivate it until this bug is fixed
2021-02-19 15:20:31 +01:00
Max Bachmann 375c13e436 Release v1.0.0 (#68)
- all normalized string_metrics can now be used as scorer for process.extract/extractOne
- Implementation of the C++ Wrapper completely refactored to make it easier to add more scorers, processors and string matching algorithms in the future.
- increased test coverage, that already helped to fix some bugs and help to prevent regressions in the future
- improved docstrings of functions

- Added bitparallel implementation of the Levenshtein distance for the weights (1,1,1) and (1,1,2).
- Added specialized implementation of the Levenshtein distance for cases with a small maximum edit distance, that is even faster, than the bitparallel implementation.
- Improved performance of `fuzz.partial_ratio`
-> Since `fuzz.ratio` and `fuzz.partial_ratio` are used in most scorers, this improves the overall performance.
- Improved performance of `process.extract` and `process.extractOne`

- the `rapidfuzz.levenshtein` module is now deprecated and will be removed in v2.0.0
  These functions are now placed in `rapidfuzz.string_metric`. `distance`, `normalized_distance`, `weighted_distance` and `weighted_normalized_distance` are combined into `levenshtein` and `normalized_levenshtein`.

- added normalized version of the hamming distance in `string_metric.normalized_hamming`
- process.extract_iter as a generator, that yields the similarity of all elements, that have a similarity >= score_cutoff

- multiple bugs in extractOne when used with a scorer, thats not from RapidFuzz
- fixed bug in `token_ratio`
- fixed bug in result normalisation causing zero division
2021-02-12 16:48:10 +01:00
Max Bachmann cc5fa23c32 fix custom processors in fuzz.* 2020-12-13 16:55:45 +01:00
Max Bachmann 426fbb24e9
implement process.extractOne in C++ (#53)
* start to simplify complexion

* start implementation

* add extractOne to C++

* fix a couple of bugs in the implementation

* start adressing performance issues
2020-11-15 20:18:46 +01:00
maxbachmann 10946dfac0 add python 2.7 support 2020-08-22 23:06:05 +02:00
maxbachmann 5763318312
add unit tests 2020-05-24 10:42:36 +02:00