Skip to main content

Tangled up in Unicode

This module provides access to character properties for all Unicode characters, from the Unicode Character Database (UCD) . This module provides an alternative to Python's standard library unicodedata. Tangled up in Unicode provides four main benefits compared to the standard library:

  • The latest version of the Unicode database is used.
  • Adds human-readable class names (Property value aliases).
  • Extends the properties to use more potential of the database.
  • UCD version independent of Python version (Python 3.6 has UCD 9.0, 3.7 has UCD 11.0.0, 3.8 has 12.0.1, 3.9 has 13.0.0)

Note that Python 3 added unicode support, but that this is different from the UCD. Unicode support handles storing and manipulating unicode characters, while this package aims to provide properties of specific characters.

Example

The default lookup in unicodedata for $:

Property Value
Name Dollar Sign
Category (Short) Sc
Bidirectional (Short) ET
Combining 0
Mirrored 0
East Asian Width (Short) Na
Decomposition

Extra information provided by this package

Property Value
Category Alias (Long) Currency_Symbol
Bidirectional Alias (Long) European_Terminator
East Asian Width Alias (Long) Narrow
Script (Long) Common
Script (Short) Zyyy
Block (Long) Basic_Latin
Block (Short) ASCII
PropList Pattern_Syntax
Uppercase Character
Lowercase Character
Titlecase Character

Properties comparison

Property tangled-up-in-unicode unicodedata
Name ☑ ☑
Decimal ☑ ☑
Digit ☑ ☑
Numeric ☑ ☑
Combining ☑ + alias ☑
Mirrored ☑ ☑
Decomposition ☑ ☑
Category ☑ + alias ☑
Bidirectional ☑ + alias ☑
East Asian Width ☑ + alias ☑
Script ☑ + alias -
Block ☑ + alias -
Age ☑ + alias -
Binary Property Values ☑ -
Version 14.0.0 (latest) 12.0.1

Table 1: presence of properties is denoted by ☑ (Unicode Character 'BALLOT BOX WITH CHECK' (U+2611)).

Usage

import tangled_up_in_unicode as unicodedata

The package can be installed via pip:

pip install tangled-up-in-unicode

Performance

The module is written in Python. It can be compiled with Cython to gain competitive performance with the native library.

Unsupported features

Some of the features in unicodedata are not supported.

Feature tangled-up-in-unicode unicodedata
lookup - ☑
normalize - ☑
ucd_3_2_0 - ☑

Acknowledgements

Where possible, code and documentation of the original module are used. This repository is part of the Dylan Profiling project.

Release files for tangled-up-in-unicode 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tangled-up-in-unicode 0.2.0
File Size Uploaded
tangled_up_in_unicode-0.2.0.tar.gz 4.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for tangled-up-in-unicode 0.2.0
File Interpreter ABI Platform
tangled_up_in_unicode-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 MB

Release files / tangled_up_in_unicode-0.2.0.tar.gz

Download URL tangled_up_in_unicode-0.2.0.tar.gz
Size 4.6 MB
Tags Source
SHA-256 checksum
How to use checksums
de56dbaf32de1b8c65621f97b06b7de21cba18c8e61f3988a426ffe3c40fed36
BLAKE2b-256 checksum
How to use checksums
1559f6ae6399c25b61719ebcca245d9be0805ce0767fd12879b75f6d0b04331e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Release files / tangled_up_in_unicode-0.2.0-py3-none-any.whl

Download URL tangled_up_in_unicode-0.2.0-py3-none-any.whl
Size 4.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
154be12605b1687a17133aa741ae951cf9ee531c48a0c19f98d83ec5cb3cc7be
BLAKE2b-256 checksum
How to use checksums
dd603651960b74aead282ec1ad819e70bdccf3ee73322d13d4339a6e3f5b7ed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page