python-boilerplate-project
python-boilerplate-project copied to clipboard
A python boilerplate project using poetry and ruff
python-boilerplate-project
A python boilerplate project using poetry
Technology and Resources
- Python 3.11 - pre-requisite
- Docker - pre-requisite
- Docker Compose - pre-requisite
- Poetry - pre-requisite
- Ruff
Please pay attention on pre-requisites resources that you must install/configure.
How to install, run and test
Environment variables
Use this section to explain each env variable available on your application
| Variable | Description | Available Values | Default Value | Required |
|---|---|---|---|---|
| ENV | The application enviroment | dev / test / qa / prod |
dev |
Yes |
| PYTHONPATH | Provides guidance to the Python interpreter about where to find libraries and applications | ref | . |
Yes |
Note: When you run the install command (using docker or locally), a .env file will be created automatically based on env.template
| Command | Docker | Locally | Description |
|---|---|---|---|
| install | make docker/install |
make local/install |
to install |
| tests | make docker/tests |
make local/tests |
to run the tests with coverage |
| lint | make docker/lint |
make local/lint |
to run static code analysis using ruff |
| lint/fix | make docker/lint/fix |
make local/lint/fix |
to fix files using ruff |
| run | make docker/run |
make local/run |
to run the project |
| build image | make docker/image/build |
- | to build the docker image |
| push image | make docker/image/push |
- | to push the docker image |
Helpful commands
Please, check all available commands in the Makefile for more information.
Logging
This project uses a simple way to configure the log with logging.conf to show the logs on the container output console.
Settings
This project uses a simple way to manage the settings with settings.conf and ConfigParser using a config class.