A modern Python library for elegant terminal output with rich formatting, colors, emoji support, and export capabilities
Project description
StyledConsole
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
- Examples Repository — 60+ working demos
- Changelog — Version history
Support
| Platform | Link |
|---|---|
| GitHub Sponsors | github.com/sponsors/ksokolowski |
| Ko-fi | ko-fi.com/styledconsole |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file styledconsole-0.10.5.tar.gz.
File metadata
- Download URL: styledconsole-0.10.5.tar.gz
- Upload date:
- Size: 912.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
691f611642b44277b0b7dc1f866ac4cd7c47b965d93aaca88b2cdfdfafc95032
|
|
| MD5 |
855d1302bf6a00ce7a9559c6a70306f8
|
|
| BLAKE2b-256 |
a90604a87fb2cd3d8cba1459625c8069cc30ce29011f5d111d9fbf3fdb89dbac
|
Provenance
The following attestation bundles were made for styledconsole-0.10.5.tar.gz:
Publisher:
publish.yml on ksokolowski/StyledConsole
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
styledconsole-0.10.5.tar.gz -
Subject digest:
691f611642b44277b0b7dc1f866ac4cd7c47b965d93aaca88b2cdfdfafc95032 - Sigstore transparency entry: 1174796109
- Sigstore integration time:
-
Permalink:
ksokolowski/StyledConsole@5c4ccb13446f345c4fe1bce86d6469e4419f0d48 -
Branch / Tag:
refs/tags/v0.10.5 - Owner: https://github.com/ksokolowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5c4ccb13446f345c4fe1bce86d6469e4419f0d48 -
Trigger Event:
push
-
Statement type:
File details
Details for the file styledconsole-0.10.5-py3-none-any.whl.
File metadata
- Download URL: styledconsole-0.10.5-py3-none-any.whl
- Upload date:
- Size: 247.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a4d107bfa1d049c99bf35958bf37bb3644b6bbdbdab14b1842410715a96f5fb
|
|
| MD5 |
ce9a9e12a4927c1735a49499eca6b991
|
|
| BLAKE2b-256 |
231078d0ab1b469d6ef19b9111c3fb1236d379d22080bdf56191368f2f35f71b
|
Provenance
The following attestation bundles were made for styledconsole-0.10.5-py3-none-any.whl:
Publisher:
publish.yml on ksokolowski/StyledConsole
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
styledconsole-0.10.5-py3-none-any.whl -
Subject digest:
2a4d107bfa1d049c99bf35958bf37bb3644b6bbdbdab14b1842410715a96f5fb - Sigstore transparency entry: 1174796161
- Sigstore integration time:
-
Permalink:
ksokolowski/StyledConsole@5c4ccb13446f345c4fe1bce86d6469e4419f0d48 -
Branch / Tag:
refs/tags/v0.10.5 - Owner: https://github.com/ksokolowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5c4ccb13446f345c4fe1bce86d6469e4419f0d48 -
Trigger Event:
push
-
Statement type: