Sobre o projeto
dlt (ferramenta de carregamento de dados) é uma biblioteca Python de código aberto que automatiza extração, transformação e carregamento de dados. É projetada como uma biblioteca que você integra ao código Python existente, em vez de uma plataforma gerenciada.
**Fontes de extração** incluem APIs REST (com paginação declarativa, filtragem e achatamento), bancos de dados SQL (com reflexão automática de tabelas e tipos), arquivos em buckets na nuvem (S3, GCS, Azure — CSV, JSONL, Parquet) e DataFrames (pandas, Polars, PyArrow com suporte Arrow de cópia zero).
**Carregamento** suporta mais de 20 destinos, incluindo DuckDB, BigQuery, Snowflake, Postgres, Redshift, Databricks, Athena, ClickHouse, MotherDuck, Iceberg, Delta Lake e sistemas de arquivos genéricos. Alterações de destino exigem apenas atualizar a string `destination`.
Principais capacidades:
- **Inferência de esquema e tipagem**: Infere automaticamente o esquema dos dados de origem e mapeia tipos entre destinos.
- **Contratos de esquema**: Três modos — `evolve` (adaptar esquema), `freeze` (rejeitar incompatibilidades), `discard` (descartar linhas/colunas problemáticas).
- **Carregamento incremental**: Suporte integrado para carregar apenas registros novos ou alterados usando cursores ou timestamps.
- **Estratégias de merge/upsert**: Merge declarativo baseado em chave primária via opção `write_disposition="merge"`.
- **Normalização de dados aninhados**: Achata e normaliza automaticamente estruturas aninhadas.
- **Integração Ibis**: Tabelas carregadas podem ser elevadas para expressões Ibis para consultas Python compostas que compilam para SQL no dialeto do destino.
- **Gerenciamento de segredos**: Credenciais injetadas de `secrets.toml` ou variáveis de ambiente.
- **Reconexão de pipeline**: Use `dlt.attach()` para reconectar a um pipeline pelo nome e ler dados de volta via uma API `Dataset` que suporta `.df()`, `.arrow()` e `.to_ibis()`.
dlt é construído com compatibilidade com LLMs e agentes de codificação em mente, oferecendo primitivas declarativas e legíveis por humanos adequadas para geração de pipelines assistida por IA. Suporta Python 3.10 a 3.14.
Instalação: `pip install dlt` com extras opcionais como `[duckdb]`, `[bigquery]`, `[sql_database]` e `[hub]`.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.