Home
Meta-pacote Python 3.14 que agrega todas as dependências necessárias para projetos Django 6.0 do ecossistema AVA do IFRN(Integrador AVA, Painel AVA, Gestor AVA e Leitor EaD).
📦 O que é um metapackage?
Um metapackage é um pacote Python que não contém código próprio, mas declara um conjunto de dependências. Ao instalar o metapackage, todas as suas dependências são instaladas automaticamente, garantindo:
✅ Versionamento unificado de dependências entre projetos
✅ Consistência entre ambientes de desenvolvimento, teste e produção
✅ Simplificação do gerenciamento de dependências
✅ Sincronização automática via imagem Docker base
Tecnologias
Olhe o arquivo pyproject.toml, atributo dependencies, para conhecer as demais bibliotecas.
🚀 Instalação
Via pip
pip install avaintegration_metapackage
Via Docker
A imagem Docker base já inclui o metapackage instalado:
FROM ctezlifrn/avaintegrationbase:6.0.8.40
🔄 Workflow de CI/CD
# 1. Atualize a versão no setup.py (será sobrescrita pela tag)
# 2. Crie e envie a tag
git tag 6.0.4.13
git push origin 6.0.4.13
# 3. O GitHub Action irá:
# - Atualizar setup.py com a versão da tag
# - Publicar no PyPI
# - Aguardar 60s para propagação
# - Construir imagem Docker instalando o pacote do PyPI
# - Publicar imagem no Docker Hub
Secrets necessários no GitHub
Configure os seguintes secrets no repositório:
DOCKERHUB_USERNAME - Usuário do Docker Hub
DOCKERHUB_TOKEN - Token de acesso do Docker Hub
🛠️ Desenvolvimento
Estrutura do projeto
metapackage/
├── .github/
│ ├── docker/
│ │ └── Dockerfile # Dockerfile para imagem base
│ └── workflows/
│ └── publish-pypi-and-docker.yml
├── avaintegration_metapackage/
│ └── __init__.py # Versão do pacote
├── setup.py # Configuração e dependências
├── Dockerfile # Dockerfile de desenvolvimento
└── README.md
Atualizando dependências
Edite
setup.pye ajuste as versões eminstall_requiresTeste localmente
pip install -e .Faça commit e crie uma nova tag
Testando localmente
# Build do pacote
python -m build
# Instalação local
pip install dist/avaintegration_metapackage-*.whl
# Teste da imagem Docker
docker build -t avaintegrationbase:test -f .github/docker/Dockerfile --build-arg PACKAGE_VERSION=6.0.8.40 .
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
Crie um fork do projeto
Crie uma branch para sua feature (git checkout -b feature/nova-dependencia)
Commit suas mudanças (git commit -am ‘Adiciona nova dependência X’)
Push para a branch (git push origin feature/nova-dependencia)
Abra um Pull Request
📞 Suporte
Para questões ou problemas, abra uma issue no repositório do projeto.
Mantido por: IFRN - Diretoria de Educação a Distância (DEAD)