├── .travis.yml ├── CONTRIBUTING.md └── README.md /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 3 | - 2.2 4 | before_script: 5 | - gem install awesome_bot 6 | script: 7 | - awesome_bot README.md --white-list www.getsentry.com 8 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please ensure your pull request adheres to the following guidelines: 4 | 5 | - Make an individual pull request for each suggestion. 6 | - Use the following format: \[RESOURCE\]\(LINK\) - DESCRIPTION. 7 | - Check your spelling and grammar. 8 | - Remove any trailing whitespace. 9 | - Send a Pull Request with the reason why the library is awesome. 10 | 11 | # Quality Standard 12 | 13 | To be on the list, project repositories should adhere to these quality standards: 14 | 15 | - Python 3 supported 16 | - Code functions as documented and expected 17 | - Actively maintained 18 | - Regular, recent commits 19 | - Or, for finished projects, issues and pull requests are responded to 20 | - Thoroughly documented 21 | - Tests, where practical 22 | 23 | For resources 24 | 25 | - Please do not add paid cources/resources (there are so many we should not include theme all here) 26 | - Posts should be in series and well structured. Please do not add single post. 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Flask [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | > A curated list of awesome Flask resources and plugins 4 | 5 | - [Awesome Flask](#awesome-flask) 6 | - [Framework](#framework) 7 | - [Admin interface](#admin-interface) 8 | - [Analytics](#analytics) 9 | - [Authentication](#authentication) 10 | - [Authorization](#authorization) 11 | - [Database](#database) 12 | - [Database Migrations](#database-migrations) 13 | - [Session](#session) 14 | - [Cache](#cache) 15 | - [Data Validation](#data-validation) 16 | - [Email](#email) 17 | - [i18n](#i18n) 18 | - [Full-text searching](#full-text-searching) 19 | - [Rate Limiting](#rate-limiting) 20 | - [Task Queue](#task-queue) 21 | - [Exception tracking](#exception-tracking) 22 | - [Tracing](#tracing) 23 | - [APM](#apm) 24 | - [Other SDK](#other-sdk) 25 | - [Frontend](#frontend) 26 | - [Development (Debugging/Testing/Documentation)](#development-debuggingtestingdocumentation) 27 | - [Utils](#utils) 28 | - [Resources](#resources) 29 | - [Tutorials](#tutorials) 30 | - [Courses](#courses) 31 | - [Books](#books) 32 | - [Slides](#slides) 33 | - [Videos](#videos) 34 | - [Built with Flask](#built-with-flask) 35 | - [Boilerplate](#boilerplate) 36 | 37 | ## Framework 38 | 39 | - [Connexion](https://github.com/zalando/connexion) - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation and OAuth2 support 40 | - [Flask-MongoRest](https://github.com/closeio/flask-mongorest) - Restful API framework wrapped around MongoEngine 41 | - [Eve](https://github.com/pyeve/eve) - REST API framework powered by Flask, MongoDB and good intentions 42 | - [Flask-Restless](https://github.com/jfinkels/flask-restless) - A Flask extension for creating simple ReSTful APIs from SQLAlchemy models 43 | - [Flask-RESTful](https://github.com/flask-restful/flask-restful) - Simple framework for creating REST APIs 44 | - [Flask-RestPlus](https://github.com/noirbizarre/flask-restplus) - syntaxic sugar, helpers and automatically generated Swagger documentation. 45 | - [Flask-Potion](https://github.com/biosustain/potion) - RESTful API framework for Flask and SQLAlchemy 46 | - [Zappa](https://github.com/Miserlou/Zappa) - Build and deploy server-less Flask applications on AWS Lambda and API Gateway 47 | 48 | ## Admin interface 49 | 50 | - [Flask-Admin](https://github.com/flask-admin/flask-admin) - Simple and extensible administrative interface framework for Flask 51 | 52 | ## Analytics 53 | 54 | - [Flask-Analytics](https://github.com/citruspi/Flask-Analytics) - Analytics snippets generator extension for the Flask framework 55 | - [Flask-Matomo](https://github.com/Lanseuo/flask-matomo) - Track requests to your Flask website with Matomo 56 | 57 | ## Authentication 58 | 59 | - [Flask-Security](https://github.com/mattupstate/flask-security) - Quick and simple security for Flask applications 60 | - [Flask-Login](https://github.com/maxcountryman/flask-login) - Flask user session management 61 | - [Flask-User](https://github.com/lingthio/Flask-User) - Customizable user account management for Flask 62 | - [Flask-HTTPAuth](https://github.com/miguelgrinberg/Flask-HTTPAuth) - Simple extension that provides Basic and Digest HTTP authentication for Flask routes 63 | - [Flask-Praetorian](https://github.com/dusktreader/flask-praetorian) - Strong, Simple, and Precise security for Flask APIs (using jwt) 64 | 65 | ## Authorization 66 | 67 | - [Authlib](https://github.com/lepture/authlib) - Authlib is an ambitious authentication library for OAuth 1, OAuth 2, OpenID clients, servers and more. 68 | - [Authomatic](https://github.com/authomatic/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) 69 | - [Flask-Pundit](https://github.com/anurag90x/flask-pundit) - Extension based on Rails' [Pundit](https://github.com/varvet/pundit) gem that provides easy way to organize access control for your models 70 | - [Flask-Dance](https://github.com/singingwolfboy/flask-dance) - OAuth consumer extension for Flask, shipped with pre-set support for Facebook, GitHub, Google, etc. 71 | 72 | ## Database 73 | 74 | - [Flask-MongoEngine](https://github.com/MongoEngine/flask-mongoengine) - MongoEngine flask extension with WTF model forms support 75 | - [Flask-SQLAlchemy](https://github.com/mitsuhiko/flask-sqlalchemy) - Adds SQLAlchemy support to Flask 76 | 77 | ## Database Migrations 78 | 79 | - [Flask-Migrate](https://github.com/miguelgrinberg/Flask-Migrate) - SQLAlchemy database migrations for Flask applications using Alembic 80 | 81 | ## Session 82 | 83 | - [Flask-Session](https://github.com/fengsp/flask-session) - Server side session extension for Flask 84 | 85 | ## Cache 86 | 87 | - [Flask-Caching](https://github.com/sh4nks/flask-caching) - Adds easy cache support to Flask 88 | - [flask-heroku-cacheify](https://github.com/rdegges/flask-heroku-cacheify) - Automatic Flask cache configuration on Heroku 89 | 90 | ## Data Validation 91 | 92 | - [Flask-WTF](https://github.com/lepture/flask-wtf) - Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration. 93 | 94 | ## Email 95 | 96 | - [Flask-Mail](https://github.com/mattupstate/flask-mail/) - Flask-Mail adds SMTP mail sending to your Flask applications 97 | 98 | ## i18n 99 | 100 | - [flask-babel](https://github.com/python-babel/flask-babel) - i18n and l10n support for Flask based on Babel and pytz 101 | 102 | ## Full-text searching 103 | 104 | - [SQLAlchemy-Searchable](https://github.com/kvesteri/sqlalchemy-searchable) - Full-text searching for Flask-SQLAlchemy (Postgres only) 105 | - [flask_msearch](https://github.com/honmaple/flask-msearch) - Full text search for flask with whoosh 106 | 107 | ## Rate Limiting 108 | 109 | - [Flask-Limiter](https://github.com/alisaifee/flask-limiter) - Flask-Limiter provides rate limiting features to flask routes 110 | 111 | ## Task Queue 112 | 113 | - [Flask-Dramatiq](https://flask-dramatiq.rtfd.io/) - [dramatiq](https://github.com/Bogdanp/dramatiq) integration for Flask applications. 114 | - [huey](https://github.com/coleifer/huey) - a little task queue for python 115 | - [Flask-RQ](https://github.com/mattupstate/flask-rq) - RQ (Redis Queue) integration for Flask applications 116 | - [celery](https://github.com/celery/celery/) - Distributed Task Queue 117 | 118 | ## Exception tracking 119 | 120 | - [sentry-sdk](https://github.com/getsentry/sentry-python) - Python client for [Sentry](https://sentry.io/welcome/). 121 | - [airbrake-python](https://github.com/airbrake/airbrake-python) - Python client for [Airbrake](https://airbrake.io/) 122 | 123 | ## Tracing 124 | 125 | - [flask-zipkin](https://github.com/qiajigou/flask-zipkin) - Distributed tracing with [Zipkin](https://zipkin.io/). 126 | - [Flask-OpenTracing](https://github.com/opentracing-contrib/python-flask) - Distributed tracing with [OpenTracing](http://opentracing.io/). 127 | 128 | ## APM 129 | 130 | - [elastic-apm](https://github.com/elastic/apm-agent-python) - Elastic APM agent for Python 131 | 132 | ## Other SDK 133 | 134 | - [Flask-GoogleMaps](https://github.com/rochacbruno/Flask-GoogleMaps) - Build and embed google maps in our Flask templates 135 | - [Flask-Gravatar](https://github.com/zzzsochi/Flask-Gravatar) - Small and simple gravatar usage in Flask 136 | - [Flask-Pusher](https://github.com/iurisilvio/Flask-Pusher) - Pusher integration for Flask 137 | - [Flask-Azure-Storage](https://github.com/alejoar/Flask-Azure-Storage) - Flask extension that provides integration with Azure Storage 138 | 139 | ## Frontend 140 | 141 | - [Flask-CORS](https://github.com/corydolphin/flask-cors) - A Flask extension for handling Cross Origin Resource Sharing (CORS), making cross-origin AJAX possible 142 | - [flask-assets](https://github.com/miracle2k/flask-assets) - Flask webassets integration 143 | - [flask-s3](https://github.com/e-dard/flask-s3) - Seamlessly serve your static assets of your Flask app from Amazon S3 144 | - [Flask-SSLify](https://github.com/kennethreitz/flask-sslify) - Force SSL on your Flask app 145 | - [Flask-HTMLmin](https://github.com/hamidfzm/Flask-HTMLmin) - Flask html minifier 146 | 147 | ## Development (Debugging/Testing/Documentation) 148 | 149 | - [Flasgger](https://github.com/rochacbruno/flasgger) - Create API documentation for Flask views using Swagger 2.0 specs 150 | - [flask-apispec](https://github.com/jmcarp/flask-apispec) - simple self-documenting APIs with flask 151 | - [flask2postman](https://github.com/numberly/flask2postman) - Generate a Postman collection from your Flask application 152 | - [flask_profiler](https://github.com/muatik/flask-profiler) - endpoint analyzer/profiler for Flask 153 | - [Flask-DebugToolbar](https://github.com/mgood/flask-debugtoolbar) - A port of the django debug toolbar to flask 154 | - [flask-debug-toolbar-mongo](https://github.com/cenkalti/flask-debug-toolbar-mongo) - MongoDB panel for the Flask Debug Toolbar 155 | - [Flask-Testing](https://github.com/jarus/flask-testing) - Unittest extensions for Flask 156 | - [pytest-flask](https://github.com/pytest-dev/pytest-flask) - A set of pytest fixtures to test Flask applications 157 | - [Flask-MonitoringDashboard](https://github.com/flask-dashboard/Flask-MonitoringDashboard) - Automatically monitor the evolving performance of Flask/Python web services. 158 | - [nplusone](https://github.com/jmcarp/nplusone#flask-sqlalchemy) - Auto-detect n+1 queries with Flask and SQLAlchemy 159 | - [connexion](https://github.com/zalando/connexion) - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support. 160 | 161 | ## Utils 162 | 163 | - [flask-marshmallow](https://github.com/marshmallow-code/flask-marshmallow) Flask + marshmallow for beautiful APIs 164 | - [flask-jsonrpc](https://github.com/cenobites/flask-jsonrpc) - A basic JSON-RPC implementation for your Flask-powered sites 165 | - [Flask-Bcrypt](https://github.com/maxcountryman/flask-bcrypt) - Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application 166 | - [Mixer](https://github.com/klen/mixer) - Mixer is application to generate instances of Django or SQLAlchemy models 167 | - [Flask-FeatureFlags](https://github.com/trustrachel/Flask-FeatureFlags) - A Flask extension that enables or disables features based on configuration 168 | - [Flask-Reggie](https://github.com/rhyselsmore/flask-reggie) - Regex Converter for Flask URL Routes 169 | - [Flask-SocketIO](https://github.com/miguelgrinberg/Flask-SocketIO) - Socket.IO integration for Flask applications 170 | - [Flask-Moment](https://github.com/miguelgrinberg/Flask-Moment) - Formatting of dates and times in Flask templates using moment.js 171 | - [Flask-Paginate](https://github.com/lixxu/flask-paginate) - Pagination support for Flask 172 | - [Flask-graphql](https://github.com/graphql-python/flask-graphql) - Adds GraphQL support to your Flask application 173 | 174 | # Resources 175 | ## Tutorials 176 | 177 | - [How to build a news app that never goes down and costs you practically nothing](http://blog.apps.npr.org/2013/02/14/app-template-redux.html) (by NPR) 178 | - [Building websites in Python with Flask](http://maximebf.com/blog/2012/10/building-websites-in-python-with-flask/) 179 | - [The Flask Mega-Tutorial](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) 180 | - [Implementing a RESTful Web API with Python & Flask](http://blog.luisrei.com/articles/flaskrest.html) 181 | - [Discover Flask - Full Stack Web Development with Flask](https://github.com/realpython/discover-flask) 182 | - [Flaskr - Intro to Flask, Test Driven Development, and jQuery](https://github.com/mjhea0/flaskr-tdd) 183 | 184 | ## Courses 185 | 186 | - [Full Stack Foundations](https://www.udacity.com/course/full-stack-foundations--ud088) 187 | - [Designing RESTful APIs](https://www.udacity.com/course/designing-restful-apis--ud388) 188 | 189 | ## Books 190 | 191 | - [Explore Flask](https://exploreflask.com/en/latest/) 192 | - [Flask Web Development](http://shop.oreilly.com/product/0636920031116.do) 193 | - [Real Python](https://realpython.com) 194 | - [Learning Flask Framework](https://www.packtpub.com/web-development/learning-flask-framework) 195 | - [Flask Blueprints](https://www.packtpub.com/web-development/flask-blueprints) 196 | - [Flask Framework Cookbook](https://www.packtpub.com/web-development/flask-framework-cookbook) 197 | - [Mastering Flask](https://www.packtpub.com/web-development/mastering-flask) 198 | - [Building Web Applications with Flask](https://www.packtpub.com/web-development/building-web-applications-flask) 199 | 200 | ## Slides 201 | 202 | - [Creating beautiful REST APIs with Flask](http://pycoder.net/bospy/presentation.html) 203 | - [Advanced Flask Patterns](https://speakerdeck.com/mitsuhiko/advanced-flask-patterns) 204 | - [Flasky Goodness](https://speakerdeck.com/kennethreitz/flasky-goodness) 205 | - [Domain Driven Design (... with Flask)](https://speakerdeck.com/mikedebo/domain-driven-design-dot-dot-dot-with-flask) 206 | - [In Flask we Trust](https://speakerdeck.com/playpauseandstop/in-flask-we-trust) 207 | 208 | ## Videos 209 | 210 | - [PyVideo](https://pyvideo.org/search.html?q=flask) 211 | - [Practical Flask Web Development Tutorials](https://www.youtube.com/playlist?list=PLQVvvaa0QuDc_owjTbIY4rbgXOFkUYOUB) 212 | 213 | ## Built with Flask 214 | 215 | - [zmusic-ng](https://git.zx2c4.com/zmusic-ng/) - ZX2C4 Music provides a web interface for playing and downloading music files using metadata. 216 | - [GuitarFan](https://github.com/lowrain/GuitarFan) - guitar tab 217 | - [June](https://github.com/pythoncn/june) - ~~python-china.org~~ 218 | - [Zerqu](https://github.com/lepture/zerqu) - ZERQU is a content-focused API-based platform. eg: [Python-China](https://python-china.org) 219 | - [motiky](https://github.com/notedit/motiky) 220 | - [missing](https://github.com/notedit/missing) - a list service called missing 221 | - [thenewsmeme.com](https://github.com/danjac/newsmeme) 222 | - [overholt](https://github.com/mattupstate/overholt) - Example Flask application illustrating common practices 223 | - [pypress](https://github.com/laoqiu/pypress) - flask team blog 224 | - [thepast.me](https://github.com/laiwei/thepast) 225 | - [redispapa](https://github.com/no13bus/redispapa) - another redis monitor by using flask, angular, socket.io 226 | - [flaskblog](https://github.com/defshine/flaskblog) - a simple blog system based on flask 227 | - [cleanblog](https://github.com/defshine/cleanblog) - a clean blog system based on flask and mongoengine 228 | - [Quokka CMS](https://github.com/rochacbruno/quokka) - CMS made with Flask and MongoDB 229 | - [chat](https://github.com/lzyy/chat) - a live chat built with python (flask + gevent + apscheduler) + redis 230 | - [chatapp](https://github.com/vinceprignano/chatapp) - Flask and Angular.js Chat Application using Socket.io 231 | - [Frozen-Flask](https://github.com/Frozen-Flask/Frozen-Flask) - Freezes a Flask application into a set of static files 232 | - [mcflyin](https://github.com/wrobstory/mcflyin) - A small timeseries transformation API built on Flask and Pandas 233 | - [Skylines](https://github.com/skylines-project/skylines) - Live tracking, flight database and competition framework 234 | - [airflow](https://github.com/apache/incubator-airflow) - Airflow is a system to programmatically author, schedule and monitor data pipelines. 235 | - [timesketch](https://github.com/google/timesketch) - Collaborative forensics timeline analysis 236 | - [changes](https://github.com/dropbox/changes) - A dashboard for your code. A build system. 237 | - [security_monkey](https://github.com/Netflix/security_monkey) - monitors policy changes and alerts on insecure configurations in an AWS account. 238 | - [securedrop](https://github.com/freedomofpress/securedrop)- an open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources. 239 | - [sync_engine](https://github.com/nylas/sync-engine) - IMAP/SMTP sync system with modern APIs 240 | - [cleansweep](https://github.com/AamAadmiParty/cleansweep) - Volunteer & Campaign Management System 241 | - [indico](https://github.com/indico/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. 242 | - [flaskbb](https://github.com/flaskbb/flaskbb) - A classic Forum Software in Python using Flask. 243 | - [PythonBuddy] (https://github.com/ethanchewy/PythonBuddy) - Online Python Editor With Live Syntax Checking and Execution 244 | 245 | ## Boilerplate 246 | 247 | - [fbone](https://github.com/imwilsonxu/fbone) 248 | - [cookiecutter-flask](https://github.com/sloria/cookiecutter-flask) 249 | - [Flask-Foundation](https://github.com/JackStouffer/Flask-Foundation) 250 | - [flask-rest-template](https://github.com/alexandre/flask-rest-template) 251 | - [gae-init](https://gae-init.appspot.com) - Flask boilerplate running on Google App Engine 252 | - [Flask-AppBuilder](https://github.com/dpgaspar/Flask-AppBuilder) - Simple and rapid application builder framework, built on top of Flask. includes detailed security, auto form generation, google charts and much more 253 | --------------------------------------------------------------------------------