import json
import os
import urllib.request
request = urllib.request.Request(
"https://api.alura.io/v1/usage",
headers={"Authorization": f"Bearer {os.environ['ALURA_API_KEY']}"},
)
with urllib.request.urlopen(request) as response:
usage = json.load(response)
headers = response.headers
credits = usage["credits"]
print(f"{usage['plan']}: {credits['used']} of {credits['allowance']} API credits used, {credits['remaining']} left until {usage['period']['end']}")
daily = usage["daily"]
print(f"today: {daily['used']} of {daily['limit']}" if daily else "no daily ceiling")
print(f"rate limit: {usage['rate_limit']['requests_per_minute']} requests a minute")
# Every response also says what it cost and what is left.
print(f"this call: cost {headers['Alura-Credits-Cost']}, remaining {headers['Alura-Credits-Remaining']}")