Spaces:
Runtime error
Runtime error
| from httpx import AsyncClient | |
| from src.envs import API_URL, TIMEOUT | |
| from src.result import LbData, Result | |
| async def get_leaderboard_names() -> list[str]: | |
| async with AsyncClient(timeout=TIMEOUT) as client: | |
| response = await client.get(f"{API_URL}/leaderboards") | |
| response.raise_for_status() | |
| return [lb["name"] for lb in response.json()] | |
| async def get_gpus_for_leaderboard(lb_name: str) -> list[str]: | |
| async with AsyncClient(timeout=TIMEOUT) as client: | |
| response = await client.get(f"{API_URL}/gpus/{lb_name}") | |
| response.raise_for_status() | |
| return response.json() | |
| async def get_leaderboard_submissions( | |
| lb_name: str, gpu: str, limit: int = None, offset: int = 0 | |
| ) -> LbData: | |
| async with AsyncClient(timeout=TIMEOUT) as client: | |
| params = {"limit": limit, "offset": offset} | |
| response = await client.get( | |
| f"{API_URL}/submissions/{lb_name}/{gpu}", params=params | |
| ) | |
| response.raise_for_status() | |
| return LbData( | |
| gpu=gpu, | |
| name=lb_name, | |
| results=[Result.from_dict(result) for result in response.json()], | |
| ) | |
| async def get_submission_count(lb_name: str, gpu: str) -> int: | |
| async with AsyncClient(timeout=TIMEOUT) as client: | |
| response = await client.get(f"{API_URL}/submission_count/{lb_name}/{gpu}") | |
| response.raise_for_status() | |
| return response.json()["count"] | |