All Projects → MartinHeinz → Python Project Blueprint

MartinHeinz / Python Project Blueprint

Licence: mit
Blueprint/Boilerplate For Python Projects

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Python Project Blueprint

Go Project Blueprint
Blueprint/Boilerplate For Golang Projects
Stars: ✭ 376 (-43.88%)
Mutual labels:  makefile, boilerplate, blueprint
Flasksaas
A great starting point to build your SaaS in Flask & Python, with Stripe subscription billing 🚀
Stars: ✭ 412 (-38.51%)
Mutual labels:  boilerplate, template
Reactnativets
Boilerplate of a React Native project in Typescript.
Stars: ✭ 364 (-45.67%)
Mutual labels:  boilerplate, template
Flask Restplus Boilerplate
A boilerplate for flask restful web service
Stars: ✭ 466 (-30.45%)
Mutual labels:  makefile, blueprint
Base
A starting point for Meteor apps.
Stars: ✭ 654 (-2.39%)
Mutual labels:  boilerplate, template
Koa Vue Notes Api
🤓 This is a simple SPA built using Koa as the backend, Vue as the first frontend, and React as the second frontend. Features MySQL integration, user authentication, CRUD note actions, and async/await.
Stars: ✭ 342 (-48.96%)
Mutual labels:  boilerplate, template
Nestjs Bff
A full-stack TypeScript solution, and starter project. Includes an API, CLI, and example client webapp. Features include production grade logging, authorization, authentication, MongoDB migrations, and end-to-end testing.
Stars: ✭ 450 (-32.84%)
Mutual labels:  boilerplate, template
Grumbler
A template for writing distributable front-end javascript modules.
Stars: ✭ 280 (-58.21%)
Mutual labels:  boilerplate, template
Hartija Css Print Framework
Universal CSS for web printing
Stars: ✭ 509 (-24.03%)
Mutual labels:  boilerplate, template
Flask Empty
An empty project skeleton / boilerplate for flask projects. Powered by CookieCutter.
Stars: ✭ 569 (-15.07%)
Mutual labels:  boilerplate, blueprint
Web
⚡️ Supercharged version of Create React App with all the bells and whistles.
Stars: ✭ 594 (-11.34%)
Mutual labels:  boilerplate, template
React Native Meteor Boilerplate
Stars: ✭ 637 (-4.93%)
Mutual labels:  boilerplate, template
Nuxt Material Admin
Vue-CLI Boilerplate based on Nuxt and vue-material-admin template.
Stars: ✭ 310 (-53.73%)
Mutual labels:  boilerplate, template
Graphql Starter
💥 Monorepo template (seed project) pre-configured with GraphQL API, PostgreSQL, React, Relay, and Material UI.
Stars: ✭ 3,377 (+404.03%)
Mutual labels:  boilerplate, template
React App
Create React App with server-side code support
Stars: ✭ 614 (-8.36%)
Mutual labels:  boilerplate, template
Koa Rest Api Boilerplate
💯 Boilerplate for Node.js Koa RESTful API application with Docker, Swagger, Jest, CodeCov and CircleCI
Stars: ✭ 420 (-37.31%)
Mutual labels:  boilerplate, template
Sfml Vscode Boilerplate
A cross-platform SFML 2.5.1 & C++17 build environment for Visual Studio Code
Stars: ✭ 156 (-76.72%)
Mutual labels:  makefile, boilerplate
Create React App Material Typescript Redux
A ready to use boilerplate for starting big react projects
Stars: ✭ 257 (-61.64%)
Mutual labels:  boilerplate, template
Template Python
A template for new Python libraries.
Stars: ✭ 479 (-28.51%)
Mutual labels:  makefile, template
Chrome Extension Typescript Starter
Chrome Extension TypeScript Starter
Stars: ✭ 601 (-10.3%)
Mutual labels:  boilerplate, template

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].