Meltano
Meltano is an open-source command-line interface (CLI) for ELT+ (Extract, Load, Transform) data integration. It provides a flexible and scalable framework for moving, transforming, and testing data, streamlining data engineering workflows. Currently at version 4.2.0, Meltano maintains an active development cycle with frequent releases across major, minor, and patch versions.
Warnings
- breaking Meltano v4 introduced significant breaking changes compared to v3, including a new CLI parser (Click), changes to the `meltano.yml` project file structure, and updated plugin definition schemas.
- breaking The command-line syntax, particularly for `meltano config`, changed in Meltano v4 due to the new CLI parser. Old commands might no longer work as expected.
- gotcha Docker Hub `latest` and `latest-python` tags for `meltano/meltano` image inadvertently reverted to Meltano v3 for a period around the v3.9.2 release before being corrected to v4.
- gotcha Meltano frequently updates its internal dependency requirements (e.g., `google-cloud-storage`, `uv`, `structlog`). While typically handled by `pip install meltano`, conflicts can arise in complex Python environments or if `meltano` is installed into a shared virtual environment.
Install
-
pip install meltano
Imports
- meltano
Meltano is primarily a CLI tool. Direct programmatic import of `meltano` for end-user applications is not a common pattern. Instead, users interact with `meltano` via its command-line interface or by developing custom plugins.
Quickstart
# Initialize a new Meltano project meltano init my_meltano_project cd my_meltano_project # Add a data source (e.g., tap-carbon-intensity) meltano add extractor tap-carbon-intensity # Add a data target (e.g., target-jsonl) meltano add loader target-jsonl # Configure an extractor setting (optional, replace with actual config) meltano config tap-carbon-intensity set country 'GB' # Run the ELT pipeline meltano elt tap-carbon-intensity target-jsonl