{
"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"
}
]
}