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)
| File | Size | Uploaded | |
|---|---|---|---|
| downpipe-0.2.0.tar.gz | 71.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|