in tools/release-notes-automator/generate_release_notes.py [0:0]
def safe_github_request(*args, **kwargs):
"""
Wrapper for requests.get that handles GitHub rate limiting gracefully.
Prints a clear error if rate limit is exceeded.
"""
try:
response = requests.get(*args, **kwargs)
response.raise_for_status()
return response
except requests.exceptions.HTTPError as e:
# If rate limit is exceeded, print a helpful message and exit
if hasattr(e.response, "status_code") and e.response.status_code == 403 and "rate limit" in e.response.text.lower():
print("\033[91mERROR: GitHub API rate limit exceeded. Please set a GITHUB_TOKEN environment variable for higher limits.\033[0m")
print("See: https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting")
exit(1)
raise