Flask-Scheema#

keema-naan == bread, flask-scheema.naan == api

Coverage Report GitHub License PyPI - Downloads GitHub Repo

Flask-Scheema automatically creates rapid, production ready API’s directly from SQLAlchemy models with accompanying Redoc documentation, all with little to no effort.

By adding flask-scheema to your Flask application, you can be up and running in seconds, leaving you time to focus on what really matters.

What can it do?

  • Automatically detect and create endpoints, with model relationships & hybrid properties.

  • Create detailed API outputs.

  • Authenticate users with a variety of methods.

  • Global or model based configuration including callbacks, rate limiting, caching & more.

  • Automatically generated Redoc documentation.

All fully configurable through Flask config values all the way through to http method based configuration your models, giving you fine grained control over the output of your API and accompanying documentation.

What are you waiting for…?

Turn this.

class Book(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(80), unique=True, nullable=False)
    author = db.Column(db.String(80), nullable=False)
    published = db.Column(db.DateTime, nullable=False)

Into this:

GET /api/books

{
  "datetime": "2024-01-01T00:00:00.0000+00:00",
  "apiVersion": "0.1.0",
  "statusCode": 200,
  "responseMs": 15,
  "totalCount": 10,
  "nextUrl": "/api/authors?limit=2&page=3",
  "previousUrl": "/api/authors?limit=2&page=1",
  "error": "null",
  "value": [
    {
      "author": "John Doe",
      "id": 3,
      "published": "2024-01-01T00:00:00.0000+00:00",
      "title": "The Book"
    },
    {
      "author": "Jane Doe",
      "id": 4,
      "published": "2024-01-01T00:00:00.0000+00:00",
      "title": "The Book 2"
    }
  ]
}

Let’s get started!

Quick Start

View Demos