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] # EverythingThe 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"),
)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"
})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)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| 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 |
| 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 |
- Examples Repository — 60+ working demos
- Changelog — Version history
| Platform | Link |
|---|---|
| GitHub Sponsors | github.com/sponsors/ksokolowski |
| Ko-fi | ko-fi.com/styledconsole |