lemminflect
A python module for English lemmatization and inflection.
Decision gist · record as of 2026-08-14
Yes, if you need reliable English lemmatization and inflection with low dependencies. The permissive MIT license and pure-Python wheel make installation straightforward. However, the dormant maintenance status (last update 2022-10-02) means no active development or bug fixes; install only if the current feature set meets your needs and you can tolerate a static codebase. The reported accuracy is solid for standard use cases, but verify it against your specific word forms before committing to production.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction—only numpy as a runtime dependency, distributed as a pure Python wheel.
- Maintenance is dormant (last commit 2023-09-14, 1412 days since release), so expect no active bug fixes or feature updates.
License · maintenance · safety
permissive license (permissive) — MIT license (permissive) allows commercial and private use with minimal restrictions.
last release 2022-10-02 (1412 days) · last repo commit 2023-09-14 · 284 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 296,809 downloads/mo, #7,894 on PyPI
Alternatives
Verify before relying
pip install lemminflect
from lemminflect import getLemma, getInflection
# Lemmatize
getLemma('watches', upos='VERB')
# ('watch',)
# Inflect
getInflection('watch', tag='VBD')
# ('watched',)- Actual accuracy on modern English corpora outside the AGID baseline; whether the 96.1% verb accuracy still holds in production use.
- Whether dormant maintenance affects real-world reliability or if the library is stable enough for long-term production use without updates.
- Support for Python versions beyond 3; the description says 'untested under Python 2' but does not specify a minimum or maximum Python 3 version.
What it is and what it does
LemmInflect is a standalone English lemmatization and inflection library that converts words to their base forms or inflected variants based on part-of-speech tags. It combines a dictionary approach (using the NIH SPECIALIST Lexicon) with neural network rules to handle out-of-vocabulary words, and can work independently or as a spaCy extension. The library accepts Universal Dependencies or Penn Treebank tags to specify the target word form and returns a tuple of possible spellings.
The package depends only on numpy for its neural network computations. It is designed for Python 3 and runs on Linux, Windows, and macOS. The description reports lemmatization accuracy of 95.6% overall on a test set of 119,194 inflected words, though the library acknowledges inherent ambiguities in English morphology (e.g., context-dependent forms like 'further' vs. 'farther', or verb 'be' forms that cannot be fully disambiguated by tag alone).
Use it for
- Normalize inflected words to base forms in text preprocessing pipelines for NLP or information retrieval tasks.
- Generate specific word forms (past tense, plurals, adjective variants) programmatically for text generation or templating.
- Extend spaCy NLP workflows with lemmatization and inflection methods on individual tokens without replacing spaCy's lemmatizer.
- Handle out-of-vocabulary words by applying morphological rules when dictionary lookup fails.
- Build rule-based text analysis systems that need reliable English morphology without heavy ML dependencies.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need reliable English lemmatization and inflection with low dependencies.
The permissive MIT license and pure-Python wheel make installation straightforward. However, the dormant maintenance status (last update 2022-10-02) means no active development or bug fixes; install only if the current feature set meets your needs and you can tolerate a static codebase. The reported accuracy is solid for standard use cases, but verify it against your specific word forms before committing to production.
Install
lemminflect on PyPI
Before you install
Low friction—only numpy as a runtime dependency, distributed as a pure Python wheel. Maintenance is dormant (last commit 2023-09-14, 1412 days since release), so expect no active bug fixes or feature updates.
License in practice
MIT license (permissive) allows commercial and private use with minimal restrictions.
Quickstart
pip install lemminflect
from lemminflect import getLemma, getInflection
# Lemmatize
getLemma('watches', upos='VERB')
# ('watch',)
# Inflect
getInflection('watch', tag='VBD')
# ('watched',)
Verify before relying
- Actual accuracy on modern English corpora outside the AGID baseline; whether the 96.1% verb accuracy still holds in production use.
- Whether dormant maintenance affects real-world reliability or if the library is stable enough for long-term production use without updates.
- Support for Python versions beyond 3; the description says 'untested under Python 2' but does not specify a minimum or maximum Python 3 version.
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Dormant 1,412 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 296,809 / month, #7,894 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: lemminflect-0.2.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “english lemmatization inflection”
- lemminflectLemmatizes and inflects English words using dictionary lookup and…
- pymorphy3Morphological analyzer and POS tagger for Russian and Ukrainian text…
- pymorphy2Morphological analyzer and inflection engine for Russian and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Linguistic packages
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
tiktoken is a fast BPE tokenizer that converts text into token sequences compatible with OpenAI models, supporting multiple encoding schemes including o200k_base and model-specific encodings.
Install it if you work with OpenAI APIs or need to understand token boundaries in GPT-family models.
Detects character encoding and language in byte sequences with high accuracy, supporting 99 encodings and returning confidence scores, language tags, and MIME types.
Install it if you need to detect character encoding or language in byte data; the rewrite makes it substantially faster and more accurate than its predecessors.
Converts Unicode text to ASCII by transliterating non-ASCII characters into their closest ASCII equivalents, with no runtime dependencies.
However, if transliteration quality or ongoing maintenance matters, consider unidecode instead despite its GPL-only license.
Lark is a parsing library that builds abstract syntax trees from context-free grammars, supporting multiple parsing algorithms (Earley, LALR(1), CYK) with automatic line and column tracking.
Python bindings to the tree-sitter parsing library, enabling incremental parsing and syntax tree analysis for source code.
See also simplemma · pluralizer · pymorphy3 · pymorphy2 · udapi · pymorphy3-dicts-uk · inflection · ginza · lexical-diversity · udtools