Skip to main content

Files

The files reader reads local files — JSONL, CSV and Parquet — with no credentials. It's the easiest way to see the full fetch → shape → write flow.

source.yaml
auth:
provider: files
roots: [./data] # directories the reader may read
streams/orders.yaml
requests:
- name: raw_orders
sdk: files
arguments:
path: orders/*.jsonl # glob under a root
format: jsonl # jsonl | csv | parquet

transform:
mode: page
steps:
- name: orders
select: |
SELECT
(record->>'id')::BIGINT AS order_id,
(record->>'total')::DECIMAL(18,2) AS total
FROM raw_orders

export:
orders:
step: orders
primary_key: [order_id]
streamwright run my_source --allow-connector files --output jsonl:out

Globs use *, [ab] and **. Because it runs offline, files is ideal for tests and demos.