| Metadata-Version: 2.1 |
| Name: pfzy |
| Version: 0.3.4 |
| Summary: Python port of the fzy fuzzy string matching algorithm |
| Home-page: https://github.com/kazhala/pfzy |
| License: MIT |
| Keywords: fuzzy,string,fzy,search,development |
| Author: Kevin Zhuang |
| Author-email: kevin7441@gmail.com |
| Requires-Python: >=3.7,<4.0 |
| Classifier: Development Status :: 4 - Beta |
| Classifier: Intended Audience :: Developers |
| Classifier: License :: OSI Approved :: MIT License |
| Classifier: Operating System :: Microsoft |
| Classifier: Operating System :: Unix |
| Classifier: Programming Language :: Python :: 3 |
| Classifier: Programming Language :: Python :: 3.10 |
| Classifier: Programming Language :: Python :: 3.7 |
| Classifier: Programming Language :: Python :: 3.8 |
| Classifier: Programming Language :: Python :: 3.9 |
| Classifier: Topic :: Software Development |
| Classifier: Topic :: Software Development :: Libraries |
| Provides-Extra: docs |
| Requires-Dist: Sphinx (>=4.1.2,<5.0.0); extra == "docs" |
| Requires-Dist: furo (>=2021.8.17-beta.43,<2022.0.0); extra == "docs" |
| Requires-Dist: myst-parser (>=0.15.1,<0.16.0); extra == "docs" |
| Requires-Dist: sphinx-autobuild (>=2021.3.14,<2022.0.0); extra == "docs" |
| Requires-Dist: sphinx-copybutton (>=0.4.0,<0.5.0); extra == "docs" |
| Project-URL: Documentation, https://pfzy.readthedocs.io/ |
| Project-URL: Repository, https://github.com/kazhala/pfzy |
| Description-Content-Type: text/markdown |
|
|
| |
|
|
| [](https://github.com/kazhala/pfzy/actions?query=workflow%3ACI) |
| [](https://readthedocs.org/projects/pfzy/) |
| [](https://ap-southeast-2.console.aws.amazon.com/codesuite/codebuild/378756445655/projects/pfzy/history?region=ap-southeast-2&builds-meta=eyJmIjp7InRleHQiOiIifSwicyI6e30sIm4iOjIwLCJpIjowfQ) |
| [](https://coveralls.io/github/kazhala/pfzy?branch=master) |
| [](https://pypi.org/project/pfzy/) |
| [](https://pypi.org/project/pfzy/) |
| [](https://github.com/kazhala/pfzy/blob/master/LICENSE) |
|
|
| <!-- start elevator-pitch-intro --> |
|
|
| Python port of the [fzy](https://github.com/jhawthorn/fzy) fuzzy string matching algorithm. |
|
|
| - [Async fuzzy match function](https://pfzy.readthedocs.io/en/latest/pages/usage.html |
| - [Fzy scorer (fuzzy string match)](https://pfzy.readthedocs.io/en/latest/pages/usage.html |
| - [Substring scorer (exact substring match)](https://pfzy.readthedocs.io/en/latest/pages/usage.html |
|
|
| |
|
|
| ``` |
| python >= 3.7 |
| ``` |
|
|
| |
|
|
| ```sh |
| pip install pfzy |
| ``` |
|
|
| |
|
|
| **Full documentation: [https://pfzy.readthedocs.io/](https://pfzy.readthedocs.io/)** |
|
|
| ```python |
| import asyncio |
|
|
| from pfzy import fuzzy_match |
|
|
| result = asyncio.run(fuzzy_match("ab", ["acb", "acbabc"])) |
| ``` |
|
|
| ``` |
| >>> print(result) |
| [{'value': 'acbabc', 'indices': [3, 4]}, {'value': 'acb', 'indices': [0, 2]}] |
| ``` |
|
|
| <!-- end elevator-pitch-intro --> |
|
|
| |
|
|
| [fuzzywuzzy](https://github.com/seatgeek/fuzzywuzzy) is a famous python package for performing fuzzy matching |
| between strings powered by [python-Levenshtein](https://github.com/miohtama/python-Levenshtein). While it does its |
| job well it doesn't calculate/provide the matching indices which is essential in a fuzzy finder applications. |
| |
| The [fzy](https://github.com/jhawthorn/fzy) fuzzy matching algorithm can calculate the matching score while also |
| providing the matching indices which fuzzy finder applications can use to provide extra highlights. |
| |
| The initial implementation of this algorithm can be found at [sweep.py](https://github.com/aslpavel/sweep.py) which |
| is a python implementation of the terminal fuzzy finder. The code snippet is later used by the project [vim-clap](https://github.com/liuchengxu/vim-clap). |
| |
| **I found myself needing this logic across multiple projects hence decided to strip out the logic and publish a dedicated |
| package with detailed documentation and unittest.** |
| |
| <!-- start elevator-pitch-ending --> |
| |
| ## Credit |
| |
| - [fzy](https://github.com/jhawthorn/fzy) |
| - [sweep.py](https://github.com/aslpavel/sweep.py) |
| - [vim-clap](https://github.com/liuchengxu/vim-clap) |
| |
| ## LICENSE |
| |
| > All 3 projects mentioned in [Credit](#credit) are all licensed under [MIT](https://opensource.org/licenses/MIT). |
| |
| This project is licensed under [MIT](https://github.com/kazhala/pfzy). Copyright (c) 2021 Kevin Zhuang |
| |
| <!-- end elevator-pitch-ending --> |
| |
| |