Install & Compatibility
Where this runs
tested against v3.0.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 109MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 7.8s · import 0.000s · 111MB
115MB installed
● package 115MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
RoleAssignment
✓ from edx_rbac.models import RoleAssignment
✗ from edx_rbac.models import RoleAssignment
Create a user, assign a role, and verify role existence.
from django.contrib.auth.models import User
from edx_rbac.models import RoleAssignment
from edx_rbac.utils import user_has_role
# Create a user and assign a role
user = User.objects.create_user('testuser', 'test@example.com', 'password')
RoleAssignment.objects.create(user=user, role='admin', context='default')
# Check if user has a role
has_role = user_has_role(user, 'admin')
print(f'User has admin role: {has_role}')
Upgrade
Version history
3.0.0latest on PyPI · released Mar 13, 2026
Audit
Dependencies
djangorequiredCore dependency for Django integration
PyJWTrequiredUsed for JWT token decoding in role verification
edx-django-utilsrequiredCommon utilities for Open edX Django apps