Skip to main content

icukit-pyicu

ICU is a marvel of engineering, built from years of cooperation across major platforms and the Unicode Consortium, and PyICU exposes much of the functionality in Python. This package includes the libraries and headers from ICU, and provides the PyICU package using it.

Batteries Included ICU and PyICU

PyICU can be hard to install on macOS and Linux because it requires ICU libraries to be installed first. This package bundles source-built ICU with PyICU, so everything installs in one go.

Install

pip install icukit-pyicu

Usage

import icu

t = icu.Transliterator.createInstance("Latin-Cyrillic")
print(t.transliterate("Hello"))  # Хелло

Development and Linkage

icukit-pyicu also bundles the full ICU headers and libraries for use in other projects:

import icukit_pyicu

print(icukit_pyicu.get_include())  # Path to ICU headers
print(icukit_pyicu.get_lib())      # Path to ICU libraries
print(icukit_pyicu.get_bin())      # Path to ICU binaries

It also provides a CLI tool similar to pkg-config:

icukit-config --version   # package version, e.g. 78.3.0
icukit-config --prefix    # install prefix
icukit-config --cflags    # -I<includedir>
icukit-config --libs      # -L<libdir> -licui18n -licuuc -licudata

For example, to compile and link a C++ program against the bundled ICU:

LIBDIR=$(python -c 'import icukit_pyicu; print(icukit_pyicu.get_lib())')
c++ -std=c++17 $(icukit-config --cflags) prog.cpp $(icukit-config --libs) -o prog

The program then needs to find the ICU libraries at run time:

  • Linux: link with -Wl,-rpath,"$LIBDIR" -Wl,--disable-new-dtags (the --disable-new-dtags makes the rpath apply to ICU's own inter-library dependencies), or set LD_LIBRARY_PATH="$LIBDIR".
  • macOS: the bundled dylibs use bare install names, so set DYLD_LIBRARY_PATH="$LIBDIR" when running.

Platforms

Wheels are published for:

  • macOS: ARM64 (Apple Silicon)
  • Linux: x86_64 and aarch64 (manylinux)
  • Python: 3.9–3.14

Only these binary wheels are published; there is no source distribution (building requires compiling ICU from source, which the CI pipeline handles). Intel macOS and Windows are not currently targeted. The wheels bundle both the ICU runtime libraries and the full ICU dev headers/libraries, so they are large (tens of MB) by design.

Note on PyICU

This package provides its own icu module. If you have PyICU installed separately, they will conflict. Either uninstall PyICU first, or use a virtual environment:

pip uninstall PyICU
pip install icukit-pyicu

Or with a venv:

python -m venv myenv
source myenv/bin/activate
pip install icukit-pyicu

License

The icukit_pyicu helper code is MIT (see LICENSE).

The published wheels bundle binary distributions of ICU (Unicode-3.0 license, see LICENSE-ICU) and PyICU (MIT). Accordingly the wheel metadata declares the SPDX expression MIT AND Unicode-3.0, and both license files are included in the distribution.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

icukit_pyicu-78.3.0-cp314-cp314-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl (64.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.38+ ARM64manylinux: glibc 2.39+ ARM64

icukit_pyicu-78.3.0-cp314-cp314-manylinux_2_35_x86_64.whl (64.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.35+ x86-64

icukit_pyicu-78.3.0-cp314-cp314-macosx_11_0_arm64.whl (63.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

icukit_pyicu-78.3.0-cp313-cp313-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl (64.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.38+ ARM64manylinux: glibc 2.39+ ARM64

icukit_pyicu-78.3.0-cp313-cp313-manylinux_2_35_x86_64.whl (64.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

icukit_pyicu-78.3.0-cp313-cp313-macosx_11_0_arm64.whl (63.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

icukit_pyicu-78.3.0-cp312-cp312-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl (64.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ ARM64manylinux: glibc 2.39+ ARM64

icukit_pyicu-78.3.0-cp312-cp312-manylinux_2_35_x86_64.whl (64.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

icukit_pyicu-78.3.0-cp312-cp312-macosx_11_0_arm64.whl (63.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

icukit_pyicu-78.3.0-cp311-cp311-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl (64.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.38+ ARM64manylinux: glibc 2.39+ ARM64

icukit_pyicu-78.3.0-cp311-cp311-manylinux_2_35_x86_64.whl (64.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ x86-64

icukit_pyicu-78.3.0-cp311-cp311-macosx_11_0_arm64.whl (63.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

icukit_pyicu-78.3.0-cp310-cp310-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl (64.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.38+ ARM64manylinux: glibc 2.39+ ARM64

icukit_pyicu-78.3.0-cp310-cp310-manylinux_2_35_x86_64.whl (64.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.35+ x86-64

icukit_pyicu-78.3.0-cp310-cp310-macosx_11_0_arm64.whl (63.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

icukit_pyicu-78.3.0-cp39-cp39-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl (64.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.38+ ARM64manylinux: glibc 2.39+ ARM64

icukit_pyicu-78.3.0-cp39-cp39-manylinux_2_35_x86_64.whl (64.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.35+ x86-64

icukit_pyicu-78.3.0-cp39-cp39-macosx_11_0_arm64.whl (63.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file icukit_pyicu-78.3.0-cp314-cp314-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp314-cp314-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 d3416b776b9f045687d47918a0a7d7305b0f1434d12bb94b98273e1823d31635
MD5 95517dbc71e3daff9c81e9d19348167d
BLAKE2b-256 e60a806b41bb35e52ff6bf3676cac5de64116e914d32c365274271d077f3bf4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp314-cp314-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp314-cp314-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp314-cp314-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 928399a5954f75fc99b2add7a94dae09ad95677a4a9f71e9cdccff3ac3bb5c46
MD5 3b13127f91fcd6fee2958f0e0f9b2559
BLAKE2b-256 a67a004a2d4baa71f36d6a117f4305eaac2c9b33b1a66867dcb1e48806cdf0ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp314-cp314-manylinux_2_35_x86_64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f69f29d8a4740241d80c602eabf2ba14fb42e73933865659768756fa1ab43a4
MD5 93551103657511e396e850fd8e33f052
BLAKE2b-256 e9aa39961f96bc751ea744c844fca0f791a100029d94111843fad68bbcea554b

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp313-cp313-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp313-cp313-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 31a51b1090df7126e47b4a1f078bad01817a371ec1a5f8b335ca880f97f94e32
MD5 f2674e5a7189ef37c7a2a4024c172e0b
BLAKE2b-256 42cc04dbc146f3b6914eec3e694c00771b136dc62921340571a08711ce82c1a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp313-cp313-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 1240f2dd5544b5137af72313595c7740b5d73f80ee1f3293ed3526ff5b145a88
MD5 1b7c7e158abc7266e5b08a51c4900cc1
BLAKE2b-256 df2ad5fcc87a31466df13c414faffcf73d57fe9bbd62f6669c928ce073aaa48a

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp313-cp313-manylinux_2_35_x86_64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 070deb5d48843480e01aa4ddc8f27f8df5dac1c1925e9f606bc4e8fbdebee696
MD5 4351b157eea176e9e1b056ca98e5cdc0
BLAKE2b-256 5aa189884cea5c68a5b5f6e7acbd03740216d5d4ff062350dfb9aeb55cb1f871

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp312-cp312-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp312-cp312-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 4c5d19f9c348ce6c15f6009d2b754ae8433a1b83538bbe1f0f080996e87a0642
MD5 adb8860f6169d9d5246dee3d4b0655e6
BLAKE2b-256 807f07b7f423bab162c6aa21458d79f65e97193ac75913ab0e48d3370ee3d96b

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp312-cp312-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 06bc512db79a2178a781422bbd3c80a4fca4d176eec90f7cd60822c65cbb201d
MD5 61abadce5f7c7596373577a2a5919cfc
BLAKE2b-256 c0a6c7724a1de0b0ada1cd37c0aed74c8ff771522c447e4ab56161b4d661d73f

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp312-cp312-manylinux_2_35_x86_64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 737fd2aa1b828bff47af2304539931d1f940451dc0600f6d02ebe2460a5c0eaf
MD5 ba38e3ff223987837463f34ed980a9c1
BLAKE2b-256 f119aab7d0016e88b85d68a32cab45e248e18f1b123b65eaa4155bd20a9499d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp311-cp311-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp311-cp311-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 4b72c6d2168676daab15971381f80434130a5165b21c77ae30ed79afbea044e1
MD5 b5008aae5ce0b260d6efd398afdd5b17
BLAKE2b-256 12bdfdcb4fb321859ff0e7dec2073dfb273f31e3eaa04379ceae3a91df79fd04

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp311-cp311-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 660905b3cde0647fa1b925d3bb5564781ff71c4f0e3b327cb16493455b1b9942
MD5 2762101555c706d195158eca9d09fa93
BLAKE2b-256 d0106c6f585771710316bc5c9240c99541643d62121d0768e25524d482dadd59

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp311-cp311-manylinux_2_35_x86_64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 22eabcc13a2b6fd463479934ea7a8dbaba5ac1dbf39339368e0fdbdda85bff41
MD5 c3f3fbfb9e2cd091b9dd1617c5e8b4b5
BLAKE2b-256 385d957ae0faa0d325a8c989842868d1a9f1f43e73c2f923f0a686b08107acf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp310-cp310-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp310-cp310-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 ca33bb5b48584de32a6466f38685fce139e40df87925b71adfe239c678cd9c34
MD5 3a696c4761c732886e77fdab183490b9
BLAKE2b-256 0773ffaeb77f263404a4442e1b5e33484297c6ea1b8489774faf800a6d9935e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp310-cp310-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 1006731c85aca63659e12374e2a77419932a6dcf3cb59174e33df32ffecabc2e
MD5 1bb5a92f116e949c9556a1b0d374dd08
BLAKE2b-256 39b594da36d9909a6cb98cac785d10a909af6b55661066b0e1a91cf0c67887b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp310-cp310-manylinux_2_35_x86_64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82d76cb8d5d9167a597d1ccca17d7d6e1f22032d881c8d09284f19a0eaffbef9
MD5 ecc3b41ce6b27380bde6ac25dd704ab2
BLAKE2b-256 b8dd39d8399b3b72264a4124174b992162cad5da7b308effdeadbac782b62b1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp39-cp39-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp39-cp39-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 9edaf749038372dc96f378bc452ba97a38c20d9c23c0d92b1ecf25b76dbfdd26
MD5 85f5f4f267e16a97acf58ec442d7b2ca
BLAKE2b-256 4f978a3eda69439dcc5d82d1ea5e597f46f03074bc53ec6f369a4687e7c2685f

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp39-cp39-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp39-cp39-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 be23779e6c4d05cd64e5695b24c11f7815d5944cc4202dbab6b53d98abc87caa
MD5 ce500527e6b62ef6ac812ae106e25d48
BLAKE2b-256 a26ccc88415ea3ce206951dfd49d8d4f19b13645a8646d1f1a690751be39f957

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp39-cp39-manylinux_2_35_x86_64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icukit_pyicu-78.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icukit_pyicu-78.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18416542019b081d9f7b02b0854d7eaf3780879b988ac4eda7b69913f15c1eb1
MD5 71f29b7f99a80f23743440f51d9005ab
BLAKE2b-256 fa8eea984c86d97d8283c1ecec19807d4772952b2fe2bf4cc483666208a9e8be

See more details on using hashes here.

Provenance

The following attestation bundles were made for icukit_pyicu-78.3.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build.yml on lenzo-ka/icukit-pyicu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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