Packages
Converts text to speech using ONNX Runtime, supporting multiple languages and voices with performance optimized for modern hardware.
However, verify the unclear license treatment against your project's requirements, and plan for the separate download of model files before first use.
Identifies whether a string contains Simplified Chinese, Traditional Chinese, both, or mixed character sets using CC-CEDICT data.
Converts text between Latin and non-Latin scripts (Armenian, Bulgarian, Georgian, Greek, Russian, Serbian, Ukrainian, Macedonian, Mongolian) in both directions using language-specific character mapping rules.
However, its GPL 2.0/LGPL 2.1 copyleft license requires careful review if you plan to use it in proprietary software.
LLM is a CLI tool and Python library for running prompts against Large Language Models from OpenAI, Anthropic, Google, Meta, and dozens of other providers, both via remote APIs and locally-installed models.
symspellpy is a Python port of SymSpell v6.7.2 that performs fast spell checking and word segmentation with low memory overhead, using an optimized distance comparison algorithm.
TinySegmenter is a compact Japanese tokenizer that breaks Japanese text into morphological tokens without requiring external dictionaries or machine learning models.
Provides a pip-installable Japanese morphological analysis dictionary (UniDic 2.1.2) for use with MeCab wrappers like mecab-python3 or fugashi.
Install only if you need Japanese morphological analysis, have already chosen a MeCab wrapper, and can tolerate a 250MB footprint and a 2013-era dictionary.
A fast, Rust-backed tokenizer library that encodes and decodes text using BPE, WordPiece, and Unigram algorithms, compatible with HuggingFace tokenizer models.
Converts text between Traditional Chinese, Simplified Chinese, and Japanese Kanji, supporting character-level and phrase-level conversion with regional vocabulary variants.
Performs Chinese word segmentation, breaking Chinese text into individual words or meaningful tokens for natural language processing tasks.
Install only if you are maintaining legacy code that already depends on it.
YAKE extracts keywords from text documents using unsupervised statistical methods, requiring no training data, external corpus, or language-specific dictionaries.
The copyleft license requires careful review if you plan proprietary use.
Provides Jinja2 template filters for pluralizing English words, including a simple inflect-based filter and a Django-style pluralize filter.
However, verify compatibility with your Jinja2 and Python versions first, since the package has not been updated since 2015 and may not work with modern versions.
Identifies the language of text in one of 97 languages using a pre-trained statistical model, with optimized speed for Python 3.6+.
Morphological analyzer and POS tagger for Russian and Ukrainian text that performs inflection analysis and lemmatization.
Phonemizer converts written text into phonetic representations (IPA, SAMPA, or custom phoneme sets) across many languages using pluggable backends like espeak, festival, and segments.
The main gotcha is that you must install one of the external backends separately, but that is by design and well-documented.
Provides Russian morphological dictionaries for pymorphy3, enabling morphological analysis and lemmatization of Russian text.
However, it is abandoned—no updates since 2022-01-08.
Resolves ISO 639 language codes and names to their standardized identifiers across all five ISO 639 sets (639-1, 639-2/B, 639-2/T, 639-3, and 639-5).
Provides the UniDic 2.3.0 Japanese morphological dictionary for use with MeCab-based tokenizers, requiring a separate download step and consuming approximately 1GB of disk space.
Parses CoNLL-U formatted text (a standard NLP annotation format) into nested Python dictionaries with full type support, enabling programmatic access to linguistic dependency structures.
Install it if you work with CoNLL-U data from NLP tools or linguistic corpora.
Read-only access to DAWG (directed acyclic word graph) files created by the dawgdic C++ library or DAWG Python package, without requiring compiled extensions.
Install it if you have pre-built DAWG data and want to query it without compiled extensions or C dependencies.
Computes Levenshtein and Damerau-Levenshtein edit distances between strings with optional early cutoff to return -1 when distance exceeds a specified threshold.
Install it if fuzzy string matching or similarity measurement is core to your application; skip it if you only need exact string matching or have no string-comparison…
Janome is a Japanese morphological analyzer written in pure Python that breaks Japanese text into tokens with part-of-speech and grammatical annotations.
Translates documents stored in Azure Blob Storage across languages while preserving structure and format, with support for custom translation models and glossaries.
Splits text streams into sentences even when chunks arrive at arbitrary boundaries, with support for both synchronous and asynchronous iteration.
Converts Japanese text between hankaku (half-width) and zenkaku (full-width) character representations using Cython for speed.
Install it if Japanese text normalization is part of your workflow; skip it if you don't work with Japanese text.
Provides Python access to the CMU Pronouncing Dictionary data files (phonetic transcriptions, phone inventories, and related linguistic data) with minimal processing and NLTK compatibility.
Python wrapper for LanguageTool that checks grammar, style, and spelling in text via a local Java server, public API, or remote server.
However, its GPL-3.0-only license means you cannot use it in proprietary or closed-source projects without a separate commercial license.
Kiwipiepy tokenizes and analyzes Korean text into morphemes with part-of-speech tags, sentence splitting, and user dictionary management.
LGPL v3 licensing requires careful review for proprietary use.
demoji finds and removes emojis from text, mapping each emoji to its Unicode description or replacing it with a plain-text equivalent.
Provides a Python client for Azure's neural machine translation service, enabling text translation, transliteration, and language detection across supported languages.
Install it if you need to call Azure's Translator service from Python.
A Python binding to the Rust-based jieba-rs Chinese text segmentation library, providing fast word tokenization and part-of-speech tagging for Chinese text.
Computes phonetic keys of strings using Soundex, NYSIIS, Metaphone, and Double Metaphone algorithms for fuzzy matching and phonetic indexing.
Detects offensive or profane language in text strings using a machine-learning model trained on labeled datasets, returning binary classifications or probability scores.
Provides type annotations and IDE autocompletion support for boto3's Comprehend service, enabling static type checking with mypy, pyright, and editor tools.
Generates random placeholder text that resembles Latin (lorem ipsum style) for use in templates, mockups, and testing.
However, verify compatibility with your Python version before relying on it in production, and consider maintaining a local fork if long-term support becomes necessary.
Computes edit distance, alignment, and word error rate (WER) between sequences using Kaldi's original algorithms, with support for compound word matching and statistical confidence intervals.
Preprocesses and normalizes user-generated text by fixing unicode errors, removing or replacing URLs, emails, code snippets, and other patterns, with optional transliteration to ASCII and support for parallel batch processing.
Splits long text into semantically meaningful chunks sized for LLM context windows, respecting sentence and paragraph boundaries rather than breaking mid-thought.
Converts between Chinese numerals and Arabic numerals in multiple modes, supporting integers, decimals, negatives, and sentence-level transformations including dates, fractions, and percentages.
Argos Translate is an open-source offline neural machine translation library that translates text between many language pairs using OpenNMT's CTranslate2 backend, with support for automatic language pivoting when direct translations are unavailable.