pyphonetics
A Python 3 phonetics library.
What it is and what it does
Pyphonetics is a Python library that implements six phonetic algorithms to identify words that sound similar. It provides a consistent API across all algorithms: you instantiate an algorithm class (like Soundex or Metaphone), then call phonetics() to get a phonetic encoding, sounds_like() to compare two words, or distance() to measure phonetic distance using Levenshtein or Hamming metrics.
The library depends only on unidecode for character normalization. It was last released on 2020-02-25 and has not been maintained since, though the repository remains public and unarchived. With 141 GitHub stars and consistent monthly downloads, it appears to serve a stable user base despite its abandoned status.
Use it for:
- Matching similar-sounding names in databases or user records (e.g., 'Robert' and 'Rupert').
- Fuzzy search in contact lists or directories where phonetic similarity matters more than exact spelling.
- Deduplication of records where names may be spelled differently but sound the same.
- Building spell-check or autocorrect systems that account for pronunciation rather than just character similarity.
- Linguistic analysis or NLP tasks requiring phonetic encoding of words.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pyphonetics implements phonetic matching algorithms (Soundex, Metaphone, Refined Soundex, Fuzzy Soundex, Lein, Matching Rating Approach) to find words that sound alike and measure phonetic distance between them.
Yes, if you need phonetic matching and can tolerate an unmaintained library. The package is stable, has no known vulnerabilities, installs easily, and solves a specific problem well. However, verify compatibility with your Python version and consider whether you need active maintenance before committing to it in production.
Install
pyphonetics on PyPI
pip
pip install pyphoneticsuv
uv add pyphoneticspoetry
poetry add pyphoneticsInstalling pyphonetics
Before you install
Installation is straightforward with low friction—a pure Python wheel with a single runtime dependency (unidecode). However, the package has been abandoned since 2020-02-25 with no commits or maintenance, so expect no bug fixes or updates.
License in practice
Licensed under MIT (permissive), so you can use it freely in commercial and private projects without restriction, though you must include the license notice.
Quickstart
pip install pyphonetics
from pyphonetics import Soundex
soundex = Soundex()
print(soundex.sounds_like('Robert', 'Rupert')) # True
Verify before relying
- Whether the package works correctly with modern Python versions despite no recent maintenance.
- Performance characteristics when processing large word lists or high-frequency phonetic comparisons.
- Whether unidecode dependency has any known issues that could affect pyphonetics stability.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — unidecode |
| Maintenance | abandoned — 2,362 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 342,233/month — #7,399 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyphonetics-0.5.3-py2.py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
phoneticsComputes phonetic keys of strings using…
permissive · top 15,000 on PyPI
praat-parselmouthParselmouth provides a Pythonic interface to…
copyleft · top 15,000 on PyPI
MetaphoneImplements the Metaphone and Double Metaphone…
permissive · top 15,000 on PyPI
soundexImplements the Soundex phonetic algorithm for…
copyleft · top 15,000 on PyPI
textdistanceComputes distance and similarity between text…
permissive · top 5,000 on PyPI
strsimpyImplements a dozen string similarity and…
permissive · top 15,000 on PyPI
panphonPanPhon maps International Phonetic Alphabet…
permissive · top 15,000 on PyPI
thefuzzTheFuzz performs fuzzy string matching using…
permissive · top 5,000 on PyPI
pronouncingProvides a simple Python interface to query the…
permissive · top 15,000 on PyPI
cmudictProvides Python access to the CMU Pronouncing…
copyleft · top 15,000 on PyPI