nymstr
# create conda environment
$ mamba env create -f env.yml
# update conda environment
$ mamba env update -n nymstr --file env.yml
pip install -e .
conda environment
$ conda activate nymstr
# make sure the nymstr package is installed in development mode
$ pip install -e .
# make changes under nbs/ directory
# ...
# compile to have changes apply to the nymstr package
$ nbdev_prepare
# 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'
Install latest from the GitHub repository:
$ pip install git+https://github.com/dsm-72/nymstr.git
or from conda
$ conda install -c dsm-72 nymstr
or from pypi
$ pip install nymstr
Documentation can be found hosted on GitHub repository pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
apple = nymstr('Apple', icase=False, ispace=False, iunder=False, cutoff=1)
grape = nymstr('Grape', icase=True, ispace=True, iunder=True, cutoff=1)
mango = nymstr('Mango')
fruits = (apple, grape, mango)
print(f'fruit / pruit:', ' == ', 'tosame', 'tosame', 'tocls', sep='\t')
for i, fruit in enumerate(fruits):
rstr = fruit.raw.lower()
pidx = i - 1 or len(fruits) - 1
pruit = fruits[pidx]
print(
f'{fruit} / {pruit}:',
fruit == nymstr(rstr), fruit == fruit.makesame(rstr),
fruit == pruit.makesame(rstr), fruit == nymstr(rstr), sep='\t'
)
fruit / pruit: == tosame tosame tocls
Apple / Mango: False False False False
Grape / Mango: True True True True
Mango / Grape: 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)