Skip to main content

a library for doing approximate and phonetic matching of strings.

Project description

https://github.com/jamesturk/jellyfish/workflows/Python%20package/badge.svg https://coveralls.io/repos/jamesturk/jellyfish/badge.png?branch=master https://img.shields.io/pypi/v/jellyfish.svg Documentation Status

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jellyfish-0.8.7.tar.gz (134.5 kB view details)

Uploaded Source

Built Distributions

jellyfish-0.8.7-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

jellyfish-0.8.7-cp39-cp39-win_amd64.whl (28.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

jellyfish-0.8.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (72.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

jellyfish-0.8.7-cp39-cp39-macosx_10_14_x86_64.whl (24.6 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

jellyfish-0.8.7-cp38-cp38-win_amd64.whl (28.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

jellyfish-0.8.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (72.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

jellyfish-0.8.7-cp38-cp38-macosx_10_14_x86_64.whl (24.6 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

jellyfish-0.8.7-cp37-cp37m-win_amd64.whl (28.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

jellyfish-0.8.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (72.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

jellyfish-0.8.7-cp37-cp37m-macosx_10_14_x86_64.whl (24.5 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

jellyfish-0.8.7-cp36-cp36m-win_amd64.whl (28.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

jellyfish-0.8.7-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (72.3 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

jellyfish-0.8.7-cp36-cp36m-macosx_10_14_x86_64.whl (24.5 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

Details for the file jellyfish-0.8.7.tar.gz.

File metadata

  • Download URL: jellyfish-0.8.7.tar.gz
  • Upload date:
  • Size: 134.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7.tar.gz
Algorithm Hash digest
SHA256 a294786931b807590e6a5d852a0a0c777e58cca4a49e77fa175be72d885e1776
MD5 c874fe667544fef899a8e0aa51ae1ab6
BLAKE2b-256 f88101ce641a8e382fb8bd084c4e5ce3b147a325a5a5eee25c69cf031fd8606a

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-py3-none-any.whl.

File metadata

  • Download URL: jellyfish-0.8.7-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8edb80f5013350b0ece654ab20f6a868f793beec87569a5eee59d22e7d291fbe
MD5 6ed31a8d2c782bdcea08a5d880ce1c41
BLAKE2b-256 53dbe345fdd65305a1bd7f2ba5d5007a8bbfe9d37b5c10bfb080d83bddb5c34e

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: jellyfish-0.8.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0cd05925022eb921c842c551c6404ed480a59f74583f8efc2dc60f30807de2b1
MD5 2699bce39d20b5c2568870f33d1ddee3
BLAKE2b-256 67625fedd34d0d8693526634e5e1fba9f1d7e912116865a26babf0fb778b79f4

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jellyfish-0.8.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 75e150018fbe65de47f51d71f852be6a569d29a6f7c98e0eb15059f36c6f0695
MD5 02c4876f8f870c18ecabdf8156275421
BLAKE2b-256 e2bc4661e8c2dfeef1460dfa752e39e6a8245d6b17f4f9eca97293fbc3356dcd

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: jellyfish-0.8.7-cp39-cp39-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: CPython 3.9, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a3c1f9c44758ad59f656f30f3ba00f22050681d2064c29d5ad3bf881e0e951da
MD5 326ce85c83760679c50b87fcda4d576b
BLAKE2b-256 35a2dca53ea5b772c85072166d9254cd19c97beb4cd702fadafa4efd2aedd85f

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: jellyfish-0.8.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0b40a34f618e656446a4447bb83103bd504de4c58f06f73745fdd98777dce53a
MD5 1d445badc71334619e75e5a8fa2f8656
BLAKE2b-256 b269e45171492a91920f67cc27e2be591bafb1dd016f9f8d13688ea0a3aba46b

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jellyfish-0.8.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3a59396854255348928218886802c8c211de74781e167e66f32fed2a84c8ea05
MD5 9aec03c7cd5d90e43a60fe2f05c8b8d1
BLAKE2b-256 6a48dd1905fb1f150b2d96e888c70fb11a0eb4f1eb34c93fd6a95eb0b889bd5b

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: jellyfish-0.8.7-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 5bd335f261d005fdd03b0b50a7312bf68b326970147e0ba3e06f23afae50ab16
MD5 a92362a44d8e79083c654dca51ce5cd6
BLAKE2b-256 0291b8f67426af2f84c8d9d1407eef0ba0d4a2a4f4e19da6c04e03f254d5c2aa

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: jellyfish-0.8.7-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f75228fd363c9c98afbe4a1729eeeee85109b530d813e58a426dd87cc520a2ca
MD5 a99c0858c746eda898ba9e6dc459fbbf
BLAKE2b-256 4faf130abaff4e52b964ae8ee66ade67319c6815e413a8b66aae8ca6246bbe40

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jellyfish-0.8.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 993011ca3656fdb536b4f5fec60e0958422ee5b823af599a8352bdfec7f08400
MD5 752fb21682e9dfaaeb98ce5ef5f64753
BLAKE2b-256 43ee0f26529b3c4994c029bd242e24ff4b8bf441187bcc4a5b9bb1701ea472b3

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: jellyfish-0.8.7-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7ab3499248057391116e9a63197b477b74f315c891c35a9422c279a6ccde1ffd
MD5 46f4e61d7bb9979b537b08098ebd46aa
BLAKE2b-256 7a2d22f2992f0bcc9ca80bfe762114d59072e06e360b8cf207a16f0fea2bad7e

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: jellyfish-0.8.7-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 c90baba1544fd455d1294254f1be39232e8c6c72267df015e0a7248a546c4f1f
MD5 0771c3d1d5babe4da04d3316c66ea98e
BLAKE2b-256 4340789e51263aecf9754c72ef8b970e2f9bd0ae12a9d567b315a357bb9023ca

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jellyfish-0.8.7-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0284000e41fb4c67242a7ab0da7d66b920ba89aa1afec282eaeb85418691a44d
MD5 b41c3ffa4f4f00e22968cbb1d3a4c0cf
BLAKE2b-256 adacfe8c81c24356c6bc26e5ac7d56d222a382cfe0806c7144280928fce94c8b

See more details on using hashes here.

File details

Details for the file jellyfish-0.8.7-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: jellyfish-0.8.7-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11

File hashes

Hashes for jellyfish-0.8.7-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 ce73f101aa7ef08547f1279a8e6f6d3be49df68bc93e824d9c55552cef3255cb
MD5 f80af37147e1b668cfdc498e71b15488
BLAKE2b-256 ad61b6eee9ac4a9138f8105d704c53185012bf3b65e02565b8171eedcf0b92f7

See more details on using hashes here.

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