Dependency Management

Dependency Management - C-Suite

Este documento descreve o processo de gerenciamento de dependências para o ecossistema C-Suite.

Visão Geral

Dependências devem ser atualizadas regularmente para garantir segurança e compatibilidade.

Ferramentas

Dependabot

Dependabot está configurado para atualizar dependências automaticamente.

Configuração: .github/dependabot.yml

Safety

Safety verifica vulnerabilidades conhecidas em dependências Python.

Instalação:

pip install safety

Uso:

safety check --file requirements.txt

pip-audit

Alternativa ao safety, mantido pela Python Packaging Authority.

Instalação:

pip install pip-audit

Uso:

pip-audit -r requirements.txt

Processo

1. Atualização Regular

2. Verificação de Vulnerabilidades

# Verificar vulnerabilidades
safety check --file requirements.txt

# Ou com pip-audit
pip-audit -r requirements.txt

3. Atualização Manual

Se necessário atualizar manualmente:

# Atualizar todas as dependências
pip install --upgrade -r requirements.txt

# Atualizar dependência específica
pip install --upgrade package-name

# Gerar novo requirements.txt
pip freeze > requirements.txt

4. Pinning de Versões

Sempre pin versões em produção:

# Bom
fastapi==0.115.0
pydantic==2.9.2

# Evitar
fastapi>=0.115.0
pydantic~=2.9

Estratégias de Versionamento

Semantic Versioning

Pinning Strategy

Verificação de Compatibilidade

Antes de Atualizar

  1. Verificar changelog da dependência
  2. Verificar breaking changes
  3. Testar em ambiente de staging
  4. Verificar compatibilidade com outras dependências

Depois de Atualizar

  1. Executar testes completos
  2. Verificar logs por warnings
  3. Monitorar métricas por problemas

Dependências Críticas

Dependências críticas requerem atenção especial:

Vulnerabilidades Conhecidas

Verificação Regular

# Adicionar ao CI/CD
safety check --file requirements.txt || exit 1

Resposta a Vulnerabilidades

  1. Crítica: Atualizar imediatamente
  2. Alta: Atualizar dentro de 7 dias
  3. Média: Atualizar dentro de 30 dias
  4. Baixa: Atualizar no próximo ciclo

Requirements Files

Estrutura

requirements.txt          # Produção (pinned)
requirements-dev.txt      # Desenvolvimento (flexível)
requirements-test.txt     # Testes
requirements-common.txt   # Módulos comuns

Boas Práticas

CI/CD Integration

GitHub Actions

- name: Check dependencies
  run: |
    pip install safety
    safety check --file requirements.txt

GitLab CI

check-dependencies:
  script:
    - pip install safety
    - safety check --file requirements.txt

Referências

🔊 Text-to-Speech

1.0x
1.0
Pronto para reproduzir