{ "info": { "author": "Oliver Cope", "author_email": "oliver@redgecko.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP :: WSGI" ], "description": "Knave: ACLs and authorization in WSGI apps\n===========================================\n\nKnave provides roles/groups and permissions based authorization\nfor web (WSGI) applications.\nKnave assigns roles to users\n(both site wide roles like 'administrator' and\ncontext-sensitive roles like 'creator'),\nthen uses those roles to decide whether the user has permission to carry out an\naction.\n\nYou can configure permissions and roles statically in your code, or\nwrite adapters to pull authorization information from a database or other\nbackend.\n\nKnave doesn't do authentication, but can hook into most authentication systems.\n\n`Knave Authorization Documentation `_\n\\| `Repository `_\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://ollycope.com/software/knave/latest/", "keywords": "authorization,authorisation authentication security permissions roles groups wsgi acl", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "knave", "package_url": "https://pypi.org/project/knave/", "platform": "", "project_url": "https://pypi.org/project/knave/", "project_urls": { "Homepage": "https://ollycope.com/software/knave/latest/" }, "release_url": "https://pypi.org/project/knave/0.3.4/", "requires_dist": null, "requires_python": "", "summary": "Authorization for web apps: permissions, groups, roles, ACLs", "version": "0.3.4" }, "last_serial": 3953785, "releases": { "0": [], "0.2": [ { "comment_text": "", "digests": { "md5": "5e597cf7b8f2b75ab05b51c441002171", "sha256": "7b954529238d06a5775f9762799bc51635bb913f500354716733840a1fe4f57c" }, "downloads": -1, "filename": "knave-0.2.tar.gz", "has_sig": false, "md5_digest": "5e597cf7b8f2b75ab05b51c441002171", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12667, "upload_time": "2014-04-02T12:53:32", "url": "https://files.pythonhosted.org/packages/d5/cd/71e08e5228f32580c44a75e2a105409f6fbe2b2ef8f10bce0d7cfd03c535/knave-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "60d9a19ad0c5148c4dbe13e433fe8186", "sha256": "e4c63c9484e4bcef531b4c31efe3746e862cba85838e46897eafee6072366fd4" }, "downloads": -1, "filename": "knave-0.3.tar.gz", "has_sig": false, "md5_digest": "60d9a19ad0c5148c4dbe13e433fe8186", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15606, "upload_time": "2014-05-31T14:07:49", "url": "https://files.pythonhosted.org/packages/94/cc/062c61d4ae3795f4c226b275c8f166ffcde5bb66224c6d5cda0cf200a6a5/knave-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ee292679b5436c7b0069af48093c4711", "sha256": "a34bceeff25b137c7b17195bd2b7e20efaa2e8ef8377c61717615d0e1467d995" }, "downloads": -1, "filename": "knave-0.3.1.tar.gz", "has_sig": false, "md5_digest": "ee292679b5436c7b0069af48093c4711", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16259, "upload_time": "2014-12-29T16:26:44", "url": "https://files.pythonhosted.org/packages/99/ee/7ccd8572cfd404a4e123424a2cb9eaa9dd6434872373dc6ea19e37008213/knave-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "ee9e6e47edb793ec274c60eab5bdce98", "sha256": "8d3d8b0ffc1203920ccb4d29976db9d338c66674fcc277db505ab5dace4ee662" }, "downloads": -1, "filename": "knave-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "ee9e6e47edb793ec274c60eab5bdce98", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17729, "upload_time": "2018-06-11T21:22:54", "url": "https://files.pythonhosted.org/packages/c6/e2/fc025bc3f0eb9bf541934b83efe89f75f50b1578e7783dd1d051a8e422e2/knave-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67781f6b5ecad8c24bb8fa76c4ad64f5", "sha256": "271feb2a2519ab0a0495d32583f4ea181f8e67ff43812bbdbf91c37d34151234" }, "downloads": -1, "filename": "knave-0.3.2.tar.gz", "has_sig": false, "md5_digest": "67781f6b5ecad8c24bb8fa76c4ad64f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15439, "upload_time": "2018-06-11T21:22:56", "url": "https://files.pythonhosted.org/packages/37/2a/744fcac81d0be10fa064e08803533e886666426a9083618e1e44597b6ace/knave-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "42a714d167b05f9d78c9b52f4d8bc137", "sha256": "2dcdcfa8f3a98662c15ca0310b53dc9e44f64dc9ed413a29b8089f9b7f722220" }, "downloads": -1, "filename": "knave-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "42a714d167b05f9d78c9b52f4d8bc137", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11214, "upload_time": "2018-06-12T12:32:05", "url": "https://files.pythonhosted.org/packages/dc/3f/6ec10c088fae484b951fa1061d55a0d9b3256877f5d9c9b4724f9601cc20/knave-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d10fc4efd4fca2865b17e4089ea9a8e", "sha256": "dbbcfceebff84ca2e47e05cb5bedc9c878a87953f82e8a195d94a2cea572854f" }, "downloads": -1, "filename": "knave-0.3.3.tar.gz", "has_sig": false, "md5_digest": "3d10fc4efd4fca2865b17e4089ea9a8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10814, "upload_time": "2018-06-12T12:32:06", "url": "https://files.pythonhosted.org/packages/ac/e5/47935a1fbe075a41b725a61bb14617b3d37af29d4a26056282c0605f7ee1/knave-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "66abff787817ed6a9348679aa4e48c3a", "sha256": "b1739ca31f77f811a9313324099cf4f91f314388b70e2718dc65ee11704e6af1" }, "downloads": -1, "filename": "knave-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66abff787817ed6a9348679aa4e48c3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11218, "upload_time": "2018-06-12T12:44:28", "url": "https://files.pythonhosted.org/packages/78/86/d56d9e16e5e87689c9942b20b8838ac69dac204caff5eac67206aea66bdf/knave-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5844d42a95de6e06da9dc36a38a8d259", "sha256": "88be6fa52ef50df4d046931b6d7b775260f7db50e05dd7dbaa24c8174fb16aa9" }, "downloads": -1, "filename": "knave-0.3.4.tar.gz", "has_sig": false, "md5_digest": "5844d42a95de6e06da9dc36a38a8d259", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10824, "upload_time": "2018-06-12T12:44:29", "url": "https://files.pythonhosted.org/packages/e0/8d/b295539cba38f01ef2afe67e2b737fea8628cce27c34dcaee6b3bff75bc9/knave-0.3.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "66abff787817ed6a9348679aa4e48c3a", "sha256": "b1739ca31f77f811a9313324099cf4f91f314388b70e2718dc65ee11704e6af1" }, "downloads": -1, "filename": "knave-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66abff787817ed6a9348679aa4e48c3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11218, "upload_time": "2018-06-12T12:44:28", "url": "https://files.pythonhosted.org/packages/78/86/d56d9e16e5e87689c9942b20b8838ac69dac204caff5eac67206aea66bdf/knave-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5844d42a95de6e06da9dc36a38a8d259", "sha256": "88be6fa52ef50df4d046931b6d7b775260f7db50e05dd7dbaa24c8174fb16aa9" }, "downloads": -1, "filename": "knave-0.3.4.tar.gz", "has_sig": false, "md5_digest": "5844d42a95de6e06da9dc36a38a8d259", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10824, "upload_time": "2018-06-12T12:44:29", "url": "https://files.pythonhosted.org/packages/e0/8d/b295539cba38f01ef2afe67e2b737fea8628cce27c34dcaee6b3bff75bc9/knave-0.3.4.tar.gz" } ] }