edx-django-utils
EdX utilities for Django Application development.
Decision gist · record as of 2026-08-14
Yes, if you are building or maintaining a Django application and want to avoid reimplementing common utilities like request caching, monitoring middleware, or plugin infrastructure. The package is actively maintained, has no known vulnerabilities, and uses a permissive license. Install it if you need one or more of its utilities; the modular design means you only pay for what you use. Not necessary if your project has already solved these problems with other libraries or internal code.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django and Python 3.12; package dropped support for Python versions below 3.12 as of version 6.0.0.
- Low install friction with a pure-Python wheel.
- Active maintenance as of 2026-08-10 with recent updates addressing deprecated dependencies (newrelic removed in 8.0.0).
License · maintenance · safety
permissive license (permissive) — Licensed under Apache License 2.0 (permissive). No restrictions on commercial or private use; modifications and redistribution are permitted under the same license terms.
last release 2025-09-29 (319 days) · last repo commit 2026-08-10 · 28 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 110,118 downloads/mo, #12,482 on PyPI
Alternatives
Verify before relying
pip install edx-django-utils
from edx_django_utils.cache import RequestCache
from edx_django_utils.monitoring import set_monitoring_transaction_name
cache = RequestCache()
cache.set('key', 'value')
set_monitoring_transaction_name('transaction_name')- Whether all 7 runtime dependencies are required for all utilities or if some are optional/conditional.
- Specific Django 4.2 and 5.2 compatibility details and any known issues with those versions.
- Performance characteristics or scalability limits of the caching and monitoring utilities.
- Whether the plugin infrastructure supports dynamic loading at runtime or only at startup.
What it is and what it does
edx-django-utils is a collection of reusable utilities built for the Open edX platform to support common Django application patterns. It provides modular tools for request-scoped caching via RequestCache and TieredCache, user and group management helpers, IP address extraction and handling, structured logging with encryption support, monitoring middleware with multiple backend support (including Datadog), a plugin system for enhanced Django extensibility, Content Security Policy middleware, and management commands for generating test data from model factories.
The package is designed as a shared library where each utility exposes its public API through module __init__.py files. It targets Django 4.2 and 5.2 on Python 3.12, with active maintenance that recently removed the newrelic dependency to let users install monitoring backends independently. Most utilities are optional in nature—you import only what you need—making it suitable for both small and large Django projects that want to avoid reimplementing common patterns.
Use it for
- Add request-scoped caching to Django views without managing cache lifecycle manually.
- Implement multi-tier caching strategies combining in-memory and distributed caches.
- Extract and normalize client IP addresses from requests, handling proxies and forwarding headers.
- Add encrypted logging for sensitive data in production Django applications.
- Integrate application monitoring with Datadog or other backends via the monitoring middleware.
- Build extensible Django applications using the plugin infrastructure for third-party integrations.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building or maintaining a Django application and want to avoid reimplementing common utilities like request caching, monitoring middleware, or plugin infrastructure.
The package is actively maintained, has no known vulnerabilities, and uses a permissive license. Install it if you need one or more of its utilities; the modular design means you only pay for what you use. Not necessary if your project has already solved these problems with other libraries or internal code.
Install
edx-django-utils on PyPI
Before you install
Low install friction with a pure-Python wheel. Active maintenance as of 2026-08-10 with recent updates addressing deprecated dependencies (newrelic removed in 8.0.0). Depends on 7 runtime packages including Django, PyNaCl, click, django-crum, django-waffle, psutil, and stevedore.
Requires Django and Python 3.12; package dropped support for Python versions below 3.12 as of version 6.0.0.
License in practice
Licensed under Apache License 2.0 (permissive). No restrictions on commercial or private use; modifications and redistribution are permitted under the same license terms.
Quickstart
pip install edx-django-utils
from edx_django_utils.cache import RequestCache
from edx_django_utils.monitoring import set_monitoring_transaction_name
cache = RequestCache()
cache.set('key', 'value')
set_monitoring_transaction_name('transaction_name')
Verify before relying
- Whether all 7 runtime dependencies are required for all utilities or if some are optional/conditional.
- Specific Django 4.2 and 5.2 compatibility details and any known issues with those versions.
- Performance characteristics or scalability limits of the caching and monitoring utilities.
- Whether the plugin infrastructure supports dynamic loading at runtime or only at startup.
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagesDjangoPyNaClclickdjango-crumdjango-wafflepsutilstevedore |
| Maintenance | Actively maintained 319 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 110,118 / month, #12,482 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaFramework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.2Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.12 |
Evidence: edx_django_utils-8.0.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django utilities library”
- edx-django-utilsProvides a collection of shared utilities for Django applications,…
- django-nineProvides version checking utilities for Django, allowing code to…
- django-leafletIntegrates the Leaflet JavaScript mapping library into Django…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also edx-django-release-util · edx-enterprise · openedx-events · edx-toggles · edx-rest-api-client · XBlock · edx-drf-extensions · edx-i18n-tools · allianceauth-app-utils · django-invitations