A curated list of awesome Flask resources and plugins
TWIMC I merged the open PRs from the base repo. Sorry that I could not do it for every PR individually, would have taken to long. Thanks for the contributions tough.
-
Collections
-
Tutorials
- Free Flask Tutorial
- How to build a news app that never goes down and costs you practically nothing (by NPR)
- Building websites in Python with Flask
- The Flask Mega-Tutorial
- Discover Flask - Full Stack Web Development with Flask
- Flaskr - Intro to Flask, Test Driven Development, and jQuery
- Flask by Example
- How to build a Polling/Voting web application with Flask
- Add Google Oauth2 login in your Flask web app
- Token based Authentication with Flask
-
Tutorials API
-
Tutorials Zappa
-
Courses
- Test Driven Development Courses - Microservices with Docker, Flask, and React
- Full Stack Foundations
- Designing RESTful APIs
- REST APIs with Flask and Python
- Professional Python Web Development Using Flask
- Advanced Scalable Python Web Development Using Flask
- The Build a SAAS App with Flask Course
- Rapid Flask
-
Books
-
Slides
- Creating beautiful REST APIs with Flask
- Flask for Fun and Profit - Armin Ronacher, August 20, 2016, has some info about JSON Apis with Flask
- Advanced Flask Patterns
- Flasky Goodness
- Domain Driven Design (... with Flask)
- In Flask we Trust
-
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
- OctBlog - Yet another blog system powered by Flask and MongoDB
- gitmark - An app to manage github repositories
- 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
- flask-chat-socketIO - Chat example with Flask-socketIO and Vuejs
- 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. https://flaskbb.org
- Facture - Web app to quickly generate invoices in PDF
-
App template/bootstrap/boilerplate
- fbone
- flask-base
- cookiecutter-flask - good!
- cookiecutter-flask-pythonic
- Flask-Foundation
- Flask-note - Clone of Evernote with Flask and Markdown. Example application for managing notes
- Flask-contacts - Example of CRUD with Flask to manage a contact list
- Flask-Empty
- flask-rest-template
- gae-init - Flask boilerplate running on Google App Engine
- GAE Starter Kit - Flask, Flask-Login, WTForms, UIKit, and more, running on Google App Engine
- redash - Make Your Company Data Driven. Connect to any data source, easily visualize and share your data
- pyxley - Python helpers for building dashboards using Flask and React
- Framework
- Connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation and OAuth2 support
- Flask Kit - Flexible microkit for Flask microframework
- Flask API - Browsable web APIs for Flask (in maintenance mode)
- flask-peewee - flask integration for peewee, including admin, authentication, rest api and more
- 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
- enferno - A Flask-based Framework for the Next Decade
- Flasgger - Create API documentation for Flask views using Swagger 2.0 specs
- flask-restful-swagger - A wrapper for flask-restful which enables swagger support
- SQLAlchemy-JSONAPI - A JSON API implementation for SQLAlchemy which can also be used with Flask
- flask-rispozo A tool for quickly creating REST/HATEOAS/Hypermedia APIs in Flask based on Rispozo
- gREST - Build REST APIs with Neo4j and Flask, as quickly as possible!
- Flask Orator Blueprints - Rest Api framework wrapped around Orator-ORM
- Zappa - Build and deploy server-less Flask applications on AWS Lambda and API Gateway
- Admin
- Flask-Admin - Simple and extensible administrative interface framework for Flask
- Flask-SuperAdmin - The best admin interface framework for Flask. With scaffolding for MongoEngine, Django and SQLAlchemy
- Authentication
- Flask-Security - Quick and simple security for Flask applications
- Flask-Login - Flask user session management
- 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-OIDC - OpenID Connect for Flask
- Flask-OpenID - Flask-OpenID adds openid support to flask applications
- Flask-Social - OAuth Provider Integration for Flask-Security
- Flask-OAuthlib - OAuthlib implementation for Flask
- Flask-OAuth - OAuth Support for Flask
- Flask-social-blueprint - OAuth OOP way
- flask-googlefed - Google Federated Logins for Flask
- GitHub-Flask - Flask extension for authenticating users with GitHub and making requests to the API
- Python-Social-Auth - Social auth made simple
- Flask-HTTPAuth - Simple extension that provides Basic and Digest HTTP authentication for Flask routes
- Flask-User - Customizable user account management for Flask
- Flask-FIDO-U2F - FIDO U2F Support for Flask
- Authorization
- Flask-Pundit - Extension based on Rails' Pundit gem that provides easy way to organize access control for your models
- Database/ORM/ODM
- Flask-MongoEngine - MongoEngine flask extension with WTF model forms support
- Flask-PyMongo - PyMongo support for Flask applications
- Flask-MongoAlchemy - Flask support for MongoDB using MongoAlchemy
- Flask-MongoKit - Flask-MongoKit simplifies the use of MongoKit (a powerful MongoDB ORM for Python) within Flask applications
- Flask-SQLAlchemy - Adds SQLAlchemy support to Flask
- Flask-Redis - Redis support for Flask. Not much else to say.
- Flask-And-Redis - Simple as dead support of Redis database for Flask apps
- Flask-CouchDBKit - Flask extension that provides integration with CouchDBKit
- Flask-OrientDB - Flask extension for OrientDB Graph&Document Database
- Flask-Z3950 - Z39.50 integration for Flask applications.
- Flask-Orator - Adds Orator ORM support to Flask applications.
- Database Migrations
- Flask-Migrate - SQLAlchemy database migrations for Flask applications using Alembic
- Flask-Alembic - A Flask Extension to provide Alembic integration with Flask
- Session
- Flask-Session - Session extension for Flask
- Cache
- flask-webcache - A Flask extension that adds HTTP based caching to Flask apps
- flask-heroku-cacheify - Automatic Flask cache configuration on Heroku
- Flask-Dogpile-Cache - Flask wrapper for dogpile.cache
- Static Files
- Flask-Rev - Make Flask play nice with Http Server static file caching
- Data Validation
- Flask-WTF - Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration.
- Flask-SeaSurf - SeaSurf is a Flask extension for preventing cross-site request forgery (CSRF).
- Colander - A serialization/deserialization/validation library for strings, mappings and lists
- Flask-Validator - Data validator for SQLAlchemy using ORM events
- Email
- Flask-Mail - Flask-Mail adds SMTP mail sending to your Flask applications
- flask-notifyAll - A Flask extension to access sending sms/emails/test emails, providers such as: Twilio, Mailtrap.
- i18n
- flask-babel - i18n and l10n support for Flask based on Babel and pytz
- Full-text searching
- Flask-WhooshAlchemy - Whoosh indexing capabilities for Flask-SQLAlchemy
- SQLAlchemy-Searchable - Full-text searching for Flask-SQLAlchemy (Postgres only)
- Rate Limiting
- Flask-Limiter - Flask-Limiter provides rate limiting features to flask routes
- Queue
- Payment
- PagSeguro - Brazil - Example to integrate Flask to PagSeguro Brazilian payment gateway
- alipay_python - not a flask plugin now but you can integrate easily
- flask-paypal - PayPal integration example with Flask
- Flask-WePay - A Flask wrapper for WePay's Python API
- Exception tracking
- Metrics Tracking
- flask-track-usage - Basic metrics tracking for the Flask framework
- Flask-Analytics - A Flask extention that provide user navigation tracking
- Flask-StatHat - StatHat extension for Flask
- scales - Metrics for Python
- flask-tracking - Tracking app for Flask that logs HTTP request and response information in a capped MongoDB collection
- Flask-Analytics - Analytics snippets generator extension for the Flask framework.
- Other SDK
- Flask-GoogleMaps - Build and embed google maps in our Flask templates
- Flask-Dropbox - Dropbox Python SDK support for Flask applications
- Flask-Heroku - Heroku environment variable configurations for Flask
- Flask-Azure-Storage - Flask extension that provides integration with Azure Storage
- flask-wtf-storage - extend flask-wtf to support saving data to google storage
- Flask-Gravatar - Small and simple gravatar usage in Flask
- Flask-WeasyPrint - Make PDF in your Flask app with WeasyPrint
- Flask-WeRoBot - Adds WeRoBot support to Flask
- Flask-Pusher - Pusher integration for Flask
- flask-pusher - Pusher support for your Flask application
- Frontend (Asset Pipeline/CDN)
- FlaskSR - Make flask pages load faster and better by streaming partial HTTP Responses
- Flask-Mustache - Mustache template integration with Flask
- Flask-Genshi - Genshi templating for Flask
- flask-mako - Provides support for Mako Templates in Flask
- Flask-Markdown - Markdown jinja2 extension for Flask
- Flask-Sijax - An extension for the Flask microframework that adds Sijax support
- flask-apispec - simple self-documenting APIs with flask
- flask-assets - Flask webassets integration
- flask-funnel - Better asset management for Flask
- flask-marshmallow Flask + marshmallow for beautiful APIs
- jinja-assets-compressor - A Jinja extension (compatible with Flask and other frameworks) to compile and/or compress your assets
- flask_util_js - flask's util in javascript. such as url_for etc
- flask-s3 - Seamlessly serve your static assets of your Flask app from Amazon S3
- Flask-SSLify - Force SSL on your Flask app
- Flask-gzip - Gzip flask responses
- Flask-HTMLmin - Flask html minifier
- Flask-Rev - Easely invalidate old cached static files
- Development (Debugging/Testing/AB Testing)
- flask_profiler - endpoint analyzer/profiler for Flask
- Flask-Testing - Unittest extensions for Flask
- flask_debugtoolbar_lineprofilerpanel - Line Profiler Panel for Flask Debug Toolbar
- Flask-DebugToolbar - A port of the django debug toolbar to flask
- flask-debug-toolbar-mongo - MongoDB panel for the Flask Debug Toolbar
- pytest-flask - A set of pytest fixtures to test Flask applications
- flask2postman - Generate a Postman collection from your Flask application
- Utils
- Empty - Makes your development much faster by adding some very useful defaults to Flask
- Flask-Script - Flask extension to help writing external scripts for Flask applications
- Flask-Split - A/B testing for your Flask application
- 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
- Flask-AppBuilder - Simple and rapid application builder framework, built on top of Flask. includes detailed security, auto form generation, google charts and much more
- Mixer - Mixer is application to generate instances of Django or SQLAlchemy models
- FlaskEx - Predefined help libraries for Flask
- mimerender - Python module for RESTful HTTP Content Negotiation
- Flask-Classy - Class based views for Flask
- Flask-Principal - Identity management for Flask applications
- Flask-ShortUrl - Short URL generator for Flask
- Flask-FeatureFlags - A Flask extension that enables or disables features based on configuration
- Flask-UUID - UUID url converter for Flask routes
- 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-CORS - Flask extension for handling Cross Origin Resource Sharing (CORS), making cross-origin AJAX possible
- Flask-Styleguide - A living Styleguide for your Flask application