TL;DR
With HTTPX, pass one proxy URL to AsyncClient(proxy=...), reuse the client across requests, and bound concurrency with a semaphore. For rotation, assign a small worker pool to proxy endpoints instead of creating a new client for every URL. Retries should be limited, observable, and restricted to transient failures.
Configure an HTTPX Proxy
HTTPX supports proxy routing directly. Its official proxy documentation covers the proxy argument and transport mounts; its async guide recommends reusing clients so connection pooling can work.
pip install httpx




