{"id":22515,"library":"unicodedataplus","title":"unicodedataplus","description":"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.","status":"active","version":"16.0.0.post1","language":"python","source_language":"en","source_url":"https://github.com/iwsfutcmd/unicodedataplus","tags":["unicode","unicodedata","character-properties","text-processing"],"install":[{"cmd":"pip install unicodedataplus","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Standard import, no common mistake.","wrong":null,"symbol":"unicodedataplus","correct":"import unicodedataplus"},{"note":"","wrong":null,"symbol":"lookup","correct":"unicodedataplus.lookup(name)"},{"note":"","wrong":null,"symbol":"name","correct":"unicodedataplus.name(chr, default=None)"},{"note":"","wrong":null,"symbol":"decimal","correct":"unicodedataplus.decimal(chr, default=None)"},{"note":"","wrong":null,"symbol":"category","correct":"unicodedataplus.category(chr)"},{"note":"","wrong":null,"symbol":"bidirectional","correct":"unicodedataplus.bidirectional(chr)"},{"note":"","wrong":null,"symbol":"combining","correct":"unicodedataplus.combining(chr)"},{"note":"","wrong":null,"symbol":"east_asian_width","correct":"unicodedataplus.east_asian_width(chr)"},{"note":"","wrong":null,"symbol":"mirrored","correct":"unicodedataplus.mirrored(chr)"},{"note":"","wrong":null,"symbol":"decomposition","correct":"unicodedataplus.decomposition(chr)"},{"note":"","wrong":null,"symbol":"normalize","correct":"unicodedataplus.normalize(form, unistr)"},{"note":"","wrong":null,"symbol":"ucd_3_2_0","correct":"unicodedataplus.ucd_3_2_0"},{"note":"","wrong":null,"symbol":"unidata_version","correct":"unicodedataplus.unidata_version"}],"quickstart":{"code":"import unicodedataplus as ud\n\n# Check the Unicode version\nprint(ud.unidata_version)\n\n# Get the name of a character\nprint(ud.name('A'))  # Output: LATIN CAPITAL LETTER A\n\n# Get script extension for a character\n# Note: script extensions are a list of scripts (property is 'Script_Extensions')\nprint(ud.script_extensions('A'))  # Output: ['Latin']\n\n# Look up a character by alias name\nprint(ud.lookup('LATIN CAPITAL LETTER A'))  # Output: A\n\n# Check a property (e.g., Indic syllabic category for Devanagari vowel sign)\nimport sys\nprint(ud.indic_syllabic_category('\\u0901'))","lang":"python","description":"Basic usage: import and use as a drop-in for unicodedata, plus extended property access."},"warnings":[{"fix":"Use Python 3.6 or later.","message":"unicodedataplus requires Python 3.6+; Python 2 is not supported (dropped in version 12+).","severity":"breaking","affected_versions":">=12.0.0"},{"fix":"Ensure you import unicodedataplus and don't assume stdlib unicodedata has the same methods.","message":"The 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.","severity":"gotcha","affected_versions":"all"},{"fix":"Check the documentation for the latest API. Use with caution if stability is needed.","message":"The function `script_extensions` and property `indic_syllabic_category`, `indic_positional_category` are available but not yet finalized in Unicode standard; API may change.","severity":"deprecated","affected_versions":"all"},{"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).","message":"Installation 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.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `pip install unicodedataplus` in your environment.","cause":"Package not installed.","error":"ModuleNotFoundError: No module named 'unicodedataplus'"},{"fix":"Upgrade to version 12.1.0 or later: `pip install --upgrade unicodedataplus`.","cause":"Using an older version of unicodedataplus that doesn't have that attribute.","error":"AttributeError: module 'unicodedataplus' has no attribute 'script_extensions'"},{"fix":"Pass a single-character string: `unicodedataplus.name('A')`.","cause":"Passed a string with more than one character (e.g., `unicodedataplus.name('AB')`).","error":"ValueError: character must be a string of length 1"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}