--- id: pypac version: "0.19.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # PyPAC — Proxy auto-config and auto-discovery for Python. License: permissive · Maintenance: active · Downloads: 469.0K/mo ## What it is and what it does PyPAC is a Python library that integrates proxy auto-config (PAC) file discovery and enforcement into HTTP requests. It extends the Requests library with a PACSession class that automatically discovers PAC files via the WPAD protocol, Windows Internet Options, or macOS System Preferences, then routes requests through the proxies specified in those files. If no PAC file is found, it behaves like a regular Requests session. The library handles proxy authentication, failover, and load balancing as defined in PAC files. It also provides a context manager (pac_context_for_url) for adding basic PAC support to libraries that honor proxy environment variables. The package depends on requests for HTTP, publicsuffixlist for domain matching, dukpy for JavaScript execution, and pyobjc-framework-SystemConfiguration for macOS integration. Use it for: - Make HTTP requests in corporate environments where PAC files centrally control proxy routing without manual configuration. - Automatically discover and use organization-specific proxy settings on Windows or macOS without hardcoding proxy URLs. - Add PAC support to AWS SDK calls (boto3) or other libraries via the pac_context_for_url context manager. - Handle proxy failover and load balancing defined in PAC files for resilient HTTP clients. - Respect DNS-based proxy discovery (WPAD) in networks that use it for automatic proxy configuration. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyPAC discovers proxy auto-config (PAC) files and makes HTTP requests that respect them, with automatic PAC discovery on Windows and macOS and support for the WPAD protocol. Yes. PyPAC is actively maintained, has no known vulnerabilities, low install friction, and solves a real problem for developers in corporate environments. Install it if your application needs to respect PAC files or auto-discover proxies; skip it if you're in an environment with static proxy configuration or no proxy requirements. ## Install pip install pypac uv add pypac poetry add pypac ## Installing PyPAC Before you install: Low install friction with a pure-Python wheel. Actively maintained with a release 7 days ago and recent fixes for dukpy 0.6.0 compatibility and dependency consolidation. License in practice: Apache-2.0 is permissive; you can use, modify, and distribute PyPAC freely in commercial and private projects with minimal restrictions. Quickstart: pip install pypac from pypac import PACSession session = PACSession() response = session.get('http://example.org') Verify before relying: - Whether dukpy 0.6.0 support is complete or if there are known edge cases with PAC execution. - Performance characteristics when PAC files are large or contain complex JavaScript logic. - Whether pyobjc-framework-SystemConfiguration is required on all macOS versions or only specific ones. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 469.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags proxy auto-config pac, wpad web proxy auto-discovery, automatic proxy configuration, pac file discovery, proxy settings requests, windows macos proxy settings, pac session http, proxy-configuration, wpad-discovery, requests-integration [View on SkillFed](https://skillfed.io/packages/pypac) · [View on PyPI](https://pypi.org/project/pypac/)