django-request-id
Augment each request with unique id for logging purposes
Decision gist · record as of 2026-08-14
No. While the package is simple and has no dependencies, it is abandoned (last update 2021-01-11) and targets Django 1.8–1.10 and Python 2.7 / 3.3–3.5. Modern Django and Python versions are likely unsupported. For current projects, consider a maintained alternative or implement request ID tracking directly using Django's built-in logging context or third-party solutions actively maintained for modern Django.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django and Python versions compatible with 1.8–1.10 and 2.7 / 3.3–3.5 respectively; modern Django and Python versions may not be supported.
- Installation is frictionless with no runtime dependencies.
- However, the package is abandoned—last commit was 2021-01-11 and it has not been updated for over 3 years.
License · maintenance · safety
MIT (permissive) — Released under the MIT license (permissive), so you may use, modify, and distribute it freely in both open-source and commercial projects without restriction.
last release 2016-10-23 (3582 days) · last repo commit 2021-01-11 · 33 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 116,397 downloads/mo, #12,206 on PyPI
Alternatives
Verify before relying
# Install
pip install django-request-id
# In Django settings.py:
INSTALLED_APPS = [
'request_id',
# ...
]
MIDDLEWARE = [
'request_id.middleware.RequestIdMiddleware',
# ...
]
# In a view:
from django.http import HttpResponse
def my_view(request):
request_id = request.request_id
return HttpResponse(f'Request ID: {request_id}')- Whether the package works with Django versions released after 1.10 (2.0+, 3.x, 4.x, 5.x)
- Whether the package is compatible with Python 3.6 and later versions
- Current status of any community forks or maintained alternatives
What it is and what it does
django-request-id is a Django middleware package that automatically assigns a unique identifier to each incoming HTTP request and makes it available throughout the request lifecycle. It integrates with Django's standard logging system via a custom filter, allowing you to include the request ID in log messages by adding a `%(request_id)` placeholder to your formatter. This enables correlation of log entries across your web server (Nginx, Apache, Heroku) and Django application, making it easier to trace a single user's request through your system.
The package retrieves the request ID from an HTTP header (typically `X-Request-ID`, configurable via `REQUEST_ID_HEADER` setting) if your web server provides one, or generates a unique ID automatically if not. It requires no external dependencies and integrates via a simple middleware registration and logging configuration. However, the package has not been maintained since 2021 and targets older Django and Python versions, so compatibility with current releases is uncertain.
Use it for
- Correlate log entries between Nginx/Apache web server logs and Django application logs for a single request
- Trace a user's request through multiple services or background tasks by passing the request ID as a header
- Debug production issues by matching a specific request ID in server logs to corresponding application log entries
- Implement request-scoped logging context in Django views and middleware without manual ID threading
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
While the package is simple and has no dependencies, it is abandoned (last update 2021-01-11) and targets Django 1.8–1.10 and Python 2.7 / 3.3–3.5. Modern Django and Python versions are likely unsupported. For current projects, consider a maintained alternative or implement request ID tracking directly using Django's built-in logging context or third-party solutions actively maintained for modern Django.
Install
django-request-id on PyPI
Before you install
Installation is frictionless with no runtime dependencies. However, the package is abandoned—last commit was 2021-01-11 and it has not been updated for over 3 years. It targets Django 1.8–1.10 and Python 2.7 / 3.3–3.5, making it potentially incompatible with modern Django and Python versions.
Requires Django and Python versions compatible with 1.8–1.10 and 2.7 / 3.3–3.5 respectively; modern Django and Python versions may not be supported.
License in practice
Released under the MIT license (permissive), so you may use, modify, and distribute it freely in both open-source and commercial projects without restriction.
Quickstart
# Install
pip install django-request-id
# In Django settings.py:
INSTALLED_APPS = [
'request_id',
# ...
]
MIDDLEWARE = [
'request_id.middleware.RequestIdMiddleware',
# ...
]
# In a view:
from django.http import HttpResponse
def my_view(request):
request_id = request.request_id
return HttpResponse(f'Request ID: {request_id}')
Verify before relying
- Whether the package works with Django versions released after 1.10 (2.0+, 3.x, 4.x, 5.x)
- Whether the package is compatible with Python 3.6 and later versions
- Current status of any community forks or maintained alternatives
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 3,582 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 116,397 / month, #12,206 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 1.10Framework :: Django :: 1.8Framework :: Django :: 1.9Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Topic :: Software DevelopmentTopic :: Software Development :: Libraries :: Python Modules |
Evidence: django_request_id-1.0.0-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 request id logging”
- django-request-idAttaches a unique request ID to each Django HTTP request and…
- django-guidAttaches a unique correlation ID to all logs for every Django…
- django-log-request-idAttaches a unique request ID to every log message generated during a…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
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.
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.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also django-log-request-id · Flask-Log-Request-ID · flask-request-id-header · django-guid · asgi-correlation-id · django-structlog · django-datadog-logger · django-currentuser · starlette-context · django-cprofile-middleware