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 13.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.

Metadata

Release files for tangled-up-in-unicode 0.0.7

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.0.7
File Size Uploaded
tangled_up_in_unicode-0.0.7.tar.gz 3.1 MB Details

Built distribution (wheel)

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

Total release size: 6.2 MB

Release files / tangled_up_in_unicode-0.0.7.tar.gz

Download URL tangled_up_in_unicode-0.0.7.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
ff9623723335e727757671d2459d2cf2c742cfd6295c16602d09a69bffa76c57
BLAKE2b-256 checksum
How to use checksums
5ea5c01b05cb32d4a89b030b407128db6cbb2c08cf7d4e35c43535783c45de32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.8

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

Download URL tangled_up_in_unicode-0.0.7-py3-none-any.whl
Size 3.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
67cdf3cd1bc72a8148c2d55bb1f42397382d382c28ce2d05c6d1b823d87e0be3
BLAKE2b-256 checksum
How to use checksums
ecd158bfbe263494741a47140049b989ad42a8941854e8d34f1af90640c6c9f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.8

Release history Release notifications | RSS feed

0.2.0

2 release files

0.1.0

2 release files

This release

0.0.7 This release

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