Skip to main content

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

Project details


Download files

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

Source Distribution

tangled_up_in_unicode-0.2.0.tar.gz (4.6 MB view details)

Uploaded Source

Built Distribution

tangled_up_in_unicode-0.2.0-py3-none-any.whl (4.7 MB view details)

Uploaded Python 3

File details

Details for the file tangled_up_in_unicode-0.2.0.tar.gz.

File metadata

  • Download URL: tangled_up_in_unicode-0.2.0.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for tangled_up_in_unicode-0.2.0.tar.gz
Algorithm Hash digest
SHA256 de56dbaf32de1b8c65621f97b06b7de21cba18c8e61f3988a426ffe3c40fed36
MD5 46194940f9274a6c031e4bfbb1878f82
BLAKE2b-256 1559f6ae6399c25b61719ebcca245d9be0805ce0767fd12879b75f6d0b04331e

See more details on using hashes here.

File details

Details for the file tangled_up_in_unicode-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: tangled_up_in_unicode-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for tangled_up_in_unicode-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 154be12605b1687a17133aa741ae951cf9ee531c48a0c19f98d83ec5cb3cc7be
MD5 67c62c7826674a513fe795164a586a99
BLAKE2b-256 dd603651960b74aead282ec1ad819e70bdccf3ee73322d13d4339a6e3f5b7ed3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page