sanic_session

sanic_session is an extension for sanic that integrates server-backed sessions with a Flask-like API.

Install it with pip: pip install sanic_session

sanic_session provides a number of session interfaces for you to store a client’s session data. The interfaces available right now are:

  • Redis

  • Memcache

  • In-Memory (suitable for testing and development environments)

See Using the interfaces for instructions on using each.

A simple example uses the in-memory session interface.

from sanic import Sanic
from sanic.response import text
from sanic_session import Session

app = Sanic()
Session(app)

@app.route("/")
async def index(request):
    # interact with the session like a normal dict
    if not request.ctx.session.get('foo'):
        request.ctx.session['foo'] = 0

    request.ctx.session['foo'] += 1

    return text(request.ctx.session['foo'])

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000, debug=True)