Install & Compatibility
Where this runs
tested against v1.2.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.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 20.8MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.1s · import 0.000s · 21MB
19MB installed
● package 19MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
RequestIdMiddleware
✓ from starlette_request_id import RequestIdMiddleware
✗ from starlette_request_id import RequestIDMiddleware
request_id_ctx
✓ from starlette_request_id import request_id_ctx
REQUEST_ID_HEADER
✓ from starlette_request_id import REQUEST_ID_HEADER
A minimal Starlette app that adds request ID middleware and returns the ID in the response.
from starlette.applications import Starlette
from starlette.routing import Route
from starlette.requests import Request
from starlette.responses import JSONResponse
from starlette_request_id import RequestIDMiddleware
async def home(request: Request):
request_id = request.headers.get('X-Request-ID')
return JSONResponse({'request_id': request_id})
app = Starlette(debug=True, routes=[Route('/', home)])
app.add_middleware(RequestIDMiddleware)
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='0.0.0.0', port=8000)
Upgrade
Version history
1.2.1latest on PyPI · released Oct 19, 2024
Audit
Dependencies
starletterequiredCore dependency for middleware integration