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
-
Flask-Admin - Functional admin panel that provides a user interface for managing data based on your models.
APIs
RESTful API Support
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)
Curious about the differences differences between Flask-User and Flask-Security? Review the Flask-User FAQ.
JWT-based (for JSON Endpoints)
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.
Cache
Data Validation and Serialization
-
Flask-Marshmallow - Thin integration layer for Flask and marshmallow (an object serialization /deserialization library) that adds additional features to marshmallow.
-
Flask-Pydantic - Pydantic support.
Databases
ORMs
ODMs
Migrations
-
Flask-Alembic - Configurable Alembic migration environment around a Flask-SQLAlchemy database for handling database migrations.
-
Flask-DB - Flask CLI extension that helps you migrate, drop, create and seed your SQL database.
-
Flask-Migrate - Handles SQLAlchemy database migrations via Alembic.
Curious about the differences between Alembic, Flask-Alembic, Flask-Migrate, and Flask-DB? Review this item from Flask-DB’s FAQ.
-
Flask-Excel - Uses pyexcel to read, manipulate, and write data in different Excel formats: csv, ods, xls, xlsx and xlsm.
Debugging
Fixtures
Logging
-
Rollbar - Flask error logging with Rollbar.
Monitoring
Tracing
Testing
Email
-
Flask-WTF - Integrates Flask with WTForms (provides CSRF protection as well).
Full-text Search
Security
Task Queues
-
Celery - The most commonly used Python library for handling asynchronous tasks and scheduling.
-
Dramatiq - Fast and reliable alternative to Celery.
-
Flask-RQ - RQ (Redis Queue) integration.
-
Huey - Redis-based task queue that aims to provide a simple, yet flexible framework for executing tasks.
Utils
Resources
Official Resources
External Resources
-
Discord - Pallets Projects community on Discord (use the
#get-help
channel for Flask support).
- IRC Channel - Chat with other Flask users on IRC channel
#pocoo
on FreeNode.
-
Mailing List - General discussion of Flask and the Pallets projects (
flask@python.org
).
-
Reddit - Flask subreddit.
-
Stack Overflow - Questions tagged
flask
.
-
Twitter - For official announcements on updates, security fixes, etc.
Conferences
-
FlaskCon - Community driven Flask event intended for speakers and attendees all over the world to participate in technical and evangelical sessions related to Flask.
-
PyConWeb - Covers Django, Tornado, Flask, API frameworks. AsyncIO, networking, Frontend, JavaScript, and web security.
-
Flask Conf Brazil - Conference for the developers and users of Flask.
-
PyCon US - The largest annual gathering for the community using and developing the open-source Python programming language.
-
PyCon Australia - National conference organized for the Python Programming Community.
-
Euro Python - The largest Python conference in Europe.
-
PyCon - Complete listing of all PyCons globally.
Meetups
Podcasts
Tutorials
Courses
-
Developing Web Applications with Python and Flask - This course focuses on teaching the fundamentals of Flask by building and testing a web application using Test-Driven Development (TDD).
-
Test-Driven Development with Python, Flask, and Docker - Learn how to build, test, and deploy a production-grade microservice powered by Python, Flask, and Docker.
-
Authentication with Flask, React, and Docker - Learn how to add authentication to a Flask and React microservice!.
-
Deploying a Flask and React Microservice to AWS ECS - Learn how to deploy microservices to Amazon ECS powered by Flask, React, and Docker.
-
Build a SAAS App with Flask - Learn to build web applications with Flask and Docker.
-
Full Stack Foundations - Build a data-driven web app with Python.
-
Designing RESTful APIs - Build and Secure a backend API server.
Books
-
Flask Web Development - Learn the framework from the ground up by developing, step-by-step, a real-world project.
-
Real Python - Learn Python programming, by example.
-
Explore Flask - Best practices and patterns for developing web applications with Flask.
Videos
Hosting
PaaS
(Platforms-as-a-Service)
IaaS
(Infrastructure-as-a-Service)
Serverless
Frameworks:
Compute:
Projects
Boilerplates
-
cookiecutter-flask - With Bootstrap 4, asset bundling annd minification with webpack, starter templates, and registration/authentication.
-
Cookiecutter Flask Skeleton - Flask starter project for Cookiecutter .
-
Flask-AppBuilder - Simple and rapid application development framework that includes detailed security, auto CRUD generation for your models, Google charts, and much more.
-
flask-base - Includes SQLAlchemy, Redis, User Authentication, and more.
-
Flask-Bootstrap - Integrated SQLAlchemy, authentication, and Bootstrap frontend.
-
flask-htmx-boilerplate - Boilerplate template for a Python Flask application with HTMX and Tailwind CSS.
-
uwsgi-nginx-flask-docker - Docker image with uWSGI and Nginx for Flask applications in Python running in a single container.
-
React-Redux-Flask - Boilerplate application for a Flask JWT Backend and a React/Redux Front-End with Material UI.
-
MVC Flask - You can use the mvc pattern in your flask application using this extension.
Open Source Projects
-
ActorCloud - Open-source IoT Platform.
- Airflow
-
Busy Beaver - Chicago Python’s Community Engagement Slack bot.
-
FlaskBB - Classic forum software.
-
Indico - Feature-rich event management system, made at CERN.
-
Quokka CMS - The happiest CMS in the world.
-
PythonBuddy - Online Python Editor with live syntax checking and execution.
-
Redash - Designed to enable anyone, regardless of the level of technical sophistication, to harness the power of data big and small.
-
SkyLines - Live tracking, flight database, and competition framework.
-
Security Monkey - Monitors AWS, GCP, OpenStack, and GitHub orgs for assets and their changes over time.
-
SecureDrop - Open-source whistleblower submission system that media organizations can use to securely accept documents from, and communicate with anonymous sources.
-
SimpleLogin - Protect your online identity with email alias.
-
sr.ht - Git hosting service (check out Why I chose Flask to build sr.ht’s mini-services as well).
-
Timesketch - Collaborative forensic timeline analysis.
NOTE: This project is powered by TestDriven.io. Please support this open source project by purchasing one of our Flask courses. Learn how to build, test, and deploy microservices powered by Docker, Flask, and React!