Guia de Inicialização
Este guia irá auxiliá-lo a configurar o ambiente de desenvolvimento local para o Onboarding Hub.
Pré-requisitos
Para rodar este projeto localmente, garanta que você tenha instalado:
- Docker: Necessário para subir os bancos de dados locais e os tópicos do Kafka.
- UV: O gerenciador moderno de pacotes, ambientes e execução do Python utilizado no projeto.
Configuração do Repositório
1. Inicializar o Ambiente Virtual e Dependências
Execute os comandos a seguir para sincronizar o interpretador Python, criar o ambiente virtual (.venv) e registrar as ferramentas de qualidade de código no git (pre-commit):
# Sincroniza pacotes e cria o .venv
uv sync --extra dev --extra docs
# Registra os hooks do pre-commit
uv run pre-commit install
# Cria o arquivo de configuração local de ambiente
cp .env.example .env
[!NOTE] Se o comando
uvnão estiver no seuPATHno Windows, utilizepython -m uvno lugar.
2. Subir os Serviços Locais (Docker)
O repositório possui arquivos Docker Compose modulares sob a pasta infra/ para que você suba apenas o que for usar no momento:
5432.
8090.
3. Gerar Massa de Testes (Dados Sintéticos)
Após subir o banco de dados PostgreSQL, popule-o com cadastros sintéticos (gerados dinamicamente contendo dados sujos simulando falhas de conformidade):
Comandos Úteis
O utilitário uv run garante a execução imediata dos scripts isoladamente dentro do ambiente virtual do projeto.
Desenvolvimento e Testes
- Gerar mais registros sintéticos:
- Regenerar o contrato de JSON Schema:
- Executar os testes unitários:
Qualidade de Dados (Soda Core)
Valida se as linhas inseridas no banco de dados local violam regras do contrato de onboarding:
uv run soda scan -d amazonia_postgres -c data_quality/soda/configuration.yml data_quality/soda/checks/onboarding_checks.yml
Qualidade de Código (Lint, Formatação e Tipos)
- Análise estática de erros de estilo e bugs (Ruff):
- Formatação automática do código (Ruff):
- Checagem estática de tipos (Mypy):