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.3.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.3-py3-none-any.whl (246.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proxywhirl-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 997b1da844ae0385155d262f77ed3c8ed8cc1715a45d5637064d1a6a3f8bf3f3
MD5 7cbd65a64a2caf2b149124815ab60d67
BLAKE2b-256 347b991ce1202e57d1432c3c018378eef6ec1989a49a01bbb7e3ac59673f46ba

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: proxywhirl-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cd61f39879d55c0f9af052c269efbe87edb2d51c3c60844523ca27fd583abbea
MD5 5bacd79f355d8c83614b4f83fed04dc9
BLAKE2b-256 9c693525b031c9629d3597fa81941410b9cbaa2ec626357ada2ec910a682586b

See more details on using hashes here.

Provenance

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