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
- 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.
- Flask-Mail - Provides simple email sending capabilities.
- Flask-Mailman - A port of
django.mail
for Flask.
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.
- Flask-RQ - RQ (Redis Queue) integration.
- Huey - Redis-based task queue that aims to provide a simple, yet flexible framework for executing tasks.
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-Reactize - Hides the Node.js development backend for React behind a Flask application.
- 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.
Resources
Official Resources
- Project Website - Official Flask website.
- Documentation - Comprehensive documentation for all Flask versions.
- Flaskr Tutorial - Build a basic blog application called Flaskr.
- Source Code - Hosted on GitHub.
External Resources
-
Full Stack Python's Flask Page - Explanation of Flask philosophy and links to other resources and tutorials.
-
Miguel Grinberg's Blog - Multiple Flask-specific tutorials.
-
Nick Janetakis's Blog - Flask Tips, Tricks and Tutorials.
-
Patrick Kennedy's Blog - Numerous tutorials on learning Python web application development with Flask.
-
RealPython - Many high-quality tutorials on Flask.
-
TestDriven.io - Up-to-date tutorials on Flask.
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
- Flask - 40+ groups in 20 countries.
- Python Web Development - 600+ groups in 81 countries.
- Python - 2,400+ groups in 100 countries.
Podcasts
- TalkPython - The leading Python podcast with several episodes on Flask.
- Podcast Init - A popular Python podcast that features Flask guests on occasion.
- Python Bytes - Another Python podcast that discusses Flask from time to time.
- Full Stack Python's Best Python Podcasts Page - A list of active Python-specific podcasts.
Tutorials
- Flask Mega-Tutorial - Overarching tutorial for Python beginner and intermediate developers that teaches web development with the Flask framework.
- Flaskr TDD - Intro to Flask, Test-Driven Development (TDD), and JavaScript.
- Make a Web App Using Python & Flask! - Creating a Python Website from the Bottom Up.
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
- PyVideo
- Practical Flask Web Development Tutorials
- Python Flask Tutorial: Full-Featured Web App
- Discover Flask - Full Stack Web Development with Flask
Hosting
PaaS
(Platforms-as-a-Service)
- Heroku
- PythonAnywhere
- AWS Elastic Beanstalk
- Google App Engine
- Microsoft Azure App Service
- Divio
- Render
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.
- 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.
- Flask-Scaffold - Prototype Database driven Web apps in Angular 6, Bootstrap 4 and REST API's with Flask.
- Flask-VueJS - Connect Flask application with VueJS.
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.
原文:https://github.com/mjhea0/awesome-flask
- 登录 发表评论