stepflow-client 0.1.0

Rust client SDK for the Stepflow orchestrator — flow authoring and run management
Documentation

stepflow-client

Rust client SDK for the Stepflow orchestrator.

Provides two main capabilities:

  • Flow authoring — build [Flow] definitions programmatically using [FlowBuilder] and [ValueExpr]
  • Orchestrator client — store flows, submit runs, and monitor results via [StepflowClient]

Example: store and run a flow

use stepflow_client::{StepflowClient, FlowBuilder, ValueExpr};

# async fn run() -> Result<(), Box<dyn std::error::Error>> {
let mut client = StepflowClient::connect("http://localhost:7840").await?;

let mut builder = FlowBuilder::new();
builder.add_step(
    "process",
    "/python/my_func",
    ValueExpr::object(vec![("data".to_string(), ValueExpr::workflow_input(Default::default()))]),
);
let flow = builder
    .output(ValueExpr::step_output("process"))
    .build()?;

let flow_id = client.store_flow(&flow).await?;
let output = client.run(&flow_id, serde_json::json!({"key": "value"})).await?;
println!("{output}");
# Ok(())
# }