Dev & Engineering durable-workflowspythontemporalmcpgraphclidataflow

Julep — Durable, Composable AI Agents

Build AI agents as durable dataflows that crash-resume, retry safely, and explain every step — not ad-hoc loops.

FollowAgents review · FARS-2.1
Use with care
64/ 100 5-point scale 3.2 / 5
1 2 3 4 5 6
1Trust17 / 29 · 2.9/5

Evidence shows: tools explicitly declare effect and idempotent, deployment freezes tool surface, MCP preflight, least privilege is reflected; but user confirmation mechanism is not explicit, data flow transparency is described but not deep, sensitive data handling has encryption and exclusion, dependency security has version constraints and FIXME, external effects are controlled, rollback has release mechanism, source attribution only author info. Deductions: user confirmation missing, source attribution unclear.

2Reliability9 / 14 · 3.2/5

Evidence shows: self-consistency good, dependency availability has version constraints and optional extras, failure messages have retries and timeouts. Deductions: no execution verification, static review.

3Adaptability12 / 18 · 3.3/5

Evidence shows: developer-oriented, scenarios clear, capability boundaries have tool registration and permission control, trigger precision has selector syntax, environment fit has extras and configuration. Deductions: no actual run verification.

4Convention12 / 18 · 3.3/5

Evidence shows: information architecture clear, install notes detailed, naming stable, examples and FAQ present, known limitations mentioned, license clear, versioning and changelog present, maintenance responsibility has author info. Deductions: no independent verification.

5Effectiveness9 / 13 · 3.5/5

Evidence shows: output usability has dry_run and trace, marginal value high, cost benefit has extras and optional dependencies. Deductions: no actual run verification.

6Verifiability5 / 8 · 3.1/5

Evidence shows: claims traceable, tests and CI present, facts and inferences separated. Deductions: static review, no independent verification.

Evidence confidence: Low Reviewed Aug 11, 2026 Reviewed revision fc74d079a18c
Before you use it
  • Static review, no code execution, all scores based on file evidence.
  • User confirmation mechanism not explicit, needs further verification.
  • Source attribution unclear, publisher unverified.
Review evidence [1][2][3][4][5][6][7]
See the full review method →

What does this agent do, and when should you use it?

Julep is a framework that lets you build AI agents as composable, durable dataflows instead of ad-hoc loops. The primary authoring surface is the `@flow` decorator, which compiles ordinary Python into a frozen wire-format IR of graph steps, including registered tools, pure functions, reasoners, branches, fan-out, retries, and timeouts. The pure core is dependency-free, while the Temporal layer is optional. Julep includes a CLI (`julep`) for managing a module of agents, with commands like `ls`, `show`, `graph`, `run`, `lint`, `test`, `deploy`, and `serve`, plus application-level planning, apply, and status. It supports multiple deployment backends via extras: Temporal for durable execution, DBOS/Postgres, HTTP tool calls, MCP snapshots, and OpenTelemetry/Langfuse observability. Julep 3 is a ground-up rewrite and is not compatible with the v1 API.

Julep compiles Python functions into an IR graph where each step represents a tool call, pure computation, or reasoning call. @flow defines the dataflow; @tool registers tools with idempotency and effect attributes; @pure defines deterministic steps. deploy freezes the tool and reasoner surface, and dry_run executes locally. The CLI provides julep run to execute a flow and stream its trace tree, julep trace to render a cached run, julep lint to validate dependencies, julep test to run pytest, and julep deploy to freeze and publish. Application objects declare production pipelines using PipelineSpec, McpSnapshot, and CapabilityManifest. Outputs include run results, trace trees, Langfuse links, and a deploy ledger. The control plane is a FastAPI server backed by Temporal, with encrypted secret vault and MCP preflight checks.

  1. Teams needing durable execution for workflows like ticket triage, where tool calls can be retried and flows resume after crashes.
  2. Developers managing a module of agents with a CLI for cross-agent graph visualization, testing, and deployment.
  3. Operators requiring MCP integration with enforced tool access limits, using snapshots and preflight checks.
  4. Developers wanting durable execution on Postgres without a separate runtime, using the dbos extra.
  5. Engineers needing observability via OpenTelemetry or Langfuse exports for auditability.

What are this agent's strengths and limitations?

Pros
  • Durable execution: Flows can crash, resume, retry safely, and explain every step.
  • Composable graph definitions: Complex flows are defined as dataflows, not ad-hoc loops.
  • Multiple backend options: Temporal or DBOS for durability, with local dry-run capability.
  • Security features: MCP preflight checks, secret vault, and frozen tool surface prevent unauthorized calls.
Limitations
  • Not compatible with Julep v1; v3 is a rewrite with no migration path.
  • Requires Python and optional infrastructure (Temporal or DBOS) for full durable execution.
  • Pre-release status requires --pre flag and may be unstable.
  • Production deployment requires Kubernetes, S3, Helm, and Temporal, adding operational complexity.

How do you install or deploy this agent?

Install with pip install --pre julep. Add extras for optional features, e.g., pip install --pre 'julep[server,temporal,mcp]'. Requires a Python environment.

How do you use this agent?

First, define a @flow in a Python script with registered @tool and @pure functions. Create a deployment with deploy(flow, tools=[...], reasoners=[...]) and test with dry_run(...). Then use the CLI: julep ls to list agents, julep run triage --input '"TICKET-42"' to execute, julep trace <run-id> to view traces. For production, configure [tool.julep] settings and use julep plan --env staging and julep apply --env staging to deploy. Requires a compatible Python version and optional dependencies.

FAQ

Do I need an API key?
No. The quickstart works without an API key, using local dry_run with mock tools and reasoners.
Is Julep compatible with v1?
No. v3 is a ground-up rewrite; v1 is preserved on the v1 branch, and there is no migration path.
Do I have to use Temporal?
No. Temporal is an optional extra; you can use DBOS/Postgres or run locally with dry-run execution.
How does MCP security work?
Julep uses MCP snapshots and preflight checks to enforce the tool surface, and secrets are bound per-run via an encrypted vault.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents