| from typing import Any, Dict | |
| import requests | |
| class DataQualityClient: | |
| def __init__(self, base_url: str) -> None: | |
| self.base_url = base_url.rstrip("/") | |
| def reset(self, task_id: str = "easy_missing_and_dupes") -> Dict[str, Any]: | |
| response = requests.post(f"{self.base_url}/reset", json={"task_id": task_id}, timeout=30) | |
| response.raise_for_status() | |
| return response.json() | |
| def step(self, operation: str, target_columns: list[str] | None = None, parameters: Dict[str, Any] | None = None) -> Dict[str, Any]: | |
| payload = { | |
| "operation": operation, | |
| "target_columns": target_columns or [], | |
| "parameters": parameters or {}, | |
| } | |
| response = requests.post(f"{self.base_url}/step", json=payload, timeout=30) | |
| response.raise_for_status() | |
| return response.json() | |