Skip to main content

Render piped markdown streams fast.

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.2.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.2.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: downpipe-0.2.0.tar.gz
  • Upload date:
  • Size: 71.9 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for downpipe-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c846424e422c749887c8ef1c8481e4aaadc96a3f75f7d8306133550927e98d8f
MD5 a53a918fef33f98c932d6bc146cf2242
BLAKE2b-256 26908303271860a68c8993b5fd8ae5e31df558b4a97eb7469d9d1611a92a8af8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: downpipe-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for downpipe-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f26dd2a16d5991d3a69145c1ad6e0ddc0353498866e6ece3fdf1335f6a6edd76
MD5 34b09e7bad8066c7a80b64a9addefcf7
BLAKE2b-256 4edaa09818e2a599ee693ee45d7de1c20c067afade1d46ab3a3815c54f853fa1

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