cazart

Flask + Schema = Cazart!


Keywords
flask, jsonschema, validation
License
BSD-3-Clause-Attribution
Install
pip install cazart==0.0.2

Documentation

cazart

license Build Status

Flask + schema = cazart!

cazart is a small helper for writing schematized JSON endpoints with Flask. It rolls schema into Flask's route decorator, allowing for one-shot route and schema specification.

Installation

cazart requires Python 3.6 or newer.

pip3 install cazart

Usage

To use cazart, just swap your Flask instance out for a Cazart one:

from cazart import Cazart

app = Cazart(__name__)

You can access all of Flask's baseline functionality (including non-validated routes) via app.flask.

Then, use app.route to specify a combination route and schema:

from cazart import Cazart
from schema import Schema, Or

app = Cazart(__name__)


@app.route("/cazart", schema=Schema({"name": Or("alice", "bob", "mary")}))
def cazart(res):
    print(f"my verified payload is {res}!")
    return ("ok", 200)

See the examples for full usage examples, including custom error handling and dispatching to different schemas on a route based on HTTP method.