This document outlines scope, deliverables, and acceptance criteria to initiate Phase 7.
Prepare the project for distribution: consistent packaging, console entry points, and publish pipeline. Keep dependencies minimal and preserve current APIs.
- Adopt PEP 621
[project]metadata inpyproject.toml(or choose and standardize Poetry workflow) — pick one path and make it consistent. - Add a console script entry point for CLI (e.g.,
syntech-monitor). - Set up PyPI publish workflow via GitHub Actions (tag-driven release).
- Generate API/docs site (mkdocs or pdoc) and publish to GitHub Pages.
- Update README with install + usage; link to docs site.
pip install syntechrev-polycodcalworks locally from a built wheel.syntech-monitor --helpruns the CLI entry point successfully.- GitHub Action builds sdist/wheel on tag push, uploads to PyPI (or TestPyPI) with secrets configured.
- Docs site builds and deploys to GitHub Pages; README links to it.
- Lint, type check, and tests pass; coverage does not regress.
- Packaging
- Normalize
pyproject.tomlwith[project]metadata (name, version, description, authors, license, classifiers). - Ensure
srclayout is correctly included; verify package data if needed.
- Normalize
- CLI Entry Point
- Define console script in
pyproject.toml. - Ensure CLI module maps to entry point (
scripts/feedback_monitor.pyor better:syntechrev_polycodcal.__main__).
- Define console script in
- CI: Build & Publish
- Add GitHub Action to build sdist/wheel on tag.
- Add publish step to PyPI/TestPyPI with repository secrets.
- Docs
- Choose mkdocs-material or pdoc.
- Add basic nav (Overview, Usage, API, Development Guides).
- Configure Pages deploy.
- Documentation Updates
- README: install, quick start, link to docs site.
- CHANGELOG: Unreleased → add Phase 7 tasks.
- Keep dependencies minimal; avoid heavy doc build plugins unless necessary.
- Do not break existing APIs; changes to CLI should be additive.
- Packaging drift: lock on one tool (PEP 621 or Poetry) and document it.
- Secret management: use GitHub Encrypted Secrets; provide TestPyPI as default.
- Doc deployment failures: add action retry and validate build locally.
- Create a feature branch:
feature/phase7-packaging. - Implement packaging and entry point; add CI workflow in
.github/workflows/release.yml. - Open PR with full quality checks.
- Publish to TestPyPI from a tag
- Docs site live on GitHub Pages
- README updated
- CI green across matrix