Skip to main content

# 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/).

Инструкция для чайников:

  1. Скопировать исходный код с github

1.1. Создать и активировать окружение virtualenv (необязательно)

$ virtualenv .env $ source .env/bin/activate

  1. Установить зависимости

    $ pip install -r requirements.txt

  2. Запустить сервис через gunicorn

    $ gunicorn app:app

  3. Проверить работоспособность

    $ curl “http://localhost:8000/inflect?phrase=%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B0%D1%8F%20%D0%BA%D0%BE%D0%BF%D0%B8%D1%8F&cases=accs&cases=datv”

Metadata

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)

Source distribution for pyphrasy 0.2.0
File Size Uploaded Provenance
pyphrasy-0.2.0.tar.gz 17.9 kB Without provenance 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

Security for pyphrasy 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page