Description
Starting any project from scratch can be a daunting task… But not if you have this ultimate Python project blueprint!
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.
-
django-rest-framework
A powerful and flexible toolkit to build web APIs. -
falcon
A high-performance framework for building cloud APIs and web app backends. -
eve
REST API framework powered by Flask, MongoDB and good intentions. -
flask-restful
Quickly building REST APIs for Flask. -
hug
A Python3 framework for cleanly exposing APIs over HTTP and the Command Line with automatic documentation and validation. -
apistar
A smart Web API framework, designed for Python 3. -
doccano
Open source text annotation tool for machine learning practitioner. -
django-tastypie
Creating delicious APIs for Django apps. -
connexion
Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support -
Django REST Swagger
Swagger Documentation Generator for Django REST Framework -
Flask RestPlus
Fully featured framework for fast, easy and documented API development with Flask -
flasgger
Creates Swagger 2.0 API documentation for all your Flask views extracting specs from docstrings or referenced files -
sandman
Automated REST APIs for existing database-driven systems. -
flask-ask
Rapidly develop Alexa Skills for Amazon Echo devices using Python -
django-sql-explorer
Easily share data across your company via SQL queries. From Grove Collab. -
sandman2
Automated REST APIs for existing database-driven systems. -
flask-restless
Generating RESTful APIs for database models defined with SQLAlchemy. -
flask-api
Browsable Web APIs for Flask. -
Dependency Injector
dependency-injection -
apispec
A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification). -
SimpleLogin
Open source email alias solution -
restless
Framework agnostic REST framework based on lessons learned from Tastypie. -
Flask Google Maps
Easy way to add GoogleMaps to Flask applications. -
django-admin-interface
django-admin-interface is a customizable responsive admin interface, based on a modern flat theme, it lets you customize the admin title, logo and colors by the admin itself. Popup windows replaced by modals. -
bravado
Bravado is a Yelp maintained fork of digium/swagger-py for use with OpenAPI Specification version 2.0 -
PEP 8 Speaks
A GitHub app to automatically review Python code style over Pull Requests -
cornice
A REST framework for Pyramid. -
Flask-Redis
A Flask extension for using Redis -
pyswagger
A python client for Swagger enabled REST API. -
django-maintenance-mode
django-maintenance-mode shows a 503 error page when maintenance mode is on. -
ripozo
Quickly creating REST/HATEOAS/Hypermedia APIs. -
Flask-Diamond
Flask-Diamond is a batteries-included Flask framework. -
appkernel
Python micro-services made easy: a beautiful, opinionated micro-service chassis -
PyMedium
Unofficial Medium Python Flask API and SDK -
django-newsfeed
A news curator and newsletter subscription package for Django -
Flask Apps
Flask - Free and commercial open-source apps | AppSeed -
django-treenode
Probably the best abstract model / admin for your tree based stuff. -
Flask Paper Kit
Flask Paper Kit - Full-Stack App with Paper Design | AppSeed -
Geek-Jokes API
Random Geek Jokes REST API -
Changelog CI
Changelog CI is a GitHub Action that generates changelog, prepends it to CHANGELOG.md file and commits it to a release pull request -
django-template
A flexible Django 1.4-1.9 project template with configurations for EC2, Heroku, App Engine, and Docker. -
django-modern-rpc
Simple XML-RPC and JSON-RPC server for Django 1.8+ -
django-formapi
Create JSON APIs with Django's form validation. -
flask-api-utils
Taking care of API representation and authentication for Flask. -
Python Blogs
A curated list of python programming language blogs -
abilian-core
Abilian Core framework and services -
Cilantropy
Cilantropy is a Python Package Manager interface created to provide an "easy-to-use" visual and also a command-line interface for Pythonistas.
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Blueprint/Boilerplate For Python Projects or a related project?
Popular Comparisons
-
Blueprint/Boilerplate For Python Projectsvsflask-restful
-
Blueprint/Boilerplate For Python Projectsvsflask-api
-
Blueprint/Boilerplate For Python Projectsvsdjango-formapi
-
Blueprint/Boilerplate For Python Projectsvsdjango-tastypie
-
Blueprint/Boilerplate For Python Projectsvsdjango-rest-framework
README
Blueprint/Boilerplate For Python Projects
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:
- Ultimate Setup for Your Next Python Project
- Automating Every Aspect of Your Python Project
- Deploy Any Python Project to Kubernetes
- Implementing gRPC server using Python
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
- These 2 values go to
- 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
- name:
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
- Name: name that will be accessible in GitHub Actions as