drf-composable-permissions

Compose your permission classes for django-rest-framework.


License
BSD-3-Clause
Install
pip install drf-composable-permissions==0.1.1

Documentation

drf-composable-permissions

build-status-image pypi-version

Overview

Compose your permission classes for django-rest-framework.

Requirements

  • Python (2.7, (3.5, 3.6 (not in test suite))
  • Django (1.8, 1.10, 1.11)
  • Django REST Framework (3.4, 3.4, 3.6)

Installation

Install using pip…

$ pip install drf-composable-permissions

Example

When we want to create a permission class that allows read access to authenticated users and write access to superusers we can use the following code:

from rest_framework.permissions import IsAuthenticated
from drf_composable_permissions.p import P
from drf_composable_permissions.permissions import IsReadOnly, IsSuperuser

MyPermission = P(IsSuperuser) | (P(IsAuthenticated) & P(IsReadOnly))

Testing

Install testing requirements.

$ pip install -r requirements.txt

Run with runtests.

$ ./runtests.py

You can also use the excellent tox testing tool to run the tests against all supported versions of Python and Django. Install tox globally, and then simply run:

$ tox

Documentation

To build the documentation, you’ll need to install mkdocs.

$ pip install mkdocs

To preview the documentation:

$ mkdocs serve
Running at: http://127.0.0.1:8000/

To build the documentation:

$ mkdocs build