$npx skillfedfor your agent

unicodedata2

Unicodedata backport updated to the latest Unicode version.

With conditionsPyPI Text ProcessingReleased Feb 2026785.8K downloads / moApache License 2.0Platform wheel

Decision gist · record as of 2026-08-14

platform wheels — unicodedata2-17.0.1-cp310-cp310-macosx_10_9_universal2.whl · unicodedata2-17.0.1-cp310-cp310-macosx_11_0_arm64.whl · unicodedata2-17.0.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
v17.0.1 · released 2026-02-12

Yes, if you need Unicode data newer than your Python version's standard library provides or are working with recent Unicode blocks (emoji, new scripts). No, if your application's Unicode requirements are met by the built-in unicodedata module. The package is stable, actively maintained, has no dependencies, and carries no security vulnerabilities, making it a low-risk addition when needed.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Medium install friction due to compiled wheel distribution across multiple platforms and Python versions (3.10–3.12 supported).
  • Active maintenance with recent release (183 days ago) and ongoing repository activity.

License · maintenance · safety

Apache License 2.0 (permissive) — Licensed under Apache License 2.0 (permissive), allowing use in proprietary and open-source projects with minimal restrictions beyond attribution.

last release 2026-02-12 (183 days) · last repo commit 2026-03-05 · 39 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 785,782 downloads/mo, #5,068 on PyPI

Verify before relying

pip install unicodedata2==17.0.1

import unicodedata2
print(unicodedata2.name('A'))
print(unicodedata2.category('é'))
  • Whether this package is necessary for projects already using Python's built-in unicodedata or only when newer Unicode versions are required before Python stdlib updates
  • Performance characteristics compared to the standard library unicodedata module
  • Specific use cases where Unicode 17.0.0 support is critical (e.g., emoji handling, new character blocks)
Same gist for agents: .md · .json

What it is and what it does

unicodedata2 is a backport and forward-port of Python's built-in unicodedata module that provides access to Unicode character properties and data. It allows you to query character names, categories, bidirectional properties, decompositions, and other Unicode attributes. The package version number tracks the Unicode standard version it implements—version 17.0.1 provides Unicode 17.0.0 data—so you can use newer Unicode versions in your code before they ship in the Python standard library.

The package is distributed as pre-compiled wheels for common platforms (macOS, Linux, Windows) and Python versions (3.10–3.12), making installation straightforward. It has no runtime dependencies and is maintained actively by the fonttools project. Use it when you need access to Unicode properties for text processing, character classification, or when your application requires Unicode data newer than what your Python version's standard library provides.

Use it for

  • Access Unicode 17.0.0 character properties in Python versions whose stdlib unicodedata hasn't been updated yet
  • Perform character name lookups, category classification, and bidirectional property queries on text
  • Handle emoji and new Unicode blocks in font tools or text processing pipelines
  • Normalize Unicode strings using decomposition and composition data from the latest Unicode standard
  • Support multilingual text analysis that depends on current Unicode character classifications

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need Unicode data newer than your Python version's standard library provides or are working with recent Unicode blocks (emoji, new scripts).

No, if your application's Unicode requirements are met by the built-in unicodedata module. The package is stable, actively maintained, has no dependencies, and carries no security vulnerabilities, making it a low-risk addition when needed.

Install

unicodedata2 on PyPI

Before you install

Medium install friction due to compiled wheel distribution across multiple platforms and Python versions (3.10–3.12 supported). Active maintenance with recent release (183 days ago) and ongoing repository activity.

License in practice

Licensed under Apache License 2.0 (permissive), allowing use in proprietary and open-source projects with minimal restrictions beyond attribution.

Quickstart

pip install unicodedata2==17.0.1

import unicodedata2
print(unicodedata2.name('A'))
print(unicodedata2.category('é'))

Verify before relying

  • Whether this package is necessary for projects already using Python's built-in unicodedata or only when newer Unicode versions are required before Python stdlib updates
  • Performance characteristics compared to the standard library unicodedata module
  • Specific use cases where Unicode 17.0.0 support is critical (e.g., emoji handling, new character blocks)

Package facts

LicenseApache License 2.0 permissive
Python supportNot specified
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceActively maintained 183 days since the last release
Last repo commit
First released
Downloads785,782 / month, #5,068 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: unicodedata2-17.0.1-cp310-cp310-macosx_10_9_universal2.whl; unicodedata2-17.0.1-cp310-cp310-macosx_11_0_arm64.whl; unicodedata2-17.0.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; unicodedata2-17.0.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; unicodedata2-17.0.1-cp310-cp310-musllinux_1_2_aarch64.whl; unicodedata2-17.0.1-cp310-cp310-musllinux_1_2_x86_64.whl; unicodedata2-17.0.1-cp310-cp310-win32.whl; unicodedata2-17.0.1-cp310-cp310-win_amd64.whl; unicodedata2-17.0.1-cp311-cp311-macosx_10_9_universal2.whl; unicodedata2-17.0.1-cp311-cp311-macosx_11_0_arm64.whl; unicodedata2-17.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; unicodedata2-17.0.1-cp311-cp311-musllinux_1_2_x86_64.whl; unicodedata2-17.0.1-cp311-cp311-win32.whl; unicodedata2-17.0.1-cp311-cp311-win_amd64.whl; unicodedata2-17.0.1-cp312-cp312-macosx_10_13_universal2.whl; unicodedata2-17.0.1-cp312-cp312-macosx_11_0_arm64.whl; unicodedata2-17.0.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; unicodedata2-17.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; unicodedata2-17.0.1-cp312-cp312-musllinux_1_2_aarch64.whl; unicodedata2-17.0.1-cp312-cp312-musllinux_1_2_x86_64.whl

Tags

Capabilities
unicode character data backportunicodedata updated versionunicode 17.0 supportunicode properties lookupcharacter classification unicodeunicode normalization dataunicode version backport
Topics
unicode-datatext-processinginternationalization

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “unicode character data backport”

  • unicodedata2Provides updated Unicode character data tables via a backport of…
  • tangled-up-in-unicodeProvides detailed Unicode character properties and metadata from the…
  • uc-micro-pyProvides a minimal Unicode data subset for linkify-it-py projects,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Text Processing packages

regex Worth it
PyPI · Python Modules · released Jul 2026

A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.

Apache-2.0 AND CNRI-Pythoncompiled wheel · 3.10+
437.7Mdownloads / mo
pyparsing Worth it
PyPI · Text Processing · released Jan 2026

pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.

Install it if you need to parse text or define grammars programmatically.

MITpure Python · 3.9+
412.7Mdownloads / mo
fonttools Worth it
PyPI · Text Processing · released May 2026

fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.

Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.

permissive licensepure Python · 3.10+
235.9Mdownloads / mo
docutils With conditions
PyPI · Software Development · released May 2026

Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.

BSD-3-Clausepure Python · 3.9+
225.6Mdownloads / mo
RapidFuzz Worth it
PyPI · Text Processing · released Apr 2026

RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.

Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.

MITcompiled wheel · 3.10+
184.2Mdownloads / mo
tinycss2 Worth it
PyPI · Text Processing · released Nov 2025

tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.

Install it if your project requires CSS tokenization or syntax manipulation.

BSD-3-Clausepure Python · 3.10+
113.2Mdownloads / mo

See also unicodedataplus · tangled-up-in-unicode · traceback2 · pyunormalize · textwrap3 · backports.csv · pyuca · configparser2 · contextlib2 · linecache2