PyICU-binary
Python extension wrapping the ICU C++ API
What it is and what it does
PyICU-binary is a Python wrapper around the ICU (International Components for Unicode) C++ libraries, which implement Unicode standards, text processing, and internationalization features. It allows Python developers to access ICU capabilities for locale-aware operations, text collation, normalization, and character encoding without building from source. The package provides precompiled wheels for common platforms, reducing installation complexity compared to building from source.
The package has no runtime dependencies beyond the underlying ICU C++ libraries, which must be present on the system. It supports both CPython and PyPy and is classified as production-stable, though it has not been actively maintained since 2021-09-14. Users on macOS need to ensure ICU is discoverable via pkg-config, and Linux users require the manylinux_2_24 environment or compatible system libraries.
Use it for:
- Build multilingual applications that need locale-aware text sorting and collation without writing C++ code
- Process Unicode text with proper normalization and character property detection across different languages
- Access CLDR data for date, time, number, and currency formatting in multiple locales
- Perform case conversion and text transformation operations that respect Unicode rules and language conventions
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyICU-binary provides pre-built Python bindings to the ICU C++ libraries for Unicode text processing, internationalization, and localization without requiring compilation.
Yes-with-conditions. PyICU-binary is worth installing if you need ICU functionality and want to avoid compilation overhead, and if you are using Python 3.6–3.9 on macOS or Linux with manylinux_2_24 support. However, the package is abandoned (no releases since 2021-09-14), so verify that prebuilt wheels exist for your Python version and platform before committing. Do not use for new projects requiring ongoing maintenance.
Install
pyicu-binary on PyPI
pip
pip install pyicu-binaryuv
uv add pyicu-binarypoetry
poetry add pyicu-binaryInstalling PyICU-binary
Before you install
Medium install friction due to platform-specific wheels; prebuilt binaries available for macOS and Linux (manylinux_2_24) but no releases since 2021-09-14. Package is marked abandoned with no activity in 1795 days, raising concerns about compatibility with current Python versions and system libraries.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install PyICU-binary
import icu
locale = icu.Locale('en_US')
collator = icu.Collator.createInstance(locale)
ICU C++ libraries must be installed on the system; on macOS, use Homebrew and configure pkg-config; on Linux, install libicu-dev or equivalent; prebuilt wheels only available for Python 3.6–3.9.
Verify before relying
- Whether prebuilt wheels support Python versions beyond 3.9 (wheels shown only up to cp39)
- Compatibility with modern ICU library versions and current operating system releases
- Whether abandoned status affects security or stability for production use
- Runtime behavior and API stability given lack of maintenance since 2021
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,795 days since the last release |
| First released | |
| Downloads | 434,897/month — #6,685 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PyICU_binary-2.7.4-cp36-cp36m-macosx_10_15_x86_64.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl; PyICU_binary-2.7.4-cp36-cp36m-manylinux_2_24_i686.whl; PyICU_binary-2.7.4-cp36-cp36m-manylinux_2_24_x86_64.whl; PyICU_binary-2.7.4-cp37-cp37m-macosx_10_15_x86_64.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl; PyICU_binary-2.7.4-cp37-cp37m-manylinux_2_24_i686.whl; PyICU_binary-2.7.4-cp37-cp37m-manylinux_2_24_x86_64.whl; PyICU_binary-2.7.4-cp38-cp38-macosx_10_15_x86_64.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl; PyICU_binary-2.7.4-cp38-cp38-manylinux_2_24_i686.whl; PyICU_binary-2.7.4-cp38-cp38-manylinux_2_24_x86_64.whl; PyICU_binary-2.7.4-cp39-cp39-macosx_11_0_x86_64.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl; PyICU_binary-2.7.4-cp39-cp39-manylinux_2_24_i686.whl; PyICU_binary-2.7.4-cp39-cp39-manylinux_2_24_x86_64.whl; PyICU_binary-2.7.4-pp37-pypy37_pp73-manylinux_2_24_i686.whl; PyICU_binary-2.7.4-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl
Tags
More Internationalization packages
Measures the displayed width of Unicode strings…
permissive · top 1,000 on PyPI
babelBabel provides internationalization (i18n) and…
permissive · top 1,000 on PyPI
pycountryProvides programmatic access to ISO standard…
copyleft · top 1,000 on PyPI
num2wordsConverts numbers to their word representations…
copyleft · top 5,000 on PyPI
polibpolib reads, writes, and manipulates gettext…
permissive · top 5,000 on PyPI
pyunormalizeProvides Unicode normalization (NFC, NFD, NFKC,…
permissive · top 5,000 on PyPI
pyicuPyICU wraps the ICU C++ libraries to provide…
permissive · top 15,000 on PyPI
zope.i18nProvides internationalization and localization…
unclear · top 15,000 on PyPI
unisegDetermines Unicode text segmentation…
permissive · top 15,000 on PyPI
i18nicei18nice provides internationalization (i18n)…
permissive · top 15,000 on PyPI
ebcdicRegisters additional EBCDIC character encoding…
permissive · top 5,000 on PyPI
normalityNormality removes diacritics, punctuation, and…
permissive · top 15,000 on PyPI
oslo.i18noslo.i18n provides utilities for handling…
permissive · top 5,000 on PyPI
unicode-rbnfConverts numbers to spelled-out text in…
permissive · top 15,000 on PyPI
quart_babelAdds internationalization (i18n) and…
permissive · top 15,000 on PyPI
flufl.i18nflufl.i18n provides a high-level API for…
permissive · top 15,000 on PyPI