Provides server-backed sessions for Sanic using Redis, Memcache and more.
Project description
Sanic session management for humans
sanic_session
is session management extension for Sanic that integrates server-backed sessions with most convenient API.
sanic_session
provides a number of session interfaces for you to store a client's session data. The interfaces available right now are:
- Redis (supports both drivers
aioredis
andasyncio_redis
) - Memcache (via
aiomcache
) - Mongodb (via
sanic_motor
andpymongo
) - In-Memory (suitable for testing and development environments)
Installation
Install with pip
(there is other options for different drivers, check documentation):
pip install sanic_session
or if you prefer Pipenv
:
pipenv install sanic_session
Documentation
Documentation is available at PythonHosted.
Example
A simple example uses the in-memory session interface.
from sanic import Sanic
from sanic.response import text
from sanic_session import Session, InMemorySessionInterface
app = Sanic()
session = Session(app, interface=InMemorySessionInterface())
@app.route("/")
async def index(request):
# interact with the session like a normal dict
if not request['session'].get('foo'):
request['session']['foo'] = 0
request['session']['foo'] += 1
return text(request['session']['foo'])
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000, debug=True)
Examples of using redis and memcache backed sessions can be found in the documentation, under Using the Interfaces.
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
Hashes for sanic_session-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fbbdf434d6cd506bafc154088d8f6796dd6f011a8c81d0e9a884bc5d77a7de2 |
|
MD5 | 3cb996e54b65f5fcd8c25591a3195152 |
|
BLAKE2b-256 | 7f4241bd7fed3236400ca31c944bc1c5a08defaebd64cb3fb29fa1df3e11b6b9 |