{ "info": { "author": "Viktor Roytman", "author_email": "viktor@viktorroytman.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "Portier authentication Python helpers that are asyncio-aware\n============================================================\n\n|travis| |master-coverage|\n\n.. |travis| image:: https://travis-ci.org/vr2262/asyncio-portier.svg?branch=master\n :target: https://travis-ci.org/vr2262/asyncio-portier\n\n.. |master-coverage| image::\n https://codecov.io/gh/vr2262/asyncio-portier/branch/master/graph/badge.svg\n :alt: Coverage\n :target: https://codecov.io/gh/vr2262/asyncio-portier\n\n*asyncio-portier* is a set of helpers for `the Portier Identity Provider\n`_. It is based on `the portier-python package\n`_ but modified to work with\n:code:`asyncio`.\n\nUsage\n------------\n\nThe helpers work in much the same way as the ones in *portier-python*. Check\n`the demos directory\n`_ for usage\nexamples.\n\nNotes\n------------\n\n* *portier-python* doesn't seem to work quite right with Redis as the cache\n backend, so there are a few Redis-specific modifications. This may change in\n the future.\n* I expected the calls to cryptographic libraries to be blocking, but I saw no\n improvement from running those calls in an :code:`Executor` as per\n https://docs.python.org/3/library/asyncio-eventloop.html#executor.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vr2262/asyncio-portier", "keywords": "web services", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "asyncio-portier", "package_url": "https://pypi.org/project/asyncio-portier/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/asyncio-portier/", "project_urls": { "Homepage": "https://github.com/vr2262/asyncio-portier" }, "release_url": "https://pypi.org/project/asyncio-portier/0.1.0.post1/", "requires_dist": [ "portier-python", "flake8; extra == 'dev'", "pydocstyle; extra == 'dev'", "coverage; extra == 'test'" ], "requires_python": "", "summary": "Portier authentication asyncio-aware Python helpers.", "version": "0.1.0.post1" }, "last_serial": 2647335, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2af989a16441073fedba66aadf7fbdb9", "sha256": "eb3ffaff384db374e8e11fef4e152d693b133b497f0647b11ad949f7a9e2a592" }, "downloads": -1, "filename": "asyncio_portier-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2af989a16441073fedba66aadf7fbdb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6213, "upload_time": "2017-02-15T15:59:57", "url": "https://files.pythonhosted.org/packages/1d/01/c1e69777b5bafa6cb460277cb1cce91ab3913e0ae936b2af35f6507b49eb/asyncio_portier-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cc41901efbf9bae21d0a0988c4b4350", "sha256": "6a97eaa41bb71d41aa76c29464657022ed0d8f0624afe7ef1c1c143a0c59bf88" }, "downloads": -1, "filename": "asyncio-portier-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8cc41901efbf9bae21d0a0988c4b4350", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16587, "upload_time": "2017-02-15T15:59:59", "url": "https://files.pythonhosted.org/packages/fb/26/7e860aa3248901dee98ac2067b172b7c79bdca44a96ce72f2023cfc7a2fc/asyncio-portier-0.1.0.tar.gz" } ], "0.1.0.post1": [ { "comment_text": "", "digests": { "md5": "efc3e931bb5adaa72708323f00220165", "sha256": "a464b55141e9756a42ebf3c87989b4c755b2d070de7737ff490691aac7c2e527" }, "downloads": -1, "filename": "asyncio_portier-0.1.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "efc3e931bb5adaa72708323f00220165", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6303, "upload_time": "2017-02-16T17:15:46", "url": "https://files.pythonhosted.org/packages/46/90/8cf74ac7582653f1a6240e4644c67bfdbbea792204fb81168b822bbe3569/asyncio_portier-0.1.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87cea05c2435c97a0c4228aa34f4dc0f", "sha256": "781af4d196327233701a4e31c9a827cd0f08b17aa68a5a1b19f31cd3a4293aee" }, "downloads": -1, "filename": "asyncio-portier-0.1.0.post1.tar.gz", "has_sig": true, "md5_digest": "87cea05c2435c97a0c4228aa34f4dc0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16618, "upload_time": "2017-02-16T17:15:48", "url": "https://files.pythonhosted.org/packages/a7/d3/2dfddc9cf71c8de2c040764073a0902f91f2efcba73d1ece42bb67768d8a/asyncio-portier-0.1.0.post1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "efc3e931bb5adaa72708323f00220165", "sha256": "a464b55141e9756a42ebf3c87989b4c755b2d070de7737ff490691aac7c2e527" }, "downloads": -1, "filename": "asyncio_portier-0.1.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "efc3e931bb5adaa72708323f00220165", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6303, "upload_time": "2017-02-16T17:15:46", "url": "https://files.pythonhosted.org/packages/46/90/8cf74ac7582653f1a6240e4644c67bfdbbea792204fb81168b822bbe3569/asyncio_portier-0.1.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87cea05c2435c97a0c4228aa34f4dc0f", "sha256": "781af4d196327233701a4e31c9a827cd0f08b17aa68a5a1b19f31cd3a4293aee" }, "downloads": -1, "filename": "asyncio-portier-0.1.0.post1.tar.gz", "has_sig": true, "md5_digest": "87cea05c2435c97a0c4228aa34f4dc0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16618, "upload_time": "2017-02-16T17:15:48", "url": "https://files.pythonhosted.org/packages/a7/d3/2dfddc9cf71c8de2c040764073a0902f91f2efcba73d1ece42bb67768d8a/asyncio-portier-0.1.0.post1.tar.gz" } ] }