import os
import time
import requests
session = requests.Session()
session.headers["Authorization"] = f"Bearer {os.environ['SIGMORA_API_KEY']}"
def get_with_backoff(url: str, attempts: int = 5) -> requests.Response:
for attempt in range(attempts):
response = session.get(url, timeout=30)
if response.status_code != 429:
return response
time.sleep(float(response.headers.get("Retry-After", 2**attempt)))
return response
response = get_with_backoff("https://api.sigmora.org/v1/capabilities")
print(response.headers.get("x-ratelimit-remaining"))