Skip to main content

Advanced Python proxy rotation library with auto-fetching, validation, and persistence

Project description

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



Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proxywhirl-0.3.3.tar.gz (235.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proxywhirl-0.3.3-py3-none-any.whl (254.2 kB view details)

Uploaded Python 3

File details

Details for the file proxywhirl-0.3.3.tar.gz.

File metadata

  • Download URL: proxywhirl-0.3.3.tar.gz
  • Upload date:
  • Size: 235.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for proxywhirl-0.3.3.tar.gz
Algorithm Hash digest
SHA256 dfa9fd48d42c9ca8fad0ad55648d34c2148047cf9e86c7eb2deaa00b7d57456a
MD5 ba76faf90ace0ac5d75f9341be3c1494
BLAKE2b-256 981e8e67942eee57eceee5824373770304e5139177b8a804abdaf8d320be8ccc

See more details on using hashes here.

File details

Details for the file proxywhirl-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: proxywhirl-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 254.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for proxywhirl-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9eb3524bae82840ebbea74269c0fb4782231685ae10d29c12e0c7cc336272b35
MD5 644e128b6028bbc08dab161660c36eee
BLAKE2b-256 721a7bf8deea1258d16f3fe6a4f5c52711280111efef0523193d1ede145ddaec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page