Skip to main content

Склонение казахских имен по падежам

Project description

Qazaq Inflector

Python Version License

Библиотека для склонения казахских имен и фамилий по падежам. Поддерживает 6 основных падежей казахского языка.

Установка

Установите пакет через pip:

pip install qazaq_inflector

Qazaq Inflector — библиотека на Python для склонения казахских имён, ФИО и личных местоимений по падежам.

Python Version License

Возможности

  • Склоняет одиночные имена по всем семи казахским падежам:
    • nominative, genitive, dative, accusative, locative, ablative, instrumental
  • Поддерживает фамилию, имя, отчество (ФИО):
    • части, оканчивающиеся на ұлы или қызы (патронимика) не склоняются
    • разбивает ФИО по пробелам и дефисам
  • Склоняет личные местоимения: мен, біз, сен, сіз, ол
  • Генерирует множественное число: -дар/-дер
  • Формирует полную таблицу склонений через метод declension()

Установка

pip install qazaq_inflector

Быстрый старт

from qazaq_inflector import QazaqNameInflector

inflector = QazaqNameInflector()

# Склонение одиночного имени
print(inflector.inflect("Нұрлан", "genitive"))       # Нұрланның
print(inflector.inflect("Нұрлан", "locative"))       # Нұрланнда

# Склонение ФИО
print(inflector.inflect("Абай Құнанбаев", "dative"))   # Абайға Құнанбаевге

# Склонение местоимений
print(inflector.inflect("Мен", "ablative"))           # Меннен
print(inflector.inflect("Сіз", "instrumental"))      # Сізбен

# Множественное число
print(inflector.pluralize("Нұрлан"))                   # Нұрландар

# Полная таблица
table = inflector.declension("Нұрлан")
for case, (sing, plur) in table.items():
    print(f"{case}: {sing} / {plur}")

API

inflect(name: Optional[str], case: str) -> Optional[str]

Склоняет name по падежу case. Если name равен None или пустая строка, возвращает оригинал.

pluralize(name: str) -> str

Возвращает множественную форму name с учётом гармонии: дар или дер.

declension(name: str) -> Dict[str, tuple]

Возвращает словарь всех падежей { case: (singular, plural) }.

Тесты

git clone https://github.com/zhandos717/qazaq_inflector.git
cd qazaq_inflector
pip install -e .[dev]
pytest

Лицензия

Проект распространяется под лицензией MIT.


Автор: Zhandos Zhandarbekov
Email: zhandos.zhandarbekov@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qazaq_inflector-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qazaq_inflector-0.1.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file qazaq_inflector-0.1.0.tar.gz.

File metadata

  • Download URL: qazaq_inflector-0.1.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for qazaq_inflector-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b57fcb4c2092ebd2df8c355c188062571d87b925f7f1a897e6888d5a05f6afa5
MD5 6246f713dfc21280a818c4dbfbdfaf9d
BLAKE2b-256 0fd4ac8c0f4cccb471379fb4ff37ca90459398ddc6f123d2e657d8c6ea99b5aa

See more details on using hashes here.

File details

Details for the file qazaq_inflector-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qazaq_inflector-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5178b34755be646d1068140582386798d803f2b52f7ac4196fccb3e8f4f9d37
MD5 d699483dd1060948cb0be99ac9fd559d
BLAKE2b-256 9dddfa0d2723da64a62bc6204f25f9f4cc50798769a975e46a0a97adb1679f8d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page