Skip to main content
pd uniq creates a transform pipe that reads from a source pipe and emits each record only once. Duplicates are detected by the parsed record, not by the raw JSON text.

TL;DR

How it works

pd uniq <name> --from <source> creates a new pipe <name> that reads everything from <source> and emits each unique record once. The new pipe starts running immediately; it’s a regular pipe you can pull, pause, or feed into a dest http.

What counts as a duplicate

Records are hashed after JSON parsing, so formatting differences are ignored. Object keys are sorted before hashing, and types are not coerced. These all hash the same — they’re one record, deduplicated:
These are different records (different keys, different types):
Flags:

Common patterns

Dedupe then forward
Inspect duplicates only

See also