Metadata-Version: 2.4
Name: hangul-keyboard
Version: 0.2.0
Summary: Korean Hangul keyboard-based English to Korean converter
Home-page: https://github.com/backend-kms/hangul-keyboard
Author: Kasie
Author-email: cod.kms@gmail.com
License: MIT
Keywords: hangul korean keyboard typo search django
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0; extra == "dev"

# hangul-keyboard

A Python package for converting Roman keyboard input to Korean Hangul automatically.

## Features

- Automatic Roman → Hangul conversion
- Korean input auto-detection (returns as-is if already Hangul)
- 2-Set Korean keyboard layout support
- Double consonants/vowels support (ㄲ, ㅃ, ㄳ, etc.)
- Perfect for search systems and autocomplete

## Installation

```bash
pip install hangul-keyboard
```

## Project Structure

```
hangul-keyboard/
├── hangul_keyboard/
│   ├── __init__.py
│   ├── core.py          # Core conversion logic
│   └── mapping.py       # Roman-to-Jamo mapping tables
├── tests/
│   ├── __init__.py
│   ├── test_core.py        # Unit tests for core.py
│   ├── test_mapping.py     # Unit tests for mapping.py
│   └── test_integration.py # Integration tests
├── README.md
├── setup.py (or pyproject.toml)
└── requirements.txt
```

## Quick Start

```python
from hangul_keyboard import convert_roman_to_hangul

# Basic usage
result = convert_roman_to_hangul("dkssud")
print(result)  # Output: "한글"

# Already Hangul - returns as-is
result = convert_roman_to_hangul("한글")
print(result)  # Output: "한글"

# Mixed with numbers and special characters
result = convert_roman_to_hangul("rk123!")
print(result)  # Output: "가123!"
```

## Testing

```bash
# Run all tests
python -m pytest tests/ -v

# Run specific test file
python -m pytest tests/test_core.py -v
python -m pytest tests/test_mapping.py -v
python -m pytest tests/test_integration.py -v

# Or use unittest
python -m unittest tests.test_core -v
```
