--- id: unicodedata2 version: "17.0.1" license: Apache License 2.0 license_treatment: permissive maintenance: active --- # unicodedata2 — Unicodedata backport updated to the latest Unicode version. License: permissive · Maintenance: active · Downloads: 785.8K/mo ## What it is and what it does unicodedata2 is a backport and forward-port of Python's built-in unicodedata module that provides access to Unicode character properties and data. It allows you to query character names, categories, bidirectional properties, decompositions, and other Unicode attributes. The package version number tracks the Unicode standard version it implements—version 17.0.1 provides Unicode 17.0.0 data—so you can use newer Unicode versions in your code before they ship in the Python standard library. The package is distributed as pre-compiled wheels for common platforms (macOS, Linux, Windows) and Python versions (3.10–3.12), making installation straightforward. It has no runtime dependencies and is maintained actively by the fonttools project. Use it when you need access to Unicode properties for text processing, character classification, or when your application requires Unicode data newer than what your Python version's standard library provides. Use it for: - Access Unicode 17.0.0 character properties in Python versions whose stdlib unicodedata hasn't been updated yet - Perform character name lookups, category classification, and bidirectional property queries on text - Handle emoji and new Unicode blocks in font tools or text processing pipelines - Normalize Unicode strings using decomposition and composition data from the latest Unicode standard - Support multilingual text analysis that depends on current Unicode character classifications ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides updated Unicode character data tables via a backport of Python's unicodedata module, currently supporting Unicode 17.0.0 with pre-compiled wheels for multiple Python versions and platforms. Yes, if you need Unicode data newer than your Python version's standard library provides or are working with recent Unicode blocks (emoji, new scripts). No, if your application's Unicode requirements are met by the built-in unicodedata module. The package is stable, actively maintained, has no dependencies, and carries no security vulnerabilities, making it a low-risk addition when needed. ## Install pip install unicodedata2 uv add unicodedata2 poetry add unicodedata2 ## Installing unicodedata2 Before you install: Medium install friction due to compiled wheel distribution across multiple platforms and Python versions (3.10–3.12 supported). Active maintenance with recent release (183 days ago) and ongoing repository activity. License in practice: Licensed under Apache License 2.0 (permissive), allowing use in proprietary and open-source projects with minimal restrictions beyond attribution. Quickstart: pip install unicodedata2==17.0.1 import unicodedata2 print(unicodedata2.name('A')) print(unicodedata2.category('é')) Verify before relying: - Whether this package is necessary for projects already using Python's built-in unicodedata or only when newer Unicode versions are required before Python stdlib updates - Performance characteristics compared to the standard library unicodedata module - Specific use cases where Unicode 17.0.0 support is critical (e.g., emoji handling, new character blocks) ## Package facts - License: Apache License 2.0 (permissive) - Python support: unspecified - Install friction: medium - Maintenance: active - Downloads: 785.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags unicode character data backport, unicodedata updated version, unicode 17.0 support, unicode properties lookup, character classification unicode, unicode normalization data, unicode version backport, unicode-data, text-processing, internationalization [View on SkillFed](https://skillfed.io/packages/unicodedata2) · [View on PyPI](https://pypi.org/project/unicodedata2/)