ProvenPin Install

Stacks

Flask recipes

6 tested Flask integration recipes with Flask-JWT-Extended, Flask-SQLAlchemy, SQLAlchemy, webargs. Exact pinned versions and a last-passed receipt, last run 2026-10-15.

passed3/3python

Flask 3 + Flask-JWT-Extended access and refresh tokens

Login, protected routes, refresh tokens and custom claims in Flask 3 using Flask-JWT-Extended, with an app factory.

flask@3.1.3flask-jwt-extended@4.7.4pytest@9.1.1
last passed 2026-10-15 11:54 UTC
passed2/2python

Flask 3 app factory + Flask-SQLAlchemy

Flask application factory with Flask-SQLAlchemy 3, a JSON API and pytest fixtures using an in-memory database.

flask@3.1.3flask-sqlalchemy@3.1.1sqlalchemy@2.1.4
last passed 2026-10-15 11:54 UTC
passed5/5python

Flask API args parsed and validated with webargs and marshmallow

Flask routes that parse query strings and JSON bodies through marshmallow schemas via webargs, with JSON 422 validation errors, tested offline with the Flask test client.

flask@3.1.3webargs@8.7.1marshmallow@4.3.1
last passed 2026-10-15 11:54 UTC
passed5/5python

Flask API with Flask-SQLAlchemy and marshmallow-sqlalchemy, validation errors as 422

A Flask JSON API that loads and dumps SQLAlchemy models through SQLAlchemyAutoSchema, returns validation errors as 422, and is tested offline with the Flask test client on in-memory sqlite.

flask@3.1.3flask-sqlalchemy@3.1.1marshmallow-sqlalchemy@1.5.0
last passed 2026-10-15 11:55 UTC
passed6/6python

Flask-Login sessions with Flask-SQLAlchemy users and werkzeug password hashing

Login, login_required redirects, logout and a user_loader built on db.session.get, with the User model in SQLite memory and tests run through the Flask test client.

flask@3.1.3flask-login@0.6.3flask-sqlalchemy@3.1.1
last passed 2026-10-15 11:54 UTC
passed4/4python

Flask-WTF forms with custom validators, CSRF on and off in tests

A Flask-WTF form with a reusable custom WTForms validator, rendered errors, and CSRF protection, tested offline with the Flask test client: CSRF disabled in the test config, then enforced.

flask@3.1.3flask-wtf@1.3.0wtforms@3.2.2
last passed 2026-10-15 11:54 UTC

Used together with Flask

Flask-JWT-ExtendedFlask-SQLAlchemySQLAlchemywebargsmarshmallowmarshmallow-sqlalchemyflask-loginwerkzeugflask-wtfwtforms