{"id":15647458,"url":"https://github.com/helloflask/flask-extension-status","last_synced_at":"2025-04-30T11:33:59.034Z","repository":{"id":209271276,"uuid":"723619915","full_name":"helloflask/flask-extension-status","owner":"helloflask","description":"Let's make Flask ecosystem better together!","archived":false,"fork":false,"pushed_at":"2023-12-22T13:10:46.000Z","size":42,"stargazers_count":59,"open_issues_count":0,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-26T08:55:36.383Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/helloflask.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-11-26T08:45:06.000Z","updated_at":"2025-01-25T19:13:16.000Z","dependencies_parsed_at":"2023-11-26T10:26:47.326Z","dependency_job_id":"72dd3600-094e-45ed-ad05-d85f9e2e0fbe","html_url":"https://github.com/helloflask/flask-extension-status","commit_stats":null,"previous_names":["greyli/flask-extension-status","helloflask/flask-extension-status"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helloflask%2Fflask-extension-status","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helloflask%2Fflask-extension-status/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helloflask%2Fflask-extension-status/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helloflask%2Fflask-extension-status/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/helloflask","download_url":"https://codeload.github.com/helloflask/flask-extension-status/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251691768,"owners_count":21628387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T12:19:33.374Z","updated_at":"2025-04-30T11:33:59.010Z","avatar_url":"https://github.com/helloflask.png","language":"Python","readme":"# Flask Extension Status\n\nHello, Flask developers!\n\nThis is a project to monitor the status of Flask extensions. In the [Extension status](#extension-status) table, each extension has a build badge to show whether it can be built with the latest Flask and Python. Feel free to add new extensions or update the info of existing extensions (see [How to add an extension?](#how-to-add-an-extension) for details)\n\nWant to help? You can just click the build badge of the failed extensions to check the log and try to fix the issues. Welcome to dicuss in the [Discussions](https://github.com/greyli/flask-extension-status/discussions) section. No matter you want to share some notes\nfor [common compatibility issues](https://github.com/greyli/flask-extension-status/discussions/categories/notes) or you want to [ask for help](https://github.com/greyli/flask-extension-status/discussions/categories/q-a), we are glad to hear from you!\n\n❤️ If you managed to save an extension, don't hesitate to [share with us](https://github.com/greyli/flask-extension-status/discussions/categories/show-and-tell)!\n\nFor a project that is abandoned/dead, we will remove it from the table and list them in the [Unmaintained extensions and alternatives](#unmaintained-extensions-and-alternatives) section. If you have an extension but don't have time to maintain it, you can consider donating it to the [pallets-eco organzation](https://github.com/pallets-eco). Thank you.\n\n**Let's make Flask ecosystem better together!**\n\n\n## Extension status\n\n\u003c!-- TABLE_START --\u003e\n\n| Extension Repository | Latest version  | Last Commit |  Downloads | Build with latest Flask (3.x) and Python (3.12.x) |\n| -------------------- | --------------- | ----------- | ---------- | ------------------------------------------------- |\n| [juniors90/Flask-FomanticUI](https://github.com/juniors90/Flask-FomanticUI) | ![PyPI - Version](https://img.shields.io/pypi/v/Flask-FomanticUI) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/juniors90/Flask-FomanticUI) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/Flask-FomanticUI?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/Flask-FomanticUI.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/Flask-FomanticUI.yml) |\n| [autoinvent/flask-magql](https://github.com/autoinvent/flask-magql) | ![PyPI - Version](https://img.shields.io/pypi/v/Flask-Magql) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/autoinvent/flask-magql) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/Flask-Magql?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/Flask-Magql.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/Flask-Magql.yml) |\n| [helloflask/bootstrap-flask](https://github.com/helloflask/bootstrap-flask) | ![PyPI - Version](https://img.shields.io/pypi/v/bootstrap-flask) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/helloflask/bootstrap-flask) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/bootstrap-flask?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/bootstrap-flask.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/bootstrap-flask.yml) |\n| [flask-admin/flask-admin](https://github.com/flask-admin/flask-admin) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-admin) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/flask-admin/flask-admin) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-admin?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-admin.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-admin.yml) |\n| [jmcarp/flask-apispec](https://github.com/jmcarp/flask-apispec) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-apispec) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/jmcarp/flask-apispec) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-apispec?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-apispec.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-apispec.yml) |\n| [viniciuschiele/flask-apscheduler](https://github.com/viniciuschiele/flask-apscheduler) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-apscheduler) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/viniciuschiele/flask-apscheduler) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-apscheduler?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-apscheduler.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-apscheduler.yml) |\n| [miracle2k/flask-assets](https://github.com/miracle2k/flask-assets) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-assets) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/miracle2k/flask-assets) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-assets?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-assets.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-assets.yml) |\n| [helloflask/flask-avatars](https://github.com/helloflask/flask-avatars) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-avatars) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/helloflask/flask-avatars) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-avatars?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-avatars.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-avatars.yml) |\n| [python-babel/flask-babel](https://github.com/python-babel/flask-babel) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-babel) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/python-babel/flask-babel) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-babel?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-babel.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-babel.yml) |\n| [maxcountryman/flask-bcrypt](https://github.com/maxcountryman/flask-bcrypt) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-bcrypt) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/maxcountryman/flask-bcrypt) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-bcrypt?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-bcrypt.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-bcrypt.yml) |\n| [pallets-eco/flask-caching](https://github.com/pallets-eco/flask-caching) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-caching) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pallets-eco/flask-caching) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-caching?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-caching.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-caching.yml) |\n| [helloflask/flask-ckeditor](https://github.com/helloflask/flask-ckeditor) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-ckeditor) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/helloflask/flask-ckeditor) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-ckeditor?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-ckeditor.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-ckeditor.yml) |\n| [corydolphin/flask-cors](https://github.com/corydolphin/flask-cors) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-cors) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/corydolphin/flask-cors) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-cors?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-cors.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-cors.yml) |\n| [pallets-eco/flask-debugtoolbar](https://github.com/pallets-eco/flask-debugtoolbar) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-debugtoolbar) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pallets-eco/flask-debugtoolbar) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-debugtoolbar?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-debugtoolbar.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-debugtoolbar.yml) |\n| [dillibabukadati/flask-helmet](https://github.com/dillibabukadati/flask-helmet) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-helmet) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/dillibabukadati/flask-helmet) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-helmet?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-helmet.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-helmet.yml) |\n| [nathancahill/flask-inputs](https://github.com/nathancahill/flask-inputs) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-inputs) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/nathancahill/flask-inputs) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-inputs?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-inputs.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-inputs.yml) |\n| [vimalloc/flask-jwt-extended](https://github.com/vimalloc/flask-jwt-extended) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-jwt-extended) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/vimalloc/flask-jwt-extended) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-jwt-extended?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-jwt-extended.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-jwt-extended.yml) |\n| [alisaifee/flask-limiter](https://github.com/alisaifee/flask-limiter) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-limiter) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/alisaifee/flask-limiter) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-limiter?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-limiter.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-limiter.yml) |\n| [maxcountryman/flask-login](https://github.com/maxcountryman/flask-login) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-login) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/maxcountryman/flask-login) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-login?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-login.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-login.yml) |\n| [waynerv/flask-mailman](https://github.com/waynerv/flask-mailman) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-mailman) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/waynerv/flask-mailman) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-mailman?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-mailman.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-mailman.yml) |\n| [marshmallow-code/flask-marshmallow](https://github.com/marshmallow-code/flask-marshmallow) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-marshmallow) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/marshmallow-code/flask-marshmallow) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-marshmallow?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-marshmallow.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-marshmallow.yml) |\n| [miguelgrinberg/flask-migrate](https://github.com/miguelgrinberg/flask-migrate) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-migrate) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/miguelgrinberg/flask-migrate) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-migrate?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-migrate.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-migrate.yml) |\n| [miguelgrinberg/flask-moment](https://github.com/miguelgrinberg/flask-moment) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-moment) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/miguelgrinberg/flask-moment) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-moment?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-moment.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-moment.yml) |\n| [MongoEngine/flask-mongoengine](https://github.com/MongoEngine/flask-mongoengine) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-mongoengine) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/MongoEngine/flask-mongoengine) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-mongoengine?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-mongoengine.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-mongoengine.yml) |\n| [lepture/flask-oauthlib](https://github.com/lepture/flask-oauthlib) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-oauthlib) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/lepture/flask-oauthlib) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-oauthlib?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-oauthlib.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-oauthlib.yml) |\n| [bauerji/flask-pydantic](https://github.com/bauerji/flask-pydantic) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-pydantic) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/bauerji/flask-pydantic) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-pydantic?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-pydantic.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-pydantic.yml) |\n| [marcoagner/Flask-QRcode](https://github.com/marcoagner/Flask-QRcode) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-qrcode) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/marcoagner/Flask-QRcode) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-qrcode?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-qrcode.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-qrcode.yml) |\n| [plangrid/flask-rebar](https://github.com/plangrid/flask-rebar) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-rebar) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/plangrid/flask-rebar) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-rebar?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-rebar.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-rebar.yml) |\n| [flask-restful/flask-restful](https://github.com/flask-restful/flask-restful) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-restful) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/flask-restful/flask-restful) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-restful?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-restful.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-restful.yml) |\n| [python-restx/flask-restx](https://github.com/python-restx/flask-restx) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-restx) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/python-restx/flask-restx) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-restx?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-restx.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-restx.yml) |\n| [mattupstate/flask-security](https://github.com/mattupstate/flask-security) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-security) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/mattupstate/flask-security) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-security?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-security.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-security.yml) |\n| [pallets-eco/flask-session](https://github.com/pallets-eco/flask-session) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-session) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pallets-eco/flask-session) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-session?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-session.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-session.yml) |\n| [marshmallow-code/flask-smorest](https://github.com/marshmallow-code/flask-smorest) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-smorest) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/marshmallow-code/flask-smorest) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-smorest?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-smorest.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-smorest.yml) |\n| [miguelgrinberg/Flask-SocketIO](https://github.com/miguelgrinberg/Flask-SocketIO) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-socketio) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/miguelgrinberg/Flask-SocketIO) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-socketio?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-socketio.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-socketio.yml) |\n| [pallets/flask-sqlalchemy](https://github.com/pallets/flask-sqlalchemy) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-sqlalchemy) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pallets/flask-sqlalchemy) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-sqlalchemy?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-sqlalchemy.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-sqlalchemy.yml) |\n| [jarus/flask-testing](https://github.com/jarus/flask-testing) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-testing) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/jarus/flask-testing) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-testing?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-testing.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-testing.yml) |\n| [maxcountryman/flask-uploads](https://github.com/maxcountryman/flask-uploads) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-uploads) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/maxcountryman/flask-uploads) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-uploads?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-uploads.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-uploads.yml) |\n| [fedora-copr/flask-whooshee](https://github.com/fedora-copr/flask-whooshee) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-whooshee) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/fedora-copr/flask-whooshee) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-whooshee?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-whooshee.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-whooshee.yml) |\n| [wtforms/flask-wtf](https://github.com/wtforms/flask-wtf) | ![PyPI - Version](https://img.shields.io/pypi/v/flask-wtf) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/wtforms/flask-wtf) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/flask-wtf?color=darkgrey) | [![build](https://github.com/greyli/flask-extension-status/actions/workflows/flask-wtf.yml/badge.svg)](https://github.com/greyli/flask-extension-status/actions/workflows/flask-wtf.yml) |\n\n\u003c!-- TABLE_END --\u003e\n\n\n## Unmaintained extension and alternatives\n\n| Unmaintained Extension  | Last commit | Recommended Alternatives |  Last commit | \n| ----------------------- | ----------- | ------------------------ | ------------ |\n| [mattupstate/flask-mail](https://github.com/mattupstate/flask-mail) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/mattupstate/flask-mail/master?label=flask-mail) | [waynerv/flask-mailman](https://github.com/waynerv/flask-mailman) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/waynerv/flask-mailman?label=flask-mailman) |\n| [thadeusb/flask-cache](https://github.com/thadeusb/flask-cache) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/thadeusb/flask-cache?label=flask-cache) | [pallets-eco/flask-caching](https://github.com/pallets-eco/flask-caching) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pallets-eco/flask-caching/master?label=flask-caching) |\n| [noirbizarre/flask-restplus](https://github.com/noirbizarre/flask-restplus) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/noirbizarre/flask-restplus?label=flask-restplus) | [python-restx/flask-restx](https://github.com/python-restx/flask-restx) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/python-restx/flask-restx?label=flask-restx) |\n| [mbr/flask-bootstrap](https://github.com/mbr/flask-bootstrap) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/mbr/flask-bootstrap?label=flask-bootstrap) | [helloflask/bootstrap-flask](https://github.com/helloflask/bootstrap-flask) | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/helloflask/bootstrap-flask?label=bootstrap-flask) |\n\n\n## How to add an extension?\n\nClone the repo and install dependencies:\n\n```bash\ngit clone https://github.com/greyli/flask-extension-status\ncd flask-extension-status\npip install -r requirements.txt\n```\n\nAdd the extension info to `extensions.yml`:\n\n```yaml\nflask-foo:  # PyPI package name\n  repo: github_username/repo_name  # GitHub repository\n  init_string: 'from flask_foo import Foo; Foo(app)'  # extension initialization\n```\n\nThen run:\n\n```bash\npython gen.py\n```\n\nCommit and push the changes, then create a pull request.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelloflask%2Fflask-extension-status","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelloflask%2Fflask-extension-status","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelloflask%2Fflask-extension-status/lists"}