Desenvolvimento¶
Ambiente¶
Quality gate¶
Antes de declarar uma mudança concluída:
Quando a mudança afetar rede, OAI-PMH, TOC ou integração com OJS real:
Documentação¶
Servir localmente:
Build estrito:
Publicação:
- pull requests validam o build da documentação;
- pushes em
mainpublicam o site no GitHub Pages via.github/workflows/docs.yml.
Publicação de versão¶
Antes de publicar uma versão:
- Atualize a versão em
pyproject.tomlesrc/ojs_scrape/__init__.py. - Atualize a versão e a data em
CITATION.cff, quando aplicável. - Atualize o
CHANGELOG.md. - Rode o quality gate completo:
uv run ruff check .
uv run ruff format --check .
uv run mypy
uv run pytest -q
uv run --group docs mkdocs build --strict
uv build
uvx twine check dist/*
- Teste a instalação limpa do wheel gerado em
dist/. - Publique primeiro no TestPyPI e teste a instalação a partir dele.
- Publique no PyPI real.
- Teste a instalação limpa a partir do PyPI real.
- Crie e publique a tag da versão.
- Crie a GitHub Release com os artefatos publicados.
- Confirme se o Zenodo arquivou a release e gerou DOI.
- Se houver DOI novo, atualize a documentação de citação em uma mudança posterior.
PyPI não permite reenviar a mesma versão. Se uma versão publicada tiver erro, publique uma nova versão de correção.
O Zenodo lê os metadados de .zenodo.json quando arquiva releases sincronizadas pelo GitHub.
Não registre DOI manualmente antes de verificar o depósito real criado pelo Zenodo.
Regras de método¶
- Usar OAI-PMH como fonte primária.
- Usar scraping leve apenas como complemento.
- Transformar falhas reais em testes de regressão.
- Não versionar saídas de coleta nem PDFs.
Roadmap e changelog¶
- O plano público de desenvolvimento fica em Roadmap.
- Mudanças por versão ficam no
CHANGELOG.mdda raiz do repositório. - Logs internos de sessão não fazem parte da documentação pública do pacote.