Perguntas frequentes¶
Respostas para dúvidas comuns de uso e desenvolvimento. Adicione entradas específicas do projeto conforme surgirem nas issues.
Veja também: Uso · Exemplos · Contribuindo.
Como instalo a biblioteca?¶
Requer Python >= 3.10.
Quais padrões da CVM já estão implementados?¶
Apenas o Perfil Mensal V4 (envio), por enquanto. O catálogo completo — Informe Diário, CDA,
Lâmina, Informe Mensal FIDC, entre outros — está listado no CLAUDE.md do repositório, com o
status de cada padrão. A fonte da verdade é a
página de padrões da CVM.
Qual a diferença entre submission e ingestion?¶
submission monta e serializa um arquivo para enviar à CVM (envio). ingestion lê e
interpreta um arquivo baixado da CVM de volta para modelos tipados (leitura). A seção
ingestion é criada quando o primeiro padrão de leitura for implementado.
Por que devo passar valores decimais como string?¶
float binário (IEEE 754) não representa a maioria das frações decimais com exatidão, e os erros
se acumulam silenciosamente. Passe "10.5" (string) ou Decimal("10.5") — nunca 10.5. A
biblioteca ainda trunca o excesso de casas em direção a zero, para não inflar o valor
reportado.
Por que meu CNPJ foi recusado?¶
O CNPJ é validado pelos dígitos verificadores, não apenas pelo formato. Um número com dígitos
inválidos levanta ValidationError na construção do modelo. O valor é armazenado sem máscara
(apenas os 14 caracteres).
Em qual codificação o arquivo é gravado?¶
Quando você passa output_path, o arquivo é gravado em windows-1252, conforme exigência da
CVM. Sem output_path, o método retorna a string XML (UTF-8 em memória).
Como adiciono ou atualizo uma dependência?¶
Use Poetry para manter o lock file autoritativo:
poetry add <pacote> # dependência de runtime
poetry add --group dev <pacote> # ferramenta só de desenvolvimento
Todo pacote que o código importa deve ser uma dependência direta — nunca dependa de que ele chegue transitivamente por outro pacote.
Como a versão é determinada?¶
A versão vem da tag git (via poetry-dynamic-versioning); o pyproject.toml guarda um
placeholder 0.0.0. Lance a partir do workflow de release — veja Contribuindo.