jamo
A Hangul syllable and jamo analyzer.
What it is and what it does
Jamo is a Python library for decomposing Hangul syllables into their component jamo (Korean letter units) and synthesizing them back together. It was originally built to help students identify difficult-to-spell Korean words by analyzing phonetic and spelling patterns—particularly distinguishing similar vowels like ㅔ and ㅐ or ㅗ and ㅜ. The library covers nearly all Hangul-related codepoints under Unicode 7.0.
The package has no runtime dependencies and installs cleanly, but it is abandoned: the last release came out in 2017, and the repository has not been actively maintained since 2022. While the code may still work for basic Hangul analysis tasks, it will not receive updates for compatibility with newer Python versions or for any discovered issues.
Use it for:
- Analyze Korean spelling by decomposing syllables into jamo to identify vowel or consonant patterns.
- Build Korean language learning tools that need to break down syllables for phonetic instruction.
- Process Korean text in NLP pipelines where jamo-level decomposition is needed for feature extraction.
- Validate or normalize Korean text by decomposing and re-synthesizing syllables.
- Create Korean spell-checkers or phonetic search tools based on jamo analysis.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Jamo decomposes and synthesizes Hangul syllables into their constituent jamo (Korean letter components), enabling phonetic and spelling analysis of Korean text.
Yes, if you need Hangul decomposition and can verify compatibility with your Python version. The library is simple, has no dependencies, and carries no security vulnerabilities. However, it is abandoned and untested on modern Python—verify it works in your environment before relying on it in production.
Install
jamo on PyPI
pip
pip install jamouv
uv add jamopoetry
poetry add jamoInstalling jamo
Before you install
Installation is straightforward with no runtime dependencies. However, the package is abandoned—last release was 2017-11-06 and last commit 2022-08-16—so it will not receive updates or security patches for issues discovered in modern Python versions.
License in practice
Licensed under Apache 2.0 (permissive), allowing free use, modification, and distribution without royalty concerns. No restrictions on commercial or private use.
Quickstart
pip install jamo
import jamo
# Decompose a Hangul syllable into jamo
decomposed = jamo.decompose('한')
print(decomposed)
Classifiers list Python 3.2–3.4 support; compatibility with modern Python versions is unverified.
Verify before relying
- Whether the package actually works on Python versions beyond those listed in classifiers.
- Whether Unicode coverage extends beyond 7.0 or if newer Hangul characters are unsupported.
- Performance characteristics when processing large Korean text corpora.
Package facts
| License | http://www.apache.org/licenses/LICENSE-2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,203 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 654,710/month — #5,520 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jamo-0.4.1-py3-none-any.whl
Keywords: Korean, Hangul, jamo, syllable, nlp
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
ko-speech-toolsProvides Korean language processing tools…
permissive · top 15,000 on PyPI
hangul-romanizeConverts Korean Hangul text to romanized (Latin…
unclear · top 15,000 on PyPI
g2pkkg2pkk converts Korean text to phonetic…
permissive · top 15,000 on PyPI
zhonZhon provides character constants and regular…
permissive · top 15,000 on PyPI
syllapyCounts syllables in English words, returning an…
permissive · top 5,000 on PyPI
python-mecab-koProvides Python bindings for MeCab-ko, a…
permissive · top 15,000 on PyPI
phonemizerPhonemizer converts written text into phonetic…
copyleft · top 15,000 on PyPI
python-mecab-ko-dicProvides a pre-built Korean morphological…
permissive · top 15,000 on PyPI
orthography2ipaConverts spelling to IPA phonetic transcription…
permissive · top 15,000 on PyPI
mecab-koPython wrapper for MeCab-ko, a morphological…
permissive · top 15,000 on PyPI