# pyphrasy - Склонение по падежам русских словосочетаний.
Мы долго искали способ, как просклонять сложные названия в проекте. Нашли платную библиотеку, но тем интереснее стало написать своё открытое решение.
Всё просто: устанавливаете пакет pyphrasy и:
import pymorphy2 from pyphrasy.inflect import PhraseInflector
morph = pymorphy2.MorphAnalyzer() inflector = PhraseInflector(morph) form = ‘gent’ print inflector.inflect(phrase, form)
Вся работа основана на библиотеке [pymorpy2](https://pymorphy2.readthedocs.org), которая, в свою очередь, активно использует словари [OpenCorpora](http://opencorpora.org/).
Если вам нравится проделанная работа и вы хотите внести свою лепту - помогите проекту OpenCorpora, это совсем не сложно.
# Веб-сервис
Проект [запущен на Heroku](http://pyphrasy.herokuapp.com/), и имеет API на http://pyphrasy.herokuapp.com/inflect. Ожидаю запрос с двумя параметрами:
phrase - что склонять
forms - один элемент или список падежей или/и чисел по сокращениям в pymorphy2, разделённые запятой
Например: http://pyphrasy.herokuapp.com/inflect?phrase=склонятор%20словосочетаний&forms=gent,plur&forms=datv
# Как запустить на своем хостинге
Веб-сервис написан на python и испольузет фреймворк Flask. Для работы потребуется установка пакетов, указаных в requirements.txt.
По желанию можно использовать [virtualenv](http://www.unix-lab.org/posts/virtualenv/).
Инструкция для чайников:
Скопировать исходный код с github
1.1. Создать и активировать окружение virtualenv (необязательно)
$ virtualenv .env $ source .env/bin/activate
Установить зависимости
$ pip install -r requirements.txt
Запустить сервис через gunicorn
$ gunicorn app:app
Проверить работоспособность
Release files for pyphrasy 0.2.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 | |
|---|---|---|---|
| pyphrasy-0.2.0.tar.gz | 17.9 kB | Details |
Release files / pyphrasy-0.2.0.tar.gz
| Download URL | pyphrasy-0.2.0.tar.gz |
|---|---|
| Size | 17.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd590abe963fbf8bcf0fdf8d1ef0e4f0447b18f691fd1801a821f9e973cfaa56
|
|
BLAKE2b-256 checksum How to use checksums |
64f8e67457adefd73eabf40e6a00e4fcee7f202469d7d7918888fd86d2fc3fc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/2.7.16
|