From 453a23dddf4eef0018b406a734a113f786131002 Mon Sep 17 00:00:00 2001 From: Leonwenbin Date: Sun, 17 Dec 2023 20:21:22 +0800 Subject: [PATCH] new flask extensions --- .github/workflows/flask-inputs.yml | 29 ++++++++++++++++++++++++++++ .github/workflows/flask-oauthlib.yml | 29 ++++++++++++++++++++++++++++ .github/workflows/flask-pydantic.yml | 29 ++++++++++++++++++++++++++++ .github/workflows/flask-qrcode.yml | 29 ++++++++++++++++++++++++++++ .github/workflows/flask-security.yml | 29 ++++++++++++++++++++++++++++ .github/workflows/flask-uploads.yml | 29 ++++++++++++++++++++++++++++ README.md | 6 ++++++ extensions.yml | 18 +++++++++++++++++ 8 files changed, 198 insertions(+) create mode 100644 .github/workflows/flask-inputs.yml create mode 100644 .github/workflows/flask-oauthlib.yml create mode 100644 .github/workflows/flask-pydantic.yml create mode 100644 .github/workflows/flask-qrcode.yml create mode 100644 .github/workflows/flask-security.yml create mode 100644 .github/workflows/flask-uploads.yml diff --git a/.github/workflows/flask-inputs.yml b/.github/workflows/flask-inputs.yml new file mode 100644 index 0000000..4bbab03 --- /dev/null +++ b/.github/workflows/flask-inputs.yml @@ -0,0 +1,29 @@ + +name: flask-inputs + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flask-inputs flask + + - name: Test initialization + run: | + python -c "from flask import Flask; app = Flask(__name__); from flask_inputs import Inputs;" diff --git a/.github/workflows/flask-oauthlib.yml b/.github/workflows/flask-oauthlib.yml new file mode 100644 index 0000000..33c76d5 --- /dev/null +++ b/.github/workflows/flask-oauthlib.yml @@ -0,0 +1,29 @@ + +name: flask-oauthlib + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flask-oauthlib flask + + - name: Test initialization + run: | + python -c "from flask import Flask; app = Flask(__name__); from flask_oauthlib.client import OAuth; OAuth(app)" diff --git a/.github/workflows/flask-pydantic.yml b/.github/workflows/flask-pydantic.yml new file mode 100644 index 0000000..2d77458 --- /dev/null +++ b/.github/workflows/flask-pydantic.yml @@ -0,0 +1,29 @@ + +name: flask-pydantic + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flask-pydantic flask + + - name: Test initialization + run: | + python -c "from flask import Flask; app = Flask(__name__); from flask_pydantic import validate;" diff --git a/.github/workflows/flask-qrcode.yml b/.github/workflows/flask-qrcode.yml new file mode 100644 index 0000000..bb78ca9 --- /dev/null +++ b/.github/workflows/flask-qrcode.yml @@ -0,0 +1,29 @@ + +name: flask-qrcode + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flask-qrcode flask + + - name: Test initialization + run: | + python -c "from flask import Flask; app = Flask(__name__); from flask_qrcode import QRcode;QRcode(app)" diff --git a/.github/workflows/flask-security.yml b/.github/workflows/flask-security.yml new file mode 100644 index 0000000..7da6c84 --- /dev/null +++ b/.github/workflows/flask-security.yml @@ -0,0 +1,29 @@ + +name: flask-security + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flask-security flask + + - name: Test initialization + run: | + python -c "from flask import Flask; app = Flask(__name__); from flask_security import Security; Security(app)" diff --git a/.github/workflows/flask-uploads.yml b/.github/workflows/flask-uploads.yml new file mode 100644 index 0000000..f58d96d --- /dev/null +++ b/.github/workflows/flask-uploads.yml @@ -0,0 +1,29 @@ + +name: flask-uploads + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flask-uploads flask + + - name: Test initialization + run: | + python -c "from flask import Flask; app = Flask(__name__); from flask_uploads import UploadSet, configure_uploads; configure_uploads(app, UploadSet())" diff --git a/README.md b/README.md index bc83705..c652493 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ For a project that is abandoned/dead, we will remove it from the table and list | [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) | | [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) | | [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) | +| [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) | | [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) | | [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) | | [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) | @@ -40,14 +41,19 @@ For a project that is abandoned/dead, we will remove it from the table and list | [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) | | [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) | | [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) | +| [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) | +| [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) | +| [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) | | [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) | | [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) | | [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) | +| [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) | | [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) | | [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) | | [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) | | [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) | | [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) | +| [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) | | [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) | | [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) | diff --git a/extensions.yml b/extensions.yml index 563dc99..7aa6134 100644 --- a/extensions.yml +++ b/extensions.yml @@ -89,3 +89,21 @@ flask-admin: flask-apscheduler: repo: viniciuschiele/flask-apscheduler init_string: 'from flask_apscheduler import APScheduler; APScheduler(app)' +flask-oauthlib: + repo: lepture/flask-oauthlib + init_string: 'from flask_oauthlib.client import OAuth; OAuth(app)' +flask-uploads: + repo: maxcountryman/flask-uploads + init_string: 'from flask_uploads import UploadSet, configure_uploads; configure_uploads(app, UploadSet())' +flask-inputs: + repo: nathancahill/flask-inputs + init_string: 'from flask_inputs import Inputs;' +flask-pydantic: + repo: bauerji/flask-pydantic + init_string: 'from flask_pydantic import validate;' +flask-qrcode: + repo: marcoagner/Flask-QRcode + init_string: 'from flask_qrcode import QRcode;QRcode(app)' +flask-security: + repo: mattupstate/flask-security + init_string: 'from flask_security import Security; Security(app)'