Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Access to the Unicode Character Database (UCD)

Project description

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)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for tangled-up-in-unicode, version 0.0.6
Filename, size File type Python version Upload date Hashes
Filename, size tangled_up_in_unicode-0.0.6-py3-none-any.whl (3.1 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size tangled_up_in_unicode-0.0.6.tar.gz (3.1 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page