Skip to main content

omnisus

Importa bases públicas de saúde do Brasil (DATASUS, IBGE, CNES) para um lake DuckLake, no seu computador, no Google Drive ou na nuvem, com a procedência necessária para citar cada resultado.

Brazilian public health data (DATASUS, IBGE, CNES) in a DuckLake lake (on your computer, on Google Drive or in the cloud), with the provenance needed to cite it. Documentation: https://raphaelfh.github.io/omnisus/.

Instalação

Python 3.12 ou mais novo:

pip install omnisus

Em Linux x86_64, macOS (arm64/x86_64) e Windows x86_64 isso instala também o decodificador Rust omnisus-dbf. Nas demais plataformas, o Python decodifica os mesmos arquivos.

Início rápido

Sem instalar nada:

Abrir no Colab Open in molab

O Colab baixa os óbitos de Roraima em 2023, põe rótulos, confere as colunas e imprime a citação, com o lake opcionalmente no seu Google Drive. O molab abre os notebooks marimo de cada base. Outros caminhos (marimo no seu computador, Jupyter) estão em Comece aqui.

Em Python:

import omnisus as sus

dados = sus.load("sim_obitos", years=[2023], ufs=["RR"])             # baixa e devolve as linhas
dados = sus.label("sim_obitos", dados, columns=["sexo", "racacor"])  # + sexo_rotulo, racacor_rotulo
sus.check_columns("sim_obitos", dados)                               # vazios, códigos sem rótulo, datas

O lake fica em data/raw/ no diretório de trabalho, e um segundo load do mesmo recorte não baixa nada. Toda função documenta seus parâmetros com um exemplo: help(sus.load).

Para ir além:

  • Guia do pesquisador: qual base responde a cada pergunta, o que um registro representa e como citar.
  • Notebooks: um por base, com as mesmas seis etapas, que abrem no navegador pelo molab.
  • Getting Started: onde fica o lake, Colab, linha de comando e lakes na nuvem.
  • Bases e argumentos: cada base, com o que passar em years, ufs e months e quais colunas têm rótulo. É gerada do código a cada versão, como a API; help(sus.load) mostra o mesmo na versão instalada.

Confira antes de usar

  • Contagens. Compare o total de linhas com o que o DATASUS publica (TabNet, painéis oficiais) antes de analisar. sus.check_columns mostra, por coluna, a proporção de vazios, os códigos que o dicionário não conhece e as datas mínima e máxima.

  • Rótulos. Um código que o dicionário não conhece fica sem rótulo (None); ele nunca é adivinhado. Cada mapa de códigos diz se foi conferido no documento oficial:

    campo = next(f for f in sus.describe_dataset("sim_obitos")["fields"]
                 if f["field"]["name"] == "sexo")
    [(c["status"], c["evidence"]) for c in campo["claims"] if c["target"] == "/field/codes"]
    # status: verified_in_source, conflicting ou unreviewed; evidence: documento e página
    

    Só use um rótulo unreviewed ou conflicting depois de conferir o documento você mesmo.

  • Escopo das regras. Idade em anos, sexo e datas harmonizados só aparecem para os arquivos cujo SHA-256 foi auditado (describe_dataset(...)["analytics"]); os outros saem como publicados.

De onde vêm os dados e os rótulos

O que Onde
Arquivo de origem de cada linha importada reader.publications() e sus.cite(reader) num sus.LakeReader(): caminho no servidor, SHA-256, snapshot_id
Diretório do FTP de cada base Bases e argumentos
Dicionários (de-para de códigos, descrições, tipos) src/omnisus/data/dicionarios/<base>.yaml, campo x-decode
Documentos oficiais citados (PDF, TabWin), com URL e SHA-256 src/omnisus/data/dicionarios/sources/registry.json
Tabelas CNV do TabWin de onde saem muitos rótulos src/omnisus/data/dicionarios/sources/cnv/
Auditorias que sustentam as regras (contagens, hashes, reprodução) evidence/

O dicionário de dados explica como ler esses arquivos e como conferir um rótulo.

Como contribuir

Leia o CONTRIBUTING.md. Em resumo: todo fato no código ou na documentação vem do servidor do DATASUS ou de um arquivo com SHA-256 registrado, todo teste roda sobre trechos de arquivos reais, e o repositório é público. Um rótulo errado, uma base que falta ou uma contagem que não bate com o DATASUS são boas primeiras issues.

Licença

MIT.

Metadata

Release files for omnisus 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omnisus 0.2.0
File Size Uploaded
omnisus-0.2.0.tar.gz 760.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for omnisus 0.2.0
File Interpreter ABI Platform
omnisus-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / omnisus-0.2.0.tar.gz

Download URL omnisus-0.2.0.tar.gz
Size 760.5 kB
Tags Source
SHA-256 checksum
How to use checksums
79b863aab9a40cc51660b336a3fb1ecf35c3a0d8fb21edd327b6e7c06d045b28
BLAKE2b-256 checksum
How to use checksums
6d2c9cec9bc972dc19feccd74c24eb57868734c735505b05dfdc93e2063e133d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / omnisus-0.2.0-py3-none-any.whl

Download URL omnisus-0.2.0-py3-none-any.whl
Size 937.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed873e1b6dd16a5fa79de41289bf6686f49bcfb6a0c47ac9a07c13817185b17e
BLAKE2b-256 checksum
How to use checksums
15e23f0f6174c93792a0d4130823866e965118b8eb4bc6918bfa674da63dfa75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.1

2 release files

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page