a library for doing approximate and phonetic matching of strings.
Project description
Jellyfish is a python library for doing approximate and phonetic matching of strings.
Written by James Turk <dev@jamesturk.net> and Michael Stephens.
See https://github.com/jamesturk/jellyfish/graphs/contributors for contributors.
See http://jellyfish.readthedocs.io for documentation.
Source is available at http://github.com/jamesturk/jellyfish.
Jellyfish >= 0.7 only supports Python 3, if you need Python 2 please use 0.6.x.
Included Algorithms
String comparison:
- Levenshtein Distance
- Damerau-Levenshtein Distance
- Jaro Distance
- Jaro-Winkler Distance
- Match Rating Approach Comparison
- Hamming Distance
Phonetic encoding:
- American Soundex
- Metaphone
- NYSIIS (New York State Identification and Intelligence System)
- Match Rating Codex
Example Usage
>>> import jellyfish >>> jellyfish.levenshtein_distance(u'jellyfish', u'smellyfish') 2 >>> jellyfish.jaro_distance(u'jellyfish', u'smellyfish') 0.89629629629629637 >>> jellyfish.damerau_levenshtein_distance(u'jellyfish', u'jellyfihs') 1
>>> jellyfish.metaphone(u'Jellyfish') 'JLFX' >>> jellyfish.soundex(u'Jellyfish') 'J412' >>> jellyfish.nysiis(u'Jellyfish') 'JALYF' >>> jellyfish.match_rating_codex(u'Jellyfish') 'JLLFSH'
Running Tests
If you are interested in contributing to Jellyfish, you may want to run tests locally. Jellyfish uses tox to run tests, which you can setup and run as follows:
pip install tox # cd jellyfish/ tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size jellyfish-0.8.2-cp35-cp35m-manylinux2014_x86_64.whl (93.1 kB) | File type Wheel | Python version cp35 | Upload date | Hashes View |
Filename, size jellyfish-0.8.2-cp36-cp36m-manylinux2014_x86_64.whl (93.8 kB) | File type Wheel | Python version cp36 | Upload date | Hashes View |
Filename, size jellyfish-0.8.2-cp37-cp37m-manylinux2014_x86_64.whl (90.4 kB) | File type Wheel | Python version cp37 | Upload date | Hashes View |
Filename, size jellyfish-0.8.2-cp38-cp38-manylinux2014_x86_64.whl (94.0 kB) | File type Wheel | Python version cp38 | Upload date | Hashes View |
Filename, size jellyfish-0.8.2.tar.gz (134.2 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for jellyfish-0.8.2-cp35-cp35m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5c7fd1b02edf86135ed005ba8715ed9496d268e3d77e6428445689a441c4c64 |
|
MD5 | 85d148d5dd820c62bdac9db57986026d |
|
BLAKE2-256 | 4ef8f2f58540044ce01904e3dd4f3660a82b03c41debedcfda4ed344fdc660f5 |
Hashes for jellyfish-0.8.2-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2490726dda6603fad0090f7afa2b33718ac03011b6807658b8cdbf512a798e89 |
|
MD5 | 46011ae3a8364c7eff65275400ace219 |
|
BLAKE2-256 | 6c09927ae35fc5a9f70abb6cc2c27ee88fc48549f7bc4786c1d4b177c22e997d |
Hashes for jellyfish-0.8.2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4213dda17b75e09b4a5bac48b7dd2602cf54304af49fd6236d3539f49f614e8a |
|
MD5 | 5ba76c8e2cc43d245813996eb510bed5 |
|
BLAKE2-256 | 30a64d039bc827a102f62ce7a7910713e38fdfd7c7a40aa39c72fb14938a1473 |
Hashes for jellyfish-0.8.2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 288727bac0cef5817640d1d0d3655dabb9906d1f7b3e31eb1bd0b005bdf0eaf2 |
|
MD5 | 2e5745b06e7db27bc672935e09df37cf |
|
BLAKE2-256 | 115052dc08e011620516462e3c23d9c0d174d8bb56dbdc2c9b623946f6c125ea |