skillfed

pymorphy2

Morphological analyzer (POS tagger + inflection engine) for Russian language.

pymorphy2 v0.9.1 215.9K downloads/30d#9,389 on PyPI1,175
Permissive license MIT license DORMANT released

What it is and what it does

pymorphy2 is a morphological analysis library for Russian and Ukrainian text. It performs two main tasks: identifying the part of speech and grammatical properties of words (POS tagging), and generating different inflected forms of words (lemmatization and conjugation). The library is built on linguistic data from OpenCorpora and is commonly used in Russian NLP pipelines for text preprocessing, information extraction, and linguistic analysis.

The package depends on dawg-python for efficient dictionary lookups and pymorphy2-dicts-ru for Russian morphological data. It has low installation friction as a pure-Python wheel, but maintenance is dormant—the last release was in 2020, though the repository remains accessible. It supports Python 2.7 through 3.8 according to its classifiers, but has not been updated for newer Python versions.

Use it for:

  • Preprocess Russian text for machine learning by lemmatizing words and extracting grammatical features.
  • Build Russian search engines or information retrieval systems that need to match word variants.
  • Generate inflected forms of Russian words for text generation or templating tasks.
  • Analyze Ukrainian text for linguistic research or NLP applications.
  • Implement Russian spell-checking or grammar-checking tools that require morphological analysis.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Morphological analyzer and inflection engine for Russian and Ukrainian text, performing part-of-speech tagging and word form generation.

Yes, if you are working with Russian text and need morphological analysis. The library is stable, has no known vulnerabilities, and low install friction. However, be aware that maintenance is dormant—no updates since 2020—so you should verify compatibility with your Python version and consider whether you need active maintenance or community support for production use.

Install

pymorphy2 on PyPI

pip

pip install pymorphy2

uv

uv add pymorphy2

poetry

poetry add pymorphy2

Installing pymorphy2

Before you install

Low install friction with a pure-Python wheel. Maintenance is dormant—last release was 2020-09-26 and last commit 2024-06-26—so bug fixes and feature updates are unlikely, though the repository remains active and not archived.

License in practice

MIT license (permissive) places no restrictions on use, modification, or distribution in commercial or private projects.

Quickstart

pip install pymorphy2

import pymorphy2
morph = pymorphy2.MorphAnalyzer()
word = morph.parse('слова')[0]
print(word.grammemes)

Requires pymorphy2-dicts-ru (Russian dictionary data) to be installed; Ukrainian support requires additional dictionary configuration.

Verify before relying

  • Whether Ukrainian support is fully equivalent to Russian or requires additional setup beyond the standard installation.
  • Current compatibility with Python versions beyond 3.8, given the latest release predates modern Python versions.
  • Performance characteristics on large text corpora or real-time NLP pipelines.

Package facts

License MIT license (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 3 — dawg-python, pymorphy2-dicts-ru, docopt
Maintenance dormant — 2,148 days since the last release
Last repo commit
First released
Downloads 215,946/month — #9,389 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pymorphy2-0.9.1-py3-none-any.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseNatural Language :: RussianProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Scientific/Engineering :: Information AnalysisTopic :: Software Development :: Libraries :: Python ModulesTopic :: Text Processing :: Linguistic

Tags

russian morphological analysisukrainian pos taggerrussian inflection enginemorphological analyzer russianpos tagging slavic languagesrussian word formslemmatization russian
russian-nlpmorphological-analysispos-tagging

More Python Modules packages