{ "info": { "author": "Thomas Yip", "author_email": "thomasleaf@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Django :: 1.8", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Topic :: Software Development :: Libraries" ], "description": "Django Trusts\n-------------\n\n[![Docs](https://readthedocs.org/projects/django-trusts/badge/)](http://django-trusts.readthedocs.org) [![CI](https://travis-ci.org/beedesk/django-trusts.svg?branch=master)](https://travis-ci.org/beedesk/django-trusts) [![Coverage](https://coveralls.io/repos/github/beedesk/django-trusts/badge.svg?branch=master)](https://coveralls.io/github/beedesk/django-trusts?branch=master) [![Version](https://badge.fury.io/py/django-trusts.svg)](https://pypi.python.org/pypi/django-trusts)\n\nDjango authorization add-on for multiple organizations and object-level permission settings\n\nIntroduction\n------------\n\n``django-trusts`` is a add-on to Django's builtin authorization. It strives to be a **minimal** implementation, adding only a single concept, ``trust``, to enable maintainable per-object permission settings for a django project that hosts users of multiple organizations with a single user namespace.\n\nA ``trust`` is a relationship whereby content access is permitted by the creator [``settlor``] to specific user(s) [``trustee`` (s)] or ``group`` (s). Content can be an instance of a `Content` subclass, or of an existing model via a junction table. Access to multiple content can be permitted by a single ``trust`` for maintainable permssion settings. Django's builtin model, `group`, is supported and can be used to define reusuable permissions for a ``group`` of ``user``'s.\n\n``django-trusts`` also strives to be a **scalable** solution. Permissions checking is offloaded to the database by design, and the implementation minimizes database hits. Permissions are cached per ``trust`` for the lifecycle of ``request user``. If a project's request lifecycle resolves most checked content to one or few ``trusts``, which should be very typically the case, this design should be a winner in term of performance. Permissions checking is done against an individual content or a ``QuerySet``.\n\n``django-trusts`` supports Django's builtins User models ``has_perms()`` / ``has_perms()`` and does not provides any in-addition.\n\nRead more: http://django-trusts.readthedocs.org/en/latest/\n\nTest\n----\n\nTo run unit tests:\n\n```\npip install virtualenv\nvirtualenv venv/\nsource venv/bin/activate\npython setup.py test\n```", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/beedesk/django-trusts", "keywords": null, "license": "BSD 2-Clause", "maintainer": null, "maintainer_email": null, "name": "django-trusts", "package_url": "https://pypi.org/project/django-trusts/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-trusts/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/beedesk/django-trusts" }, "release_url": "https://pypi.org/project/django-trusts/0.10.3/", "requires_dist": null, "requires_python": null, "summary": "Django authorization add-on for multiple organizations and object-level permission settings", "version": "0.10.3" }, "last_serial": 2092013, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "6c12b762b328a8713e62826b1787e3b5", "sha256": "482a45a386d5a75910cebb9ff1ca99e982ba24613ab6bceaa2193735abefcf46" }, "downloads": -1, "filename": "django-trusts-0.10.0.tar.gz", "has_sig": false, "md5_digest": "6c12b762b328a8713e62826b1787e3b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40130, "upload_time": "2016-02-04T07:53:00", "url": "https://files.pythonhosted.org/packages/f7/de/d027c96070e72fe3a7f0cfcf48e53d13beef323a80c6a7c5e3a2afbbf8e3/django-trusts-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "384f601be3a9a86c43c99ba6a56e3b15", "sha256": "7ba74b30266198a377664e7c40556f0b9edbc26985127ed802136a6b8d1fcf8e" }, "downloads": -1, "filename": "django-trusts-0.10.1.tar.gz", "has_sig": false, "md5_digest": "384f601be3a9a86c43c99ba6a56e3b15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41284, "upload_time": "2016-02-05T00:37:16", "url": "https://files.pythonhosted.org/packages/4c/02/54c84150e655ca81238c96cf4b5101a8450a7bed24f084c8a8e5981370b9/django-trusts-0.10.1.tar.gz" } ], "0.10.2": [ { "comment_text": "", "digests": { "md5": "d63dd3702c810034d0daa804a17ee1db", "sha256": "9a3e8aae7e995965eb2f68fc5a96bdbab8bff880edeb209344231c6119e686a7" }, "downloads": -1, "filename": "django-trusts-0.10.2.tar.gz", "has_sig": false, "md5_digest": "d63dd3702c810034d0daa804a17ee1db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42433, "upload_time": "2016-02-15T23:07:33", "url": "https://files.pythonhosted.org/packages/36/54/90d49a33cbe6300ec2cce9db860e17ffc841066822124a28bd3e984cdd6d/django-trusts-0.10.2.tar.gz" } ], "0.10.3": [ { "comment_text": "", "digests": { "md5": "44100f6662b2169fabb1da639ca2d74a", "sha256": "b3c4dba4270ec2c15a8b9890371aa7b6f64867c6e841c94b73ea39080e41f0cc" }, "downloads": -1, "filename": "django-trusts-0.10.3.tar.gz", "has_sig": false, "md5_digest": "44100f6662b2169fabb1da639ca2d74a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40895, "upload_time": "2016-04-30T07:26:47", "url": "https://files.pythonhosted.org/packages/44/6d/a1f6d08cd2063f834c8b2dd445750575c03134d78bde792f751a7ceb9d5d/django-trusts-0.10.3.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "9a58a95339afc730c3673e9e56197a76", "sha256": "a5380e4339a223ffdfc31c2cf5f67194dd48b1a8d7ee61c04643bb2bb691d6e5" }, "downloads": -1, "filename": "django-trusts-0.9.3.tar.gz", "has_sig": false, "md5_digest": "9a58a95339afc730c3673e9e56197a76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13484, "upload_time": "2016-01-30T00:15:44", "url": "https://files.pythonhosted.org/packages/ad/f6/56435995a8b9e9c548a81cb9d14e6c7dd6edaa6f38782d3e5f24be41038d/django-trusts-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "e86c47f3f53c6d010b708d17101f03a7", "sha256": "5f6233a5285d4c98760f0ae3f24457f1a33bc41f457334a7a2cbf8b6d6c95059" }, "downloads": -1, "filename": "django-trusts-0.9.4.tar.gz", "has_sig": false, "md5_digest": "e86c47f3f53c6d010b708d17101f03a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31805, "upload_time": "2016-01-30T07:30:49", "url": "https://files.pythonhosted.org/packages/15/78/bbe8b3cd50badf500dfba6a58a88f02d9bb1995f3b6af60533eb91f64189/django-trusts-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "09cb602cc152c78aff04a54f73720ce5", "sha256": "b09826e553f26eda95536c447e115f81f83f7bd526d408c50765a52beddc349a" }, "downloads": -1, "filename": "django-trusts-0.9.5.tar.gz", "has_sig": false, "md5_digest": "09cb602cc152c78aff04a54f73720ce5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31836, "upload_time": "2016-01-30T10:01:59", "url": "https://files.pythonhosted.org/packages/96/19/9846cde105e5bd5cddc9df57f9a2d6b21db903764659053ffcec169b1f56/django-trusts-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "592d7eeb7220ef7a4707b7e6779be324", "sha256": "5c2d40763396ef2e68a827fbe65126520decbb5a4b875039ea7c14e578ea64ea" }, "downloads": -1, "filename": "django-trusts-0.9.6.tar.gz", "has_sig": false, "md5_digest": "592d7eeb7220ef7a4707b7e6779be324", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31527, "upload_time": "2016-01-30T10:04:12", "url": "https://files.pythonhosted.org/packages/6d/3d/39182fb6d8081ff838e7f8edda6c08d980e735a898389e3f4cdc521ebcbf/django-trusts-0.9.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "44100f6662b2169fabb1da639ca2d74a", "sha256": "b3c4dba4270ec2c15a8b9890371aa7b6f64867c6e841c94b73ea39080e41f0cc" }, "downloads": -1, "filename": "django-trusts-0.10.3.tar.gz", "has_sig": false, "md5_digest": "44100f6662b2169fabb1da639ca2d74a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40895, "upload_time": "2016-04-30T07:26:47", "url": "https://files.pythonhosted.org/packages/44/6d/a1f6d08cd2063f834c8b2dd445750575c03134d78bde792f751a7ceb9d5d/django-trusts-0.10.3.tar.gz" } ] }