julep-ai/julep
Julep — durable, composable AI agents. Flows that crash and resume, retry safely, and explain every step.
What it solves
Julep addresses the fragility of AI agents built with ad-hoc loops, which often crash, lack transparency, and are difficult to manage in production. It provides a framework for building agents as durable, composable dataflows that can safely retry, resume after crashes, and provide a clear explanation of every execution step.
How it works
Instead of runtime loops, Julep uses a "define-by-construction" approach where agents are authored as @flow functions in Python. These flows are compiled into a frozen wire-format intermediate representation (IR) that describes the graph of steps.
Key components include:
- Registered Tools and Pures: Explicitly defined functions that the agent can call.
- Reasoners: LLM-powered components that process prompts and return structured data.
- Durable Execution: An optional Temporal layer allows flows to persist state, enabling them to survive crashes and resume exactly where they left off.
- Control Plane: A self-hosted FastAPI control plane manages deployments, secret vaults, and MCP (Model Context Protocol) safety checks.
- CLI: A terminal-native toolset for discovering, linting, testing, and deploying agents as a module.
Who it’s for
Developers building production-grade AI agents who require high reliability, strict tool-access control, and the ability to audit and trace complex agentic workflows.
Highlights
- Durable Dataflows: Flows can crash and resume without losing progress.
- Frozen IR: Compiles Python definitions into a stable format to prevent runtime drift.
- MCP Integration: Supports Model Context Protocol for tool references with snapshot-backed safety and preflight checks.
- Production-Ready Tooling: Includes a CLI for graph visualization, linting, and deployment to environments like staging or production.
- Secure Secret Management: Features a write-only operator vault and encrypted Temporal payloads for sensitive credentials.