kiwipiepy
Kiwi, the Korean Tokenizer for Python
What it is and what it does
Kiwipiepy is a Python binding for Kiwi, a Korean morphological analyzer that breaks Korean text into morphemes (smallest meaningful units) and assigns part-of-speech tags based on the Sejong Corpus tagset. It provides tokenization, sentence splitting, stopword filtering, and user dictionary management for customizing analysis on domain-specific vocabulary.
The package ships with prebuilt wheels for modern Python versions (3.9+) on common platforms, reducing installation friction for most users. It depends on numpy, tqdm, and a model data package (kiwipiepy_model) that is automatically installed. The library is actively maintained and supports interactive testing via command-line interface, making it accessible for quick experimentation with Korean text analysis.
Use it for:
- Tokenize Korean documents for natural language processing pipelines and text classification
- Extract morphemes and part-of-speech tags for linguistic analysis or corpus studies
- Split multi-sentence Korean text into individual sentences for batch processing
- Filter stopwords from Korean text before downstream NLP tasks like topic modeling
- Add domain-specific terminology to the analyzer via user dictionary for improved accuracy on specialized corpora
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Kiwipiepy tokenizes and analyzes Korean text into morphemes with part-of-speech tags, sentence splitting, and user dictionary management.
Yes, if you need Korean morphological analysis. The package is actively maintained, has no known vulnerabilities, and offers prebuilt wheels for common platforms. LGPL v3 licensing requires careful review for proprietary use. Medium install friction is acceptable given the compiled nature of the underlying C++ library. Suitable for both research and production Korean NLP pipelines.
Install
kiwipiepy on PyPI
pip
pip install kiwipiepyuv
uv add kiwipiepypoetry
poetry add kiwipiepyInstalling kiwipiepy
Before you install
Medium install friction due to compiled C++ components; prebuilt wheels available for Python 3.9+ on major platforms (macOS, Linux, Windows), but source builds require cmake 3.12+ and a C++17 compiler. Active maintenance with recent releases.
License in practice
Licensed under LGPL v3 (copyleft); derivative works and modifications must be distributed under the same license. Suitable for open-source projects but requires careful review for proprietary or closed-source use.
Quickstart
pip install kiwipiepy
from kiwipiepy import Kiwi
kiwi = Kiwi()
tokens = kiwi.tokenize("안녕하세요 형태소 분석기 키위입니다.")
print(tokens)
Requires cmake 3.12+ if installing from source on platforms without prebuilt wheels; binary distributions available for Python 3.9+ on macOS (10.14+), Linux (manylinux2014), and Windows (Vista+).
Verify before relying
- Performance characteristics (speed, memory usage) on large-scale Korean text processing
- Accuracy metrics or benchmarks against other Korean tokenizers
- Whether the interactive test mode (python -m kiwipiepy) is suitable for production debugging
Package facts
| License | LGPL v3 License (copyleft) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 4 — dataclasses, kiwipiepy_model, numpy, tqdm |
| Maintenance | actively maintained — 64 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 346,086/month — #7,359 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: kiwipiepy-0.23.2-cp314-cp314t-macosx_10_15_x86_64.whl; kiwipiepy-0.23.2-cp314-cp314t-macosx_11_0_arm64.whl; kiwipiepy-0.23.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; kiwipiepy-0.23.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; kiwipiepy-0.23.2-cp314-cp314t-win_amd64.whl; kiwipiepy-0.23.2-cp39-abi3-macosx_10_14_x86_64.whl; kiwipiepy-0.23.2-cp39-abi3-macosx_11_0_arm64.whl; kiwipiepy-0.23.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; kiwipiepy-0.23.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; kiwipiepy-0.23.2-cp39-abi3-win_amd64.whl
Keywords: Korean, morphological, analysis
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
kiwipiepy-modelProvides pre-trained morphological analysis…
copyleft · top 15,000 on PyPI
mecab-koPython wrapper for MeCab-ko, a morphological…
permissive · top 15,000 on PyPI
python-mecab-koProvides Python bindings for MeCab-ko, a…
permissive · top 15,000 on PyPI
mecab-ko-dicProvides a Korean dictionary for MeCab…
unclear · top 15,000 on PyPI
rhoknprhoknp is a Python binding for Japanese…
permissive · top 15,000 on PyPI
konlpyKoNLPy provides Korean natural language…
copyleft · top 15,000 on PyPI
soynlpUnsupervised Korean natural language processing…
copyleft · top 15,000 on PyPI
python-mecab-ko-dicProvides a pre-built Korean morphological…
permissive · top 15,000 on PyPI
g2pkkg2pkk converts Korean text to phonetic…
permissive · top 15,000 on PyPI
pymorphy3Morphological analyzer and POS tagger for…
permissive · top 15,000 on PyPI