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?




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




120 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.2.tar.gz (228.5 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.2-py3-none-any.whl (246.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proxywhirl-0.1.2.tar.gz
  • Upload date:
  • Size: 228.5 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.2.tar.gz
Algorithm Hash digest
SHA256 2831ca9fe0a5293347217396ecb60ef0fff02140c0451490eac29cede534ce96
MD5 108c36238531b868c3bf6d98dd1ee675
BLAKE2b-256 e5b9e8b8c349eab33e4f820701f0f194be44f0e531e3c93e074ddfe45bc96bdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxywhirl-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: proxywhirl-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 246.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 23733e829f3c3b9d8a26530f18278e3b8f654fa16fae7359ed0c28296b4f42de
MD5 73fbaf83ad1fe30b1c34d56ab5923b8e
BLAKE2b-256 e8d4bf1ed6482f91a9d0678c2ebf39d1b675f2fb279b42aa7add84f86b9cbd63

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxywhirl-0.1.2-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