dlt-hub/dlt

data load tool (dlt) is an open source Python library that makes data loading easy 🛠️

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 47 minutes ago
Added to GitGenius on January 5th, 2025
Created on January 26th, 2022
Open Issues & Pull Requests: 424 (+0)
Number of forks: 590
Total Stargazers: 5,774 (+0)
Total Subscribers: 26 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.6 days
Mean response time: 41.5 days
90th percentile: 113.2 days
Tracked items: 1,209

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 63% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "documentation" is answered fastest, typically in about 17 hours, while "tech-debt" waits about 2 weeks. 37% of tracked open issues have had no activity in three months. Only 6% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 308
New in 7 days: 6
Closed in 7 days: 6
Avg open age: 251 days
Stale 30+ days: 254
Stale 90+ days: 192

Recent activity

Opened in 7 days: 4
Closed in 7 days: 6
Comments in 7 days: 13
Events in 7 days: 46

Top labels

  • bug (270)
  • enhancement (154)
  • question (146)
  • documentation (133)
  • destination (101)
  • community (80)
  • QoL (71)
  • support (40)

Detailed Description

dlt is an open-source Python library designed to automate data loading tasks across diverse environments, from Google Colab notebooks and AWS Lambda functions to Airflow DAGs and local development machines. The library addresses the challenge of extracting data from messy sources and loading it into well-structured datasets through lightweight Python interfaces.

The core functionality of dlt encompasses extraction, loading, inspection, and transformation of data. It can extract from REST APIs, SQL databases, cloud storage, Python data structures, and over 5000 verified sources available through the dlt workspace. The library automatically infers schemas and data types, normalizes data, and handles nested data structures. It supports loading to popular destinations and provides an interface for creating custom destinations to enable reverse ETL pipelines.

A distinctive feature of dlt is its LLM-native workflow, built from the ground up to work with large language models. This allows users to take pipeline code from a notebook directly to data processing, making it accessible for AI-assisted development. The library supports Python 3.10 through Python 3.14, though Python 3.14 support is currently experimental due to limited availability of optional extras.

dlt automates pipeline maintenance through incremental loading, schema evolution, and schema and data contracts. It provides both Python and SQL data access capabilities, supports transformations, includes pipeline inspection tools, and enables data visualization in Marimo Notebooks. The library can be deployed anywhere Python runs, with specific support for Airflow and serverless cloud functions.

The library follows semantic versioning with the MAJOR.MINOR.PATCH pattern and recommends using compatible release specifiers for dependency management.

Community engagement is emphasized through an active Slack community, public GitHub project tracking, and contribution guidelines. The project notes that while new destination implementations are unlikely to be merged due to maintenance costs, bugfixes, improvements, and enhancements to existing destinations like SQLAlchemy are welcomed. The library is released under the Apache 2.0 License and is sponsored by Blacksmith, which provides CI/CD infrastructure support.