Awesome Flask 
A curated list of awesome things related to Flask.
Flask is a lightweight WSGI web application framework written in Python.
Contents
- Third-Party Extensions
- Admin
- APIs
- Auth
- Cache
- Data Validation and Serialization
- Databases
- Developer Tools
- Forms
- Full-text Search
- Security
- Task Queues
- Utils
- Resources
- Official Resources
- External Resources
- Community
- Conferences
- Meetups
- Podcasts
- Tutorials
- Courses
- Books
- Videos
- Hosting
- PaaS
- IaaS
- Serverless
- Projects
- Boilerplates
- Open Source Projects
Third-Party Extensions
Admin
- Flask-Admin - Functional admin panel that provides a user interface for managing data based on your models.
APIs
RESTful API Support
- Eve - RESTful API framework designed for human beings.
- Flask-Classful - Adds support for class-based views for setting up RESTful API route endpoints.
- Flask-MongoRest - RESTful API framework wrapped around MongoEngine.
- Flask-RESTful - Quickly build RESTful APIs.
RESTful API + Swagger/OpenAPI Documentation Support
- APIFlask - Integrates marshmallow for validation and serialization, and for OpenAPI generation with Swagger UI.
- Connexion - Open source, OpenAPI-based, REST framework built on top of Flask.
- Flasgger - OpenAPI and Swagger UI. Builds the API from Flasgger models, marshmallow models, dicts, or YAML files.
- Flask-Rebar - Combines Flask, marshmallow, and OpenAPI for robust REST services.
- Flask-RESTX - Community-driven fork of Flask-RESTPlus that makes it easy to build and document RESTful APIs with Flask.
- flask-smorest - Marshmallow's official Flask REST integration. Uses marshmallow models for request/response validation and serialization, and generates OpenAPI with Swagger UI.
Swagger/OpenAPI Documentation Support
- SAFRS: Python OpenAPI & JSON:API Framework - SAFRS, which is an acronym for SqlAlchemy Flask-Restful Swagger, is meant to help developers create self-documenting JSON APIs for SQLAlchemy database objects and relationships.
Auth
Basic Auth and Session-based (for HTML Endpoints)
- Flask-HTTPAuth - Authentication.
- Flask-Login - Account management and authentication.
- Flask Principal - Authorization.
- Flask-Security-Too - Account management, authentication, authorization.
- Flask-Session - Session managment.
- Flask-SimpleLogin - Authentication.
- Flask-User - Account management, authentication, authorization.
Curious about the differences differences between Flask-User and Flask-Security? Review the Flask-User FAQ.
JWT-based (for JSON Endpoints)
- Flask-JWT - Basic support for working with JWTs.
- Flask-JWT-Extended - Advanced support for working with JWTs.
- Flask-JWT-Router - Adds authorized routes to a Flask app.
- Flask-Praetorian - Authentication and authorization for Flask APIs.
OAuth
- Authlib - Library for building OAuth and OpenID clients and servers.
- Authomatic - Framework agnostic library for Python web applications that simplifies authentication and authorization of users via OAuth and OpenID.
- Flask-Dance - OAuth support via OAuthLib.