Spaces:
Paused
Paused
| import os | |
| import requests | |
| from datetime import datetime | |
| # GitHub API endpoints | |
| GITHUB_API_URL = "https://api.github.com" | |
| REPO_OWNER = "BerriAI" | |
| REPO_NAME = "litellm" | |
| # GitHub personal access token (required for uploading release assets) | |
| GITHUB_ACCESS_TOKEN = os.environ.get("GITHUB_ACCESS_TOKEN") | |
| # Headers for GitHub API requests | |
| headers = { | |
| "Accept": "application/vnd.github+json", | |
| "Authorization": f"Bearer {GITHUB_ACCESS_TOKEN}", | |
| "X-GitHub-Api-Version": "2022-11-28", | |
| } | |
| # Get the latest release | |
| releases_url = f"{GITHUB_API_URL}/repos/{REPO_OWNER}/{REPO_NAME}/releases/latest" | |
| response = requests.get(releases_url, headers=headers) | |
| latest_release = response.json() | |
| print("Latest release:", latest_release) | |
| # Upload an asset to the latest release | |
| upload_url = latest_release["upload_url"].split("{?")[0] | |
| asset_name = "results_stats.csv" | |
| asset_path = os.path.join(os.getcwd(), asset_name) | |
| print("upload_url:", upload_url) | |
| with open(asset_path, "rb") as asset_file: | |
| asset_data = asset_file.read() | |
| upload_payload = { | |
| "name": asset_name, | |
| "label": "Load test results", | |
| "created_at": datetime.utcnow().isoformat() + "Z", | |
| } | |
| upload_headers = headers.copy() | |
| upload_headers["Content-Type"] = "application/octet-stream" | |
| upload_response = requests.post( | |
| upload_url, | |
| headers=upload_headers, | |
| data=asset_data, | |
| params=upload_payload, | |
| ) | |
| if upload_response.status_code == 201: | |
| print(f"Asset '{asset_name}' uploaded successfully to the latest release.") | |
| else: | |
| print(f"Failed to upload asset. Response: {upload_response.text}") | |