A Python toolkit for the Karakalpak language. Zero dependencies, Python 3.10+.
pip install kaalinBidirectional Latin ↔ Cyrillic conversion. Loanwords with special characters (ь, ъ, э, ё, щ) are handled automatically.
fromkaalin.converterimportlatin2cyrillic, cyrillic2latinlatin2cyrillic("Assalawma áleykum") # Ассалаўма әлейкумcyrillic2latin("Ассалаўма әлейкум") # Assalawma áleykum# You can extend the built-in loanword dictionary with your own entrieslatin2cyrillic("stilistika", custom_loanwords={"stilistika": "стилистика"})Converts numbers to Karakalpak words. Supports integers, floats, and negatives up to 10³⁰.
fromkaalin.numberimportto_wordto_word(123) # bir júz jigirma úshto_word(999, num_type="cyr") # тоғыз жүз тоқсан тоғызSplits words into syllables. Works with both Latin and Cyrillic input.
fromkaalin.syllableimportsyllabifysyllabify("qaraqalpaqstan") # ['qa', 'ra', 'qal', 'paq', 'stan']syllabify("Шарапат") # ['Ша', 'ра', 'пат']Karakalpak-aware upper() / lower() that correctly handle the dotless ı ↔ Í pair.
fromkaalin.stringimportupper, lowerupper("Assalawma áleykum") # ASSALAWMA ÁLEYKUMlower("ASSALAWMA ÁLEYKUM") # assalawma áleykumConvert text files between scripts from the terminal:
cyr2lat input.txt # writes input-lat.txt
lat2cyr input.txt # writes input-cyr.txtMIT