{ "info": { "author": "Oliver Cope", "author_email": "oliver@redgecko.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Obsession\n=========\n\nFast WSGI sessions. Zero dependencies. Python 3 ready.\n\nBasic usage::\n\n import obsession\n\n application = obsession.SessionMiddleware(application)\n\n\nAdvanced usage::\n\n # Customize all the options\n application = obsession.SessionMiddleware(\n application,\n id_persister=obsession.CookieIdPersistence(cookie_name='mysession',\n max_age=86400,\n path='/my-site',\n domain='mysite.example.org'\n secure=True),\n backend=obsession.FileBackend(directory='/tmp/session-store',\n prefix='session_')\n )\n\n\nYour application will now have a session object available in\n``environ['ob.session']``.\n\nThe session object acts like a regular dictionary::\n\n session = environ['ob.session']\n session['foo'] = 'bar'\n session['bar'] = [1, 2, 3]\n\nThe session will be saved automatically whenever you mutate the\nsession object itself - for example by assigning a new key, or reassigning an\nexisting key. However if you change an already stored value then\nyou should call ``session.save()`` to ensure your changes are saved.\n\nThere are some useful extra properties and methods::\n\n # Persist the session to the backend\n session.save()\n\n # What's my session id?\n my_session_id = session.id\n\n # Cycle the session id.\n # This generates a new session id and invalidates the old one.\n session.cycle()\n\n # Load a session with a known id.\n # Useful if you need to pass the session through another service that\n # does not have access to the cookie.\n s = environ['ob.session']\n s.load_id('my_session_id')\n\n # Delete the session.\n # This removes all data from the backend storage and deletes the client's\n # session cookie\n session.delete()\n\n\n0.2 (released 2018-03-12)\n-------------------------\n\n* Added JSON serializer\n* Bugfix: session ids ending in periods are no longer silently dropped\n* Only set a session id cookie when new session are created or when the id has\n changed, avoiding unnecessary Set-Cookie headers being sent.\n\n0.1\n----\n\n* Initial release\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/ollyc/obsession", "keywords": "", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "obsession", "package_url": "https://pypi.org/project/obsession/", "platform": "", "project_url": "https://pypi.org/project/obsession/", "project_urls": { "Homepage": "https://bitbucket.org/ollyc/obsession" }, "release_url": "https://pypi.org/project/obsession/0.2/", "requires_dist": null, "requires_python": "", "summary": "Server side HTTP sessions", "version": "0.2" }, "last_serial": 3662737, "releases": { "0": [], "0.1": [ { "comment_text": "", "digests": { "md5": "e8a043725635a913323ea7861f3ed28a", "sha256": "6c0c618484f6980073cb633dbd7b57cc0a1024e627a7d01b7babe0e193b5efb0" }, "downloads": -1, "filename": "obsession-0.1.tar.gz", "has_sig": false, "md5_digest": "e8a043725635a913323ea7861f3ed28a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10608, "upload_time": "2015-07-27T16:42:26", "url": "https://files.pythonhosted.org/packages/ff/13/b6b40caf430d4c5265b8a7b46a361aae1cd67fc4e7b747595006abcdf915/obsession-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "0f02cbb71cc6a78928017b7015cbdcfb", "sha256": "0e6ede484c996ffa9827eb6252764556a1d745b0c95e53e02314ca7ec1838a5f" }, "downloads": -1, "filename": "obsession-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "0f02cbb71cc6a78928017b7015cbdcfb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7693, "upload_time": "2018-03-12T19:18:37", "url": "https://files.pythonhosted.org/packages/9a/c6/b97d1558f50693c2cc364c4c7f54d77c1ea19b62d8c7a95551610225aa0f/obsession-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a46ce452d9257a3a698deff8579ffaf", "sha256": "5bc56b85ec9b2e0194caadea442017621103f8ad1d8142feeb2e6426fb7af03f" }, "downloads": -1, "filename": "obsession-0.2.tar.gz", "has_sig": false, "md5_digest": "8a46ce452d9257a3a698deff8579ffaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12128, "upload_time": "2018-03-12T19:18:39", "url": "https://files.pythonhosted.org/packages/2d/3e/fbfd8015814eb49e957491df6e683d75fe7300592b138eddcba487e95405/obsession-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0f02cbb71cc6a78928017b7015cbdcfb", "sha256": "0e6ede484c996ffa9827eb6252764556a1d745b0c95e53e02314ca7ec1838a5f" }, "downloads": -1, "filename": "obsession-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "0f02cbb71cc6a78928017b7015cbdcfb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7693, "upload_time": "2018-03-12T19:18:37", "url": "https://files.pythonhosted.org/packages/9a/c6/b97d1558f50693c2cc364c4c7f54d77c1ea19b62d8c7a95551610225aa0f/obsession-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a46ce452d9257a3a698deff8579ffaf", "sha256": "5bc56b85ec9b2e0194caadea442017621103f8ad1d8142feeb2e6426fb7af03f" }, "downloads": -1, "filename": "obsession-0.2.tar.gz", "has_sig": false, "md5_digest": "8a46ce452d9257a3a698deff8579ffaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12128, "upload_time": "2018-03-12T19:18:39", "url": "https://files.pythonhosted.org/packages/2d/3e/fbfd8015814eb49e957491df6e683d75fe7300592b138eddcba487e95405/obsession-0.2.tar.gz" } ] }