Skip to main content

hangeul-jamo-py

Pure Python implementation for Korean Hangul syllable and jamo manipulation.

Installation

pip install hangeul-jamo-py

Quick Start

import hangeul_jamo_py as hangeul

# Decompose Hangul to jamo
hangeul.decompose_hcj('안녕하세요')  # 'ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ'

# Compose jamo to Hangul
hangeul.compose_hcj('ㅎㅏㄴㄱㅡㄹ')  # '한글'

# Check character types
hangeul.is_hangul_syllable('한')  # True
hangeul.is_hcj('ㄱ')  # True

Core Functions

Composition/Decomposition

  • compose_hcj(text: str) -> str - Compose jamo to syllables
  • decompose_hcj(text: str) -> str - Decompose syllables to HCJ jamo
  • compose_jamo(text: str) -> str - Compose U+11xx jamo to syllables
  • decompose_jamo(text: str) -> str - Decompose syllables to U+11xx jamo

Validation

  • is_hangul_syllable(char: str) -> bool - Check if Hangul syllable (U+AC00-U+D7A3)
  • is_hcj(char: str) -> bool - Check if HCJ jamo (U+3131-U+318E)
  • is_jamo(char: str) -> bool - Check if U+11xx jamo
  • is_jamo_lead/vowel/tail(char: str) -> bool - Check jamo position type
  • is_jamo_compound(char: str) -> bool - Check if compound jamo

Compound Jamo

  • decompose_compound(jamo: str) -> tuple[str, ...] - Decompose compound jamo
  • compose_compound(components) -> str - Compose compound jamo

Conversion

  • jamo_to_hcj(char: str) -> str - Convert U+11xx to U+31xx
  • hcj_to_jamo(char: str, position: str) -> str - Convert U+31xx to U+11xx

Features

  • Zero dependencies - Pure Python implementation
  • Python 3.13+ - Optimized for modern Python
  • Type-safe - Full type hints
  • Fast - O(1) lookups with pre-built tables
  • Complete - Supports all 11,172 Hangul syllables

Metadata

Release files for hangeul-jamo-py 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hangeul-jamo-py 1.0.0
File Size Uploaded Provenance Actions
hangeul_jamo_py-1.0.0.tar.gz 6.9 kB Without provenance Details for hangeul_jamo_py-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hangeul-jamo-py 1.0.0
File Interpreter ABI Platform Actions
hangeul_jamo_py-1.0.0-py3-none-any.whl Python 3 none any Details for hangeul_jamo_py-1.0.0-py3-none-any.whl

Total release size: 15.5 kB

Release files / hangeul_jamo_py-1.0.0.tar.gz

Download URL hangeul_jamo_py-1.0.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e6bfe7c203a2c6d67406417ba78da02c7ec5cf9cec09f61fc80e2718b9f44025
BLAKE2b-256 checksum
How to use checksums
9a0900d752d22dc6573088902188b5948cc14956f8a3da9e08aaab44abb67bfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / hangeul_jamo_py-1.0.0-py3-none-any.whl

Download URL hangeul_jamo_py-1.0.0-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4fe63e7eb3908aa3790dd6f3a9c6ed7645ca7aa79a0b00b753e0c5e2feceff5a
BLAKE2b-256 checksum
How to use checksums
9b42a74d82ceec68ca1136df9532d6c034fc89c40f28376740a41ead0aacd147
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for hangeul-jamo-py 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page