Sobre el proyecto

dlt (data load tool) es una biblioteca de Python de código abierto que automatiza la extracción, transformación y carga de datos. Está diseñada como una biblioteca que se integra en código Python existente en lugar de ser una plataforma gestionada. **Las fuentes de extracción** incluyen API REST (con paginación declarativa, filtrado y aplanamiento), bases de datos SQL (con reflexión automática de tablas y tipos), archivos en buckets de la nube (S3, GCS, Azure — CSV, JSONL, Parquet) y DataFrames (pandas, Polars, PyArrow con soporte Arrow de copia cero). **La carga** admite más de 20 destinos, incluidos DuckDB, BigQuery, Snowflake, Postgres, Redshift, Databricks, Athena, ClickHouse, MotherDuck, Iceberg, Delta Lake y sistemas de archivos genéricos. Cambiar de destino solo requiere actualizar la cadena `destination`. Capacidades clave: - **Inferencia de esquema y tipado**: Infiere automáticamente el esquema a partir de los datos de origen y mapea los tipos entre destinos. - **Contratos de esquema**: Tres modos — `evolve` (adaptar el esquema), `freeze` (rechazar discrepancias), `discard` (descartar filas/columnas problemáticas). - **Carga incremental**: Soporte integrado para cargar solo registros nuevos o modificados mediante cursores o marcas de tiempo. - **Estrategias de merge/upsert**: Merge declarativo basado en clave primaria mediante la opción `write_disposition="merge"`. - **Normalización de datos anidados**: Aplana y normaliza automáticamente estructuras anidadas. - **Integración con Ibis**: Las tablas cargadas se pueden elevar a expresiones de Ibis para consultas de Python componibles que se compilan a SQL en el dialecto del destino. - **Gestión de secretos**: Credenciales inyectadas desde `secrets.toml` o variables de entorno. - **Reconexión de pipeline**: Use `dlt.attach()` para reconectarse a un pipeline por nombre y leer datos de vuelta mediante una API `Dataset` que admite `.df()`, `.arrow()` y `.to_ibis()`. dlt está construido pensando en la compatibilidad con LLM y agentes de codificación, ofreciendo primitivas declarativas y legibles por humanos adecuadas para la generación de pipelines asistida por IA. Es compatible con Python 3.10 hasta 3.14. Instalación: `pip install dlt` con extras opcionales como `[duckdb]`, `[bigquery]`, `[sql_database]` y `[hub]`.