Skip to content

A simple flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database support.

License

Notifications You must be signed in to change notification settings

cowofevil/flask-ligand

Repository files navigation

flask-ligand

Docs Build PyPI Codecov pre-commit

A simple Flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database support.

Install

$ 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

Resources

About

A simple flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database support.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages