poetry-quickstart-cookiecutter
Honed cookiecutter quickstart for Python projects
Overview
This cookie-cutter aims to bring npm
levels of automation and simplicity to the life of Python developer, it is focused on productivity without compromises. It tries to be the Mac
of cookie-cutters
- It is infused with several years of professional experience with Python.
- It strives to be powerful without feeling heavy.
- It's tries to abstract away all the different tools and names into simple commands like
lint
ortest
. - It comes
watch
commands, allowing continuous testing and linting. - It comes pre-fitted with powerful set of linting and testing tools ready to help you build rock-solid state-of-art Python application.
- It comes with opinionated config, so that you can focus on what's important - programming.
Setup
Poetry and Cookiecutter are required as depencies, it is recommended to install them with pipx
pipx install poetry cookiecutter
This repo can be used as a template using:
cookiecutter https://github.com/petereon/poetry-quickstart-cookiecutter.git
Notes
- If you want to set up a SonarQube Scan, you will need to include a
SONAR_TOKEN
andACTIONS_TOKEN
in the repository secrets - If you want to set up Deta deployment you will need an additional
DETA_TOKEN
and a file calledmain.py
insrc/
folder importing or defining yourapp
instance of FastAPI, Flask, or Starlette application
Usage
There are poe
tasks defined for most of the common needs:
poe test
which runs the ward unit testspoe test:watch
which runspoe test
in watch modepoe lint
which runs several linting solutionspoe lint:watch
which runspoe lint
in watch modepoe lint:perf
which runspoe lint
andperflint
poe bdd
which runs the behave bdd testspoe bdd:watch
which runspoe bdd
in watch modepoe test:all
which runspoe test
andpoe bdd