$npx skillfedfor your agent

python-bidi

Python Bidi layout wrapping the Rust crate unicode-bidi

Worth itPyPI Text ProcessingReleased Jun 202611.3M downloads / mocopyleft licensePlatform wheel

Decision gist · record as of 2026-08-14

platform wheels — python_bidi-0.6.11-cp310-cp310-macosx_10_12_x86_64.whl · python_bidi-0.6.11-cp310-cp310-macosx_11_0_arm64.whl · python_bidi-0.6.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
v0.6.11 · released 2026-06-30 · Python >=3.9

Yes. The package is actively maintained, has no known vulnerabilities, zero runtime dependencies, and solves a specific and well-defined problem in text rendering. Install it if you need to display bidirectional text; the LGPL license is standard for text-processing libraries and poses no barrier for most projects. The Rust implementation path offers better algorithm coverage for new code.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Medium install friction due to precompiled wheels for multiple platforms and Python versions (3.9–3.14), but no runtime dependencies.
  • Last release 45 days ago; repository active with 126 stars and recent commits.

License · maintenance · safety

copyleft license (copyleft) — Licensed under LGPL (copyleft); derivative works and modifications must be distributed under compatible terms. Suitable for open-source projects but requires careful review for proprietary use.

last release 2026-06-30 (45 days) · last repo commit 2026-06-30 · 126 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 11,274,418 downloads/mo, #1,402 on PyPI

Verify before relying

pip install python-bidi

from bidi import get_display
result = get_display('שלום')  # Hebrew text
print(result)  # Displays in correct visual order
  • Whether the Rust implementation covers all Unicode Bidirectional Algorithm versions or has known gaps beyond what issue #25 documents.
  • Performance characteristics and memory overhead when processing large volumes of mixed-script text.
  • Compatibility with non-UTF-8 encodings in production scenarios.
Same gist for agents: .md · .json

What it is and what it does

Python BiDi solves the problem of displaying bidirectional text—text that mixes left-to-right scripts (like English) with right-to-left scripts (like Hebrew or Arabic). It implements the Unicode Bidirectional Algorithm to reorder characters into their correct visual display sequence. The package offers two implementations: a pure Python version (V5 of the algorithm) and a newer Rust-based wrapper around the unicode-bidi crate, which implements a higher version of the algorithm.

You use it by passing a string or bytes to `get_display()`, optionally specifying encoding, base direction, or debug output. It returns the text in display order, ready for rendering. The package also includes a command-line tool (`pybidi`) for processing text files or stdin. It has no runtime dependencies and supports Python 3.9 through 3.14, with precompiled wheels for most platforms.

Use it for

  • Render mixed Hebrew and English text correctly in web applications or documents.
  • Process Arabic text in data pipelines where visual order is required for display.
  • Build text editors or terminal utilities that handle bidirectional scripts.
  • Convert stored Unicode text to display order before passing to rendering engines.
  • Debug bidirectional text layout issues with the debug flag to inspect Unicode levels.
  • Command-line text processing for files containing right-to-left scripts.

Worth the install?

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

Worth it

Yes.

The package is actively maintained, has no known vulnerabilities, zero runtime dependencies, and solves a specific and well-defined problem in text rendering. Install it if you need to display bidirectional text; the LGPL license is standard for text-processing libraries and poses no barrier for most projects. The Rust implementation path offers better algorithm coverage for new code.

Install

python-bidi on PyPI

Before you install

Medium install friction due to precompiled wheels for multiple platforms and Python versions (3.9–3.14), but no runtime dependencies. Last release 45 days ago; repository active with 126 stars and recent commits.

License in practice

Licensed under LGPL (copyleft); derivative works and modifications must be distributed under compatible terms. Suitable for open-source projects but requires careful review for proprietary use.

Quickstart

pip install python-bidi

from bidi import get_display
result = get_display('שלום')  # Hebrew text
print(result)  # Displays in correct visual order

Verify before relying

  • Whether the Rust implementation covers all Unicode Bidirectional Algorithm versions or has known gaps beyond what issue #25 documents.
  • Performance characteristics and memory overhead when processing large volumes of mixed-script text.
  • Compatibility with non-UTF-8 encodings in production scenarios.

Package facts

Licensecopyleft license copyleft
Python supportSupports the current Python release >=3.9
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceActively maintained 45 days since the last release
Last repo commit
First released
Downloads11,274,418 / month, #1,402 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)Operating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Text Processing

Evidence: python_bidi-0.6.11-cp310-cp310-macosx_10_12_x86_64.whl; python_bidi-0.6.11-cp310-cp310-macosx_11_0_arm64.whl; python_bidi-0.6.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; python_bidi-0.6.11-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; python_bidi-0.6.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; python_bidi-0.6.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; python_bidi-0.6.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; python_bidi-0.6.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; python_bidi-0.6.11-cp310-cp310-musllinux_1_2_aarch64.whl; python_bidi-0.6.11-cp310-cp310-musllinux_1_2_armv7l.whl; python_bidi-0.6.11-cp310-cp310-musllinux_1_2_i686.whl; python_bidi-0.6.11-cp310-cp310-musllinux_1_2_x86_64.whl; python_bidi-0.6.11-cp310-cp310-win32.whl; python_bidi-0.6.11-cp310-cp310-win_amd64.whl; python_bidi-0.6.11-cp311-cp311-macosx_10_12_x86_64.whl; python_bidi-0.6.11-cp311-cp311-macosx_11_0_arm64.whl; python_bidi-0.6.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; python_bidi-0.6.11-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; python_bidi-0.6.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; python_bidi-0.6.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl

Tags

Capabilities
bidirectional text layoutbidi algorithm implementationright-to-left text renderingunicode text directionmixed script display orderhebrew arabic text layoutbidi display conversion
Topics
unicode-textbidi-layouttext-rendering
PyPI keywords
bidiunicodelayout

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 › “bidirectional text layout”

  • python-bidiConverts bidirectional text (mixed left-to-right and right-to-left…
  • pictexPicTex generates high-quality PNG, JPEG, WebP, and SVG images…
  • cnstdDetects text and mathematical formulas in images using pre-trained…

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 arabic-reshaper · bidict · cyrtranslit · transliterate · mikeshardmind-base2048 · databento-dbn · idna · unicode-segmentation-rs · win_unicode_console · pansi