dlt-hub/dlt

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

解决的问题

dlt 自动化了将数据从各种来源移动到结构化、类型化数据集这一繁琐且重复的工作。它处理数据工程的"管道"工作——如模式推断、处理嵌套数据、管理凭据以及适配不同的数据库方言——因此您不必为每个管道编写自定义代码。

工作原理

dlt 是一个 Python 库,可直接安装到您现有的代码中。您使用简单的 Python 装饰器和函数定义数据源(如 REST API、SQL 数据库或本地文件)。然后,您将该源指向目标(如 DuckDB、BigQuery 或 S3)。dlt 会自动提取数据,将其规范化为一致的模式,并在后台处理模式漂移和类型映射的同时进行加载。

适用人群

dlt 专为希望以轻量级、代码优先的方式构建数据管道的开发者、数据工程师和 AI 代理而设计。由于它是一个库而非平台,因此非常适合那些希望保留现有工作流程并避免"黑匣子"系统的用户。

亮点

  • 声明式 API: 使用 Python 装饰器定义数据的加载方式,包括增量更新和合并策略。
  • 广泛兼容性: 支持 20 多个目标端和数千个数据源,包括 REST API、SQL 数据库和云存储。
  • LLM 就绪: 从头构建,供 AI 编码代理使用,以便从提示词生成可运行的管道。
  • 模式管理: 自动推断模式、处理嵌套数据,并通过可配置的"契约"管理模式漂移以保护数据质量。
  • 灵活访问: 轻松将已加载的数据读回 Pandas、Polars 或 Arrow,或使用 Ibis 在 Python 中执行编译为 SQL 的转换。

相关

  • 项目
  • 项目
  • 项目
  • 项目