tangled-up-in-unicode
Access to the Unicode Character Database (UCD)
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.6 or later.
- The package provides Unicode 14.0.0 data but will not update as new Unicode versions are released.
- Low install friction with no runtime dependencies.
License · maintenance · safety
BSD License (permissive) — Licensed under BSD License (permissive), so you can use it freely in commercial and open-source projects with minimal restrictions.
last release 2021-09-27 (1782 days) · last repo commit 2022-11-08 · 3 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 400,544 downloads/mo, #6,938 on PyPI
Alternatives
Verify before relying
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- 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
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 on it.
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
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.
Requires Python 3.6 or later. The package provides Unicode 14.0.0 data but will not update as new Unicode versions are released.
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
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 |
| Classifiers | 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 |
Evidence: tangled_up_in_unicode-0.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “unicode character properties lookup”
- tangled-up-in-unicodeProvides detailed Unicode character properties and metadata from the…
- unicodedata2Provides updated Unicode character data tables via a backport of…
- unicodedataplusExtends Python's built-in unicodedata module with additional Unicode…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also unicodedataplus · unicodedata2 · graphemeu · uc-micro-py · Unidecode · emoji · pyunormalize · uniseg · confusable-homoglyphs · nicknames