Commit Graph

52 Commits

Author SHA1 Message Date
Max Bachmann 239911bac9 cythonize while installing 2021-12-30 19:46:02 +01:00
Max Bachmann 7c4ad9f092 disable PyPy build 2021-12-30 17:20:56 +01:00
Max Bachmann 0674083701 cythonize while packaging 2021-12-24 12:06:47 +01:00
Max Bachmann 0210cdf2f7 drop support for Python2.7 and Python3.5 2021-12-19 15:47:05 +01:00
Max Bachmann df568cafba Add wheels for Python3.6 2021-11-19 09:15:20 +01:00
Max Bachmann 9b4c6d20e4
Add wheels for MacOs / Python3.10 2021-10-27 11:41:25 +02:00
Max Bachmann 6e0cda4081
only build when numpy wheels are available 2021-10-24 13:55:35 +02:00
Max Bachmann 1d35d4d5b2
fix releasebuild 2021-10-20 12:56:05 +02:00
Max Bachmann 1deba44d3b skip Python3.10 on MacOs for now 2021-10-20 12:43:10 +02:00
Max Bachmann f864527845
Add Python3.10 wheels (#146) 2021-10-17 18:51:58 +02:00
Max Bachmann 6c5584a6c0 fix incorrect loop unrolling 2021-09-24 04:53:54 +02:00
Max Bachmann d0ec89e9f9
cleanup cdist implementation 2021-09-23 22:41:10 +02:00
Max Bachmann a9e7bd703f
add back legacy python support (#122) 2021-09-11 12:25:31 +02:00
Max Bachmann 802c2f36c8
numpy does not support Python3.10 yet 2021-09-10 15:13:52 +02:00
Max Bachmann 97d956ae00 fix some compiler warnings 2021-09-10 15:12:57 +02:00
Max Bachmann 56f062b063 add cdist implementation 2021-09-10 13:37:40 +02:00
Henry Schreiner 1f585f26a8
chore: cibuildwheel is now part of the pypa 2021-06-22 23:02:31 -04:00
Max Bachmann 30ec2f92ae
add more supported types (#101) 2021-05-23 22:09:03 +02:00
Max Bachmann 3854be7ca4 add some more missing wheels 2021-03-10 11:55:07 +01:00
odidev f5842f3935 Add linux aarch64 wheel support 2021-03-10 07:00:22 +00:00
Max Bachmann 334a532721 disable PyPy tests in the meantime 2021-03-09 00:24:05 +01:00
Max Bachmann bfd968b606 drop Python2.7 support 2021-03-08 21:11:04 +01:00
Max Bachmann 53b8e3bd61 update build mechanism 2021-03-07 17:45:24 +01:00
Max Bachmann c6eebb70a5 fix incorrect ref counting 2021-03-03 16:08:42 +01:00
Max Bachmann 5383d286b2
Release v1.1.0 (#75)
## Changed
- string_metric.normalized_levenshtein supports now all weights
- when different weights are used for Insertion and Deletion the strings can not be swapped inside the Levenshtein implementation anymore. So different weights for Insertion and Deletion are now supported.
- replace C++ implementation with a Cython implementation. This has the following advantages:
  - The implementation is less error prone, since a lot of the complex things are done by Cython
  - slighly faster than the current implementation (up to 10% for some parts)
  - about 33% smaller binary size
  - reduced compile time
- Added **kwargs argument to process.extract/extractOne/extract_iter that is passed to the scorer
- Add max argument to hamming distance
- Add support for whole Unicode range to utils.default_process

## Performance
- replaced Wagner Fischer usage in the normal Levenshtein distance with a bitparallel implementation
2021-02-21 19:42:36 +01:00
Max Bachmann 0e6466d835 rename master branch to main 2021-02-14 15:00:57 +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 325f66c274
reproduce #65 2020-11-30 13:11:05 +01:00
Max Bachmann 67b02ff967 add C++11 support 2020-11-21 18:25:47 +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
Max Bachmann 9b64ad2fee
add wheels for Python2.7 on Windows (#47) 2020-10-22 05:54:39 +02:00
Max Bachmann 07739e988d use new version of cibuildwheel
The currently used version of cibuildwheel does not work with pypy2.7 on MacOS https://github.com/joerick/cibuildwheel/issues/446
2020-10-09 09:39:24 +02:00
maxbachmann 82e77dbb41
reduce template complexity for msvc 2020-09-30 18:02:34 +02:00
maxbachmann 3a6ddcdfb5 fix some compiler warnings 2020-09-29 02:49:37 +02:00
Max Bachmann 7d2c7c674a
cibuildwheel has now python 3.9 support 2020-09-12 18:51:10 +02:00
maxbachmann 10946dfac0 add python 2.7 support 2020-08-22 23:06:05 +02:00
Max Bachmann a780018db6
add auto deployment 2020-08-14 14:39:53 +02:00
Max Bachmann 787b844b0a
build wheels for python 3.9 2020-08-14 12:44:41 +02:00
maxbachmann eae941a647
further reduce tarball size 2020-06-27 12:49:32 +02:00
maxbachmann 53085be8f6
simplify workflow 2020-06-03 09:44:57 +02:00
maxbachmann 49fec3e0bf
add benchmarks to ci 2020-06-01 14:32:26 +02:00
maxbachmann bbf2de840e
add documentation 2020-05-27 14:16:12 +02:00
maxbachmann 5763318312
add unit tests 2020-05-24 10:42:36 +02:00
maxbachmann e4006839fc
add missing files to tarball 2020-04-15 23:17:35 +02:00
maxbachmann 096d3b584f
move cpp into submodule 2020-04-13 08:50:35 +02:00
maxbachmann 5af9359ee7
add pypy to build matrix (#21) 2020-04-04 20:02:47 +02:00
maxbachmann 0c7ee10415
replace std::wstring_view with boost::wstring_view to add C++14 support 2020-04-03 14:38:34 +02:00
maxbachmann 1715bbac44
implement extract method and cleanup the codebase 2020-04-01 13:35:40 +02:00
maxbachmann 84e7b2283a
adjust ci build 2020-04-01 00:39:46 +02:00
maxbachmann ab0b5729b5
Improve CI integration and add some aliases (#10) 2020-03-29 16:36:13 +02:00