In this template, we aimed to combine the most state-of-the-art libraries and best development practices for Python.
For your development we've prepared:
Supports for Python 3.7 and higher.
Poetry as the dependencies manager. See configuration in pyproject.toml and setup.cfg.
Ready-to-use pre-commit hooks with formatters above.
Type checks with the configured mypy.
Testing with pytest.
Docstring checks with darglint.
Well-made .editorconfig and .gitignore. You don't have to worry about those things.
For building and deployment:
GitHub integration.
Makefile for building routines. Everything is already set up for security checks, codestyle checks, code formatting, testing, linting, docker builds, etc. More details at Makefile summary).
Dockerfile for your package.
Github Actions with predefined build workflow as the default CI/CD.
Always up-to-date dependencies with @dependabot (You will only need to setup free plan).
Automatic drafts of new releases with Release Drafter. It creates a list of changes based on labels in merged Pull Requests. You can see labels (aka categories) in release-drafter.yml. Works perfectly with Semantic Versions specification.
For creating your open source community:
Ready-to-use Pull Requests templates and several Issue templates.
Files such as: LICENSE, CONTRIBUTING.md, and CODE_OF_CONDUCT.md are generated automatically.
Stale bot that closes abandoned issues after a period of inactivity. (You will only need to setup free plan). Configuration is here.
Semantic Versions specification with Release Drafter.
github地址:https://github.com/TezRomacH/python-package-template