Skip to main content

An Open edX plugin to customize courses access by grouping learners and assigning different permissions to groups.

Project description

PyPI Codecov Documentation Supported Python versions License


This is a plugin for the Open edX Platform that provides the Course Access Group functionality. It can be installed via pip with minimal configuration to provide an admin panel to allow site administrators to create access groups and assign courses to them.

Learners upon registration will be automatically assigned to a specific group, from which it’ll be possible to see which courses they’ll be able to see and enroll in.

The classic example is that you’d want to offer different courses to your customers, employees and offer some courses for everyone. Hence you’d need to make two groups and assign courses to only learners within those groups while mark some courses as public ones.


The full documentation is at

Supported Open edX Version

The bad news, there’s none. The good news is that there’s a plan to make it work with the upstream Open edX versions out of the box.

The even better news, is that you can get this plugin to work by cherry-picking the following pull requests:


The code in this repository is licensed under the MIT License unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome.

Even though they were written with edx-platform in mind, the guidelines should be followed for Open edX code in general.

The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you can find it at

The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you can find it at

Reporting Security Issues

Please do not report security issues in public. Please email

Getting Help

Have a question about this repository, or about Open edX in general? Please refer to this list of resources if you need any assistance.

Change Log


[0.6.1] - 2023-01-04

  • Minor fix for a False-Positive log

[0.6.0] - 2022-08-17

  • Use tahoe-sites v0.1.2 and refactor related code:

  • Bump django from 2.2.26 to 2.2.27

  • Bump pillow from 9.0.0 to 9.0.1

  • Bump django from 2.2.27 to 2.2.28

  • Bump lxml from 4.6.2 to 4.9.1

  • Added tests for modifying membership rule.

  • Fixed documentation for modifying the membership rule.

[0.5.3] - 2022-01-31

  • Bump pillow from 7.2.0 to 9.0.0

  • Bump django from 2.2.25 to 2.2.26

  • Fix ValueError for inactive users’ REGISTER_USER singal

[0.5.2] - 2022-01-05

  • Fix MembershipRule for SSO learners

[0.5.2] - 2021-12-29

  • Bump pillow from 7.2.0 to 8.3.2

  • Bump sqlparse from 0.4.1 to 0.4.2

  • Tests and docs fixes for membership rule PATCH

  • style doc fix for MembershipRule API

  • Bump lxml from 4.6.2 to 4.6.5

  • Bump django from 2.2.24 to 2.2.25

  • add organization_uuid parameter for superusers

[0.5.1] - 2021-09-01


  • log exceptions for the USER_ACCOUNT_ACTIVATED signal

[0.5.0] - 2021-07-14


  • Fixes for Django 2.x


  • Dropped support for Python 2.x and Django 1.x

[0.4.0] - 2021-01-27


  • Support python3 and django2

[0.3.0] - 2020-04-06


  • Added new APIs /courses/ and /users/

  • Few bug fixes

[0.2.0] - 2020-03-11


  • First release to be ready for deployment in staging environments.

[0.1.0] - 2019-11-26


  • First release on PyPI.

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

course-access-groups-0.6.1.tar.gz (17.8 kB view hashes)

Uploaded Source

Built Distribution

course_access_groups-0.6.1-py2.py3-none-any.whl (20.5 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