PyPAC
Proxy auto-config and auto-discovery for Python.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 is permissive; you can use, modify, and distribute PyPAC freely in commercial and private projects with minimal restrictions.
last release 2026-08-07 (7 days) · last repo commit 2026-08-07 · 74 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 469,001 downloads/mo, #6,490 on PyPI
Alternatives
Verify before relying
pip install pypac
from pypac import PACSession
session = PACSession()
response = session.get('http://example.org')- 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.
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 on this page. Verify before relying on it.
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
pypac on PyPI
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 the current Python release !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesrequestspublicsuffixlistdukpypyobjc-framework-SystemConfiguration |
| Maintenance | Actively maintained 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 469,001 / month, #6,490 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Internet |
Evidence: pypac-0.19.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 › “proxy auto-config pac”
- PyPACPyPAC discovers proxy auto-config (PAC) files and makes HTTP requests…
- websockets-proxyEnables WebSocket connections through HTTP and SOCKS proxies by…
- PySocksPySocks provides a SOCKS and HTTP proxy client that acts as a drop-in…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also pproxy · WSGIProxy2 · PySocks · authcaptureproxy · pyobjc-framework-SystemConfiguration · proxy.py · socksio · mitmproxy · requests-ntlm3 · tldextract