Welcome to ascii_colors’s Documentation! 🎨¶
Welcome to ascii_colors! A Python library for rich terminal output with advanced logging features, interactive prompts, and Rich-compatible components.
Stop wrestling with multiple CLI libraries. ASCIIColors unifies everything you need for modern terminal applications into a single, elegant toolkit.
|:---|:—|:---| | 256-color support, bright variants, backgrounds, bold/italic/underline/blink | Full logging compatibility with handlers, formatters, JSON output, rotation | tqdm-like bars with custom styles (fill, blocks, line, emoji), thread-safe |
|:---|:—|:---| | Panels, tables, trees, syntax highlighting, live displays, markdown | Drop-in questionary replacement: text, password, confirm, select, checkbox, autocomplete | Spinners, enhanced tracebacks, multicolor text, confirm/prompt helpers |
—
Quick Start¶
from ascii_colors import ASCIIColors, rich
# Rich markup anywhere
rich.print("[bold green]Success![/bold green] Operation [italic]completed[/italic]")
# Convenience methods
ASCIIColors.panel("Important message", title="Notice", border_style="yellow")
# Or use the standard logging API
import ascii_colors as logging
logging.basicConfig(level=logging.INFO)
logging.info("Application started")
Features¶
Rich Colors & Styles: 256-color support with bright variants, backgrounds, and text styles
Dual API: Native fluent API + standard logging compatibility
Rich Integration: Full Rich-compatible components (panels, tables, trees, syntax, markdown, live displays)
Advanced Formatting: Percent-style, brace-style, and JSON formatters
Contextual Logging: Thread-local context fields automatically included in all logs
Progress Bars: Customizable progress bars with multiple styles
Interactive Menus: Keyboard-navigable menus with filtering and submenus
Questionary Compatibility: Drop-in replacement for the popular questionary library
Enhanced Tracebacks: Beautiful exception formatting with local variable inspection
Cross-Platform: Works on Windows, Linux, and macOS