Awesome Flask Awesome

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.

Other Tools

  • Flask-Excel - Uses pyexcel to read, manipulate, and write data in different Excel formats: csv, ods, xls, xlsx and xlsm.

Developer Tools

Debugging

Fixtures

Logging

  • Rollbar - Flask error logging with Rollbar.

Monitoring

Tracing

Testing

Email

Forms

  • 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

Community

  • 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

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!