The README.md
of the repository is included below:
This is my personal template repository for python projects containing everything needed to start developing.
Quickstart
git clone https://github.com/MultifokalHirn/python_template_repo.git
cd python_template_repo/
make bootstrap # sets up virtual environment and installs pdm
make dev # sets up dev environment and installs dependencies
make ci # runs formatter, linter, typechecker, and tests
See CONTRIBUTING.md
for information on how to setup and contribute to this project.
Features
pyproject.toml
withpdm
as dependency manager- Coverage Reporting and automated badge generation
Makefile
with targets for common tasks like setting up the dev environment, running tests, and formatting code- Dev packages configured out of the box (in
pyproject.toml
) pre-commit
hooks in.pre-commit-config.yaml
- Templates for Issues and PRs on GitHub
- Github Actions for testing and linting
- Dependabot config for automated dependency updates
- Configuration for VSCode in
.vscode/
Roadmap
Demo Project
- create demo project to showcase best practices and features
Improve Documentation
- document project structure
- document pyenv
- expand list of tools I have tried and decided against
Ideas for v2 Release
- set up tox for testing with multiple python versions
- set up Dockerfile
- docker-compose for easy setup of dev environment
- set up devcontainer
- set up commitizen
- set up semantic-release
- set up github actions for semantic versioning
“Why don’t you use X?”
This template is meant to be a starting point for my own projects and may not follow other people’s preferred setups.
Depending on the tool of configuration detail, I either actively decided against something or I have not yet tried them.
If you have any suggestions for improvements, or tools to check out, please file an issue.
Tried and Decided Against
black
- I like configuring stuffflake8
- replaced byruff
autopep8
- replaced byruff
isort
- replaced byruff
poetry
- usingpdm
instead because of bad experience withpoetry
Currently in Evaluation
tox
readthedocs
Troubleshooting
In this section, you will find some common issues you might encounter and how to resolve them. If you are experiencing any issues that are not covered here, please file an issue.
I does not work! I tried everything
Well, have you tried turning it off and on again?
License
This project is authored by Lennard Wolf and open sourced under MIT license, see LICENSE
for details.