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]`.