
Your Python API Calls Will Fail. Here's How to Handle It.
Every HTTP call you make to a third-party API will eventually fail. The endpoint will time out. The service will rate-limit you. The server will return a 503 for twelve minutes on a Tuesday afternoon. Most Python codebases handle this with a bare try/except and a hope. That works until it doesn't — and when it doesn't, you get cascading failures, silent data loss, and a service that goes down without telling you why. I built APIGuard to fix this. It's a small Python library (905 lines of source) that gives you three production resilience patterns — without pulling in a heavy framework. The Three Patterns 1. Token Bucket Rate Limiting Rate limits are contracts. Break them and the API cuts you off. A token bucket enforces the contract on your side before you hit the remote server. from apiguard import TokenBucket # 100 requests allowed, refills at 10/second bucket = TokenBucket ( capacity = 100 , refill_rate = 10.0 ) if bucket . acquire ( tokens = 1 ): response = httpx . get ( " https://
Continue reading on Dev.to Python
Opens in a new tab


