Skip to main content

mongo sessions for aiohttp.web

Project description

.. image::
.. image::

The library provides mongo sessions store for `aiohttp.web`__.

.. _aiohttp_web:

__ aiohttp_web_


A trivial usage example:

.. code:: python

import time
from aiohttp import web
from aiohttp_session import setup, get_session
from aiohttp_session_mongo import MongoStorage
import motor.motor_asyncio as aiomotor
import asyncio

async def handler(request):
session = await get_session(request)
last_visit = session['last_visit'] if 'last_visit' in session else None
session['last_visit'] = time.time()
text = 'Last visited: {}'.format(last_visit)
return web.Response(text=text)

async def init_mongo(loop):
url = "mongodb://localhost:27017"
conn = aiomotor.AsyncIOMotorClient(
url, maxPoolSize=2, io_loop=loop)
db = 'my_db'
return conn[db]

async def setup_mongo(app, loop):
db = await init_mongo(loop)

async def close_mongo(app):

return db

async def make_app():
app = web.Application()
loop = asyncio.get_event_loop()

db = await setup_mongo(app, loop)
session_collection = db['sessions']

max_age = 3600 * 24 * 365 # 1 year
setup(app, MongoStorage(session_collection, max_age=max_age))

app.router.add_get('/', handler)
return app


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aiohttp-session-mongo, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size aiohttp_session_mongo-0.0.1-py3-none-any.whl (3.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size aiohttp-session-mongo-0.0.1.tar.gz (3.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page