SQL Alchemy session scoped on Flask requests.
Project description
Flask-SQLAlchemySession2024
This is a fork of the excellent Flask-SQLAlchemySession package by Dimitris Theodorou, which has unfortunately gone unpatched for a few years.
Provides an SQLAlchemy scoped session that creates unique sessions per Flask request, following the guidelines documented at Using Custom Created Scopes.
TODO
- coverage
- docs
Usage
Initialize a flask_scoped_session
as you would a
scoped_session
, with the addition of a Flask
app. Then use the resulting session to query models:
from flask import Flask, abort, jsonify
from flask_sqlalchemy_session import flask_scoped_session
app = Flask(__name__)
session = flask_scoped_session(session_factory, app)
@app.route("/users/<int:user_id>")
def user(user_id):
user = session.query(User).get(user_id)
if user is None:
abort(404)
return flask.jsonify(**user.to_dict())
The current_session
is also provided as a convenient accessor to the session
of the current request, in the same spirit of flask.request
and
flask.current_app
.
from flask_sqlalchemy_session import current_session
@app.route("/users/<int:user_id>")
def user(user_id):
user = current_session.query(User).get(user_id)
if user is None:
abort(404)
return flask.jsonify(**user.to_dict())
Tests
You can run the tests by invoking PYTHONPATH=. py.test tests/
in the repository root.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Flask-SQLAlchemy-Session2024-3.0.0.tar.gz
.
File metadata
- Download URL: Flask-SQLAlchemy-Session2024-3.0.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8166cb167abc9369f19d7b55ba7c375e4cc5229f4a777aa9a3d01fdf1bd98626 |
|
MD5 | c7cbd1f75f6a976f974597ee70f521c5 |
|
BLAKE2b-256 | 8b790936e16a4025c451b5648bf446e52697d6dd748e8f07527c31e53a095839 |
File details
Details for the file Flask_SQLAlchemy_Session2024-3.0.0-py3-none-any.whl
.
File metadata
- Download URL: Flask_SQLAlchemy_Session2024-3.0.0-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60e33535f7ec6418011cb9f99278d12880927b9834ed43d3812ba66bd8065072 |
|
MD5 | f3e850378913886ff0506467da2a9962 |
|
BLAKE2b-256 | f41b2ab0a83a7580bcb31b1e4859722dca81257e96d8df73bc35f0517fc1f9b9 |