Blueprint/Boilerplate For Python Projects

Blueprint/Boilerplate For Python Projects

Popularity
4.9
Stable
Activity
0.0
Stable
970
37
230

Description

Starting any project from scratch can be a daunting task... But not if you have this ultimate Python project blueprint!

Programming language: Makefile
License: MIT License
Latest version: v0.0.6

Blueprint/Boilerplate For Python Projects alternatives and similar packages

Based on the "RESTful API" category.
Alternatively, view Blueprint/Boilerplate For Python Projects alternatives based on common mentions on social networks and blogs.

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.

Do you think we are missing an alternative of Blueprint/Boilerplate For Python Projects or a related project?

Add another 'RESTful API' Package

README

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

Kubernetes

Application can be easily deployed on k8s using KinD.

To create cluster and/or view status:

~ $ make cluster

To deploy application to local cluster:

~ $ make deploy-local

To get debugging information of running application:

~ $ make cluster-debug

To get remote shell into application pod:

~ $ make cluster-rsh

To apply/update Kubernetes manifest stored in k8s directory:

~ $ make manifest-update

Setting Up Sonar Cloud

  • Navigate to https://sonarcloud.io/projects
  • Click plus in top right corner -> analyze new project
  • Setup with other CI tool -> other -> Linux
  • Copy -Dsonar.projectKey= and -Dsonar.organization=
    • These 2 values go to sonar-project.properties file
  • Click pencil at bottom of sonar-scanner command
  • Generate token and save it
  • Go to repo -> Settings tab -> Secrets -> Add a new secret
    • name: SONAR_TOKEN
    • value: Previously copied token

Creating Secret Tokens

Token is needed for example for GitHub Package Registry. To create one:

  • Go to Settings tab
  • Click Secrets
  • Click Add a new secret
    • Name: name that will be accessible in GitHub Actions as secrets.NAME
    • Value: value

Resources

Do not miss the trending, packages, news and articles with our weekly report.

Awesome Python is part of the LibHunt network. Terms. Privacy Policy.

(CC)
BY-SA
We recommend Spin The Wheel Of Names for a cryptographically secure random name picker.

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /