Skip to main content

Ferramentas para processar dados do Datasus (Sistema Público de Saúde).

Project description

# QUADROS DE SAÚDE - DATASUS

[![PyPI version](https://badge.fury.io/py/quadrosdesaude.svg)](https://badge.fury.io/py/quadrosdesaude)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

`quadrosdesaude` é um pacote Python desenhado para automatizar o processo de ETL (Extração, Transformação e Carga) de dados de saúde pública do Brasil, com foco inicial nos arquivos do DATASUS.

## O Problema que Resolvemos

Os dados brutos do DATASUS são disponibilizados publicamente, mas em um formato `.dbc`. Este é um formato compactado proprietário e de difícil leitura pela maioria dos pesquisadores e das ferramentas modernas de análise de dados, como Pandas, Polars ou DuckDB.

O fluxo de trabalho manual para usar esses dados é tedioso e facil de errar:
1. Encontrar o arquivo correto no FTP.
2. Baixar o arquivo `.dbc`.
3. Usar um descompressor (como o `blast-dbf` em C) para convertê-lo para `.dbf`.
4. Converter o `.dbf` para um formato analítico moderno (como Parquet ou CSV).

## A Solução

O pacote `quadrosdesaude` automatiza e otimiza todo esse pipeline para você com apenas Duas funções: um orquestrador de __extração__ e um orquestrador de __tratamento__

- **Extrai:** Baixa os arquivos `.dbc` diretamente do `ftp.datasus.gov.br`.
- **Tratamento:**:
- **Descomprime:** Converte os arquivos `.dbc` em `.dbf` usando a dependência C interna (da pasta `c_src`).
- **Transforma:** Converte os arquivos `.dbf` em `.parquet`, um formato colunar otimizado para performance em ferramentas de *data analysis*.

O objetivo final é criar um "Data Lake" (ou "DuckLake" 🦆) de arquivos Parquet prontos para análise imediata.

## Instalação

Você pode instalar o pacote diretamente a partir do PyPI:

```bash
pip install quadrosdesaude
```


## Colaborando
Para contribuir com este projeto você precisará fazer um fork do repositório, clone local e instalar via Poetry para ambiente de desenvolvimento isolado:

```bash
# Instala o projeto com as dependências de desenvolvimento
poetry install --with dev
```

Para garantir a construção correta dos Módulos C nativos durante o testes:
```bash
poetry build
```

E finalmente, para habilitar o ambiente onde você poderá executar a UI local do Streamlit:
```bash
poetry shell
python iniciar_ui.py
```


## Autor

**Dr. André Quadros**
- [LinkedIn](https://www.linkedin.com/in/andrequadros/)

## Licença

Este projeto está licenciado sob a Licença MIT. Veja o arquivo `LICENSE.md` para detalhes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quadrosdesaude-0.2.5.tar.gz (25.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

quadrosdesaude-0.2.5-cp313-cp313-win_amd64.whl (37.6 kB view details)

Uploaded CPython 3.13Windows x86-64

quadrosdesaude-0.2.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (122.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

quadrosdesaude-0.2.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (122.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

quadrosdesaude-0.2.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (122.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

quadrosdesaude-0.2.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (122.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

File details

Details for the file quadrosdesaude-0.2.5.tar.gz.

File metadata

  • Download URL: quadrosdesaude-0.2.5.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Windows/11

File hashes

Hashes for quadrosdesaude-0.2.5.tar.gz
Algorithm Hash digest
SHA256 8108b2dc2006ff714a618b8d7962f8f6db2fda61dd40b5298927434995830757
MD5 6bddaeb09998dd4e6fc1a4a3e5d47730
BLAKE2b-256 ab71342097c2a0adabfe019f3e8f6694610f75947c6d2c356cb54d5c7b833a73

See more details on using hashes here.

File details

Details for the file quadrosdesaude-0.2.5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for quadrosdesaude-0.2.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 313620f8b9bf6cf3ab5b4a9fa66e11054821ae2d4133a0430e48d45f65ff99d9
MD5 c25d209a15f42165d224133f406494e1
BLAKE2b-256 a39a8eaa09e201c145eb1224c58f74017da17f902ba7534f8f96b7c67878c298

See more details on using hashes here.

File details

Details for the file quadrosdesaude-0.2.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for quadrosdesaude-0.2.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 27647f024c644a6f189d4198e9fa413fa05b47c9651605f2aaeb459d4b34bdf7
MD5 95fbd9f2c12c2492fee1c58402acad4f
BLAKE2b-256 6b4839670a7bb53fa840d98bc68d74bfa07f5cbec285046ed29d0e2cd84874ab

See more details on using hashes here.

File details

Details for the file quadrosdesaude-0.2.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for quadrosdesaude-0.2.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 27992f8c4f21ff05d726fdee00f3aeee7c68c2eabc644e9048cb498eed9b6fc4
MD5 c95308ec897fa559d2190e6d08f81c08
BLAKE2b-256 00d293da386ab48c3e2e2f736b0f1934607534c2988ee1d15406d72fe8810186

See more details on using hashes here.

File details

Details for the file quadrosdesaude-0.2.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for quadrosdesaude-0.2.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 a74a27410fc2429f9baa58dfa17df5fe6de58b6c9cc56ced9754032693b21188
MD5 a0969bc0d21d1e7cbcde5b7e4e35fc5d
BLAKE2b-256 163d6a26b4ad47ac3dff62ded18128871bbad7a2f6e5daa7d2a93c2f800b0c47

See more details on using hashes here.

File details

Details for the file quadrosdesaude-0.2.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for quadrosdesaude-0.2.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e733bfe3afdef70ecee30c0e8df92dfc02faa8d060ad20739ee874e0dea4bc21
MD5 84acf405764ea86d1b39fcc9c11ef8f4
BLAKE2b-256 dc0f20118db12c2db6c635094578d863e2350ecb9556644ef2b1d12d01ba8e69

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page