Python Template repository
Description •
Install •
Usage •
Use this template •
FAQ •
Contribute
Documentation
pytere
stands for Python template repository.
It's just a template repository for python, with the following features :
- 📚 Beautiful documentation with Material for Mkdocs, published as a Github page with mike automatically
- ✨ Modern code style checks with ruff
🅿️ Easy development with pre-commit hooks- ✅ Tests with pytest and automatic coverage without external tools
- CI with Github actions
- 📝 Issues & PR templates
- 🤖 Stale bot & Dependabot
- 🚀 Releases automatically published to PyPi
Install pytere
by running :
pip install pytere
For development, you can install it locally by first cloning the repository :
git clone https://github.com/astariul/pytere.git
cd pytere
pip install -e .
Or, if you use Github CLI, use:
gh repo fork astariul/pytere
pytere
does not contain any useful code because it's a template repository.
But you can check if the package is correctly installed with :
from pytere import is_odd
print(is_odd(2)) # False
To use this template, click the button "Use this template" :
It will prompt you to create a new Github repository.
Then replace the content in your freshly created repository, with your own package name, own code, and update the links to point to your own repository.
Important
Check the documentation for a comprehensive, step-by-step guide on how to use the template.
True, but I couldn't find one that entirely satisfies my needs and uses the tools I want.
For example, a lot of templates use Sphinx for the documentation, but I'm much more comfortable with MkDocs. Or the test coverage was provided by an external tool, but I wanted everything in Github. Etc...
Hence the creation of this repository.
Absolutely !
But some things might not work (for example the release badge), and you might want to remove some features (like automatically pushing to PyPi, or publishing the documentation to Github page)
To contribute, install the package locally, create your own branch, add your code (and tests, and documentation), and open a PR !
Pre-commit hooks are set to check the code added whenever you commit something.
Note
If you never ran the hooks before, install it with :
pip install -e .[hook]
pre-commit install
Then you can just try to commit your code. If your code does not meet the quality required by linters, it will not be committed. You can just fix your code and try to commit again !
Tip
You can manually run the pre-commit hooks with :
pre-commit run --all-files
When you contribute, you need to make sure all the unit-tests pass. You should also add tests if necessary !
Note
Install the testing dependencies with :
pip install -e .[test]
You can run the tests with :
pytest
Tests are not included in the pre-commit hooks, because running the tests might be slow, and for the sake of developpers we want the pre-commit hooks to be fast !
The documentation should be kept up-to-date. You can visualize the documentation locally by running :
mkdocs serve
Note
Before running this, you need to install the documentation dependencies :
pip install -e .[docs]