Desenvolvimento¶
Configurando o ambiente¶
git clone https://github.com/django-by-kelsoncm/django-celery-task-monitor.git
cd django-celery-task-monitor
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install
pre-commit install --hook-type pre-push
Rodando os testes¶
pytest
A suíte usa pytest-django com tests/settings.py, que reaproveita o
app example_app (pasta example/) como modelo alvo do
GenericForeignKey de TaskLog — ver Projeto de Exemplo.
Cobertura de código é 100% obrigatória ([tool.coverage.report] em
pyproject.toml, fail_under = 100) — pytest já roda com
--cov embutido via addopts, então basta rodar pytest
normalmente e olhar a coluna Missing se algo não bater. Migrations são
excluídas ([tool.coverage.run].omit); todo o resto do pacote precisa de
teste cobrindo cada linha, incluindo os ramos de erro/edge case.
Qualidade de código¶
black django_celery_task_monitor tests example
flake8 django_celery_task_monitor tests example
mypy django_celery_task_monitor
Todos os três rodam no CI (GitHub Actions, .github/workflows/ci.yml)
contra a matriz de Python (3.10–3.12) e Django (4.2–5.1) suportada.
pre-commit¶
O projeto usa hooks de pre-commit (config em
.pre-commit-config.yaml):
pre-commit (a cada
git commit): espaço em branco à direita, fixador de fim de arquivo, verificação de YAML, arquivos grandes acidentais, conflitos de merge não resolvidos,blackeflake8.pre-push (a cada
git push, mais lento):mypyepytest.
Os hooks locais (mypy/pytest) usam language: system — rodam com
o Python/venv já ativo no seu shell, não um ambiente isolado do
pre-commit. Para testar sem commitar/dar push:
pre-commit run --all-files
pre-commit run --all-files --hook-stage pre-push
Traduções¶
cd django_celery_task_monitor
django-admin makemessages -l pt_BR -l en --no-location --no-obsolete
# edite os .po gerados preenchendo os msgstr que faltam
django-admin compilemessages
Construindo esta documentação¶
pip install -e ".[docs]"
cd docs
make html
# ou, no Windows: make.bat html
O HTML gerado fica em docs/_build/html/.
Veja também o arquivo CONTRIBUTING.md na raiz do repositório para o
fluxo completo de contribuição (PRs, issues, política de breaking changes).