This repository contains a sample projects with boilerplate to handle different use cases. Currently it focuses on automating common development tasks like linting, type checking, installing packages, building Docker images, etc.
See docs for development best practices:
- Python project layouts
- Best practices for Python development
- Automation tools to use during Python development
- Writing Dockerfiles
- Writing tests
This repository uses cookiecutter to create new projects for their use cases. We recommend using virtualenv for package management. Generally speaking, these projects assume python 3.8 or later.
$ python -m venv default
$ source default/bin/activate
$ pip install cookiecutter invoke
$ cookiecutter "https://github.com/mmehrten/python.git" --directory "cookiecutters/python_core"
From there, you can see the project-specific READMEs for further instructions.
A library to help with common development tasks. Includes documentation for project standards as well.
invoke develop
invoke install
invoke format
invoke check
invoke test
invoke test-behavioral
invoke test-performance
invoke build-docs
invoke build-docker
invoke build-lambdas
invoke build-targz