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.
from kaalin.converter import latin2cyrillic, cyrillic2latin
latin2cyrillic("Assalawma áleykum") # Ассалаўма әлейкум
cyrillic2latin("Ассалаўма әлейкум") # Assalawma áleykum
# You can extend the built-in loanword dictionary with your own entries
latin2cyrillic("stilistika", custom_loanwords={"stilistika": "стилистика"})Converts numbers to Karakalpak words. Supports integers, floats, and negatives up to 10³⁰.
from kaalin.number import to_word
to_word(123) # bir júz jigirma úsh
to_word(999, num_type="cyr") # тоғыз жүз тоқсан тоғызSplits words into syllables. Works with both Latin and Cyrillic input.
from kaalin.syllable import syllabify
syllabify("qaraqalpaqstan") # ['qa', 'ra', 'qal', 'paq', 'stan']
syllabify("Шарапат") # ['Ша', 'ра', 'пат']Karakalpak-aware upper() / lower() that correctly handle the dotless ı ↔ Í pair.
from kaalin.string import upper, lower
upper("Assalawma áleykum") # ASSALAWMA ÁLEYKUM
lower("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