fuzzy string matching
Project description
fuzstr
Developer Guide
Setup
# create conda environment
$ mamba env create -f env.yml
# update conda environment
$ mamba env update -n fuzstr --file env.yml
Install
pip install -e .
# install from pypi
pip install fuzstr
nbdev
# activate conda environment
$ conda activate fuzstr
# make sure the fuzstr package is installed in development mode
$ pip install -e .
# make changes under nbs/ directory
# ...
# compile to have changes apply to the fuzstr package
$ nbdev_prepare
Publishing
# publish to pypi
$ nbdev_pypi
# publish to conda
$ nbdev_conda --build_args '-c conda-forge'
$ nbdev_conda --mambabuild --build_args '-c conda-forge -c dsm-72'
Usage
Installation
Install latest from the GitHub repository:
$ pip install git+https://github.com/dsm-72/fuzstr.git
or from conda
$ conda install -c dsm-72 fuzstr
or from pypi
$ pip install fuzstr
Documentation
Documentation can be found hosted on GitHub repository pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
fuzstr
apple = fuzstr('Apple', icase=False, ispace=False, iunder=False, cutoff=1)
grape = fuzstr('Grape', icase=True, ispace=True, iunder=True, cutoff=1)
mango = fuzstr('Mango')
for fruit in (apple, grape, mango):
rstr = fruit.raw.lower()
print(
f'{fruit}:',
fruit == fuzstr(rstr), fruit == fruit.tosame(rstr),
fruit == fruit.tosame(rstr), fruit == fuzstr.tocls(rstr),
)
Apple: False False False False
Grape: True True True True
Mango: True True True True
apple.prep(apple), apple.prep(mango), mango.prep(apple), mango.prep(mango), issubclass(type(mango), fuzstr)
('Apple', 'Mango', 'apple', 'mango', True)
apple.tocls(mango)
'Mango'
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fuzstr-0.0.1.tar.gz
(10.2 kB
view hashes)
Built Distribution
fuzstr-0.0.1-py3-none-any.whl
(9.5 kB
view hashes)