Registry / communication / openedx-events

openedx-events

JSON →
library11.2.0pypypi✓ verified 84d ago

Open edX Events provides a set of event definitions and utilities for the Hooks Extensions Framework (HEF) in Open edX. Version 11.2.0 is the latest release, with frequent updates. It defines structured events for signaling actions in the Open edX platform.

pip install openedx-events
INSTALL
IMPORT
SIG · OPENEDX-EVENTS
O
openedx-events
communicationpythonv11.2.0
Install
6.9s avg
Import
340ms
Disk
102MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v9.14.1 · 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
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.334s · 94.1MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 6.9s · import 0.346s · 100MB
102MB installed
● package 102MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

OpenEdxPublicSignal
from openedx_events.tooling import OpenEdxPublicSignal
from openedx_events import OpenEdxPublicSignal
OpenEdxPublicSignal is in the tooling submodule, not top-level.
OrgEvents
from openedx_events.event_bus import EventBus, OrgEvents
from openedx_events import OrgEvents
OrgEvents is part of the event_bus submodule.

Create and send a custom Open edX event using OpenEdxPublicSignal.

from openedx_events.tooling import OpenEdxPublicSignal from openedx_events.learning.data import UserData, CourseData # Define a custom signal custom_signal = OpenEdxPublicSignal( event_type="org.myorg.my.event", data={ "user": UserData, "course": CourseData, } ) # Send the signal custom_signal.send_event( user=UserData(id=1, email="user@example.com"), course=CourseData(course_key="course-v1:Org+Course+2025") )
Debug
Known issues
breakingIn version 11.0.0, the event_bus module was refactored. `OrgEvents` is now imported from `openedx_events.event_bus` instead of the old location.
fix
Update imports: `from openedx_events.event_bus import OrgEvents`.
affects: >=11.0.0
deprecatedThe `EVENT_ORDER_CREATED` event type was deprecated in 10.0.0; use `ORDER_CREATED` instead.
fix
Replace `EVENT_ORDER_CREATED` with `ORDER_CREATED` in event data.
affects: >=10.0.0
gotchaWhen defining a custom signal, the event_type must follow the convention `org.your_org.your_event` or it may be rejected by the event bus.
fix
Use a fully qualified event type with at least three segments separated by dots.
affects: all
Errors
Common errors & fixes
ImportError: cannot import name 'OpenEdxPublicSignal' from 'openedx_events'
The symbol is not top-level; it's in the tooling submodule.
fix
Use: `from openedx_events.tooling import OpenEdxPublicSignal`
AttributeError: module 'openedx_events' has no attribute 'OrgEvents'
OrgEvents is located in the event_bus submodule.
fix
Use: `from openedx_events.event_bus import OrgEvents`
Upgrade
Version history
11.2.0latest on PyPI · released Apr 22, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
34 hits · last 30 days
node
32
OpenAI (training)
1
Resources
openedx-events — pip install openedx-events · libregistry