Packages
Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.
Install it if your application formats text for terminals and handles non-ASCII characters.
Provides programmatic access to ISO standard databases for countries, subdivisions, languages, currencies, and scripts through a Python API.
Converts numbers to their word representations in multiple languages, supporting cardinal numbers, ordinals, years, and currency formats.
Install it if you need multilingual number-to-words conversion.
polib reads, writes, and manipulates gettext translation files (PO, POT, and MO formats), allowing you to load, iterate, modify entries, and create translation catalogs programmatically.
Install it if you need to work with gettext files programmatically.
Looks up the timezone for any WGS84 coordinate (latitude/longitude) offline using preprocessed polygon data and H3-based spatial indexing.
Provides Unicode normalization (NFC, NFD, NFKC, NFKD) using Unicode Standard version 17.0 data, independent of the host Python environment's built-in Unicode version.
Install it if your application requires consistent normalization across different systems or if you need to target a specific Unicode Standard version.
Converts dates between the Hijri (Islamic) and Gregorian calendars using the Umm al-Qura standard, with support for dates from 1343 AH to 1500 AH.
Install it if you need reliable Hijri-Gregorian conversion within the supported date range; the main constraint is the 1343–1500 AH window and the explicit…
Detects which language a text is written in, supporting 75 languages with high accuracy on both short snippets and full sentences using compiled Rust bindings.
Provides translation string objects and factories for marking and managing translatable text in Python applications, with support for pluralization and message contexts.
However, the dormant maintenance status (last release 2020-07-09) means no active support for newer Python versions or bug fixes—verify compatibility with your target…
PyThaiNLP provides Thai-language natural language processing tools including tokenization, part-of-speech tagging, transliteration, spelling correction, and linguistic utilities, designed as a Thai counterpart to NLTK.
Install it if you need to process Thai text; the base package is lightweight and the optional extras allow you to add machine translation or WordNet support as needed.
Spark NLP provides distributed natural language processing on Apache Spark, offering pretrained pipelines and models for tokenization, named entity recognition, sentiment analysis, machine translation, and embeddings across multiple languages.
Install only if you already have Apache Spark 3.0+ and Java 8 or 11 in your environment; it is not suitable for lightweight single-machine NLP work.
Provides unit-aware measurement objects for Python that support conversion between different units and arithmetic operations across multiple measurement types including distance, weight, temperature, energy, speed, volume, time, and area.
Looks up the IANA timezone name for a given latitude and longitude entirely offline, using polygon data based on VMAP0.
PyICU wraps the ICU C++ libraries to provide Python access to Unicode text processing, internationalization, and localization features including collation, formatting, and script handling.
Install only if your system can satisfy the high build-time friction: pre-built packages exist for major platforms, but source builds require ICU libraries,…
flufl.i18n provides a high-level API for managing translation contexts in Python applications, supporting both single-context scripts and multi-context servers.
Converts text between Traditional Chinese, Simplified Chinese, and Japanese Kanji, supporting character-level and phrase-level conversion with regional vocabulary variants.
PyICU-binary provides pre-built Python bindings to the ICU C++ libraries for Unicode text processing, internationalization, and localization without requiring compilation.
However, the package is abandoned (no releases since 2021-09-14), so verify that prebuilt wheels exist for your Python version and platform before committing.
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).
Translate Toolkit converts, validates, and manipulates localization files across formats like PO, XLIFF, properties, and many others, with command-line tools and Python APIs for format conversion and quality assurance.
Install it if you work with translation files or build localization pipelines.
wlc is a command-line client for Weblate's REST API, enabling developers to manage translations, pull and push localization changes, and interact with Weblate projects from the terminal.
Simplemma converts inflected word forms to their dictionary base forms (lemmas) across 54 languages using pure Python with no external dependencies or model downloads.
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.
GeoIP2Fast performs fast geolocation lookups for IPv4 and IPv6 addresses, returning country codes, city names, ASN information, and CIDR blocks from a local binary data file.
Provides a curated collection of fonts packaged for use by Weblate and its localization workflows.
Provides JSON schemas that validate Weblate export formats, enabling programmatic verification of localization data structure.
Weblate is a web-based continuous localization platform that manages translation workflows for software projects, integrating with version control systems to synchronize translations across teams.
Provides language definitions, plural rules, and locale mappings for internationalization and localization systems, including Gettext translations and CLDR-based data.
Install it if you're building or integrating with a localization system and need reliable, standards-aligned language definitions; skip it if your application has no…
Discovers and identifies translation files in repositories by scanning for patterns used by common localization frameworks like Gettext, Android resources, and Transifex.
A Django module providing legal document templates and compliance infrastructure for Weblate-based localization services.
Converts between different calendar systems, allowing date translation across calendar formats such as Gregorian, Persian, and other calendar types.
Lints Mozilla localization files to find missing, obsolete, and erroneous strings; also merges localizations with English fallbacks and checks for conflicts in string definitions.