flask-ligand

Release v0.10.1 (Changelog)

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 OpenAPI 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

Guides

Powered By

This library is powered by the following awesome projects: