unicodedata2
unicodedata backport/updates. Currently supports Unicode 18.0.0.
Requires Python 3.9 or newer.
The versions of this package match Unicode versions, so unicodedata2==13.0.0 is data from Unicode 13.0.0.
Pre-compiled wheel packages are available on PyPI and can be installed via pip.
Testing
We run the tests using tox. This can be installed as usual with pip install tox,
or with pip install --group dev (pip 25.1 or newer) to pick it up from
pyproject.toml.
Tox and CI download the version-matched Unicode normalization data before
running tests. Download failures stop the run. Before running pytest directly,
run python tests/download_test_data.py once. The downloaded files are not
included in source distributions or wheels.
Without any options, tox will run the tests against all of the library's
target Python versions. Any missing versions will be skipped.
To run tests against a specific python version you can use the -e option followed by
a tox environment name. E.g. -e py39 will run tests against Python 3.9.
For more info, check tox's documentation.
Changelog
18.0.0
- Upgrade to Unicode 18.0.0
- Backport algorithmic character names from CPython, including Tangut, Jurchen, and Small Seal.
- Backport CPython's faster canonical ordering, also fixing Unicode normalization on PyPy.
- Require Python 3.9 or newer; drop Python 3.8 support.
- Fix historical numeric values in the Unicode 3.2 database.
- Make Hangul syllable lookup case-insensitive.
- Return algorithmic Hangul syllable mappings from decomposition().
- Always return an exact str from normalize(), including for str subclasses.
17.0.0
- Upgrade to Unicode 17.0.0
16.0.0
- Upgrade to Unicode 16.0.0
15.0.0
- Upgrade to Unicode 15.0.0
14.0.0
- Upgrade to Unicode 14.0.0
13.0.0-2
- Fix issue with source distribution tarball archive missing CHANGELOG.md file.
- Use tox as test runner.
13.0.0
- Upgrade to Unicode 13.0.0
12.1.0
- Upgrade to Unicode 12.1.0
- Remove Python 3.4 support as multibuild no longer supports Python 3.4.
12.0.0
- Upgrade to Unicode 12.0.0
11.0.0
- Upgrade to Unicode 11.0.0
- Remove Python 3.3 support as wheel no longer supports Python 3.3.
10.0.0-2
- Wheel for Python 3.6
10.0.0
- Upgrade to Unicode 10.0.0
- Remove Python 2.6 support as wheel no longer supports Python 2.6.
9.0.0-4
- Re-releasing 9.0.0-3 because PyPI doesn't handle bad internet connections well.
9.0.0-3
- Add binary packages for all platforms. Patch by Cosimo Lupo (anthrotype).
9.0.0-2
- Python 3 support
- Fix incorrect digitification caused by using the underlying Python's Unicode tables.
9.0.0
- Upgrade to Unicode 9.0.0
8.0.0
- Upgrade to Unicode 8.0.0
7.0.0-2
- Compiles under Python 2.6 (and older 2.7). Patch by John Vandenberg. Fixes #2
- Runs regular unicodedata tests. Adds Travis and AppVeyor CI. Patch by John Vandenberg (jayvdb).
7.0.0
- Initial release