Uso¶
Como instalar a biblioteca e ler o seu primeiro arquivo da CVM.
Veja também: Referência da API · Leitura
Instalação¶
Ou com Poetry:
Requer Python >= 3.11.
Envio (→ CVM)¶
A geração de XML de envio saiu desta biblioteca e vive no pacote separado layouts-cvm.
Leitura (← CVM)¶
O fluxo de leitura (ingestion) faz o caminho inverso: baixa um arquivo publicado pela CVM e o
devolve como um DataFrame tipado e validado por contrato. O primeiro leitor cobre o dump
mensal de open-data do Informe Diário de fundos (inf_diario_fi_AAAAMM):
from datetime import date
from opendata_cvm.ingestion.fi import InformeDiarioReader
# Qualquer dia do mês de referência seleciona o dump mensal; o padrão é hoje.
df_ = InformeDiarioReader(date_ref=date(2025, 1, 15)).read()
O leitor baixa, descompacta e faz o parse em um diretório temporário, valida o
contrato (colunas obrigatórias + coluna de CNPJ coercível) e aplica os tipos
declarados. As colunas monetárias são mantidas como texto exato (o que a CVM publicou),
nunca float — converta para Decimal no ponto em que for calcular.
Rodando os testes¶
make unit_tests # apenas testes unitários
make integration_tests # apenas testes de integração
make test_cov # testes unitários + relatório de cobertura + badge
Lint e formatação¶
Publicando no PyPI¶
Dois workflows do GitHub Actions cuidam dos lançamentos (presentes quando o repositório tem um remoto no GitHub):
release-test-pypi.yaml— publica primeiro no Test PyPI.release-pypi.yaml— publica no PyPI e cria um release no GitHub.
Ambos são disparados pela aba Actions (workflow_dispatch) com a versão a lançar, verificam
que a nova versão é maior que a última publicada e constroem com Poetry. Detalhes de configuração
em Contribuindo.