Skip to main content
ProxyWhirl



🌀 Intelligent proxy rotation that just works


PyPI   Downloads   Python


Stats


📖 Docs
  
🚀 Examples
  
💬 Discussions




⚡ 30-Second Setup

pip install proxywhirl
from proxywhirl import ProxyWhirl

rotator = ProxyWhirl(proxies=["http://p1:8080", "http://p2:8080"])
response = rotator.get("https://api.example.com/data")
# Dead proxies auto-ejected ✓ | Slow ones deprioritized ✓ | Fast ones favored ✓



🎯 Why ProxyWhirl?




9 Strategies
Round-robin, weighted, geo-targeted, performance-based & more




114 Sources
Auto-fetch from built-in providers with validation




Self-Healing
Auto-eject dead proxies, circuit breakers, recovery




Blazing Fast
Async-first, <3μs selection, zero blocking




🔄 Rotation Strategies

# Switch strategies on the fly
rotator = ProxyWhirl(strategy="performance-based")
rotator.set_strategy("geo-targeted", preferences={"US": [...], "EU": [...]})
Strategy Best For
round-robin Even distribution
random Unpredictable patterns
weighted Favor reliable proxies
least-used Even load balance
performance-based Lowest latency
geo-targeted Regional routing
session-persistence Sticky sessions
cost-aware Budget optimization
composite Custom pipelines



🎣 Auto-Fetch Proxies

from proxywhirl import ProxyFetcher

# Grab 300+ validated proxies in seconds
proxies = await ProxyFetcher().fetch_all(validate=True)



🖥️ Multiple Interfaces

Python API

rotator.get(url)
rotator.post(url, json=data)
async with AsyncProxyWhirl() as async_rotator:
    await async_rotator.get(url)

CLI

proxywhirl fetch
proxywhirl pool list
proxywhirl health

REST API

docker-compose up -d
curl localhost:8000/api/v1/proxies



Metadata

Release files for proxywhirl 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for proxywhirl 0.3.3
File Size Uploaded
proxywhirl-0.3.3.tar.gz 235.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for proxywhirl 0.3.3
File Interpreter ABI Platform
proxywhirl-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 489.9 kB

Release files / proxywhirl-0.3.3.tar.gz

Download URL proxywhirl-0.3.3.tar.gz
Size 235.8 kB
Tags Source
SHA-256 checksum
How to use checksums
dfa9fd48d42c9ca8fad0ad55648d34c2148047cf9e86c7eb2deaa00b7d57456a
BLAKE2b-256 checksum
How to use checksums
981e8e67942eee57eceee5824373770304e5139177b8a804abdaf8d320be8ccc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / proxywhirl-0.3.3-py3-none-any.whl

Download URL proxywhirl-0.3.3-py3-none-any.whl
Size 254.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9eb3524bae82840ebbea74269c0fb4782231685ae10d29c12e0c7cc336272b35
BLAKE2b-256 checksum
How to use checksums
721a7bf8deea1258d16f3fe6a4f5c52711280111efef0523193d1ede145ddaec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page