Skip to content
0xdolanPublic

About

Kurdish language skills and wordlist builder for Central Kurdish (Sorani, ckb, Arabic script) and Northern Kurdish (Kurmanji, kmr, Hawar Latin script).

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

zimankit logo: the deq tree-of-life figure with the Kurdish sun at its heart

zimankit · زمانکیت

Website · Try it in your browser · Guide · Download · Changelog

CI latest release Python 3.11+ GPL-3.0-or-later

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

the zimankit playground: Kurdish words analysed in the browser

Install

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, Kali

The release also has the sdist, the full source as .zip and .tar.gz, and SHA256SUMS. The guide covers every command and the Python API.

Quick start

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 -q

Build 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 export

Documentation

Start 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.

Layout

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/

Output schema

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

deq figure + the sun of the flag of Kurdistan = the zimankit logo

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/.

Licence

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.

About

Kurdish language skills and wordlist builder for Central Kurdish (Sorani, ckb, Arabic script) and Northern Kurdish (Kurmanji, kmr, Hawar Latin script).

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages