Skip to main content

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.makesame(rstr), 
        fruit == fruit.makesame(rstr), fruit == fuzstr(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)

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.8.tar.gz (10.3 kB view hashes)

Uploaded Source

Built Distribution

fuzstr-0.0.8-py3-none-any.whl (9.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page