Observed since 20 Oct, 18:17 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A custom Django permissions package.
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.
AccessLevel objects from views with declared permissions.pip install aclvl_permissions
INSTALLED_APPS = [
# Other apps
'aclvl_permissions',
]
python manage.py makemigrations aclvl_permissions
python manage.py migrate
The 'Role' model defines user roles within the system. Each role can be associated with multiple 'AccessLevel' objects.
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.
The Role model represents a user role within the system. Roles are linked to AccessLevel objects to define what permissions a role has.
| Field | Type | Description |
|---|---|---|
name | CharField | Name of the role (e.g., "Admin", "Editor"). |
role_key | CharField | Unique identifier key for the role. |
access_level | ManyToManyField | Relationship to the AccessLevel model. |
The 'AccessLevel' model represents an individual permission within the system. Access levels are linked to roles to grant specific permissions.
| Field | Type | Description |
|---|---|---|
name | CharField | Name of the role (e.g., "Admin", "Editor"). |
access_key | CharField | Unique identifier key for the access level. |
list_viewsThe 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.
view_key and required_access_levels.AccessLevel objects based on declared permissions.python manage.py aclvl_set_view_keys
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'
This project is licensed under the MIT License - see the LICENSE file for details.
pypistats · 63 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-17 – 2026-10-17 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-16 – 2026-10-16 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-15 – 2026-10-15 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-13 – 2026-10-13 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-12 – 2026-10-12 | 8 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-11 – 2026-10-11 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-10 – 2026-10-10 | 4 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-09 – 2026-10-09 | 6 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-08 – 2026-10-08 | 6 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-07 – 2026-10-07 | 4 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-06 – 2026-10-06 | 5 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-05 – 2026-10-05 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-03 – 2026-10-03 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-10-02 – 2026-10-02 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-30 – 2026-09-30 | 9 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-29 – 2026-09-29 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-28 – 2026-09-28 | 7 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-27 – 2026-09-27 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-26 – 2026-09-26 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-25 – 2026-09-25 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-24 – 2026-09-24 | 4 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-13 – 2026-09-13 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-12 – 2026-09-12 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-10 – 2026-09-10 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-09 – 2026-09-09 | 4 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-08 – 2026-09-08 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-07 – 2026-09-07 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-06 – 2026-09-06 | 5 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-05 – 2026-09-05 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-03 – 2026-09-03 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-09-01 – 2026-09-01 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-31 – 2026-08-31 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-28 – 2026-08-28 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-24 – 2026-08-24 | 12 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-23 – 2026-08-23 | 5 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-22 – 2026-08-22 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-20 – 2026-08-20 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-19 – 2026-08-19 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-18 – 2026-08-18 | 105 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-17 – 2026-08-17 | 7 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-14 – 2026-08-14 | 4 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-13 – 2026-08-13 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-12 – 2026-08-12 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-11 – 2026-08-11 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-10 – 2026-08-10 | 7 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-09 – 2026-08-09 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-08 – 2026-08-08 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-07 – 2026-08-07 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-06 – 2026-08-06 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-05 – 2026-08-05 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-04 – 2026-08-04 | 7 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-03 – 2026-08-03 | 14 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-02 – 2026-08-02 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-08-01 – 2026-08-01 | 4 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-31 – 2026-07-31 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-30 – 2026-07-30 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-29 – 2026-07-29 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-28 – 2026-07-28 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-27 – 2026-07-27 | 3 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-25 – 2026-07-25 | 4 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-24 – 2026-07-24 | 1 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-23 – 2026-07-23 | 2 | 2026-10-20T20:58:42.7675807Z |
| 2026-07-20 – 2026-07-20 | 1 | 2026-10-20T20:58:42.7675807Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.3.0 | 28 Dec 2024 | 2 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 18:17 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:24163f789046d06dbec00f3714ef8d40cc5daaf3f84a8c0a448e77457a2b9aa9