The "BCBB Package Template" project provides a skeleton structure for new Python packages and projects which contains an advanced starting point for continuous integration, configuration, software quality and implementations for best practices for modern Python project development. The project is configured with Github Actions support the following:
- Linting is done with pre-commit which is configured to use several Python tools.
- Testing is performed with pytest.
- Automatically run on pull requests and updates to the main branch.
- Documentation uses Sphinx.
- Uses the reSTructuredText format.
- Sphinx is configured to automatically document the classes and procedures (API) defined.
- Automatically published on the main branch updates.
- Build Python packages as wheels.
- Built as artifacts on main branch updates.
- Publish Releases
- Releases are automatically triggered with a push for git tags matching v*.
- Artifacts automatically published to GitHub Releases, and to NIAID's artifactory under bcbb-pypi.
Sphinx docs: https://cautious-umbrella-90d21757.pages.github.io/