Website · Try it in your browser · Guide · Download · Changelog
Kurdish language skills and wordlist builder for Central Kurdish (Sorani, ckb, Arabic script) and Northern Kurdish (Kurmanji, kmr, Hawar Latin script).
ziman means "language" in both varieties.
| Skills | orthography · IPA / G2P · syllabification · transliteration · morphology · verb paradigms · split-ergativity checking · language identification |
| Data readers | .mdx dictionaries (in-process via mdict-utils) · .zim wiki dumps (libzim) · plain-text corpora |
| Kaggle dataset | output/kaggle/ — one row per word, 59 flat columns (features, IPA, syllables, both scripts, definitions, frequency) as CSV · Parquet · SQLite + data card |
| Outputs | clean_wordlist_ckb.csv (329 190 forms) · clean_wordlist_kmr.csv (506 407 forms) · lemma tables · variant maps · grammar-rule JSON |
| Quality | 94 tests incl. the ground-truth matrix and the tutorial drift check · IPA agrees 96.5 % (ckb) / 97.8 % (kmr) with reference transcriptions in the data |
| Dependencies | standard library only for the skills; mdict-utils, libzim for data ingestion |
zimankit needs Python 3.11 or newer and has no dependencies. Every file is on the latest release:
pip install "git+https://github.com/0xdolan/zimankit.git@v0.1.0" # pip, from GitHub
pip install https://github.com/0xdolan/zimankit/releases/download/v0.1.0/zimankit-0.1.0-py3-none-any.whl
sudo apt install ./python3-zimankit_0.1.0-1_all.deb # Debian, Ubuntu, KaliThe release also has the sdist, the full source as .zip and .tar.gz, and SHA256SUMS. The guide covers every command and the Python API.
uv venv --python 3.13 .venv && uv pip install --python .venv/bin/python mdict-utils libzim pytest
source .venv/bin/activate
python -m zimankit analyze کتێبەکەم jinekê
python -m zimankit ipa پیاوەکە کتێبەکەم jinekê dîtin # pjaːwækæ k(ɯ)teːbækæm ʒɪnɛkeː diːtɯn
python -m zimankit conjugate کردن
echo "Min tu dîtim." | python -m zimankit ergativity # agreement_ok: false
python -m zimankit lid "Ma yew roje şima ra vat ke ziwanê ma zaf rind o" # zza
python -m pytest -qBuild the wordlists from your own data:
cp config/sources.example.toml config/sources.local.toml # set the paths (file is git-ignored)
./scripts/build_wordlists.sh
# Kaggle-ready dataset: flat columns, CSV + Parquet + SQLite + data card -> output/kaggle/
uv pip install --python .venv/bin/python pyarrow
python run_pipeline.py --stages exportStart at the documentation index.
Learning Kurdish? The tutorials are two complete courses, Sorani and Kurmanji, with 23 lessons each from the alphabet to ergativity, tagged 🟢 beginner / 🟡 intermediate / 🔴 advanced. Every conjugation, declension, IPA and transliteration table in them is generated by zimankit (python scripts/gen_tutorials.py), and a test fails if a lesson drifts from the code.
| part | chapters |
|---|---|
| Foundations | 1 Overview · 2 Getting started · 3 Data ingestion · 4 Unicode · 5 Language ID · 6 Tokenization |
| Central Kurdish | 7 Orthography · 8 Phonology & IPA · 9 Morphology · 10 Verbs |
| Northern Kurdish | 11 Orthography · 12 Phonology & IPA · 13 Morphology · 14 Verbs & ergativity |
| Cross-cutting | 15 Transliteration · 16 Wordlist pipeline · 17 Regex cookbook · 18 Multi-language examples · 19 Testing |
| Reference | 20 Glossary · 21 References |
Also: agent skills · cross-language examples · engineering brief · contributing and releases · changelog · website source.
zimankit/
├── run_pipeline.py lexicon → dictionaries → corpus → build → rules → export
├── config/ pipeline.toml · sources.example.toml · sources.local.toml (ignored)
├── zimankit/
│ ├── tools/ mdx_extractor.py · zim_cleaner.py
│ ├── shared_utils/ normalizer · tokenizer · lid · phonology_core · text_helpers · unicode_tables · schema
│ ├── skills_ckb/ orthography · phonology_ipa · morphology · verbs · config.toml
│ ├── skills_kmr/ orthography · phonology_ipa · morphology · verbs · syntax · translit · config.toml
│ ├── lexicon/ wiki_lexicon · corpus · harvest · builder · export
│ ├── data/ authored reference tables (core verbs, function words)
│ ├── rules.py grammar_rules_<lang>.json exporter
│ └── cli.py python -m zimankit …
├── output/{ckb,kmr}/ generated wordlists and reports
├── output/kaggle/ flat Kaggle dataset (export stage)
├── docs/ developer chapters · tutorials/{ckb,kmr} (generated tables)
├── assets/brand/ logo, icons, social, ads, print, screenshots (scripts/make_brand.py)
├── site/ website source (scripts/build_site.sh → _site/, deployed from main)
├── .github/workflows/ CI · release (on vX.Y.Z tags) · website
├── examples/ skills/ scripts/ tests/
grapheme, lemma, pos, ipa, morph_meta, translit, frequency, sources, confidence — see chapter 16.
کتێبەکەم,کتێب,NOUN,k(ɯ)teːbækæm,"{""definite"":""def"",""enclitic"":""1sg"",""number"":""sg"",""seg"":""کتێب+ەکە+م""}",kitêbekem,137,"encyclopedia,news,web",0.31
jinekê,jin,NOUN,ʒɪnɛkeː,"{""case"":""obl"",""definite"":""ind"",""gender"":""f"",""number"":""sg"",""seg"":""jin+ekê""}",ژنەکێ,530,"encyclopedia,lexicon-form,news",0.754
The logo is a sign of deq, the traditional hand-poked tattoo of Kurdish women: the figure read as the tree of life, a symbol of fertility, growth and life force. Its circle stands for the cycle of life, its line and V shapes for a sprout or a tree, and its dots for protection against the evil eye. At its heart shines Roj, the 21-rayed sun of the flag of Kurdistan; roj / ڕۆژ means both "sun" and "day". Together they stand for Kurdish (ziman, "language") as a living language.
The full story, with the history and meaning of deq, sources, colours, usage, and every logo, icon, social, ad and print file, is in assets/brand/.
The code is licensed under the GNU General Public License v3.0 or later.
Generated data is licensed separately. The large generated files under output/ are git-ignored (regenerate them with the pipeline; 300-row samples are kept). Wordlists derived from openly licensed sources may carry share-alike obligations when redistributed — check the licences of the data you configure. The published Kaggle dataset and the sample CSVs in output/ are CC BY-SA 4.0.


