julep: a framework for building durable, composable AI agents as dataflows that can safely retry and resume

julep: a framework for building durable, composable AI agents as dataflows that can safely retry and resume

What it solves

Julep addresses the fragility of AI agents built with ad-hoc loops. It provides a framework for creating durable, composable agents that can crash and resume, retry operations safely, and provide a clear explanation of every step taken during execution.

How it works

Instead of simple loops, Julep treats agents as composable dataflows. Developers use a @flow decorator to define the graph of steps. This process compiles the Python code into a frozen wire-format intermediate representation (IR). The system supports registered tools, reasoners (LLMs), branches, and timeouts. To ensure durability, Julep offers optional integration with Temporal or DBOS, allowing workflows to persist their state and recover from failures.

Who it’s for

It is designed for developers building complex AI agent systems that require high reliability, strict tool-calling permissions, and the ability to trace and debug execution paths.

Highlights

  • Durable Execution: Integration with Temporal and DBOS allows flows to resume after crashes.
  • Define-by-Construction: Uses Python decorators to compile agent logic into a structured graph.
  • Developer CLI: A terminal-native CLI for listing, running, linting, testing, and deploying agents, including Graphviz DOT visualization of the agent DAG.
  • Extensible Runtime: Optional extras for OpenTelemetry, Langfuse, WASM sandboxing, and multi-provider LLM support.

Sources