import asyncio import httpx from financial_classifier.events import InputDocumentEvent, ProgressEvent from workflows.client import WorkflowClient async def run_workflow(): httpx_client = httpx.AsyncClient(base_url="http://127.0.0.1:8000/deployments/financial-classifier") wf_client = WorkflowClient(httpx_client=httpx_client) data = await wf_client.run_workflow_nowait(workflow_name="classify-and-extract", start_event=InputDocumentEvent(path="financial_document.pdf")) async for event in wf_client.get_workflow_events(data.handler_id): ev = event.load_event() if isinstance(ev, ProgressEvent): print(ev.message) result = None while result is None: handler_data = await wf_client.get_result(data.handler_id) result = handler_data.result await asyncio.sleep(0.1) print(f"Final result:\n{result}") if __name__ == "__main__": asyncio.run(run_workflow())