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.5.tar.gz (912.9 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.5-py3-none-any.whl (247.4 kB view details)

Uploaded Python 3

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

Hashes for styledconsole-0.10.5.tar.gz
Algorithm Hash digest
SHA256 691f611642b44277b0b7dc1f866ac4cd7c47b965d93aaca88b2cdfdfafc95032
MD5 855d1302bf6a00ce7a9559c6a70306f8
BLAKE2b-256 a90604a87fb2cd3d8cba1459625c8069cc30ce29011f5d111d9fbf3fdb89dbac

See more details on using hashes here.

Provenance

The following attestation bundles were made for styledconsole-0.10.5.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.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

Hashes for styledconsole-0.10.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2a4d107bfa1d049c99bf35958bf37bb3644b6bbdbdab14b1842410715a96f5fb
MD5 ce9a9e12a4927c1735a49499eca6b991
BLAKE2b-256 231078d0ab1b469d6ef19b9111c3fb1236d379d22080bdf56191368f2f35f71b

See more details on using hashes here.

Provenance

The following attestation bundles were made for styledconsole-0.10.5-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