skillfed

tangled-up-in-unicode

Access to the Unicode Character Database (UCD)

tangled-up-in-unicode v0.2.0 400.5K downloads/30d#6,938 on PyPI3
Permissive license BSD License Abandoned released

What it is and what it does

Tangled up in Unicode is a Python module that exposes the Unicode Character Database (UCD) with a richer API than the standard library's unicodedata module. It provides access to character properties like category, bidirectional class, script, block, and age, along with human-readable aliases for property values (e.g., 'Currency_Symbol' instead of 'Sc'). The package ships with Unicode 14.0.0 data, independent of your Python version—a significant advantage over unicodedata, which is locked to whatever Unicode version your Python interpreter was built with.

The module is written in pure Python but can be compiled with Cython for performance. It does not support some unicodedata features like normalize() or lookup() by name, and it is no longer maintained—the last release was in September 2021 and the repository has not been updated since November 2022. This means the Unicode database will not be refreshed as new versions are released.

Use it for:

  • Analyzing text to extract script, block, or category information for all characters regardless of Python version
  • Building text processing tools that need human-readable Unicode property names and aliases
  • Performing linguistic or character-level analysis that requires properties beyond what unicodedata exposes
  • Working with legacy code that depends on a specific frozen Unicode version

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides detailed Unicode character properties and metadata from the Unicode Character Database with human-readable aliases, as an alternative to Python's standard library unicodedata module.

No, not recommended for new projects. While the package offers richer Unicode metadata than the standard library, it is abandoned and will not receive updates as Unicode evolves. For most use cases, Python's built-in unicodedata is sufficient and actively maintained. Consider this package only if you have a specific dependency on its API or need its exact Unicode 14.0.0 snapshot and can accept no future maintenance.

Install

tangled-up-in-unicode on PyPI

pip

pip install tangled-up-in-unicode

uv

uv add tangled-up-in-unicode

poetry

poetry add tangled-up-in-unicode

Installing tangled-up-in-unicode

Before you install

Low install friction with no runtime dependencies. However, the package is abandoned—last release was 2021-09-27 and last commit 2022-11-08—so it will not receive updates for new Unicode versions or bug fixes.

License in practice

Licensed under BSD License (permissive), so you can use it freely in commercial and open-source projects with minimal restrictions.

Quickstart

pip install tangled-up-in-unicode

import tangled_up_in_unicode as unicodedata

char_props = unicodedata.lookup('DOLLAR SIGN')
# or access properties directly for a character

Requires Python 3.6 or later. The package provides Unicode 14.0.0 data but will not update as new Unicode versions are released.

Verify before relying

  • Whether the frozen Unicode 14.0.0 database is sufficient for your use case or if you need access to newer Unicode versions
  • Performance characteristics when compiled with Cython versus the pure Python implementation
  • How well the package handles edge cases or malformed input compared to unicodedata

Package facts

License BSD License (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,782 days since the last release
Last repo commit
First released
Downloads 400,544/month — #6,938 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: tangled_up_in_unicode-0.2.0-py3-none-any.whl

Operating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: DatabaseTopic :: Scientific/Engineering :: Information AnalysisTopic :: Text ProcessingTopic :: Text Processing :: GeneralTopic :: Utilities

Tags

unicode character properties lookupunicode database accesscharacter metadata extractionunicode property aliasesucd character informationunicode script and block lookupcharacter category and bidirectional data
unicode-datacharacter-properties

More Utilities packages