Skip to main content

A Unix-friendly streaming Markdown renderer

Project description

downpipe

A Unix-friendly streaming Markdown renderer based on Rich and Textual.

downpipe (invoked as dp) streams Markdown from stdin and renders it to stdout using Rich.

It is designed to be used in Unix pipelines, providing rich, coloured output as soon as the first token hits. Recommended for use with CLI LLM tools like llm.

Features

  • Snappy byte-by-byte streaming: Feels as fast as your input does.
  • Stable block detection (from Textual): Only outputs finalized blocks to pipes, preventing intermediate rendering artifacts.
  • Live TTY preview: Smooth, flicker-free updates in your terminal.
  • Unix-friendly: Smartly detects TTY vs. pipe to adjust formatting and ANSI escapes.

Installation

pip install downpipe

Usage

# Live rendering of a growing file
tail -f something.md | dp

# Using in a pipeline
cat large_doc.md | dp | grep "Important"

Credits

This entire project is a very thin wrapper around Will McGugan's work, using Rich for rendering and Textual's block detection algorithm for efficient stable streaming. All the credit goes to Will but if you find bugs they're my fault.

License

MIT

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

downpipe-0.1.0.tar.gz (71.9 kB view details)

Uploaded Source

Built Distribution

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

downpipe-0.1.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file downpipe-0.1.0.tar.gz.

File metadata

  • Download URL: downpipe-0.1.0.tar.gz
  • Upload date:
  • Size: 71.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux rodete","version":null,"id":"rodete","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for downpipe-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1977861225a5d1a7bd577360e4b8b193f990a02a28600b50ee18c3e8ea928aa7
MD5 43d3065381d1ae73a6dff8a856552993
BLAKE2b-256 3016df28b87835d39a2ebfe7fb113515b8a3019428a80b831416a4847008dcbb

See more details on using hashes here.

File details

Details for the file downpipe-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: downpipe-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux rodete","version":null,"id":"rodete","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for downpipe-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20d0c91b27f14ad33864b54229f0ead7bf88a9bc1c183f7b249c8f2440e2d748
MD5 ff7dc77599d0ecafb60442555bd03cef
BLAKE2b-256 a5ad98c99ee73231282006fda00124460dd13128b3bea28ecd4b37a0cd028339

See more details on using hashes here.

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