Metadata-Version: 2.4
Name: styledconsole
Version: 0.10.1
Summary: A modern Python library for elegant terminal output with rich formatting, colors, emoji support, and export capabilities
Project-URL: Homepage, https://github.com/ksokolowski/StyledConsole
Project-URL: Repository, https://github.com/ksokolowski/StyledConsole
Project-URL: Documentation, https://github.com/ksokolowski/StyledConsole
Author-email: Krzysztof Sokołowski <styledconsole@proton.me>
License: Apache-2.0
License-File: LICENSE
Keywords: cli,colors,console,emoji,formatting,terminal,tui
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Terminals
Requires-Python: >=3.10
Requires-Dist: ansi2html>=1.8.0
Requires-Dist: emoji>=2.15.0
Requires-Dist: pyfiglet>=1.0.2
Requires-Dist: rich>=13.7
Requires-Dist: typing-extensions>=4.0.0
Requires-Dist: wcwidth>=0.2.13
Provides-Extra: all
Requires-Dist: jinja2>=3.0; extra == 'all'
Requires-Dist: pillow>=10.0.0; extra == 'all'
Requires-Dist: pyyaml>=6.0; extra == 'all'
Provides-Extra: image
Requires-Dist: pillow>=10.0.0; extra == 'image'
Provides-Extra: jinja
Requires-Dist: jinja2>=3.0; extra == 'jinja'
Provides-Extra: yaml
Requires-Dist: pyyaml>=6.0; extra == 'yaml'
Description-Content-Type: text/markdown

# StyledConsole

[![Python >=3.10](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Version](https://img.shields.io/badge/version-0.10.0-brightgreen.svg)](https://github.com/ksokolowski/StyledConsole/releases)
[![Tests](https://img.shields.io/badge/tests-968%20passing-success.svg)](https://github.com/ksokolowski/StyledConsole)
[![Coverage](https://img.shields.io/badge/coverage-79%25-brightgreen.svg)](https://github.com/ksokolowski/StyledConsole)

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

```bash
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.

```python
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.

```python
from styledconsole import Console, load_yaml

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.

```python
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)
```

______________________________________________________________________

## Key Features

| Feature                   | Description                                                     |
| ------------------------- | --------------------------------------------------------------- |
| **Gradient Engine**       | Rainbow and linear gradients on borders, text, banners          |
| **Smart Icons**           | 224 icons with automatic ASCII fallback for CI/legacy terminals |
| **Effects System**        | 32 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                    |
| **22 Built-in Templates** | Ready-to-use UI patterns                                        |

______________________________________________________________________

## Documentation

| Guide                                       | Description                                                |
| ------------------------------------------- | ---------------------------------------------------------- |
| [Python API](docs/PYTHON_API.md)            | Complete API reference — builders, effects, themes, export |
| [Declarative Guide](docs/DECLARATIVE.md)    | JSON/YAML configuration for config-driven UIs              |
| [Jinja2 Templates](docs/JINJA_TEMPLATES.md) | Dynamic templates with loops and filters                   |
| [Visual Gallery](docs/GALLERY.md)           | Screenshots and animated demos                             |
| [Migration Guide](docs/MIGRATION.md)        | Upgrading from earlier versions                            |
| [Developer Guide](docs/DEVELOPER_GUIDE.md)  | Architecture and contributing                              |

______________________________________________________________________

## Quick Links

- [Examples Repository](https://github.com/ksokolowski/StyledConsole-Examples) — 50+ working demos
- [Changelog](CHANGELOG.md) — Version history
- [Contributing](CONTRIBUTING.md) — Development workflow

______________________________________________________________________

## Support

| Platform        | Link                                                                       |
| --------------- | -------------------------------------------------------------------------- |
| GitHub Sponsors | [github.com/sponsors/ksokolowski](https://github.com/sponsors/ksokolowski) |
| Ko-fi           | [ko-fi.com/styledconsole](https://ko-fi.com/styledconsole)                 |

______________________________________________________________________

**Apache License 2.0** — Built on [Rich](https://github.com/Textualize/rich), [PyFiglet](https://github.com/pwaller/pyfiglet), and [emoji](https://pypi.org/project/emoji/).
