Awesome Flask Awesome

A curated list of awesome Flask resources and plugins

Framework

  • Connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation and OAuth2 support
  • Flask-MongoRest - Restful API framework wrapped around MongoEngine
  • Eve - REST API framework powered by Flask, MongoDB and good intentions
  • Flask-Restless - A Flask extension for creating simple ReSTful APIs from SQLAlchemy models
  • Flask-RESTful - Simple framework for creating REST APIs
  • Flask-RestPlus - syntaxic sugar, helpers and automatically generated Swagger documentation.
  • Flask-Potion - RESTful API framework for Flask and SQLAlchemy
  • Zappa - Build and deploy server-less Flask applications on AWS Lambda and API Gateway

Admin interface

  • Flask-Admin - Simple and extensible administrative interface framework for Flask

Analytics

  • Flask-Analytics - Analytics snippets generator extension for the Flask framework
  • Flask-Matomo - Track requests to your Flask website with Matomo

Authentication

  • Flask-Security - Quick and simple security for Flask applications
  • Flask-Login - Flask user session management
  • Flask-User - Customizable user account management for Flask
  • Flask-HTTPAuth - Simple extension that provides Basic and Digest HTTP authentication for Flask routes
  • Flask-Praetorian - Strong, Simple, and Precise security for Flask APIs (using jwt)

Authorization

  • Authlib - Authlib is an ambitious authentication library for OAuth 1, OAuth 2, OpenID clients, servers and more.
  • Authomatic - Authomatic provides out of the box support for a number of providers using OAuth 1.0a (Twitter, Tumblr and more) and OAuth 2.0 (Facebook, Foursquare, GitHub, Google, LinkedIn, PayPal and more)
  • Flask-Pundit - Extension based on Rails' Pundit gem that provides easy way to organize access control for your models
  • Flask-Dance - OAuth consumer extension for Flask, shipped with pre-set support for Facebook, GitHub, Google, etc.

Database

Database Migrations

  • Flask-Migrate - SQLAlchemy database migrations for Flask applications using Alembic

Session

Cache

Data Validation

  • Flask-WTF - Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration.

Email

  • Flask-Mail - Flask-Mail adds SMTP mail sending to your Flask applications

i18n

  • flask-babel - i18n and l10n support for Flask based on Babel and pytz

Full-text searching

Rate Limiting

  • Flask-Limiter - Flask-Limiter provides rate limiting features to flask routes

Task Queue

Exception tracking

Tracing

APM

Other SDK

Frontend

  • Flask-CORS - A Flask extension for handling Cross Origin Resource Sharing (CORS), making cross-origin AJAX possible
  • flask-assets - Flask webassets integration
  • flask-s3 - Seamlessly serve your static assets of your Flask app from Amazon S3
  • Flask-SSLify - Force SSL on your Flask app
  • Flask-HTMLmin - Flask html minifier

Development (Debugging/Testing/Documentation)

  • Flasgger - Create API documentation for Flask views using Swagger 2.0 specs
  • flask-apispec - simple self-documenting APIs with flask
  • flask2postman - Generate a Postman collection from your Flask application
  • flask_profiler - endpoint analyzer/profiler for Flask
  • Flask-DebugToolbar - A port of the django debug toolbar to flask
  • flask-debug-toolbar-mongo - MongoDB panel for the Flask Debug Toolbar
  • Flask-Testing - Unittest extensions for Flask
  • pytest-flask - A set of pytest fixtures to test Flask applications
  • Flask-MonitoringDashboard - Automatically monitor the evolving performance of Flask/Python web services.
  • nplusone - Auto-detect n+1 queries with Flask and SQLAlchemy
  • connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support.

Utils

  • flask-marshmallow Flask + marshmallow for beautiful APIs
  • flask-jsonrpc - A basic JSON-RPC implementation for your Flask-powered sites
  • Flask-Bcrypt - Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application
  • Mixer - Mixer is application to generate instances of Django or SQLAlchemy models
  • Flask-FeatureFlags - A Flask extension that enables or disables features based on configuration
  • Flask-Reggie - Regex Converter for Flask URL Routes
  • Flask-SocketIO - Socket.IO integration for Flask applications
  • Flask-Moment - Formatting of dates and times in Flask templates using moment.js
  • Flask-Paginate - Pagination support for Flask
  • Flask-graphql - Adds GraphQL support to your Flask application

Resources

Tutorials

Courses

Books

Slides

Videos

Built with Flask

  • zmusic-ng - ZX2C4 Music provides a web interface for playing and downloading music files using metadata.
  • GuitarFan - guitar tab
  • June - python-china.org
  • Zerqu - ZERQU is a content-focused API-based platform. eg: Python-China
  • motiky
  • missing - a list service called missing
  • thenewsmeme.com
  • overholt - Example Flask application illustrating common practices
  • pypress - flask team blog
  • thepast.me
  • redispapa - another redis monitor by using flask, angular, socket.io
  • flaskblog - a simple blog system based on flask
  • cleanblog - a clean blog system based on flask and mongoengine
  • Quokka CMS - CMS made with Flask and MongoDB
  • chat - a live chat built with python (flask + gevent + apscheduler) + redis
  • chatapp - Flask and Angular.js Chat Application using Socket.io
  • Frozen-Flask - Freezes a Flask application into a set of static files
  • mcflyin - A small timeseries transformation API built on Flask and Pandas
  • Skylines - Live tracking, flight database and competition framework
  • airflow - Airflow is a system to programmatically author, schedule and monitor data pipelines.
  • timesketch - Collaborative forensics timeline analysis
  • changes - A dashboard for your code. A build system.
  • security_monkey - monitors policy changes and alerts on insecure configurations in an AWS account.
  • securedrop- an open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources.
  • sync_engine - IMAP/SMTP sync system with modern APIs
  • cleansweep - Volunteer & Campaign Management System
  • indico - a general-purpose event management web-based solution. It includes a full-blown conference organization workflow as well as tools for meeting management and room booking. It provides as well integration with video-conferencing solutions.
  • flaskbb - A classic Forum Software in Python using Flask.
  • [PythonBuddy] (https://github.com/ethanchewy/PythonBuddy) - Online Python Editor With Live Syntax Checking and Execution

Boilerplate