Your dlt pipeline is written. Just run it.
Add one decorator and your flow gets isolated compute that starts on schedule, sizes itself to the job, and shuts off the second it finishes. Full run history, retries and alerts included.
- SCALES TO THE JOB
- A 40M-row backfill gets the memory it needs. A 200-row sync never reserves it.
- ZERO WHEN IDLE
- Compute runs only while a flow executes, and drops to zero between runs.
- ISOLATED PER FLOW
- One heavy run can't starve the others, and a crash takes nothing else down.
$ uv add repster · open core, self-host or cloud
import dlt import repster as rp @rp.flow(schedule="0 * * * *") def stripe_to_warehouse(): pipeline = dlt.pipeline( pipeline_name="stripe", destination="bigquery", ) return pipeline.run(stripe_source())
Three commands, start to production
$ rp dev → discovered 3 flows in ./flows → stripe_to_warehouse next run in 04:12 → hubspot_contacts next run in 26:41 $ rp run stripe_to_warehouse ✓ extract 1,284 rows 2.4s ✓ normalize 1,284 rows 0.8s ✓ load bigquery.stripe 3.1s ✓ run 4f2a9c succeeded in 6.3s
Anything the UI can do, the CLI can do.
Agents don't click. The CLI is the full surface: scaffold, run, inspect, schedule, deploy. Your coding agent can do the whole job and verify it locally, not just write code and hope.
› add a daily sync from hubspot to snowflake writing flows/hubspot.py $ rp run hubspot_contacts --dry ✗ missing credential HUBSPOT_TOKEN adding to .env.example, retrying ✓ run 9a1f04 succeeded in 4.1s › flow scheduled: 0 6 * * *
Where Repster sits
| Repster | cron + scripts | Airflow / Dagster | |
|---|---|---|---|
| Time to first scheduled run | Minutes | Minutes | Days |
| Run history & alerting | Built in | You build it | Built in |
| Infrastructure to operate | None | A box, somewhere | Scheduler + workers + DB |
| Scaling a heavy backfill | Automatic, per run | Resize the box | Provision more workers |
| Complex DAG dependencies | Trigger it from yours | No | Yes, keep them |
Already run an orchestrator? Keep it. Repster exposes a Python API, so an Airflow or Dagster task can kick off a flow and wait on it. Replication stays in one dependency graph with your transformations and ML jobs, without you hand-rolling the extract step.
Managed ELT solves a different problem. Fivetran and Airbyte sell connectors you don't want to maintain, priced per row or per MTU. Repster assumes you're happy writing dlt sources and just want them to run reliably.
Compute seconds. Nothing else.
Repster Cloud is free during the design-partner phase. When metered billing launches, you'll pay for compute seconds — no seats, no rows, no monthly active users. The engine is Apache 2.0, so self-host and the bill is zero.
Don't use Repster if…
We're picking a few teams to build this with.
If you're running dlt in production today, you get a direct line to the engineers, real roadmap influence, and free cloud usage while the program runs.