# jellyfish 0.7.2

## Overview

jellyfish is a library of functions for approximate and phonetic matching of strings.

Source code is available on GitHub

The library provides implementations of the following algorithms:

- Phonetic Encoding
  - American Soundex
  - Metaphone
  - NYSIIS
  - Match Rating Approach (codex)
- Stemming
  - Porter Stemmer
- String Comparison
  - Levenshtein Distance
  - Damerau-Levenshtein Distance
  - Hamming Distance
  - Jaro Distance
  - Jaro-Winkler Distance
  - Match Rating Approach (comparison)
- Changelog
  - 0.7.2 - WIP
  - 0.7.1 - 10 January 2019
  - 0.7.0 - 10 January 2019
  - 0.6.1 - April 16 2018
  - 0.6.0 - April 7 2018
  - 0.5.6 - June 23 2016
  - 0.5.5 - June 21 2016
  - 0.5.4 - May 13 2016
  - 0.5.3 - March 15 2016
  - 0.5.2 - February 3 2016
  - 0.5.1 - July 12 2015
  - 0.5.0 - April 23 2015
  - 0.4.0 - March 27 2015
  - 0.3.4 - February 4 2015
  - 0.3.3 - November 20 2014
  - 0.3.2 - August 11 2014
  - 0.3.1 - July 16 2014
  - 0.3.0 - July 15 2014
  - 0.2.2 - March 14 2014
  - 0.2.0 - January 26 2012
  - 0.1.2 - September 16 2010

## Implementation

Each algorithm has C and Python implementations.

On a typical CPython install the C implementation will be used. The Python versions are available for PyPy and systems where compiling the CPython extension is not possible.

To explicitly use a specific implementation, refer to the appropriate module:

    import jellyfish._jellyfish as pyjellyfish
    import jellyfish.cjellyfish as cjellyfish

If you’ve already imported jellyfish and are not sure what implementation you are using, you can check by querying `jellyfish.library`:

    if jellyfish.library == 'Python':
        # Python implementation
    elif jellyfish.library == 'C':
        # C implementation

# Indices and tables

- Index
- Module Index
- Search Page