simplemma
Fast and zero-dependency lemmatization, tokenization and sentence splitting for 54 languages.
What it is and what it does
Simplemma is a pure-Python lemmatizer that reduces inflected word forms to their base dictionary forms across 54 languages. It works offline with no model downloads, ships in a 19 MB package, and includes built-in tokenization, sentence splitting, and language detection utilities. The core trade-off is deliberate: it sacrifices the accuracy of neural pipelines (typically a few percentage points behind trained models) in exchange for speed (millions of tokens per second), simplicity, and a small footprint that suits low-resource settings, teaching, and baseline NLP work.
Unlike stemming, lemmatization always returns valid linguistic forms. Simplemma handles this without morphosyntactic information by performing dictionary lookups on raw token sequences. It supports language chaining to improve coverage when a word is unknown in one language but recognized in another, and offers a tunable RAM footprint via a `low_memory` flag or optional marisa-trie backend. The package is actively maintained, has no runtime dependencies, and works on current Python versions (3.10+).
Use it for:
- Build a search engine or text indexing system where lemmatization reduces vocabulary size without downloading language models.
- Preprocess multilingual documents for topic modeling or information retrieval in resource-constrained environments.
- Teach NLP fundamentals in a classroom setting where a simple, dependency-free tool is easier to install and explain than neural pipelines.
- Establish a baseline lemmatization result to compare against more complex models in morphological analysis research.
- Detect the language of short text snippets by scoring them against a set of candidate languages.
- Tokenize and split sentences in a rule-based pipeline where speed and determinism matter more than state-of-the-art accuracy.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Simplemma converts inflected word forms to their dictionary base forms (lemmas) across 54 languages using pure Python with no external dependencies or model downloads.
Yes. Simplemma is worth installing if you need fast, offline lemmatization across many languages without external dependencies or model downloads. Its zero-dependency design, active maintenance, MIT license, and absence of known vulnerabilities make it a low-risk choice. Install it for baseline NLP work, teaching, or low-resource settings; do not install it if you need the highest accuracy and can afford the overhead of neural pipelines.
Install
simplemma on PyPI
pip
pip install simplemmauv
uv add simplemmapoetry
poetry add simplemmaInstalling simplemma
Before you install
Installation is straightforward with zero runtime dependencies and a 19 MB footprint. The package is actively maintained with a recent release (2 days old) and no known vulnerabilities.
License in practice
MIT License permits unrestricted use, modification, and distribution in both open-source and commercial contexts with minimal obligations.
Quickstart
pip install simplemma
import simplemma
simplemma.lemmatize('masks', lang='en')
# 'mask'
simplemma.text_lemmatizer('Hier sind Vaccines.', lang=('de', 'en'))
# ['hier', 'sein', 'vaccine', '.']
Requires Python 3.10 or later; simplemma==1.1.2 is the last version supporting 3.8 and 3.9.
Verify before relying
- Whether accuracy figures (0.91–0.97 for 34 languages, 0.85–0.90 for morphologically rich ones) remain current across all 54 languages in version 2.0.0.
- Whether the ~1.9M tokens/s (German) and ~3.4M (English) throughput claims hold in real-world workloads outside the benchmarks cited.
- Whether optional marisa-trie dependency (for lowest memory usage) is compatible with all 54 languages or has language-specific limitations.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 2 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 220,470/month — #9,299 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: simplemma-2.0.0-py3-none-any.whl
Keywords: language detection, language identification, langid, lemmatization, lemmatizer, lemmatiser, nlp, sentence segmentation, sentence splitting, tokenization, tokenizer
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
lemminflectLemmatizes and inflects English words using…
permissive · top 15,000 on PyPI
udapiUdapi is a Python framework for reading,…
copyleft · top 15,000 on PyPI
pymorphy3-dicts-ukProvides Ukrainian morphological dictionaries…
permissive · top 15,000 on PyPI
pymorphy3Morphological analyzer and POS tagger for…
permissive · top 15,000 on PyPI
pymorphy3-dicts-ruProvides Russian morphological dictionaries for…
permissive · top 15,000 on PyPI
minisbdDetects sentence boundaries in text across many…
agpl · top 15,000 on PyPI
polyglotPolyglot is a multilingual natural language…
copyleft · top 15,000 on PyPI
jiebaJieba segments Chinese text into words using…
permissive · top 5,000 on PyPI
num2wordsConverts numbers to their word representations…
copyleft · top 5,000 on PyPI
wnWn is a Python library for querying and…
permissive · top 15,000 on PyPI