jonasrk / python-project-blueprint

Blueprint/Boilerplate For Python Projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Blueprint/Boilerplate For Python Projects

Build, Test and Lint Action Push Action Test Coverage Maintainability Quality Gate Status

Blog Posts - More Information About This Repo

You can find more information about this project/repository and how to use it in following blog post:

Quick Start

To use this repository as starter for your project you can run configure_project.sh script, which sets up all variables and file names. This way you can avoid configuring and renaming things yourself:

./configure_project.sh MODULE="coolproject" REGISTRY="docker.pkg.github.com/martinheinz/repo-name"

Running

Using Python Interpreter

~ $ make run

Using Docker

Development image:

~ $ make build-dev
~ $ docker images --filter "label=name=blueprint"
REPOSITORY                                                             TAG                 IMAGE ID            CREATED             SIZE
docker.pkg.github.com/martinheinz/python-project-blueprint/blueprint   3492a40-dirty       acf8d09acce4        28 seconds ago      967MB
~ $ docker run acf8d09acce4
Hello World...

Production (Distroless) image:

~ $ make build-prod VERSION=0.0.5
~ $ docker images --filter "label=version=0.0.5"
REPOSITORY                                                             TAG                 IMAGE ID            CREATED             SIZE
docker.pkg.github.com/martinheinz/python-project-blueprint/blueprint   0.0.5               65e6690d9edd        5 seconds ago       86.1MB
~ $ docker run 65e6690d9edd
Hello World...

Testing

Test are ran every time you build dev or prod image. You can also run tests using:

~ $ make test

Pushing to GitHub Package Registry

~ $ docker login docker.pkg.github.com --username MartinHeinz
Password: ...
...
Login Succeeded
~ $ make push VERSION=0.0.5

Cleaning

Clean Pytest and coverage cache/files:

~ $ make clean

Clean Docker images:

~ $ make docker-clean

Resources

About

Blueprint/Boilerplate For Python Projects

License:MIT License


Languages

Language:Makefile 39.7%Language:Dockerfile 25.6%Language:Shell 19.9%Language:Python 14.8%