Skip to main content
pd pull <name> writes NDJSON to stdout, one record per line. Pipe it into jq, redirect to a file, or tail with --follow.

TL;DR

How it works

Each machine keeps a local cursor per pipe under ~/.pd/. The cursor tracks the last record ID this machine read. The next pd pull resumes from cursor + 1.
  • --start-id N — start reading from record ID N. Does not move the cursor backwards; use it for one-off replays.
  • --follow — when the pipe is caught up, keep the connection open and stream new records as they arrive. Stop with Ctrl-C.
Status output goes to stderr, so pd pull > out.jsonl always produces clean NDJSON in out.jsonl.

Common patterns

Filter to interesting records
Tail logs from a server to your laptop
Replay from a known starting point
Hand a dataset to a teammate

See also

  • Send data — write records into a pipe.
  • Manage pipespd ls shows the backlog waiting on the reader.
  • pd pull in the command reference.