Back to Explore

Textualize/rich

GitHub
1 watchersOpen source

Last release:

Rich is a Python library for rich text and formatting in the terminal. It helps developers add color and style to output, render tables, progress bars, markdown, syntax-highlighted code, and formatted tracebacks, and it supports features like rich print, pretty REPL output, console word-wrapping, and terminal logging.

Project status

  • Rich appears actively maintained, with upstream activity as recently as 2026-06-23, and multiple notable updates in 2026 (Feb, early Apr, and a later upstream push).
  • The apparent cadence is moderate and recent, with two closely spaced updates in mid-April 2026 (v15.0.0 and v14.3.4), and prior update activity in February 2026, suggesting ongoing work but not frequent releases.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v15.0.0

    Release v15.0.0 is primarily a major version bump that drops Python 3.8 support and includes several targeted bug fixes related to printing, ANSI decoding, and proxy behavior. The code changes also include a few additional behavior and API surface adjustments that are not mentioned in the release notes.

    Breaking
  • v14.3.4

    Version v14.3.4 focuses on faster startup and runtime improvements, primarily through lazy loading and reducing overhead during link id generation. The release notes mention lazy import time improvements and changing link id generation to avoid runtime random number generation.

  • v14.3.3

    Rich v14.3.3 documents a single fix: an infinite loop in `cells.split_graphemes`. The code changes go beyond that by adding new edge-case handling so the parser always makes forward progress and can emit zero-width spans for inputs that start with special or control characters.

  • v14.3.2

    rich v14.3.2 includes fixes for `cell_len` edge cases, specifically a crash when measuring a solo ZWJ, and incorrect width reporting for certain control codes. The release notes describe two targeted bug fixes, but the code changes also include lower-level logic changes in `rich/cells.py` that could affect width calculations beyond what is explicitly documented.

  • v14.3.1

    Version v14.3.1 makes a targeted fix for how Rich calculates terminal cell width for characters whose codepoints are outside the loaded Unicode tables. The release primarily changes the behavior of out-of-range character width computation and adds a regression test.

  • v14.3.0

    Rich v14.3.0 adds support for multi-codepoint emojis to improve alignment, along with several Markdown rendering style improvements. It also introduces Unicode versioning support via a new cells.cell_len parameter and the UNICODE_VERSION environment variable, plus a few Live and traceback enhancements and related bug fixes.

    Features
  • v14.2.0

    v14.2.0 is presented as a compatibility update for Python 3.14. The documented change is limited to adding Python 3.14 to supported versions, and the CI workflow is updated accordingly. The code diff also shows additional, not-documented changes including a change to Style internals and tooling/dependency adjustments.

    Breaking
  • v14.1.0

    Rich v14.1.0 adds support for nesting live objects such as Progress within other live contexts, exposes Syntax.padding, and introduces the TTY_INTERACTIVE environment variable to force interactive mode on or off. The code diff also shows a larger internal refactor of how Console manages active live contexts, plus removal of typing_extensions runtime fallbacks in favor of typing-only imports.

    Features
  • v14.0.0

    Rich v14.0.0 primarily updates console color/TTY environment variable handling and improves traceback rendering for Python 3.11 features. Release notes cover TTY_COMPATIBLE, empty NO_COLOR and FORCE_COLOR behavior, and richer tracebacks including Exception Groups and exception notes.

    BreakingFeatures
  • v13.9.4

    Version v13.9.4 primarily updates Rich/Textual terminal cell width calculation logic. The release notes describe an optimization to cell_len to speed up rendering.