panphon
Tools for using the International Phonetic Alphabet with phonological features
What it is and what it does
PanPhon is a phonological database and Python library that encodes the relationship between IPA (International Phonetic Alphabet) segments and their articulatory feature representations. It provides a FeatureTable class that lets you query phonetic properties of individual sounds or entire words, convert speech segments into numeric feature vectors, and compute distances between sounds based on their phonological features rather than simple string edit distance.
The package includes tools for pattern matching on feature sets, sonority calculations, and multiple distance metrics (Levenshtein, feature-based edit distance, and Dolgopolsky equivalence classes). It depends on numpy, pandas, regex, editdistance, and munkres for its core operations. The library is designed for linguists, speech researchers, and NLP practitioners who need to work with phonetic data programmatically.
Use it for:
- Compute phonological similarity between IPA transcriptions for speech recognition or dialect comparison tasks
- Convert phonetic words into numeric feature matrices for machine learning on phonological data
- Validate and analyze IPA text for well-formedness and articulatory properties in linguistic research
- Build phonetic pattern matchers that operate on feature sets rather than exact character matches
- Calculate sonority scores and feature-based edit distances for phonological rule application
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PanPhon maps International Phonetic Alphabet (IPA) segments to articulatory phonological feature vectors, enabling programmatic analysis of phonetic and phonological properties of speech sounds.
Yes, if you work with IPA data or phonological features in research or NLP. The package is stable, has no known vulnerabilities, and offers a well-established API backed by academic research. The aging status (428 days since release) is a minor concern but not a blocker—the library is mature and the recent commit activity suggests maintenance. Install it for phonetic feature analysis; don't expect rapid feature development.
Install
panphon on PyPI
pip
pip install panphonuv
uv add panphonpoetry
poetry add panphonInstalling panphon
Before you install
Low install friction with a pure-Python wheel and eight runtime dependencies including standard data-science libraries (numpy, pandas) and text processing tools (regex, editdistance). Last commit was 2025-10-22 but the package is aging—428 days since the last release.
License in practice
MIT license is permissive; you can use, modify, and distribute PanPhon with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
import panphon
ft = panphon.FeatureTable()
segments = ft.word_fts(u'swit')
feature_array = ft.word_array(['syl', 'son', 'cont'], u'sɑlti')
Verify before relying
- Whether the 428-day gap since last release indicates active maintenance or dormancy despite recent commits
- Performance characteristics when processing large IPA corpora or real-time phonetic analysis
- Completeness of IPA segment coverage and accuracy of articulatory feature mappings
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — setuptools, unicodecsv, PyYAML, regex, numpy, editdistance, munkres, pandas |
| Maintenance | aging — 428 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 161,708/month — #10,623 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: panphon-0.22.2-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
phonemizerPhonemizer converts written text into phonetic…
copyleft · top 15,000 on PyPI
orthography2ipaConverts spelling to IPA phonetic transcription…
permissive · top 15,000 on PyPI
gruut-ipaGruut IPA parses, analyzes, and converts…
permissive · top 15,000 on PyPI
epitranEpitran converts written text in various…
permissive · top 15,000 on PyPI
phonemizer-forkConverts text to phonetic representations…
copyleft · top 5,000 on PyPI
pyphoneticsPyphonetics implements phonetic matching…
permissive · top 15,000 on PyPI
gruut-lang-enProvides English language data files for…
permissive · top 15,000 on PyPI
praat-parselmouthParselmouth provides a Pythonic interface to…
copyleft · top 15,000 on PyPI
segmentsSegments provides Unicode-aware tokenization…
permissive · top 5,000 on PyPI
phoneticsComputes phonetic keys of strings using…
permissive · top 15,000 on PyPI