https://github.com/helloflask/flask-extension-status
Let's make Flask ecosystem better together!
https://github.com/helloflask/flask-extension-status
Last synced: 12 months ago
JSON representation
Let's make Flask ecosystem better together!
- Host: GitHub
- URL: https://github.com/helloflask/flask-extension-status
- Owner: helloflask
- License: mit
- Created: 2023-11-26T08:45:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-22T13:10:46.000Z (over 2 years ago)
- Last Synced: 2025-04-26T08:55:36.383Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 41 KB
- Stars: 59
- Watchers: 6
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Flask Extension Status
Hello, Flask developers!
This 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)
Want 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
for [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!
❤️ 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)!
For 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.
**Let's make Flask ecosystem better together!**
## Extension status
| Extension Repository | Latest version | Last Commit | Downloads | Build with latest Flask (3.x) and Python (3.12.x) |
| -------------------- | --------------- | ----------- | ---------- | ------------------------------------------------- |
| [juniors90/Flask-FomanticUI](https://github.com/juniors90/Flask-FomanticUI) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/Flask-FomanticUI.yml) |
| [autoinvent/flask-magql](https://github.com/autoinvent/flask-magql) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/Flask-Magql.yml) |
| [helloflask/bootstrap-flask](https://github.com/helloflask/bootstrap-flask) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/bootstrap-flask.yml) |
| [flask-admin/flask-admin](https://github.com/flask-admin/flask-admin) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-admin.yml) |
| [jmcarp/flask-apispec](https://github.com/jmcarp/flask-apispec) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-apispec.yml) |
| [viniciuschiele/flask-apscheduler](https://github.com/viniciuschiele/flask-apscheduler) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-apscheduler.yml) |
| [miracle2k/flask-assets](https://github.com/miracle2k/flask-assets) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-assets.yml) |
| [helloflask/flask-avatars](https://github.com/helloflask/flask-avatars) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-avatars.yml) |
| [python-babel/flask-babel](https://github.com/python-babel/flask-babel) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-babel.yml) |
| [maxcountryman/flask-bcrypt](https://github.com/maxcountryman/flask-bcrypt) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-bcrypt.yml) |
| [pallets-eco/flask-caching](https://github.com/pallets-eco/flask-caching) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-caching.yml) |
| [helloflask/flask-ckeditor](https://github.com/helloflask/flask-ckeditor) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-ckeditor.yml) |
| [corydolphin/flask-cors](https://github.com/corydolphin/flask-cors) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-cors.yml) |
| [pallets-eco/flask-debugtoolbar](https://github.com/pallets-eco/flask-debugtoolbar) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-debugtoolbar.yml) |
| [dillibabukadati/flask-helmet](https://github.com/dillibabukadati/flask-helmet) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-helmet.yml) |
| [nathancahill/flask-inputs](https://github.com/nathancahill/flask-inputs) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-inputs.yml) |
| [vimalloc/flask-jwt-extended](https://github.com/vimalloc/flask-jwt-extended) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-jwt-extended.yml) |
| [alisaifee/flask-limiter](https://github.com/alisaifee/flask-limiter) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-limiter.yml) |
| [maxcountryman/flask-login](https://github.com/maxcountryman/flask-login) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-login.yml) |
| [waynerv/flask-mailman](https://github.com/waynerv/flask-mailman) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-mailman.yml) |
| [marshmallow-code/flask-marshmallow](https://github.com/marshmallow-code/flask-marshmallow) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-marshmallow.yml) |
| [miguelgrinberg/flask-migrate](https://github.com/miguelgrinberg/flask-migrate) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-migrate.yml) |
| [miguelgrinberg/flask-moment](https://github.com/miguelgrinberg/flask-moment) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-moment.yml) |
| [MongoEngine/flask-mongoengine](https://github.com/MongoEngine/flask-mongoengine) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-mongoengine.yml) |
| [lepture/flask-oauthlib](https://github.com/lepture/flask-oauthlib) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-oauthlib.yml) |
| [bauerji/flask-pydantic](https://github.com/bauerji/flask-pydantic) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-pydantic.yml) |
| [marcoagner/Flask-QRcode](https://github.com/marcoagner/Flask-QRcode) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-qrcode.yml) |
| [plangrid/flask-rebar](https://github.com/plangrid/flask-rebar) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-rebar.yml) |
| [flask-restful/flask-restful](https://github.com/flask-restful/flask-restful) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-restful.yml) |
| [python-restx/flask-restx](https://github.com/python-restx/flask-restx) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-restx.yml) |
| [mattupstate/flask-security](https://github.com/mattupstate/flask-security) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-security.yml) |
| [pallets-eco/flask-session](https://github.com/pallets-eco/flask-session) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-session.yml) |
| [marshmallow-code/flask-smorest](https://github.com/marshmallow-code/flask-smorest) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-smorest.yml) |
| [miguelgrinberg/Flask-SocketIO](https://github.com/miguelgrinberg/Flask-SocketIO) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-socketio.yml) |
| [pallets/flask-sqlalchemy](https://github.com/pallets/flask-sqlalchemy) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-sqlalchemy.yml) |
| [jarus/flask-testing](https://github.com/jarus/flask-testing) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-testing.yml) |
| [maxcountryman/flask-uploads](https://github.com/maxcountryman/flask-uploads) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-uploads.yml) |
| [fedora-copr/flask-whooshee](https://github.com/fedora-copr/flask-whooshee) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-whooshee.yml) |
| [wtforms/flask-wtf](https://github.com/wtforms/flask-wtf) |  |  |  | [](https://github.com/greyli/flask-extension-status/actions/workflows/flask-wtf.yml) |
## Unmaintained extension and alternatives
| Unmaintained Extension | Last commit | Recommended Alternatives | Last commit |
| ----------------------- | ----------- | ------------------------ | ------------ |
| [mattupstate/flask-mail](https://github.com/mattupstate/flask-mail) |  | [waynerv/flask-mailman](https://github.com/waynerv/flask-mailman) |  |
| [thadeusb/flask-cache](https://github.com/thadeusb/flask-cache) |  | [pallets-eco/flask-caching](https://github.com/pallets-eco/flask-caching) |  |
| [noirbizarre/flask-restplus](https://github.com/noirbizarre/flask-restplus) |  | [python-restx/flask-restx](https://github.com/python-restx/flask-restx) |  |
| [mbr/flask-bootstrap](https://github.com/mbr/flask-bootstrap) |  | [helloflask/bootstrap-flask](https://github.com/helloflask/bootstrap-flask) |  |
## How to add an extension?
Clone the repo and install dependencies:
```bash
git clone https://github.com/greyli/flask-extension-status
cd flask-extension-status
pip install -r requirements.txt
```
Add the extension info to `extensions.yml`:
```yaml
flask-foo: # PyPI package name
repo: github_username/repo_name # GitHub repository
init_string: 'from flask_foo import Foo; Foo(app)' # extension initialization
```
Then run:
```bash
python gen.py
```
Commit and push the changes, then create a pull request.