skillfed

simplemma

Fast and zero-dependency lemmatization, tokenization and sentence splitting for 54 languages.

simplemma v2.0.0 220.5K downloads/30d#9,299 on PyPI215
Permissive license MIT License Active released

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 simplemma

uv

uv add simplemma

poetry

poetry add simplemma

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseNatural Language :: ArabicNatural Language :: ArmenianNatural Language :: BosnianNatural Language :: BulgarianNatural Language :: CatalanNatural Language :: CroatianNatural Language :: CzechNatural Language :: DanishNatural Language :: DutchNatural Language :: EnglishNatural Language :: EsperantoNatural Language :: EstonianNatural Language :: FinnishNatural Language :: FrenchNatural Language :: GalicianNatural Language :: GeorgianNatural Language :: GermanNatural Language :: GreekNatural Language :: HebrewNatural Language :: HindiNatural Language :: HungarianNatural Language :: IcelandicNatural Language :: IndonesianNatural Language :: IrishNatural Language :: ItalianNatural Language :: LatinNatural Language :: LatvianNatural Language :: LithuanianNatural Language :: MacedonianNatural Language :: MalayNatural Language :: NorwegianNatural Language :: PersianNatural Language :: PolishNatural Language :: PortugueseNatural Language :: RomanianNatural Language :: RussianNatural Language :: SerbianNatural Language :: SlovakNatural Language :: SlovenianNatural Language :: SpanishNatural Language :: SwedishNatural Language :: TurkishNatural Language :: UkrainianOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Topic :: Scientific/Engineering :: Information AnalysisTopic :: Software Development :: InternationalizationTopic :: Software Development :: LocalizationTopic :: Text Processing :: LinguisticTyping :: Typed

Tags

multilingual lemmatizationlemmatizer no dependenciesfast lemmatization pythonoffline lemmatizationtokenization sentence splittinglanguage detectionmorphological analysis
multilingualoffline-firstzero-dependencies

More Information Analysis packages