Python bindings for ICU4C
Project description
icupy
Python bindings for ICU4C.
Installation
Prerequisites
- Python >=3.8, <4
- ICU4C (>=64 recommended)
- C++17 compatible compiler (depends on pybind11)
- CMake >=3.7
Building from source
-
If on Windows or ICU is located in a non-regular place, set the
ICU_ROOT
environment variable to the root of the ICU installation. -
Installing from PyPI:
pip install icupy
Alternatively, installing from the git repository:
git clone --recursive https://github.com/miute/icupy.git pip install ./icupy
Notes
- Changed C function name and class method name from camel case to snake case.
Examples
-
icu::UnicodeString with error callback
>>> import icupy as icu >>> cnv = icu.ucnv_open("utf-8") >>> action = icu.UCNV_TO_U_CALLBACK_ESCAPE >>> context = icu.ConstVoidPtr(icu.UCNV_ESCAPE_C) >>> icu.ucnv_set_to_u_call_back(cnv, action, context) >>> utf8 = b"\x61\xfe\x62" # Impossible bytes >>> s = icu.UnicodeString(utf8, -1, cnv) >>> str(s) 'a\\xFEb'
-
icu::IDNA (UTS #46)
>>> import icupy as icu >>> uts46 = icu.IDNA.create_uts46_instance(icu.IDNA.NONTRANSITIONAL_TO_ASCII) >>> dest = icu.UnicodeString() >>> info = icu.IDNAInfo() >>> uts46.name_to_ascii(icu.UnicodeString("faß.ExAmPlE"), dest, info) >>> str(dest) 'xn--fa-hia.example'
-
See also tests directory.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
icupy-0.7.0.tar.gz
(377.0 kB
view details)
File details
Details for the file icupy-0.7.0.tar.gz
.
File metadata
- Download URL: icupy-0.7.0.tar.gz
- Upload date:
- Size: 377.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2690f9686443f0ff797fc173906f7c65c0e7515fd2237c800bcef458a6ab5975 |
|
MD5 | ca773d891252663d01da53c4ab18abcc |
|
BLAKE2b-256 | 8d5afca127c2e321a473daff5b8216c99519f2c9a8d7ceb9a8c4930c296c37db |