Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Python console library with rich formatting, ANSI-safe output, emojis, gradients, and extensive test coverage.

License

Notifications You must be signed in to change notification settings

ksokolowski/StyledConsole

StyledConsole

Python >=3.10 License: Apache 2.0 Version Tests Coverage PyPI

A multi-interface Python library for elegant terminal output — use Python code, JSON/YAML configuration, or Jinja2 templates to create beautiful CLI experiences.

pip install styledconsole              # Core library
pip install styledconsole[yaml]        # + YAML support
pip install styledconsole[jinja]       # + Jinja2 templates
pip install styledconsole[all]         # Everything

Three Ways to Style Your Terminal

Python API (Full Power)

The complete API with builders, effects, gradients, themes, and export capabilities.

from styledconsole import Console, icons, EffectSpec

console = Console()
console.frame(
    f"{icons.CHECK_MARK_BUTTON} Build successful\n{icons.ROCKET} Deployed to production",
    title="Status",
    effect=EffectSpec.gradient("green", "cyan"),
)

JSON/YAML Configuration (No Code Required)

Perfect for config-driven UIs and non-programmers. JSON Schema available for IDE autocomplete.

from styledconsole import Console

console = Console()
console.render_dict({
    "type": "frame",
    "title": "Status",
    "content": "Build successful!",
    "effect": "success"
})

Jinja2 Templates (Dynamic Content)

Generate UIs from data with loops, conditionals, and filters.

from styledconsole import Console, render_jinja

template = """
type: frame
title: Server Status
content:
  type: group
  items:
  {% for server in servers %}
    - "{{ server.status | status_icon }} {{ server.name }}: {{ server.status }}"
  {% endfor %}
"""
obj = render_jinja(template, servers=[{"name": "API", "status": "running"}])
Console().render_object(obj)

CLI Preview Tool

Explore features without writing code:

styledconsole demo              # Interactive feature showcase
styledconsole palette           # List 90 color palettes
styledconsole effects fire      # Preview effect presets
styledconsole icons rocket      # Search 200+ icons
styledconsole render config.yaml # Render a config file
styledconsole schema            # Get JSON Schema for IDE config

Key Features

Feature Description
Gradient Engine Rainbow and linear gradients on borders, text, backgrounds
Smart Icons 224 icons with automatic ASCII fallback for CI/legacy terminals
Effects System 47 presets + 90 color palettes + phase animations
Builder Pattern Fluent API for complex layouts
Environment Detection Auto-adapts for NO_COLOR, CI, TERM=dumb
Export Formats HTML, PNG, WebP, GIF with full emoji support
JSON Schema IDE autocomplete for YAML/JSON configuration files
22 Built-in Templates Ready-to-use UI patterns

Documentation

Guide Description
Getting Started Zero to dashboard in minutes — start here!
Python API Complete API reference — builders, effects, themes, export
Declarative Guide JSON/YAML configuration for config-driven UIs
Jinja2 Templates Dynamic templates with loops and filters
Visual Gallery Screenshots and animated demos
Developer Guide Architecture and contributing

Quick Links


Support

Platform Link
GitHub Sponsors github.com/sponsors/ksokolowski
Ko-fi ko-fi.com/styledconsole

Apache License 2.0 — Built on Rich, PyFiglet, and emoji.

About

Python console library with rich formatting, ANSI-safe output, emojis, gradients, and extensive test coverage.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages