rs-rich-cli 0.0.7

The `rich` executable: a Rust port of Python `rich-cli` 1.8.1
rs-rich-cli-0.0.7 is not a library.

rs-rich-cli

The rs-rich-cli package is a Rust port of the rich-cli terminal toolbox — rich output for files, data and URLs, from the command line. Install it from crates.io with Cargo; the executable it installs is named rich:

cargo install rs-rich-cli
rich --help
rich README.md              # auto-detected and rendered as Markdown
rich data.csv               # rendered as a table
rich notebook.ipynb         # Jupyter notebook, cells and outputs
rich https://example.com    # fetched and syntax-highlighted
rich -p "[bold red]hi[/]"   # console markup
rich json data.json         # preferred subcommand form
rich jsonl events.ndjson    # streaming JSON Lines / NDJSON
rich log app.jsonl          # structured-log JSONL

The Rust package is currently version 0.0.7 and follows independent SemVer; its version does not mirror Python rich-cli. The tracked upstream release is rich-cli 1.8.1, recorded in ../../UPSTREAM.toml.

Render modes

Flag Renders
-p, --print the argument as console markup
-m, --markdown Markdown (headings, lists, quotes, code, links, tables)
-j, --json pretty-printed, highlighted JSON
-x, --syntax syntax-highlighted source
--csv a CSV/TSV table, with numeric columns right-aligned
--ipynb a Jupyter notebook
--jsonl streaming JSON Lines / NDJSON
--log streaming structured-log JSONL
--gif animated GIFs, several at once
--image a still image as ASCII, Braille, half-blocks, or Sixel
--rule a horizontal rule

With no flag the mode is picked from the file extension; a bare - reads stdin. Preferred subcommands such as rich json, rich markdown, rich csv, rich jsonl and rich log are aliases over the same renderers. Existing flat flags remain supported.

Options

Layout : -w/--width, --left/--center/--right, --panel BOX with --title/--caption/--style, --padding, --pager, --sanitize, --report json, --no-color.

Export : --export-html and --export-svg emit a self-contained document instead of writing to the terminal — any render mode can be captured this way.

Watch : --watch polls a local file or URL and re-renders changes. Use --watch-interval SEC to change the polling interval. --watch-cache avoids re-rendering unchanged URL responses. Watch mode is intentionally finite when stdout is redirected: it renders one snapshot and exits, making pipelines deterministic. Builds without the fetch feature reject URL watches with the same stable URL-support error as one-shot URL input.

Features

Both are on by default and can be dropped for a smaller binary:

  • fetch — URL support (rich <url>), via ureq with bundled TLS roots.
  • art--gif playback and --diff/--image picture rendering, via rich-art.
cargo install rs-rich-cli --no-default-features   # installs `rich`; no network or image decoders

Licence

MIT.

Optional syntax cache

For repetitive source files, build the CLI with cargo build -p rs-rich-cli --release --features syntax-cache. This feature is off by default and changes no CLI flags. It reuses parsing work within one render; varied source files may see no speedup. See the measurements.