from datalab_sdk import DatalabClient
from datalab_sdk.models import WorkflowStep, InputConfig
client = DatalabClient()
# Create a workflow
steps = [
WorkflowStep(
unique_name="parse",
step_key="marker_parse",
settings={"max_pages": 10},
depends_on=[]
),
WorkflowStep(
unique_name="extract",
step_key="marker_extract",
settings={
"page_schema": {
"title": {"type": "string"},
"total": {"type": "number"}
}
},
depends_on=["parse"]
)
]
workflow = client.create_workflow(name="Invoice Processor", steps=steps)
# Execute
input_config = InputConfig(file_urls=["https://example.com/invoice.pdf"])
execution = client.execute_workflow(workflow.id, input_config)
# Wait for results
result = client.get_execution_status(execution.id, max_polls=300)
print(result.status)