Comece em 5 minutos¶
Três caminhos prontos para baixar e analisar um dataset público real, do zero. Escolha o domínio mais próximo do seu trabalho — todos seguem o mesmo padrão.
Pré-requisitos¶
- Python 3.12+
- uv para gerenciar ambientes (recomendado).
# Cria um projeto novo
uv init quantilica-demo && cd quantilica-demo
Se preferir pip puro, substitua uv add por pip install nos comandos abaixo.
Baixa os metadados completos do IPCA-15 (agregado 1705) e mostra a estrutura: períodos disponíveis, localidades cobertas, variáveis.
uv add "sidra-fetcher @ git+https://github.com/Quantilica/sidra-fetcher.git"
from sidra_fetcher.fetcher import SidraClient
with SidraClient() as client:
agregado = client.get_agregado(1705) # IPCA-15
print(f"Agregado: {agregado.nome}")
print(f"Periodicidade: {agregado.periodicidade.frequencia}")
print(f"Períodos disponíveis: {len(agregado.periodos)}")
print(f"Localidades cobertas: {len(agregado.localidades)}")
ultimos = agregado.periodos[-5:]
for p in ultimos:
print(f" {p.id} ({p.data_inicio} → {p.data_fim})")
Saída esperada: nome do agregado, frequência mensal, ~84 períodos, dezenas de localidades, e os últimos 5 períodos com data de início e fim já parseados.
Próximos passos:
Baixa o histórico completo de taxas e preços do Tesouro Direto via API CKAN, lê com Polars e plota a yield curve por tipo de título.
uv add "tesouro-direto-fetcher[analysis] @ git+https://github.com/Quantilica/tesouro-direto-fetcher.git"
import asyncio
from pathlib import Path
from tesouro_direto_fetcher import downloader, reader, plot
dest = Path("./dados")
asyncio.run(
downloader.download(
dest_dir=dest,
dataset_id="taxas-dos-titulos-ofertados-pelo-tesouro-direto",
)
)
csv = next(dest.glob("taxas-*.csv"))
df = reader.read_prices(csv)
chart = plot.plot_prices(df, bond_type="Tesouro Selic")
chart.save("selic.html")
Saída esperada: CSV baixado em ./dados/, DataFrame com colunas tipadas, e um arquivo selic.html com a curva pronta para abrir no navegador.
Próximos passos:
Baixa os microdados do SIH-RD (Internações Hospitalares) para São Paulo nos últimos 3 anos. Sem dependências externas — datasus-fetcher roda em Python puro e está no PyPI.
uv add datasus-fetcher
datasus-fetcher data \
--data-dir ./dados \
sih-rd \
--start 2022-01 \
--end 2024-12 \
--regions sp \
--threads 4
Saída esperada: dezenas de arquivos .dbc em ./dados/sih-rd/, com retry automático, verificação de integridade e versionamento por data.
Para abrir os .dbc, use o leitor pyreaddbc ou a conversão via quantilica-io.
Próximos passos:
Baixa um intervalo de anos do BDMEP em paralelo, com encoding e cabeçalhos já tratados, e exporta direto em Parquet.
uv add "inmet-fetcher @ git+https://github.com/Quantilica/inmet-fetcher.git"
inmet-fetcher fetch 2020:2024 --data-dir ./dados --workers 4
inmet-fetcher read --data-dir ./dados --uf SP,RJ --output sudeste.parquet
Saída esperada: ZIPs anuais baixados, dados unificados em sudeste.parquet com colunas em snake_case, datetime nativo e valores nulos limpos.
Próximos passos:
O que vem junto, de graça¶
Toda ferramenta Quantilica entrega o mesmo conjunto de garantias — você não precisa pedir:
- Retry automático com backoff exponencial em qualquer erro de rede.
- Proveniência SHA-256 em manifestos
.manifest.jsonao lado de cada arquivo baixado. - Saída tipada em Parquet (via
quantilica-io) ou dataclasses Python. - Logging estruturado consistente em toda a stack.
- Idempotência — rodar duas vezes não baixa duas vezes.
Esses comportamentos vêm do pacote de fundação quantilica-core. Você nunca precisa configurar isso à mão.
Próximos passos¶
- Princípios de Design — entenda por que o sistema tem essa forma.
- Cookbook — receitas que combinam múltiplos domínios.
- Arquitetura — como
-fetcher,-sqle-pipelinesse conectam.