Skip to main content

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

Metadata

Release files for downpipe 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for downpipe 0.2.0
File Size Uploaded
downpipe-0.2.0.tar.gz 71.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for downpipe 0.2.0
File Interpreter ABI Platform
downpipe-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 77.2 kB

Release files / downpipe-0.2.0.tar.gz

Download URL downpipe-0.2.0.tar.gz
Size 71.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c846424e422c749887c8ef1c8481e4aaadc96a3f75f7d8306133550927e98d8f
BLAKE2b-256 checksum
How to use checksums
26908303271860a68c8993b5fd8ae5e31df558b4a97eb7469d9d1611a92a8af8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / downpipe-0.2.0-py3-none-any.whl

Download URL downpipe-0.2.0-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f26dd2a16d5991d3a69145c1ad6e0ddc0353498866e6ece3fdf1335f6a6edd76
BLAKE2b-256 checksum
How to use checksums
4edaa09818e2a599ee693ee45d7de1c20c067afade1d46ab3a3815c54f853fa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page