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 ProxyRotator

rotator = ProxyRotator(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?




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




64 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 = ProxyRotator(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
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)
await rotator.async_get(url)

CLI

proxywhirl fetch
proxywhirl pool list
proxywhirl health

REST API

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



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.1.1.tar.gz (206.9 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.1.1-py3-none-any.whl (225.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proxywhirl-0.1.1.tar.gz
  • Upload date:
  • Size: 206.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for proxywhirl-0.1.1.tar.gz
Algorithm Hash digest
SHA256 dafa9cb7e9e0cbbba4ec92f313f346447ac7a95b52778f6457a641c37a92de2d
MD5 e910dbb5af3f5488145b06cd655e0643
BLAKE2b-256 83cb33a891c90bdbe484af415d1717aeff54740517fa4ceb0277503bef18d957

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxywhirl-0.1.1.tar.gz:

Publisher: release.yml on wyattowalsh/proxywhirl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: proxywhirl-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 225.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for proxywhirl-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 10bbede67709151d199259cf6e03d7becc8291b3a2a869de963fb7f8bca344d2
MD5 e545ee3cb58e79ba8171ee60b5ad8d45
BLAKE2b-256 48d7728c67b5785bda2ac2d7643e0bbd73dc4054e6509057e8c299b8f1364914

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxywhirl-0.1.1-py3-none-any.whl:

Publisher: release.yml on wyattowalsh/proxywhirl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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