Metadata-Version: 2.3
Name: rich-gradient-cli
Version: 0.2.0
Summary: CLI for printing text in gradient color using the rich-gradient library.
Author: Maxwell Ludden
Author-email: Maxwell Ludden <maxludden@me.com>
Requires-Dist: typer>=0.21.1
Requires-Dist: rich>=14.3.2
Requires-Dist: rich-color-ext>=0.1.9
Requires-Dist: rich-gradient>=0.3.9
Requires-Dist: mypy>=1.18.2 ; extra == 'dev'
Requires-Dist: pytest>=8.4.2 ; extra == 'dev'
Requires-Dist: ruff>=0.15.0 ; extra == 'dev'
Requires-Dist: mkdocs>=1.6.1 ; extra == 'docs'
Requires-Dist: mkdocs-material>=9.7.1 ; extra == 'docs'
Requires-Dist: mkdocstrings>=1.0.3 ; extra == 'docs'
Requires-Dist: mkdocstrings-python>=2.0.2 ; extra == 'docs'
Requires-Python: >=3.10
Provides-Extra: dev
Provides-Extra: docs
Description-Content-Type: text/markdown

# rich-gradient-cli

 `rich-gradient-cli`  is a CLI for [`rich-gradient`](https://github.com/maxludden/rich-gradient). The tool allows you to create colorful gradients in your terminal output, making it easier to visualize data or simply add some flair to your command-line applications.

## Installation

You can install rich-gradient-cli from PyPI

### uv (recommended)

```shell
uv add rich-gradient-cli
```

### pip

```shell
pip install rich-gradient-cli
```

## Usage

<video
  src="docs/assets/rich-gradient-cli-help.mp4"
  controls
  muted
  loop>
</video>

### Print

To use the `rich-gradient-cli`, you can run the following command in your terminal:

```bash
gradient print --colors 'red,#ff9900,#ffff00' "This is gradient text that starts red, transitions through orange, and ends in yellow\!"
```

![Gradient Text Example](print-example.svg)

### Gradient

Use `gradient` for the generic `rich-gradient` renderable, including highlight rules and animation:

```bash
gradient gradient --colors 'magenta,cyan' --highlight-word error='bold white on red' "Highlight error text"
```

### Spectrum

Inspect generated spectrum colors as a rich table, hex values, names, or CSV:

```bash
gradient spectrum --hues 7 --seed 42
gradient spectrum --hues 7 --output hex
```

### Rich renderables

Wrap common Rich renderables in gradients without writing Python:

```bash
gradient columns alpha beta gamma --colors 'red,blue'
gradient tree project src/app.py docs/index.md --colors 'lime,cyan'
gradient syntax pyproject.toml --lexer toml --line-numbers --colors 'yellow,magenta'
cat data.csv | gradient table - --colors 'cyan,magenta'
```

### Rule

You can also create gradient rules using the `rule` command:

```bash
gradient rule --colors 'blue,#00ff00,cyan' "Blue to Green to Cyan Rule"
```

![Gradient Rule Example](rule-example.svg)

### Panel

To create a gradient panel, you can use the `panel` command:

```bash
gradient panel --colors "red,#ff9999" -t "Error" --title-style "bold #ffffff" --title-align left 'This is an error message with a red to pink gradient background.'
```

![Gradient Panel Example](panel-example.svg)

### Markdown

You can also render Markdown with gradients:

```bash
echo "# Hello\n\n- This is **bold**.\n- This is *italic*." | gradient markdown -
```

![Gradient Markdown Example](markdown-example.svg)

### Rich-style viewing

Use `view` for `rich-cli`-style file rendering. It auto-detects Markdown, JSON, CSV/TSV, and syntax-highlighted source files; it also accepts `-` for stdin and `http://` or `https://` URLs.

```bash
gradient view README.md
gradient view pyproject.toml --lexer toml --line-numbers --guides
cat data.json | gradient view - --json --force-terminal
gradient view README.md --export-html readme.html
```

## Docs

Build and preview the documentation locally with MkDocs:

```bash
uv pip install -e ".[docs]"
mkdocs serve
```



<div align="center">
  <a href="https://github.com/maxludden/maxludden" style="text-decoration:none; color:inherit;">
      <p>Designed by Max Ludden</p>
  </a>
  <br />
  <a href="https://github.com/maxludden/maxludden" style="text-decoration:none; color:inherit;">
    <img
      src="docs/assets/MaxLogo-animated.svg"
      alt="Max Ludden's Logo"
      width="20%"
    />
  </a>
</div>
