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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1977861225a5d1a7bd577360e4b8b193f990a02a28600b50ee18c3e8ea928aa7
|
|
| MD5 |
43d3065381d1ae73a6dff8a856552993
|
|
| BLAKE2b-256 |
3016df28b87835d39a2ebfe7fb113515b8a3019428a80b831416a4847008dcbb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20d0c91b27f14ad33864b54229f0ead7bf88a9bc1c183f7b249c8f2440e2d748
|
|
| MD5 |
ff7dc77599d0ecafb60442555bd03cef
|
|
| BLAKE2b-256 |
a5ad98c99ee73231282006fda00124460dd13128b3bea28ecd4b37a0cd028339
|