Registry / serialization / unicodedataplus

unicodedataplus

JSON →
library16.0.0.post1pypypi✓ verified 87d ago

An enhanced drop-in replacement for Python's unicodedata module, providing additional Unicode properties like script extensions, Indic positional/syllabic categories, property value aliases, and up-to-date data (current version 16.0.0.post1, Unicode 16.0.0). Released on PyPI with occasional updates aligned with new Unicode versions.

pip install unicodedataplus
INSTALL
IMPORT
SIG · UNICODEDATAPLUS
U
unicodedataplus
serializationpythonv16.0.0.post1
Install
1.8s avg
Import
Disk
17MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v16.0.0.post1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 19.3MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.8s · import 0.000s · 20MB
17MB installed
● package 17MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

unicodedataplus
import unicodedataplus
Standard import, no common mistake.
lookup
unicodedataplus.lookup(name)
name
unicodedataplus.name(chr, default=None)
decimal
unicodedataplus.decimal(chr, default=None)
category
unicodedataplus.category(chr)
bidirectional
unicodedataplus.bidirectional(chr)
combining
unicodedataplus.combining(chr)
east_asian_width
unicodedataplus.east_asian_width(chr)
mirrored
unicodedataplus.mirrored(chr)
decomposition
unicodedataplus.decomposition(chr)
normalize
unicodedataplus.normalize(form, unistr)
ucd_3_2_0
unicodedataplus.ucd_3_2_0
unidata_version
unicodedataplus.unidata_version

Basic usage: import and use as a drop-in for unicodedata, plus extended property access.

import unicodedataplus as ud # Check the Unicode version print(ud.unidata_version) # Get the name of a character print(ud.name('A')) # Output: LATIN CAPITAL LETTER A # Get script extension for a character # Note: script extensions are a list of scripts (property is 'Script_Extensions') print(ud.script_extensions('A')) # Output: ['Latin'] # Look up a character by alias name print(ud.lookup('LATIN CAPITAL LETTER A')) # Output: A # Check a property (e.g., Indic syllabic category for Devanagari vowel sign) import sys print(ud.indic_syllabic_category('\u0901'))
Debug
Known issues
breakingunicodedataplus requires Python 3.6+; Python 2 is not supported (dropped in version 12+).
fix
Use Python 3.6 or later.
affects: >=12.0.0
gotchaThe module is a drop-in replacement for unicodedata, but some properties only exist in unicodedataplus (e.g., script_extensions). If you rely on stdlib unicodedata and switch, your code may break if those extra attributes are missing in stdlib.
fix
Ensure you import unicodedataplus and don't assume stdlib unicodedata has the same methods.
affects: all
deprecatedThe function `script_extensions` and property `indic_syllabic_category`, `indic_positional_category` are available but not yet finalized in Unicode standard; API may change.
fix
Check the documentation for the latest API. Use with caution if stability is needed.
affects: all
gotchaInstallation may fail on systems without a working C compiler (e.g., Windows with missing VC++ build tools) as the package compiles a C extension. Use a binary wheel if available.
fix
Prefer installing from precompiled wheels via pip (e.g., `pip install unicodedataplus --only-binary=:all:`). If unavailable, install a C compiler (e.g., Microsoft Build Tools for Windows).
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'unicodedataplus'
Package not installed.
fix
Run `pip install unicodedataplus` in your environment.
AttributeError: module 'unicodedataplus' has no attribute 'script_extensions'
Using an older version of unicodedataplus that doesn't have that attribute.
fix
Upgrade to version 12.1.0 or later: `pip install --upgrade unicodedataplus`.
ValueError: character must be a string of length 1
Passed a string with more than one character (e.g., `unicodedataplus.name('AB')`).
fix
Pass a single-character string: `unicodedataplus.name('A')`.
Upgrade
Version history
16.0.0.post1latest on PyPI · released Mar 1, 2025
Audit
Dependencies

No dependency data recorded yet.

Agent activity
23 hits · last 30 days
node
20
OpenAI (training)
1
Resources
unicodedataplus — pip install unicodedataplus · libregistry