Docs
A collection of various Flask, and Flask Extension documentations
The information below mainly came from the following repo. https://github.com/mjhea0/awesome-flask
Official Docs:
Flask - https://flask.palletsprojects.com/en/1.1.x/
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
Connexion - Open source, OpenAPI-based, REST framework built on top of Flask.
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.
Swagger/OpenAPI Documentation Support
Flask-APISpec - Auto-documenting REST APIs.
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-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.
Cache
Flask-Caching - Caching support.
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
Flask-Peewee - Support for Peewee, an ORM and database migration tool.
Flask-Pony - Support for Pony ORM.
Flask-SQLAlchemy - Support for SQLAlchemy, a SQL toolkit and ORM.
ODMs
Flask-MongoEngine - Bridges Flask and MongoEngine for working with MongoDB.
Flask-PyMongo - Bridges Flask and PyMongo for working with MongoDB.
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
Flask-DebugToolbar - Port of Django's debug toolbar for Flask.
Flask-Profiler - Endpoint analyzer/profiler.
Fixtures
Flask-Fixtures - Create database fixtures from JSON or YAML.
Mixer - Object generation tool.
Logging
Rollbar - Flask error logging with Rollbar.
Monitoring
Airbrake - Airbrake Flask integration.
Elastic APM Agent - Elastic APM Flask integration.
Flask Monitoring Dashboard - Dashboard for automatic monitoring of Flask web-services.
Sentry Python SDK - Sentry SDK Flask integration.
Tracing
Flask-OpenTracing - OpenTracing instrumentation.
Testing
Flask-Testing - Unittest extensions.
Pytest-Flask - Pytest support for testing Flask applications.
Email
Flask-Mail - Provides simple email sending capabilities.
Forms
Flask-WTF - Integrates Flask with WTForms (provides CSRF protection as well).
Full-text Search
flask-msearch - Full-text search.
Flask-WhooshAlchemy3 - Full-text search + Whoosh indexing capabilities for Flask-SQLAlchemy.
SQLAlchemy-Searchable - Provides full-text search capabilities for SQLAlchemy models.
Security
Flask-Bcrypt - Provides bcrypt hashing utilities.
Flask-CORS - Cross Origin Resource Sharing (CORS) handling.
Flask-SeaSurf - Cross-site request forgery (CSRF) prevention.
Flask-Talisman - HTTPS and security headers.
Task Queues
Celery - The most commonly used Python library for handling asynchronous tasks and scheduling.
Dramatiq - Fast and reliable alternative to Celery.
Utils
Flask-Babel - Support for internationalization (i18n) and localization (l10n).
Flask-File-Upload - Easy file uploads.
Flask-FlatPages - Provides flat static pages based on text files.
Frozen-Flask - Freezes a Flask application into a set of static files.
Flask-GraphQL - GraphQL support.
Flask-Injector - Adds support for dependency injection.
Flask-Limiter - Rate limiting features to Flask routes.
Flask-Moment - Moment.js date and time formatting helpers for Jinja2 templates.
Flask-Paginate - Pagination support.
Flask-Shell2HTTP - RESTful/HTTP wrapper for Python's subprocess API, so you can convert any command-line tool into a RESTful API service.
Flask-Sitemap - Sitemap generation.
Flask-SocketIO - Socket.IO integration.
Last updated