Registry / web-framework / openedx-filters

openedx-filters

JSON →
library3.5.0pypypi✓ verified 90d ago

Open edX Filters implement the Hooks Extensions Framework (OEP-50), allowing third-party plugins to hook into and modify Open edX platform behavior. Current version is 3.1.0, requiring Python >=3.12. The library is actively maintained by the Open edX community with regular releases.

pip install openedx-filters
INSTALL
IMPORT
SIG · OPENEDX-FILTERS
O
openedx-filters
web-frameworkpythonv3.5.0
Install
4.3s avg
Import
—
Disk
77MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v1.9.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
musl
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 66.5MB
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 4.3s · import 0.000s · 67MB
77MB installed
● package 77MB
Code
Verified usage

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

PipelineStep
✓ from openedx_filters import PipelineStep
✗ from openedx_filters import PipelineData

Minimal example showing how to import key symbols. Full integration requires Django app configuration and settings.

import openedx_filters from openedx_filters import PipelineData, ToolImplementationError # Define a simple filter function that adds data def my_filter(data, **kwargs): data['extra'] = 'added by filter' return PipelineData(data) # Register the filter (typically in your plugin's app config) # This assumes the filter is already defined in the Open edX pipeline. print("Filter registered. See official docs for full example.")
Debug
Known issues
breakingPython 3.12 minimum: version 3.0.0 dropped support for Python 3.8, 3.9, 3.10, and 3.11.
fix
Upgrade your environment to Python 3.12 or later.
affects: >=3.0.0
gotchaFilter class names have changed over time; always use the latest naming as per the docs for your version.
fix
Refer to the official filter list at https://github.com/openedx/openedx-filters/tree/main/openedx_filters/learning/filters.
affects: all
gotchaThe PipelineData object is not a dict; treating it as one may break attribute access.
fix
Always use PipelineData(data_dict) and access via data.your_key or data['your_key'] (it supports both).
affects: all
Upgrade
Version history
3.5.0latest on PyPI · released Jun 16, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
4 hits · last 30 days
node
4
Resources
openedx-filters — pip install openedx-filters · libregistry