Skip to main content

Django Trusts

[![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)

Django authorization add-on for multiple organizations and object-level permission settings

Introduction

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.

A 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.

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.

django-trusts supports Django’s builtins User models has_perms() / has_perms() and does not provides any in-addition.

Read more: http://django-trusts.readthedocs.org/en/latest/

Test

To run unit tests:

` pip install virtualenv virtualenv venv/ source venv/bin/activate python setup.py test `

Metadata

Release files for django-trusts 0.10.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-trusts 0.10.3
File Size Uploaded Provenance
django-trusts-0.10.3.tar.gz 40.9 kB Without provenance Details

Release files / django-trusts-0.10.3.tar.gz

Download URL django-trusts-0.10.3.tar.gz
Size 40.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b3c4dba4270ec2c15a8b9890371aa7b6f64867c6e841c94b73ea39080e41f0cc
BLAKE2b-256 checksum
How to use checksums
446da1f6d08cd2063f834c8b2dd445750575c03134d78bde792f751a7ceb9d5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for django-trusts 0.10.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page