Meltano
Meltano is an open-source ELT platform built on the Singer specification, letting teams declare data pipelines as code using YAML configuration and a CLI.
Overview
Meltano is an open-source data integration platform for building ELT pipelines using the Singer specification. It started in 2018 as an internal project at GitLab aimed at a broader end-to-end analytics platform, then narrowed its focus to ELT and spun out as an independent open-source project and company around 2021. Meltano's core idea is "data pipelines as code": sources (Singer taps), destinations (Singer targets), and transformations (typically dbt) are declared in version-controlled YAML files and run through a CLI, fitting naturally into existing software engineering practices like code review and CI/CD.
Core concepts
- Tap: a Singer-spec extractor that pulls data from a source and emits it as a stream of JSON records.
- Target: a Singer-spec loader that writes those records into a destination.
- Plugin: Meltano's term for any tap, target, or transformer it manages, discoverable via MeltanoHub, a public registry of Singer taps and targets.
- Project: a Meltano project directory containing
meltano.yml, which declares plugins, pipeline schedules, and environment configuration.
Example
Copy code
meltano add extractor tap-postgres meltano add loader target-jsonl meltano run tap-postgres target-jsonl
Copy code
# meltano.yml (excerpt)
plugins:
extractors:
- name: tap-postgres
config:
host: db.internal
dbname: app_prod
loaders:
- name: target-jsonl
schedules:
- name: daily-sync
interval: "@daily"
job: tap-postgres-to-jsonl
Why it matters
Because it's built on Singer's open, JSON-over-stdout protocol, Meltano can use any conforming community tap or target without depending on a single vendor's connector catalog, and teams can write their own taps/targets when one doesn't exist. Meltano itself is orchestration-agnostic for scheduling at scale: its own scheduler suits simple cases, while production deployments commonly trigger meltano run from an external orchestrator like Airflow or Dagster. A common downstream pattern lands Meltano's output as files or a database that DuckDB or MotherDuck then queries directly for analysis.
Related terms
Singer is an open-source specification that defines how independent scripts, called taps and targets, communicate data and state using a simple JSON format over stdout and stdin.
Kestra →Kestra is an open-source, event-driven orchestration platform where workflows are defined declaratively in YAML rather than a general-purpose programming language.
Apache Airflow →Apache Airflow is an open-source platform for programmatically authoring, scheduling, and monitoring workflows, where pipelines are defined as directed acyclic graphs (DAGs) in Python.
Airbyte →Airbyte is an open-source data integration platform, available self-hosted or as a managed cloud service, that moves data from hundreds of sources into a destination using a large catalog of connectors.
ELT →ELT (Extract, Load, Transform) is a modern data integration process that reverses the order of traditional ETL (Extract, Transform, Load) workflows.
MotherDuck →MotherDuck is a cloud-based analytics platform built on top of DuckDB that enables teams to analyze and share data without managing complex infrastructure.
FAQS
No. Singer is a specification for taps and targets; Meltano is a platform and CLI that runs Singer taps/targets, manages their configuration, schedules pipelines, and integrates transformation tooling like dbt.
No. Meltano was originally built inside GitLab but has been an independent open-source project and company since around 2021, with no dependency on GitLab products.
Meltano is primarily EL (extract, load); transformation is typically handled by invoking dbt as a step in a Meltano pipeline rather than by Meltano itself.
