zimankit · زمانکیت
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 · sentence structure · 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 | 120+ 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 |
Install
zimankit needs Python 3.11 or newer and has no dependencies.
pip install zimankit
On Debian, Ubuntu or Kali, the latest release also has a package:
sudo apt install ./python3-zimankit_*_all.deb
The release also has the full source as .zip and .tar.gz, and SHA256SUMS. Optional extras: pip install "zimankit[data]" reads .mdx and .zim files, and pip install "zimankit[kaggle]" adds the Parquet export. 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 parse "Min pirtûka nû li dibistanê xwend." # head and relation of each word
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 |
| Sentences | 22 Sentence structure |
| Written standard | 23 The Central Kurdish written standard |
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)
│ ├── dependency.py sentence structure: head and relation of each word
│ ├── 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
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.
Metadata
Release files for zimankit 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zimankit-0.3.0.tar.gz | 142.0 kB | With provenance | Details for zimankit-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zimankit-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for zimankit-0.3.0-py3-none-any.whl |
Total release size: 276.1 kB
Release files / zimankit-0.3.0.tar.gz
| Download URL | zimankit-0.3.0.tar.gz |
|---|---|
| Size | 142.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95fccfc8783f13cea9f113365d3a4b183b7f5168c65751a10cb4fb7cdd98fa42
|
|
BLAKE2b-256 checksum How to use checksums |
e94b9cf69809f801354b569e8b0032e16a3bceabf608180c0fe63bf6c9014e5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.
Transparency logRelease files / zimankit-0.3.0-py3-none-any.whl
| Download URL | zimankit-0.3.0-py3-none-any.whl |
|---|---|
| Size | 134.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a7011b6da4e49d0e0da18fa197bde2bd12a8180943c40e8e1feaaf39ef3734f
|
|
BLAKE2b-256 checksum How to use checksums |
89c141e39694766d463b3de20c36feee7417fc8a436afe5af202c886cc8f5e31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.
Transparency logSecurity for zimankit 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for zimankit-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.