skillfed

PyICU-binary

Python extension wrapping the ICU C++ API

pyicu-binary v2.7.4 434.9K downloads/30d#6,685 on PyPI
Permissive license MIT Abandoned released

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-binary

uv

uv add pyicu-binary

poetry

poetry add pyicu-binary

Installing 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI ApprovedOperating System :: OS IndependentProgramming Language :: C++Programming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: InternationalizationTopic :: Software Development :: Localization

Tags

unicode text processing pythoninternationalization i18n libraryICU bindings prebuiltlocale and collationtext normalization unicodeCLDR data accesscharacter encoding conversion
unicode-processingi18n-localizationabandoned

More Internationalization packages