semvec/pypi-packages huggingface dataset:
Petrovich 2.0.1
Библиотека для склонения кириллических ФИО по падежам
License: MIT
Requires Python: >=3.6
Keywords: petrovich python declension initials russian language

![Petrovich](petrovich.png)

Склонение русских имён, фамилий и отчеств по падежам.
Порт с [ruby](https://github.com/petrovich/petrovich-ruby) библиотеки на python

Версии с поддержкой python 2: 1.*
Версии с поддержкой python 3.6+: 2.*


#### Установка
`pip install petrovich==1.0.0` для установки порта с поддержкой python 2.7
`pip install petrovich` для установки порта с поддержкой python 3.6+


#### Описание

Перед использованием модуля требуется создать экземпляр класса Petrovich.
В момент инстанцирования производится загрузка файла с правилами

    from petrovich.main import Petrovich

    p = Petrovich()

Также при инстанцировании есть возможность выполнить загрузку собственного файла с правилами, путем передачи значения через аргумент `rules_path`

    p = Petrovich(rules_path='my/custom/rules/file.json')

Для склонения каждой из частей ФИО используется собственный метод. Это:

- `firstname`   - склонение имени
- `lastname`    - склонение фамилии
- `middlename`  - склонение отчества

Каждый из этих методов принимает по 3 аргумента:

- `value` - слово для склонения в именительном падеже
- `case` - падеж для склонения, содержащий значение, представленное в перечислении `petrovich.enums.Case`
- `gender` - род для склонения, необязательное для заполнения. Если не задать, то будет попытка определить род самостоятельно на основе определенных правил. В ряде случаев возможно ошибочное определение, например для несклоняемых фамилий (Ткач, Бондаренко, и т.д.). Используется значение из перечисления `petrovich.enums.Gender`.


#### Пример использования

    from petrovich.main import Petrovich
    from petrovich.enums import Case, Gender

    p = Petrovich()
    cased_lname = p.lastname(u'Алексеев', Case.GENITIVE, Gender.MALE)
    print cased_lname  # > Алексеева


#### История изменений
##### 2.0.0.
Добавлена поддержка python 3.6+

##### 1.0.0. 
Присутствуют изменения с потерей обратной совместимости. 
Был удален префикс `CASE_` у всех значений перечисления `petrovich.enums.Case`.