Product logging library to provide consistent logging across components.
Loggers can be obtained thusly:
from di_logging import get_logger
logger = get_logger(__name__)
This code should be placed at the top level within a module and this logger used throughout the component.
If an application or system is being written the logging should be configured within the main entry point;
from di_logging import configure_logging
if __name__ == "__main__":
configure_logging()
do_the_stuff()
This will setup the logging for the system.
☛ Includes a semantic release system, which generates a new release on GitHub, including a changelog.
The version is automatically changed accordingly to the commit message that results from merging the PR.
☛ breaking-change/CAP-123
Something runs the pipeline and bumps major version: 1.0.0 → 2.0.0
☛ feature/CAP-123 Something
runs the pipeline and bumps minor version: 1.0.0 → 1.1.0
☛ fix/CAP-123 Something
runs the pipeline and bumps patch version: 1.0.0 → 1.0.1
☛ CAP-123 Something
just runs the pipeline
⚠ If this flow is unclear to you, don't hesitate in contacting DevOps team ⚠
Create a .env
file from the existent .env.example
file. Make sure to update it accordingly with your environment variables.
poetry config virtualenvs.create true
poetry config virtualenvs.in-project true
poetry install
Execute make start-dependencies
in order to start whichever dependencies your project might have. You should always have the base Python image.
Execute make run
and your application should be running.
Execute make stop-dependencies
when you no longer need to execute your project.
Execute make sync-requirements
to rebuild the docker image.
Run make
Run make test
Run make coverage