🪼 a python library for doing approximate and phonetic matching of strings.
https://jpt.sh/projects/jellyfish/
- Jupyter Notebook 86.1%
- Rust 8.5%
- Python 5.2%
- Just 0.2%
|
jpt
b21046a4f0
Some checks failed
/ lint_and_test (3.14) (push) Has been cancelled
/ lint_and_test (3.9) (push) Has been cancelled
/ lint_and_test (pypy3.11) (push) Has been cancelled
/ linux (map[interpreter:3.9 3.10 3.11 3.12 3.13 3.14 pypy3.9 pypy3.10 pypy3.11 target:aarch64]) (push) Has been cancelled
/ linux (map[interpreter:3.9 3.10 3.11 3.12 3.13 3.14 pypy3.9 pypy3.10 pypy3.11 target:armv7]) (push) Has been cancelled
/ linux (map[interpreter:3.9 3.10 3.11 3.12 3.13 3.14 pypy3.9 pypy3.10 pypy3.11 target:x64]) (push) Has been cancelled
/ musllinux (map[arch:aarch64 interpreter:3.9 3.10 3.11 3.12 3.13 3.14 pypy3.9 pypy3.10 pypy3.11 target:aarch64-unknown-linux-musl]) (push) Has been cancelled
/ musllinux (map[arch:x86 interpreter:3.9 3.10 3.11 3.12 3.13 3.14 pypy3.9 pypy3.10 pypy3.11 target:i686-unknown-linux-musl]) (push) Has been cancelled
/ musllinux (map[arch:x86_64 interpreter:3.9 3.10 3.11 3.12 3.13 3.14 pypy3.9 pypy3.10 pypy3.11 target:x86_64-unknown-linux-musl]) (push) Has been cancelled
/ windows (3.10, x64) (push) Has been cancelled
/ windows (3.10, x86) (push) Has been cancelled
/ windows (3.11, x64) (push) Has been cancelled
/ windows (3.11, x86) (push) Has been cancelled
/ windows (3.12, x64) (push) Has been cancelled
/ windows (3.12, x86) (push) Has been cancelled
/ windows (3.13, x64) (push) Has been cancelled
/ windows (3.13, x86) (push) Has been cancelled
/ windows (3.14, x64) (push) Has been cancelled
/ windows (3.14, x86) (push) Has been cancelled
/ windows (3.9, x64) (push) Has been cancelled
/ windows (3.9, x86) (push) Has been cancelled
/ macos (map[interpreter:3.9 3.10 3.11 3.12 3.13 3.14 pypy3.9 pypy3.10 pypy3.11 target:aarch64]) (push) Has been cancelled
/ macos (map[interpreter:3.9 3.10 3.11 3.12 3.13 3.14 pypy3.9 pypy3.10 pypy3.11 target:x64]) (push) Has been cancelled
/ sdist (push) Has been cancelled
/ Release (push) Has been cancelled
|
||
|---|---|---|
| .github | 3.14 | |
| benchmarks | Apply pyupgrade suggestions ( #193 ) | |
| docs | move documentation | |
| python/jellyfish | #186 implement Jaccard similarity ( #214 ) | |
| src | drop temp. feature | |
| testdata | bring CSVs in from old repo | |
| tests | fix mrc ( #203 ) | |
| .coveragerc | coveragerc | |
| .gitignore | update doc links | |
| .pre-commit-config.yaml | switch fully away from travis | |
| Cargo.toml | update doc links | |
| CITATION.cff | codeberg | |
| Justfile | move documentation | |
| LICENSE | 0.11.0 | |
| mkdocs.yml | move documentation | |
| pyproject.toml | move documentation | |
| README.md | move documentation | |
| run-cov.sh | Shell script is executable but lacked a shebang | |
| trifold.toml | move documentation | |
Overview
jellyfish is a library for approximate & phonetic matching of strings.
Source: https://codeberg.org/jpt/jellyfish
Documentation: https://jpt.sh/projects/jellyfish/
Issues: https://codeberg.org/jpt/jellyfish/issues
Included Algorithms
String comparison:
- Levenshtein Distance
- Damerau-Levenshtein Distance
- Jaccard Index
- 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('jellyfish', 'smellyfish')
2
>>> jellyfish.jaro_similarity('jellyfish', 'smellyfish')
0.89629629629629637
>>> jellyfish.damerau_levenshtein_distance('jellyfish', 'jellyfihs')
1
>>> jellyfish.metaphone('Jellyfish')
'JLFX'
>>> jellyfish.soundex('Jellyfish')
'J412'
>>> jellyfish.nysiis('Jellyfish')
'JALYF'
>>> jellyfish.match_rating_codex('Jellyfish')
'JLLFSH'