Skip to content

Steps

A step is a single transformation applied to the pipeline payload. Steps run in the order they are listed. If any step fails, the pipeline stops.

All steps

StepWhat it doesJSONJSONLCSV
normalizeNormalise string fields (lower, upper, trim, capitalize…)
filterKeep records matching a condition or nested all/any group
redactReplace field values with mask, sha256, or REDACTED
castConvert field types — int, float, bool, string, time
defaultFill missing or empty fields with a default value
selectKeep only the specified fields
renameRename fields
sortSort records by a field, ascending or descending
limitTruncate to N records
dedupeRemove duplicate records by key fields
convertConvert payload format — json ↔ jsonl ↔ csv
validate-jsonValidate records against a JSON Schema
assertAssert record count or field existence
http-transformPOST/PUT/PATCH payload to an HTTP endpoint, continue with the response
logPrint record count and samples to stdout
countPrint current record count to stdout

Step syntax

Each step is a single-key object in the steps list:

yaml
steps:
  - normalize:
      fields:
        email: lower
  - redact:
      fields: [password]
      strategy: mask
  - filter:
      field: country
      equals: AU

The key is the step type. The value is the step's configuration. Each list item must contain exactly one step type.

Released under the MIT License.