Modern, Pythonic ELT Built for the Data Engineer in Code
If you're a Python developer who enjoys clean, flexible workflows directly in code, dlt Hub (short for Data Load Tool) is a minimalist but powerful open-source ELT framework. It makes data ingestion feel like writing native Python scripts—perfect for embedding pipelines in modern cloud-native apps, internal data platforms, or notebooks.
Unlike UI-heavy tools, dlt Hub is a code-first framework built for developers and data engineers who want to stay close to Python while abstracting the hard parts of ELT like schema evolution, incremental loading, and deployment.
dlt is an open-source Python library for building and running ELT pipelines. It’s designed for teams that want flexibility, composability, and native integration with modern tools like dbt, DuckDB, and BigQuery.
Instead of YAML configs or UIs, you define your pipelines using Python functions enriched by dlt's decorators and helpers.
dlt handles:
If you want full programmatic control without writing orchestration and ingestion from scratch, dlt hits a unique sweet spot.
To understand dlt, it helps to get familiar with its building blocks:
Here’s a minimal dlt pipeline that pulls GitHub issues and loads them into Snowflake.
No YAML files, no complex config—the schema is inferred, the state is managed, and the data is loaded.
dlt is source-agnostic and ships with adapters for common data sources:
dlt is best suited for:
Why choose dlt?
While it’s newer than tools like Airbyte or Meltano, it’s growing rapidly.
dlt hub is the “developer’s ELT”—lean, composable, and great for embedding or scripting data ingestion. While it doesn’t have the vast native connector ecosystem of tools like Airbyte or Meltano, it makes it easy to build repeatable, API-based connections using Python. dlt excels in use cases where full-code and flexibility are the priority. If you're already building pipelines in python taking a further look at dlt may save you time.
In future posts, we'll compare it directly to Airbyte and Meltano and later we'll show you how you can productionize dlt.
Until then, you can try it out at dltHub.com or browse the code on GitHub.