Skip to content
This repository has been archived by the owner on Apr 3, 2020. It is now read-only.
/ jellyfish Public archive
forked from jamesturk/jellyfish

🎐 a python library for doing approximate and phonetic matching of strings.

License

Notifications You must be signed in to change notification settings

Memrise/jellyfish

 
 

Repository files navigation

jellyfish

https://travis-ci.org/jamesturk/jellyfish.svg?branch=master https://coveralls.io/repos/jamesturk/jellyfish/badge.png?branch=master Documentation Status https://ci.appveyor.com/api/projects/status/9xeyl1f5sd5pl40h?svg=true

Jellyfish is a python library for doing approximate and phonetic matching of strings.

Written by James Turk <james.p.turk@gmail.com> 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.

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

About

🎐 a python library for doing approximate and phonetic matching of strings.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 94.1%
  • Batchfile 5.6%
  • Shell 0.3%