{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/5"},{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/12"},{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/4"}],"enrichment":{"capability":"Django-CRUM stores the current request and user in thread-local storage, making them accessible throughout your application without passing the request object explicitly.","skillfed_tags":["django-middleware","thread-local-storage","audit-logging"],"use_cases":["Audit logging: capture which user performed an action without passing request through every function layer","Permission checks: verify user permissions in business logic without request object available","Temporary user impersonation: switch context to another user for a specific operation block","Custom authentication: extend the current-user detection via signals for non-standard auth backends"],"what_it_does":"Django-CRUM is a middleware package that captures the current HTTP request and authenticated user into thread-local storage, allowing your code to access them anywhere in your application without threading the request object through function calls. It's particularly useful for audit logging, permission checks, and other cross-cutting concerns that need to know who made the current request.\n\nThe package includes a context manager for temporarily impersonating another user and exposes a signal to customize how the current user is determined, which can help when using custom authentication methods or non-standard user models. It depends only on django and installs as a simple wheel with no compiled dependencies.","worth_installing":"Yes, if you are on Django versions up to 3.1 and do not need active maintenance. The package is stable and lightweight for its intended use case, but dormant since 2020 means no support for newer Django releases. Install only if your project's Django version is within the tested range and you accept that updates will not arrive."},"id":"django-crum","links":{"html":"https://skillfed.io/packages/django-crum","md":"https://skillfed.io/packages/django-crum.md","pypi":"https://pypi.org/project/django-crum/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2020-11-10","license_spdx":null,"license_treatment":"permissive","name":"django-crum","python_support":"unspecified","summary":"Django middleware to capture current request and user."},"popularity":{"monthly_downloads":441301,"position":6644,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.7.9"}
