pd, one section per command. Run pd <command> --help for the same synopsis at the terminal.
pd login
Authenticate this device with Pipedata via a device-code flow. Saves credentials to ~/.pd/config.json.
| Flag | Default | Purpose |
|---|---|---|
--host | eu-central-1.pipedata.io | Region host to log in to. |
pd push
Read NDJSON from stdin and write it to a named pipe. Creates the pipe if it doesn’t exist.
pd push reads stdin only — there’s no flag for inline data. Use echo … | pd push <name> or redirect a file.
pd pull
Read NDJSON from a named pipe to stdout.
| Flag | Default | Purpose |
|---|---|---|
--start-id | last cursor for this machine | Read starting from this record ID (one-off, doesn’t move the cursor backwards). |
--follow | false | Tail the pipe and stream new records as they arrive. |
pd ls
List pipes with their kind, source, status, and counts.
| Flag | Default | Purpose |
|---|---|---|
--range | all | Window for stats: 15m, 1h, 24h, 7d, 30d, or all. |
pd delete
Request deletion of a pipe and all its data. Data is purged within 72 hours.
| Flag | Default | Purpose |
|---|---|---|
--yes | false | Skip the interactive name-confirmation prompt. |
pd source http
Create (or look up) an HTTP ingestion pipe and print its ingest URL.
Authorization: Bearer <api-key>. One JSON record per request, or NDJSON for batches.
pd dest http
Create or update an HTTP destination. On create, --url and --method are required. Destinations start paused — verify DNS, then pd resume.
| Flag | Default | Purpose |
|---|---|---|
--source | Source pipe to forward from. | |
--url | Target URL. | |
--method | HTTP verb: GET, POST, PUT, DELETE, PATCH. | |
--rate | 10 | Max requests per second. |
--header K=V | Request header. Repeatable. Content-Type: application/json added if not set. | |
--retry | false | Retry non-2xx responses with exponential backoff (max 15 min, ~100 attempts). |
--start-id | 0 | First record ID to deliver. |
pd uniq
Create or update a deduplication transform that emits each unique record from a source pipe once.
| Flag | Default | Purpose |
|---|---|---|
--from | Source pipe to dedupe. Required on create. | |
--duplicates | false | Invert: emit only duplicates (one per group) instead of uniques. |
--start-id | 0 | First record ID in the source to consider. |
pd verify
Verify DNS ownership of an HTTP destination. Interactive: prints a TXT record, waits for you to add it, then polls DNS.
pd pause
Pause a pipe so it stops reading and accepting new data. Works for any pipe kind. Downstream pipes pause too.
pd resume
Resume a paused pipe.
pd self-update
Check for and install a newer pd binary in place. The previous binary is saved alongside as pd.old.
pd examples
Print a few copy-pasteable recipes for common tasks.
Global flags
These work on every command:| Flag | Purpose |
|---|---|
-o json, --output json | Emit machine-readable JSON instead of human text. |
--no-color | Disable colored output. |
-h, --help | Print the command’s synopsis. |
Environment variables
| Variable | Purpose |
|---|---|
PD_CONFIG_PATH | Override the config file location. Default ~/.pd/config.json. |
NO_COLOR | Disable colored output (same as --no-color). |