{"categories":[{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/2"}],"enrichment":{"capability":"Retrieves the client's IP address from a Django request object, handling proxies and multiple header precedence orders to extract the originating client IP.","skillfed_tags":["django-integration","request-metadata","proxy-handling"],"use_cases":["Log the real client IP in Django middleware or views when behind a load balancer or CDN.","Validate client IP against a trusted proxy list to filter spoofed requests in security-sensitive operations.","Extract originating client IP for rate limiting, geolocation, or fraud detection workflows.","Configure custom header precedence for non-standard proxy setups (e.g., internal corporate proxies).","Determine whether a client IP is private or publicly routable for conditional business logic."],"what_it_does":"django-ipware is a Django wrapper around the python-ipware library that extracts a client's originating IP address from a request object. It handles the complexity of proxy headers\u2014such as X-Forwarded-For, X-Real-IP, and CloudFlare headers\u2014by checking them in a configurable precedence order. The package returns both the IP address and a boolean indicating whether it is publicly routable.\n\nThe main use case is in Django views or middleware where you need to log, authenticate, or make decisions based on the client's real IP rather than the immediate request source (which may be a load balancer or reverse proxy). It supports advanced scenarios like trusted proxy lists, proxy count filtering, and custom header precedence orders via Django settings or function parameters. The package explicitly warns that it is not a complete defense against IP spoofing and should be layered with firewall rules and authentication measures.","worth_installing":"Yes, if you are running Django behind one or more proxies and need reliable client IP extraction. The package is stable (Production/Stable classifier), supports modern Python versions (3.8\u20133.12), has no known vulnerabilities, and low install friction. Dormant maintenance is acceptable for a focused, mature utility. Not necessary if your Django app runs without proxies or if you handle IP extraction via your proxy/load balancer configuration."},"id":"django-ipware","links":{"html":"https://skillfed.io/packages/django-ipware","md":"https://skillfed.io/packages/django-ipware.md","pypi":"https://pypi.org/project/django-ipware/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-04-19","license_spdx":null,"license_treatment":"permissive","name":"django-ipware","python_support":"supports_current","summary":"A Django application to retrieve user's IP address"},"popularity":{"monthly_downloads":5884830,"position":2017,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"7.0.1"}
