Metadata-Version: 2.4
Name: khmer-keyboard
Version: 0.1.1
Summary: Khmer Keyboard Prediction Engine
Author: Mr. Nop Phearum
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: msgpack
Requires-Dist: python-Levenshtein
Dynamic: license-file

﻿# Khmer Keyboard Prediction Engine

Lightweight Khmer keyboard prediction engine for offline/mobile usage.

## Features

- Next-word prediction (trigram + bigram fallback)
- Prefix suggestion
- Spell correction (Levenshtein + unigram frequency)
- Bundled Khmer model (`model.msgpack`) in package

## Installation

From PyPI:

```bash
pip install khmer-keyboard
```

From local source:

```bash
pip install .
```

## Quick Usage

```python
from khmer_keyboard import KhmerKeyboardEngine

# Uses bundled khmer_keyboard/data/model.msgpack
engine = KhmerKeyboardEngine()

# 1) Unified API while typing
print(engine.predict(current_prefix="ស"))

# 2) Unified API after finishing words (context-based next word)
print(engine.predict(context_words=["ខ្ញុំ", "ចង់"]))

# 3) Direct next-word prediction
print(engine.predict_next("ខ្ញុំ", "ចង់", top_n=5))

# 4) Prefix suggestions
print(engine.suggest_prefix("ស", top_n=5))

# 5) Spell correction candidates
print(engine.correct_word("ក្មុពជា", top_n=3))
```

## Load External Model (Optional)

If you want to use your own `.msgpack` model:

```python
from khmer_keyboard import KhmerKeyboardEngine

engine = KhmerKeyboardEngine(model_path="path/to/model.msgpack")
```
