skillfed

ascii-colors

A Python library for rich terminal output with advanced logging features.

ascii-colors v0.11.26 298.3K downloads/30d#7,874 on PyPI3
Permissive license Apache-2.0 Active released

What it is and what it does

ASCIIColors is a single-package replacement for managing multiple terminal UI libraries. It combines colored text output, Python's standard logging system with JSON and file-rotation support, progress bars, interactive prompts (text, password, select, checkbox), and rich UI components like panels, tables, and syntax highlighting—all without requiring external UI dependencies beyond wcwidth for emoji support.

The library offers three complementary APIs: direct color methods for immediate feedback, a drop-in logging replacement compatible with Python's standard logging module, and a Rich-compatible component layer for building terminal interfaces. It targets developers building CLI tools, monitoring dashboards, and interactive applications who want styled output and structured logging without juggling separate libraries.

Use it for:

  • Build CLI tools with colored status messages, warnings, and errors using direct color methods.
  • Set up production logging with JSON output, per-logger file routing, and rotation in a single configuration.
  • Display progress bars with custom styles and thread-safe updates during long-running operations.
  • Create interactive terminal menus and prompts (text input, confirmations, selections) for user-facing CLI applications.
  • Render structured data as tables or hierarchical trees with syntax highlighting for code snippets.
  • Debug applications with enhanced tracebacks that include local variable context and multicolor formatting.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Unified terminal UI library providing colored output, structured logging, progress bars, interactive prompts, and rich components (panels, tables, trees) for CLI applications.

Yes. Low install friction, active maintenance, no known vulnerabilities, and a permissive license make it a solid choice. The unified API across colors, logging, and UI components reduces dependency sprawl for CLI projects. Best for developers who want a single package for terminal styling and structured logging; less suitable if you need only basic colored output or prefer composing best-of-breed libraries.

Install

ascii-colors on PyPI

pip

pip install ascii-colors

uv

uv add ascii-colors

poetry

poetry add ascii-colors

Installing ascii-colors

Before you install

Low friction: pure Python wheel with only wcwidth as a runtime dependency. Active maintenance with a release 30 days ago and recent commits.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions.

Quickstart

pip install ascii_colors

from ascii_colors import ASCIIColors

ASCIIColors.green("Success!")
ASCIIColors.red("Error occurred")
ASCIIColors.panel("Content", title="Title", border_style="blue")

Requires Python 3.8 or later.

Verify before relying

  • Whether wcwidth is truly optional or required for accurate progress bar rendering in all terminal environments.
  • Performance characteristics when rendering large tables or trees in real-time.
  • Compatibility with Windows terminals and whether ANSI escape sequences work reliably on all platforms.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 1 — wcwidth
Maintenance actively maintained — 30 days since the last release
Last repo commit
First released
Downloads 298,344/month — #7,874 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ascii_colors-0.11.26-py3-none-any.whl

Keywords: ansi, color, colors, style, terminal, console, cli, rich text, logging, logger, log, structured logging, log formatting, json logging, file logging, log rotation, python logging, context logging, progress bar, progress, tqdm, indicator, menu, cli menu, interactive menu, terminal menu, navigation, prompt, confirm, input, user interaction, animation, spinner, utility

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python ModulesTopic :: System :: LoggingTopic :: System :: ShellsTopic :: TerminalsTopic :: Utilities

Tags

terminal colors and stylingcli logging systemprogress bars for terminalinteractive prompts and menusrich terminal ui componentsansi color outputstructured logging library
cli-toolkitlogging-systemterminal-ui

More Python Modules packages