Install & Compatibility
Where this runs
tested against v8.0.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
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 75.8MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 4.6s · import 0.000s · 76MB
76MB installed
● package 76MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
MonitoringMiddleware
✓ from edx_django_utils.monitoring import MonitoringMiddleware
✗ from edx_django_utils.monitoring import MonitoringMiddleware
This quickstart demonstrates how to integrate edx-django-utils by adding its `MonitoringMiddleware` and `IdentityContextMiddleware` to your Django `MIDDLEWARE` settings, including `edx_django_utils.plugins` in `INSTALLED_APPS`, and using the `set_monitoring_transaction_name` utility function within a view.
# In your Django project's settings.py
INSTALLED_APPS = [
# ... other apps
'edx_django_utils.plugins', # Required for some signals/plugin management features
# ...
]
MIDDLEWARE = [
'edx_django_utils.monitoring.middleware.MonitoringMiddleware',
'edx_django_utils.middleware.identity.IdentityContextMiddleware',
# ... other middleware
]
# Example usage in a view or management command
from django.http import HttpResponse
from edx_django_utils.monitoring.utils import set_monitoring_transaction_name
def my_app_view(request):
set_monitoring_transaction_name('my_app.view_name')
# Your view logic
return HttpResponse('Response from my app!')
Debug
Known issues
breakingPython 3.8 support was dropped in `edx-django-utils==6.0.0`.fixUpgrade your Python environment to 3.9 or higher. For new projects, use Python 3.11+.
affects: >=6.0.0
breakingThe `newrelic` package was removed as a direct dependency in `edx-django-utils==8.0.0`. If your project relied on `edx-django-utils` to implicitly install `newrelic` for monitoring, you will need to add it to your project's `requirements.txt` explicitly.fixExplicitly add `newrelic` to your project's dependencies (e.g., `pip install newrelic`).
affects: >=8.0.0
deprecatedSeveral middleware classes, such as `RequestCacheMiddleware`, were deprecated and subsequently removed or refactored in `v7.2.0`.fixReview your `MIDDLEWARE` settings and replace or remove any deprecated `edx_django_utils` middleware. Refer to the official documentation or release notes for current alternatives.
affects: >=7.2.0
gotchaDjango 5.2 support was explicitly added in `edx-django-utils==7.3.0`. While earlier versions might work, full compatibility and optimal behavior with Django 5.2 are ensured from this version onwards.fixEnsure `edx-django-utils` is at least `7.3.0` or newer when using Django 5.2 or later.
affects: <7.3.0 (with Django 5.2)
Upgrade
Version history
8.0.1latest on PyPI · released Sep 29, 2025
Audit
Dependencies
DjangorequiredCore framework the utilities extend and integrate with.
ddtracerequiredUsed for Datadog APM integration in monitoring utilities.
elastic-apmrequiredUsed for Elastic APM integration in monitoring utilities.
pyyamlrequiredGeneral utility dependency.