py-12f-common
About
This repository holds those infrastructure-level modules, that every application requires that follows the core 12-factor principles.
Install
Prerequisites
- Python3
- Task
Install Python and module dependencies
Install Python 3, using some virtual environment.
Create and switch to a virtual environment dedicated to this project.
For development, install the package and its dependencies in editable mode, using task:
    task install-dev-editable
or directly with the pip command:
    pip install -e .[dev] .
NOTE: The task install-... tasks also installs git hooks (e.g. pre-commit). The git hooks are simple bash scripts, that call tasks, for example the pre-commit hook will call the task pre-commit command.
Usage
List the available tasks:
    task list
    task: Available tasks for this project:
    * build-docker:         Build docker image
    * clean:                Clean temporary files and folders
    * coverage:             Test coverage
    * default:              Executes all the tests then build the binary.
    * docs:                 Generate module documentation into the docs/ folder
    * format:               Autoformat the source files
    * install:              Install the package and its dependencies
    * install-dev:          Install the package and its dependencies for development
    * install-dev-editable: Install the package and its dependencies for development with editablility
    * install-git-hooks:    Install git hooks
    * lint:                 Run python linter
    * pre-commit:           Runs the QA tasks from a git pre-commit hook
    * test:                 Run all the tests.
    * test-verbose:         Run all the go tests.
Run tests:
    task test-verbose
 
 
