Catalog PyPI
PACKAGE EXPLORERView in registry

aclvl-permissions

PyPI

A custom Django permissions package.

Versions collected1
Direct dependencies2From release 0.3.0
Last observed20 Oct, 18:17 UTC

README

Version 0.3.0 documentation

ACLVL Permissions

ACLVL Permissions is a Django package that provides an easy-to-use system for managing roles and access levels within your Django applications. It simplifies role-based access control (RBAC) by linking roles to access levels and associating them with views.


Features

  • Define roles and access levels for flexible and scalable RBAC.
  • Automatically create or retrieve AccessLevel objects from views with declared permissions.
  • Management commands to list views and synchronize access levels.
  • Django admin integration for managing roles and access levels.

Installation

  1. Install the package using pip:
pip install aclvl_permissions
  1. Add the app to your INSTALLED_APPS in settings.py:
INSTALLED_APPS = [
    # Other apps
    'aclvl_permissions',
]
  1. Run migrations to set up the database models:
python manage.py makemigrations aclvl_permissions
python manage.py migrate

Models

Role

The 'Role' model defines user roles within the system. Each role can be associated with multiple 'AccessLevel' objects.

ACLVL Permissions Models

The ACLVL Permissions package provides two primary models: Role and AccessLevel. These models form the backbone of the role-based access control (RBAC) system by defining roles and permissions within your application.


Models Overview

1. Role

The Role model represents a user role within the system. Roles are linked to AccessLevel objects to define what permissions a role has.

Fields

FieldTypeDescription
nameCharFieldName of the role (e.g., "Admin", "Editor").
role_keyCharFieldUnique identifier key for the role.
access_levelManyToManyFieldRelationship to the AccessLevel model.

2. AccessLevel

The 'AccessLevel' model represents an individual permission within the system. Access levels are linked to roles to grant specific permissions.

Fields

FieldTypeDescription
nameCharFieldName of the role (e.g., "Admin", "Editor").
access_keyCharFieldUnique identifier key for the access level.

Commands Overview

1. list_views

The list_views command lists all declared views in your Django project, displays their view_key and required_access_levels, and ensures that all AccessLevel objects for the specified required_access_levels are created in the database.

Features:

  • Lists all views with a view_key and required_access_levels.
  • Automatically creates or retrieves AccessLevel objects based on declared permissions.

Command Usage:

python manage.py aclvl_set_view_keys

Usage

In your Django project, you can use the custom permission as follows:

from aclvl_permissions.permissions import AccessLevelPermission

class MyView(APIView):
    permission_classes = [AccessLevelPermission]
    required_access_levels = ['view_all_model', 'view_owner_model', 'create_all_model']
    view_key = 'model'

License

This project is licensed under the MIT License - see the LICENSE file for details.

Downloads & popularity

1downloads
1-day window · source-reported counts17 Oct 2026
10552.50
2026-07-20: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-20–2026-07-202026-07-23: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-23–2026-07-232026-07-24: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-24–2026-07-242026-07-25: 4 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-25–2026-07-252026-07-27: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-27–2026-07-272026-07-28: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-28–2026-07-282026-07-29: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-29–2026-07-292026-07-30: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-30–2026-07-302026-07-31: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-07-31–2026-07-312026-08-01: 4 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-01–2026-08-012026-08-02: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-02–2026-08-022026-08-03: 14 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-03–2026-08-032026-08-04: 7 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-04–2026-08-042026-08-05: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-05–2026-08-052026-08-06: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-06–2026-08-062026-08-07: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-07–2026-08-072026-08-08: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-08–2026-08-082026-08-09: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-09–2026-08-092026-08-10: 7 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-10–2026-08-102026-08-11: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-11–2026-08-112026-08-12: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-12–2026-08-122026-08-13: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-13–2026-08-132026-08-14: 4 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-14–2026-08-142026-08-17: 7 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-17–2026-08-172026-08-18: 105 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-18–2026-08-182026-08-19: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-19–2026-08-192026-08-20: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-20–2026-08-202026-08-22: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-22–2026-08-222026-08-23: 5 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-23–2026-08-232026-08-24: 12 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-24–2026-08-242026-08-28: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-28–2026-08-282026-08-31: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-08-31–2026-08-312026-09-01: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-01–2026-09-012026-09-03: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-03–2026-09-032026-09-05: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-05–2026-09-052026-09-06: 5 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-06–2026-09-062026-09-07: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-07–2026-09-072026-09-08: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-08–2026-09-082026-09-09: 4 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-09–2026-09-092026-09-10: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-10–2026-09-102026-09-12: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-12–2026-09-122026-09-13: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-13–2026-09-132026-09-24: 4 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-24–2026-09-242026-09-25: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-25–2026-09-252026-09-26: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-26–2026-09-262026-09-27: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-27–2026-09-272026-09-28: 7 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-28–2026-09-282026-09-29: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-29–2026-09-292026-09-30: 9 · observed 2026-10-20T20:58:42.7675807Z · period 2026-09-30–2026-09-302026-10-02: 3 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-02–2026-10-022026-10-03: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-03–2026-10-032026-10-05: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-05–2026-10-052026-10-06: 5 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-06–2026-10-062026-10-07: 4 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-07–2026-10-072026-10-08: 6 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-08–2026-10-082026-10-09: 6 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-09–2026-10-092026-10-10: 4 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-10–2026-10-102026-10-11: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-11–2026-10-112026-10-12: 8 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-12–2026-10-122026-10-13: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-13–2026-10-132026-10-15: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-15–2026-10-152026-10-16: 2 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-16–2026-10-162026-10-17: 1 · observed 2026-10-20T20:58:42.7675807Z · period 2026-10-17–2026-10-17
20 Jul17 Oct

pypistats · 63 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-17 – 2026-10-1712026-10-20T20:58:42.7675807Z
2026-10-16 – 2026-10-1622026-10-20T20:58:42.7675807Z
2026-10-15 – 2026-10-1512026-10-20T20:58:42.7675807Z
2026-10-13 – 2026-10-1322026-10-20T20:58:42.7675807Z
2026-10-12 – 2026-10-1282026-10-20T20:58:42.7675807Z
2026-10-11 – 2026-10-1112026-10-20T20:58:42.7675807Z
2026-10-10 – 2026-10-1042026-10-20T20:58:42.7675807Z
2026-10-09 – 2026-10-0962026-10-20T20:58:42.7675807Z
2026-10-08 – 2026-10-0862026-10-20T20:58:42.7675807Z
2026-10-07 – 2026-10-0742026-10-20T20:58:42.7675807Z
2026-10-06 – 2026-10-0652026-10-20T20:58:42.7675807Z
2026-10-05 – 2026-10-0512026-10-20T20:58:42.7675807Z
2026-10-03 – 2026-10-0312026-10-20T20:58:42.7675807Z
2026-10-02 – 2026-10-0232026-10-20T20:58:42.7675807Z
2026-09-30 – 2026-09-3092026-10-20T20:58:42.7675807Z
2026-09-29 – 2026-09-2922026-10-20T20:58:42.7675807Z
2026-09-28 – 2026-09-2872026-10-20T20:58:42.7675807Z
2026-09-27 – 2026-09-2732026-10-20T20:58:42.7675807Z
2026-09-26 – 2026-09-2612026-10-20T20:58:42.7675807Z
2026-09-25 – 2026-09-2522026-10-20T20:58:42.7675807Z
2026-09-24 – 2026-09-2442026-10-20T20:58:42.7675807Z
2026-09-13 – 2026-09-1312026-10-20T20:58:42.7675807Z
2026-09-12 – 2026-09-1232026-10-20T20:58:42.7675807Z
2026-09-10 – 2026-09-1012026-10-20T20:58:42.7675807Z
2026-09-09 – 2026-09-0942026-10-20T20:58:42.7675807Z
2026-09-08 – 2026-09-0812026-10-20T20:58:42.7675807Z
2026-09-07 – 2026-09-0712026-10-20T20:58:42.7675807Z
2026-09-06 – 2026-09-0652026-10-20T20:58:42.7675807Z
2026-09-05 – 2026-09-0532026-10-20T20:58:42.7675807Z
2026-09-03 – 2026-09-0322026-10-20T20:58:42.7675807Z
2026-09-01 – 2026-09-0132026-10-20T20:58:42.7675807Z
2026-08-31 – 2026-08-3122026-10-20T20:58:42.7675807Z
2026-08-28 – 2026-08-2812026-10-20T20:58:42.7675807Z
2026-08-24 – 2026-08-24122026-10-20T20:58:42.7675807Z
2026-08-23 – 2026-08-2352026-10-20T20:58:42.7675807Z
2026-08-22 – 2026-08-2232026-10-20T20:58:42.7675807Z
2026-08-20 – 2026-08-2012026-10-20T20:58:42.7675807Z
2026-08-19 – 2026-08-1922026-10-20T20:58:42.7675807Z
2026-08-18 – 2026-08-181052026-10-20T20:58:42.7675807Z
2026-08-17 – 2026-08-1772026-10-20T20:58:42.7675807Z
2026-08-14 – 2026-08-1442026-10-20T20:58:42.7675807Z
2026-08-13 – 2026-08-1322026-10-20T20:58:42.7675807Z
2026-08-12 – 2026-08-1222026-10-20T20:58:42.7675807Z
2026-08-11 – 2026-08-1122026-10-20T20:58:42.7675807Z
2026-08-10 – 2026-08-1072026-10-20T20:58:42.7675807Z
2026-08-09 – 2026-08-0932026-10-20T20:58:42.7675807Z
2026-08-08 – 2026-08-0812026-10-20T20:58:42.7675807Z
2026-08-07 – 2026-08-0732026-10-20T20:58:42.7675807Z
2026-08-06 – 2026-08-0612026-10-20T20:58:42.7675807Z
2026-08-05 – 2026-08-0512026-10-20T20:58:42.7675807Z
2026-08-04 – 2026-08-0472026-10-20T20:58:42.7675807Z
2026-08-03 – 2026-08-03142026-10-20T20:58:42.7675807Z
2026-08-02 – 2026-08-0212026-10-20T20:58:42.7675807Z
2026-08-01 – 2026-08-0142026-10-20T20:58:42.7675807Z
2026-07-31 – 2026-07-3122026-10-20T20:58:42.7675807Z
2026-07-30 – 2026-07-3012026-10-20T20:58:42.7675807Z
2026-07-29 – 2026-07-2922026-10-20T20:58:42.7675807Z
2026-07-28 – 2026-07-2822026-10-20T20:58:42.7675807Z
2026-07-27 – 2026-07-2732026-10-20T20:58:42.7675807Z
2026-07-25 – 2026-07-2542026-10-20T20:58:42.7675807Z
2026-07-24 – 2026-07-2412026-10-20T20:58:42.7675807Z
2026-07-23 – 2026-07-2322026-10-20T20:58:42.7675807Z
2026-07-20 – 2026-07-2012026-10-20T20:58:42.7675807Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.3.028 Dec 20242

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
shahbazism/aclvl_permissions

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:17 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:24163f789046d06dbec00f3714ef8d40cc5daaf3f84a8c0a448e77457a2b9aa9