Skip to main content

A modern Python library for elegant terminal output with rich formatting, colors, emoji support, and export capabilities

Project description

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.

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

styledconsole-0.10.4.tar.gz (901.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

styledconsole-0.10.4-py3-none-any.whl (246.5 kB view details)

Uploaded Python 3

File details

Details for the file styledconsole-0.10.4.tar.gz.

File metadata

  • Download URL: styledconsole-0.10.4.tar.gz
  • Upload date:
  • Size: 901.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for styledconsole-0.10.4.tar.gz
Algorithm Hash digest
SHA256 1c8f512f1015db4478d5d365d4a4cbd64943e1b0663d23b28951f157c04c844a
MD5 325b5f645be662319427cb54acae347d
BLAKE2b-256 7f99b384cd464b4354018a81d11fe071e17f04f0c597c3bcd175a1dd2870d764

See more details on using hashes here.

Provenance

The following attestation bundles were made for styledconsole-0.10.4.tar.gz:

Publisher: publish.yml on ksokolowski/StyledConsole

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file styledconsole-0.10.4-py3-none-any.whl.

File metadata

  • Download URL: styledconsole-0.10.4-py3-none-any.whl
  • Upload date:
  • Size: 246.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for styledconsole-0.10.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d3f34affe7b616ba5849e1f27a5e0be7eeed0d94dd1720c11e0a07c1f444b503
MD5 810af34a3c9e876f88f14d9ae37e24db
BLAKE2b-256 1c0452bcbee28d4a345da0819093ec84db94d7a1c738fe53a6ff37664863f757

See more details on using hashes here.

Provenance

The following attestation bundles were made for styledconsole-0.10.4-py3-none-any.whl:

Publisher: publish.yml on ksokolowski/StyledConsole

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page