Name | flask-ligand JSON |
Version |
0.8.0
JSON |
| download |
home_page | |
Summary | A simple flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database support. |
upload_time | 2023-05-17 23:51:42 |
maintainer | |
docs_url | None |
author | Ryan Gard |
requires_python | >=3.10 |
license | GNU Affero General Public License v3 |
keywords |
flask
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
============
flask-ligand
============
.. excerpt-start
|docs-status| |build-status| |pypi-status| |codecov-status| |pre-commit-status|
A simple Flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database
support.
Install
=======
.. code-block:: bash
$ pip install flask-ligand
Why Use this Library?
=====================
Using `Flask`_ to create a REST based microservice is a daunting process which will definitely require the use of
many different `Flask extensions`_ which will really slow down the process of actually writing a functional REST
microservice that can be used safely in a production environment. This library seeks to use the best
`Flask extensions`_ loosely combined together to deliver a delightful developer experience by providing the following
functionality out-of-the-box:
- Create database models using the industry standard `SQLAlchemy ORM`_
- Leverage those same database models to create schemas for marshalling data in and out of your `Flask`_ endpoints
defined via Blueprints
- Provide automatic `SwaggerUI`_ docs for quickly developing and testing your `Flask`_ application without the need
of external tools like curl, Postman or Hoppscotch
- `Generate OpenAPI clients`_ for a variety of languages
- Endpoints for generating Python and Typescript clients already included!
- Protect endpoints with JWT security with a `OpenID Connect`_ IAM like `Auth0`_ or `Keycloak`_
- Optionally control access to endpoints using `RBAC`_
- Quickly enable `pagination`_ and `ETag`_ support for your endpoints
- Easily manage database migrations using Alembic through the fantastic `Flask-Migrate`_ library and command-line tools
.. _`Flask`: https://flask.palletsprojects.com/en/2.2.x/
.. _`Flask extensions`: https://flask.palletsprojects.com/en/2.2.x/extensions/
.. _`SQLAlchemy ORM`: https://www.sqlalchemy.org/
.. _`SwaggerUI`: https://swagger.io/tools/swagger-ui/
.. _`Generate OpenAPI clients`: https://openapi-generator.tech/
.. _`Auth0`: https://auth0.com/
.. _`Keycloak`: https://www.keycloak.org/
.. _`RBAC`: https://en.wikipedia.org/wiki/Role-based_access_control
.. _`OpenID Connect`: https://openid.net/connect/
.. _`pagination`: https://flask-smorest.readthedocs.io/en/latest/pagination.html
.. _`ETag`: https://flask-smorest.readthedocs.io/en/latest/etag.html
.. _`Flask-Migrate`: https://flask-migrate.readthedocs.io/en/latest/
.. |docs-status| image:: https://img.shields.io/readthedocs/flask-ligand/stable?logo=readthedocs
:target: https://flask-ligand.readthedocs.io/en/stable/
:alt: Docs
.. |build-status| image:: https://img.shields.io/github/actions/workflow/status/cowofevil/flask-ligand/bump_and_publish_release.yml?branch=main&logo=github
:target: https://github.com/cowofevil/flask-ligand/actions/workflows/bump_and_publish_release.yml
:alt: Build
.. |pypi-status| image:: https://img.shields.io/pypi/v/flask-ligand?color=blue&logo=pypi
:target: https://pypi.org/project/flask-ligand/
:alt: PyPI
.. |codecov-status| image:: https://img.shields.io/codecov/c/gh/cowofevil/flask-ligand?color=teal&logo=codecov
:target: https://app.codecov.io/gh/cowofevil/flask-ligand
:alt: Codecov
.. |pre-commit-status| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
:target: https://github.com/pre-commit/pre-commit
:alt: pre-commit
.. excerpt-end
Resources
=========
- `Documentation`_
- `Changelog`_
- `Contributing`_
- `License`_
.. _`Documentation`: https://flask-ligand.readthedocs.io/en/stable/
.. _`Changelog`: ./CHANGELOG.md
.. _`Contributing`: ./CONTRIBUTING.rst
.. _`License`: ./LICENSE
Raw data
{
"_id": null,
"home_page": "",
"name": "flask-ligand",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "flask",
"author": "Ryan Gard",
"author_email": "ryan@gardiancapitol.com",
"download_url": "https://files.pythonhosted.org/packages/bb/b4/404408ef248edc0ac08976d7e5ee8af11b529c1689d9214db0a2ac23318a/flask-ligand-0.8.0.tar.gz",
"platform": null,
"description": "============\nflask-ligand\n============\n\n.. excerpt-start\n\n|docs-status| |build-status| |pypi-status| |codecov-status| |pre-commit-status|\n\nA simple Flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database\nsupport.\n\nInstall\n=======\n\n.. code-block:: bash\n\n $ pip install flask-ligand\n\nWhy Use this Library?\n=====================\n\nUsing `Flask`_ to create a REST based microservice is a daunting process which will definitely require the use of\nmany different `Flask extensions`_ which will really slow down the process of actually writing a functional REST\nmicroservice that can be used safely in a production environment. This library seeks to use the best\n`Flask extensions`_ loosely combined together to deliver a delightful developer experience by providing the following\nfunctionality out-of-the-box:\n\n- Create database models using the industry standard `SQLAlchemy ORM`_\n- Leverage those same database models to create schemas for marshalling data in and out of your `Flask`_ endpoints\n defined via Blueprints\n- Provide automatic `SwaggerUI`_ docs for quickly developing and testing your `Flask`_ application without the need\n of external tools like curl, Postman or Hoppscotch\n- `Generate OpenAPI clients`_ for a variety of languages\n - Endpoints for generating Python and Typescript clients already included!\n- Protect endpoints with JWT security with a `OpenID Connect`_ IAM like `Auth0`_ or `Keycloak`_\n - Optionally control access to endpoints using `RBAC`_\n- Quickly enable `pagination`_ and `ETag`_ support for your endpoints\n- Easily manage database migrations using Alembic through the fantastic `Flask-Migrate`_ library and command-line tools\n\n.. _`Flask`: https://flask.palletsprojects.com/en/2.2.x/\n.. _`Flask extensions`: https://flask.palletsprojects.com/en/2.2.x/extensions/\n.. _`SQLAlchemy ORM`: https://www.sqlalchemy.org/\n.. _`SwaggerUI`: https://swagger.io/tools/swagger-ui/\n.. _`Generate OpenAPI clients`: https://openapi-generator.tech/\n.. _`Auth0`: https://auth0.com/\n.. _`Keycloak`: https://www.keycloak.org/\n.. _`RBAC`: https://en.wikipedia.org/wiki/Role-based_access_control\n.. _`OpenID Connect`: https://openid.net/connect/\n.. _`pagination`: https://flask-smorest.readthedocs.io/en/latest/pagination.html\n.. _`ETag`: https://flask-smorest.readthedocs.io/en/latest/etag.html\n.. _`Flask-Migrate`: https://flask-migrate.readthedocs.io/en/latest/\n\n.. |docs-status| image:: https://img.shields.io/readthedocs/flask-ligand/stable?logo=readthedocs\n :target: https://flask-ligand.readthedocs.io/en/stable/\n :alt: Docs\n.. |build-status| image:: https://img.shields.io/github/actions/workflow/status/cowofevil/flask-ligand/bump_and_publish_release.yml?branch=main&logo=github\n :target: https://github.com/cowofevil/flask-ligand/actions/workflows/bump_and_publish_release.yml\n :alt: Build\n.. |pypi-status| image:: https://img.shields.io/pypi/v/flask-ligand?color=blue&logo=pypi\n :target: https://pypi.org/project/flask-ligand/\n :alt: PyPI\n.. |codecov-status| image:: https://img.shields.io/codecov/c/gh/cowofevil/flask-ligand?color=teal&logo=codecov\n :target: https://app.codecov.io/gh/cowofevil/flask-ligand\n :alt: Codecov\n.. |pre-commit-status| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white\n :target: https://github.com/pre-commit/pre-commit\n :alt: pre-commit\n\n.. excerpt-end\n\nResources\n=========\n\n- `Documentation`_\n- `Changelog`_\n- `Contributing`_\n- `License`_\n\n.. _`Documentation`: https://flask-ligand.readthedocs.io/en/stable/\n.. _`Changelog`: ./CHANGELOG.md\n.. _`Contributing`: ./CONTRIBUTING.rst\n.. _`License`: ./LICENSE\n\n",
"bugtrack_url": null,
"license": "GNU Affero General Public License v3",
"summary": "A simple flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database support.",
"version": "0.8.0",
"project_urls": {
"Changelog": "https://github.com/cowofevil/flask-ligand/blob/main/CHANGELOG.md",
"Source": "https://github.com/cowofevil/flask-ligand",
"Tracker": "https://github.com/cowofevil/flask-ligand/issues"
},
"split_keywords": [
"flask"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "79b43db0512b5e42401b98bb328c94efc71d5df78ddd63c932708b5c71426ef9",
"md5": "6a426b2321d4bd5cfb2dd68adf9aaad7",
"sha256": "083e929276ed5e045d667e7f2f988cb7d553b7400a1f20ade07ccc0a9272a8a3"
},
"downloads": -1,
"filename": "flask_ligand-0.8.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "6a426b2321d4bd5cfb2dd68adf9aaad7",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.10",
"size": 31907,
"upload_time": "2023-05-17T23:51:40",
"upload_time_iso_8601": "2023-05-17T23:51:40.335205Z",
"url": "https://files.pythonhosted.org/packages/79/b4/3db0512b5e42401b98bb328c94efc71d5df78ddd63c932708b5c71426ef9/flask_ligand-0.8.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bbb4404408ef248edc0ac08976d7e5ee8af11b529c1689d9214db0a2ac23318a",
"md5": "73bd35a9ce1a70909b6d99cf5fb74001",
"sha256": "d20fb075833e7dc95eef2e66135a5da842d1e76c795007e40399a0caa6280592"
},
"downloads": -1,
"filename": "flask-ligand-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "73bd35a9ce1a70909b6d99cf5fb74001",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 93112,
"upload_time": "2023-05-17T23:51:42",
"upload_time_iso_8601": "2023-05-17T23:51:42.150630Z",
"url": "https://files.pythonhosted.org/packages/bb/b4/404408ef248edc0ac08976d7e5ee8af11b529c1689d9214db0a2ac23318a/flask-ligand-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-17 23:51:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cowofevil",
"github_project": "flask-ligand",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "flask-ligand"
}