Python template with CI/CD ready for production
- main: For libraries and/or console applications
- typer: Command line interfaces implemented with Typer
- fastapi: For web applications implemented with FastAPI
- Management of dependencies with Poetry
- Generation of documentation based on Markdown with Material for Mkdocs
- Automatic check of the pythonic style with flake8, black and isort
- Automatic code checking with pytest
- Automatic code report with codecov
- Automatic code reviews with deepsource
- Automatic publish to GitHub Releases
- Automatic publish to PyPI
- Automatic dependency update check with dependabot
All of the above via GitHub Actions and GitHub Pages
Install cookiecutter (Official Instructions)
At the command line:
python3 -m pip install --user cookiecutterOr, if you do not have pip:
easy_install --user cookiecutterThough, pip is recommended.
Or, if you are using conda, first add conda-forge to your channels:
conda config --add channels conda-forgeOnce the conda-forge channel has been enabled, cookiecutter can be installed with:
conda install cookiecutterHomebrew (Mac OS X only):
brew install cookiecutterPipx (Linux, OSX and Windows):
pipx install cookiecutterDebian/Ubuntu:
sudo apt-get install cookiecutterFirst, read History in detail. There are a lot of major changes. The big ones are:
Cookiecutter no longer deletes the cloned repo after generating a project.
Cloned repos are saved into ~/.cookiecutters/.
You can optionally create a ~/.cookiecutterrc config file.
Upgrade Cookiecutter either with easy_install:
easy_install --upgrade cookiecutterOr with pip:
python3 -m pip install --upgrade cookiecutterThen, after you have installed cookiecutter, execute the following command in the terminal of your choice:
cookiecutter gh:leynier/python-template --checkout <branch>Where <branch> can be main, fastapi, typer, etc.
cookiecutter gh:leynier/python-template --checkout fastapiThis project is collaborative and open source under the MIT license. Contributions are super appreciated.