A simple Flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database support.
$ pip install flask-ligand
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