import pandas as pd import requests class HsEvaluatorClient: def __init__(self, username, space_id): self.space_id = space_id self.username = username self.base_url = "https://agents-course-unit4-scoring.hf.space" def fetch_questions(self): try: response = requests.get(f"{self.base_url}/questions", timeout=15) response.raise_for_status() return response.json() except Exception as e: print(f"Error fetching questions: {e}") return None def submit_answers(self, answers_payload, results_log): agent_code = f"https://huggingface.co/spaces/{self.space_id}/tree/main" submission_data = { "username": self.username.strip(), "agent_code": agent_code, "answers": answers_payload } try: response = requests.post(f"{self.base_url}/submit", json=submission_data, timeout=60) response.raise_for_status() result_data = response.json() final_status = ( f"Submission Successful!\n" f"User: {result_data.get('username')}\n" f"Overall Score: {result_data.get('score', 'N/A')}% " f"({result_data.get('correct_count', '?')}/{result_data.get('total_attempted', '?')} correct)\n" f"Message: {result_data.get('message', 'No message received.')}" ) return final_status, pd.DataFrame(results_log) except Exception as e: return f"Submission Failed: {e}", pd.DataFrame(results_log)