Skip to main content

Provision django instances with usergroups and permissions

Project description

https://img.shields.io/badge/code%20style-black-000000.svg https://travis-ci.org/labd/django-perms-provisioner.svg?branch=master http://codecov.io/github/labd/django-perms-provisioner/coverage.svg?branch=master https://img.shields.io/pypi/v/django-perms-provisioner.svg

This package works like the standard Django loaddata / dumpdata commands only it’s used for creating auth.Group objects with their provided permissions.

Requirements

  • Python >= 3.6

  • Django >= 1.11

Installation

pip install django_perms_provisioner

Then the only thing left before you can start using the Django Permissions Provisioner is adding it to you installed apps.

INSTALLED_APPS = [
    "django_perms_provisioner",
]

Configuration

Configuration can either be done via providing a YAML or JSON file. Your file needs to have one of the following extensions: .json, .yaml, .yml, and their approriate contents of course.

Examples:

---
groups:
  - name: Group Name
    permissions:
      sites:
         - site.add_site
         - site.change_site
       wagtailadmin:
         - admin.access_admin
{
  "groups" [{
    "name": "Group Name",
    "permissions": {
      "sites": ["site.add_site", "site.change_site"],
      "wagtailadmin": ["admin.access_admin"]
    }
  }]
}

It is also possible to only create groups this can be done by just leaving out the permissions.

Example:

---
groups:
  - name: Group Name
  - name: Next Group Name

Usage

To load permissions from a configuration file

./manage.py loadperms permissions.yaml

Or to dump permissions to a configuration file

./manage.py dumpperms > permissions.yaml

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-perms-provisioner-0.0.3.tar.gz (15.9 kB view hashes)

Uploaded Source

Built Distribution

django_perms_provisioner-0.0.3-py2.py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page