# Meltano / dlt

ELT you run. Meltano is MIT; dlt is Apache-2.0 — Fivetran without the MAR meter.

**Replaces:** Fivetran

**Tier:** Medium

## Problem

Fivetran meters monthly active rows. You wanted extract-and-load on hardware you control. Meltano is MIT (meltano/meltano). dlt is Apache-2.0 (dlt-hub/dlt) if you want a Python loader. Airbyte is Elastic License 2.0 — not OSI, so it is not this path. Transforms stay on /replace/dbt-cloud. Orchestration stays on /replace/astronomer.

## Stack

- [Meltano](https://meltano.com/) — MIT declarative ELT engine
- [dlt](https://dlthub.com/docs) — Apache-2.0 Python data load library if you want that path

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| Fivetran (small team) | $1,200 | Meltano or dlt |

**About $1,200 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: Meltano or a dlt job next to Postgres/a warehouse. This is often a worker, not a public website. No one-click template in this repo yet — Start on Railway. Transforms stay on /stacks/dbt-core-transform.

[Start on Railway](https://c17.io/go/railway/meltano-elt?from=%2Fstacks%2Fmeltano-elt.md)

[dbt Core if this is transforms in the warehouse, not extract-and-load](https://c17.io/stacks/dbt-core-transform)

## AGENT_PROMPT

```
Replace Fivetran with Meltano (preferred) or dlt.

- One connector you actually use. Land into Postgres or the warehouse you already have. Schedule it.
- Do not install Airbyte and call it OSI (ELv2). Do not claim every Fivetran SaaS connector on day one. Write AGENT_PROMPT.md.
```

## FAQ

### Meltano or dlt?

Meltano if you want a declarative ELT project. dlt if you want a Python library. Pick one.

### Why not Airbyte?

Airbyte's LICENSE is Elastic License 2.0. This page uses MIT and Apache-2.0 loaders.

### Where is dbt?

Transforms are /replace/dbt-cloud. This page is extract-and-load.

Source: https://c17.io/stacks/meltano-elt
