Catalog PyPI
PACKAGE EXPLORERView in registry

agentic-workflow-orchestrator

PyPI

Orchestrate multi-agent workflows with autonomous reasoning, parallelism, rate limiting, and LLM integration

agentasyncioconcurrencyllmmcpmulti-agentorchestrationrate-limitingworkflow
Versions collected1
Direct dependencies10From release 1.1.2
Last observed20 Oct, 22:25 UTC

README

Version 1.1.2 documentation

orchestrator (Python reference SDK)

In-process workflow orchestration engine + authoring API. Zero required dependencies (stdlib asyncio); pyyaml is optional (for .yaml specs), anthropic optional (for the real LLM adapter).

Concepts

  • Workflow — a DAG of tasks loaded from a template (Workflow.from_file/from_dict/from_json).
  • Skill — a registered handler (ctx, inputs) -> output, sync or async.
  • Tool — a registered callable a skill invokes via ctx.call_tool(...).
  • Orchestrator — runs a workflow, enforcing concurrency + rate limits, and returns a Report.

Minimal usage

from orchestrator import Workflow, Orchestrator, Registry, MockLLM

reg = Registry()

@reg.tool("http.get")
def http_get(url):
    return {"url": url, "ok": True}

@reg.skill("market.fetch")
def fetch(ctx, inputs):
    ctx.call_tool("http.get", url=f"/prices/{inputs['ticker']}")
    ctx.record_decision("selected primary feed", rationale="lowest latency")
    return {"ticker": inputs["ticker"], "last": 199.4}

@reg.skill("llm.classify")
def classify(ctx, inputs):
    r = ctx.llm(messages=[{"role": "user", "content": inputs["text"]}], model="claude-opus-4-8")
    return r.text

wf = Workflow.from_file("../spec/examples/market-analysis.json")
report = Orchestrator(reg, llm=MockLLM()).run_sync(wf, inputs={"ticker": "AAPL"})
print(report.to_json())

The ctx (SkillContext) API

MemberPurpose
ctx.inputsresolved task inputs
ctx.call_tool(name, **kwargs)invoke a registered tool
ctx.llm(messages, tools=, model=, **opts)call the configured LLM provider; usage is recorded
ctx.record_decision(summary, rationale=, data=)append a critical decision to the trace
ctx.log(msg), ctx.attempt, ctx.cancelledlogging / retry attempt / cooperative cancel flag

Report

report.to_dict() / report.to_json() give: status, duration_ms, per-task {status, duration_ms, attempts, llm, decisions, error}, critical_path (bottleneck chain), totals (llm tokens, tool calls, retries), errors, and the resolved output.

Run

python3 examples/run_market.py
python3 tests/test_engine.py

Using a real LLM

from orchestrator import AnthropicProvider, Orchestrator
orch = Orchestrator(reg, llm=AnthropicProvider(model="claude-opus-4-8"))  # needs ANTHROPIC_API_KEY + `pip install anthropic`

Confirm current Claude model IDs/limits from the Claude API reference before pinning them.

Downloads & popularity

2downloads
1-day window · source-reported counts20 Oct 2026
1050
2026-07-23: 10 · observed 2026-10-21T11:29:09.0734050Z · period 2026-07-23–2026-07-232026-07-24: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-07-24–2026-07-242026-07-27: 3 · observed 2026-10-21T11:29:09.0734050Z · period 2026-07-27–2026-07-272026-07-31: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-07-31–2026-07-312026-08-02: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-02–2026-08-022026-08-04: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-04–2026-08-042026-08-09: 4 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-09–2026-08-092026-08-14: 4 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-14–2026-08-142026-08-17: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-17–2026-08-172026-08-23: 3 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-23–2026-08-232026-08-24: 4 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-24–2026-08-242026-08-28: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-28–2026-08-282026-08-31: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-08-31–2026-08-312026-09-01: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-01–2026-09-012026-09-06: 7 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-06–2026-09-062026-09-07: 5 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-07–2026-09-072026-09-09: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-09–2026-09-092026-09-10: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-10–2026-09-102026-09-13: 8 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-13–2026-09-132026-09-14: 6 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-14–2026-09-142026-09-16: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-16–2026-09-162026-09-20: 10 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-20–2026-09-202026-09-21: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-21–2026-09-212026-09-24: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-24–2026-09-242026-09-25: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-25–2026-09-252026-09-26: 4 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-26–2026-09-262026-09-27: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-27–2026-09-272026-09-28: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-28–2026-09-282026-09-30: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-09-30–2026-09-302026-10-02: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-02–2026-10-022026-10-06: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-06–2026-10-062026-10-08: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-08–2026-10-082026-10-09: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-09–2026-10-092026-10-10: 6 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-10–2026-10-102026-10-12: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-12–2026-10-122026-10-13: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-13–2026-10-132026-10-14: 3 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-14–2026-10-142026-10-15: 3 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-15–2026-10-152026-10-16: 3 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-16–2026-10-162026-10-17: 10 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-17–2026-10-172026-10-18: 5 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-18–2026-10-182026-10-19: 1 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-19–2026-10-192026-10-20: 2 · observed 2026-10-21T11:29:09.0734050Z · period 2026-10-20–2026-10-20
23 Jul20 Oct

pypistats · 43 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-20 – 2026-10-2022026-10-21T11:29:09.0734050Z
2026-10-19 – 2026-10-1912026-10-21T11:29:09.0734050Z
2026-10-18 – 2026-10-1852026-10-21T11:29:09.0734050Z
2026-10-17 – 2026-10-17102026-10-21T11:29:09.0734050Z
2026-10-16 – 2026-10-1632026-10-21T11:29:09.0734050Z
2026-10-15 – 2026-10-1532026-10-21T11:29:09.0734050Z
2026-10-14 – 2026-10-1432026-10-21T11:29:09.0734050Z
2026-10-13 – 2026-10-1312026-10-21T11:29:09.0734050Z
2026-10-12 – 2026-10-1212026-10-21T11:29:09.0734050Z
2026-10-10 – 2026-10-1062026-10-21T11:29:09.0734050Z
2026-10-09 – 2026-10-0922026-10-21T11:29:09.0734050Z
2026-10-08 – 2026-10-0812026-10-21T11:29:09.0734050Z
2026-10-06 – 2026-10-0612026-10-21T11:29:09.0734050Z
2026-10-02 – 2026-10-0222026-10-21T11:29:09.0734050Z
2026-09-30 – 2026-09-3012026-10-21T11:29:09.0734050Z
2026-09-28 – 2026-09-2822026-10-21T11:29:09.0734050Z
2026-09-27 – 2026-09-2722026-10-21T11:29:09.0734050Z
2026-09-26 – 2026-09-2642026-10-21T11:29:09.0734050Z
2026-09-25 – 2026-09-2512026-10-21T11:29:09.0734050Z
2026-09-24 – 2026-09-2422026-10-21T11:29:09.0734050Z
2026-09-21 – 2026-09-2112026-10-21T11:29:09.0734050Z
2026-09-20 – 2026-09-20102026-10-21T11:29:09.0734050Z
2026-09-16 – 2026-09-1612026-10-21T11:29:09.0734050Z
2026-09-14 – 2026-09-1462026-10-21T11:29:09.0734050Z
2026-09-13 – 2026-09-1382026-10-21T11:29:09.0734050Z
2026-09-10 – 2026-09-1012026-10-21T11:29:09.0734050Z
2026-09-09 – 2026-09-0922026-10-21T11:29:09.0734050Z
2026-09-07 – 2026-09-0752026-10-21T11:29:09.0734050Z
2026-09-06 – 2026-09-0672026-10-21T11:29:09.0734050Z
2026-09-01 – 2026-09-0122026-10-21T11:29:09.0734050Z
2026-08-31 – 2026-08-3122026-10-21T11:29:09.0734050Z
2026-08-28 – 2026-08-2812026-10-21T11:29:09.0734050Z
2026-08-24 – 2026-08-2442026-10-21T11:29:09.0734050Z
2026-08-23 – 2026-08-2332026-10-21T11:29:09.0734050Z
2026-08-17 – 2026-08-1722026-10-21T11:29:09.0734050Z
2026-08-14 – 2026-08-1442026-10-21T11:29:09.0734050Z
2026-08-09 – 2026-08-0942026-10-21T11:29:09.0734050Z
2026-08-04 – 2026-08-0422026-10-21T11:29:09.0734050Z
2026-08-02 – 2026-08-0212026-10-21T11:29:09.0734050Z
2026-07-31 – 2026-07-3112026-10-21T11:29:09.0734050Z
2026-07-27 – 2026-07-2732026-10-21T11:29:09.0734050Z
2026-07-24 – 2026-07-2412026-10-21T11:29:09.0734050Z
2026-07-23 – 2026-07-23102026-10-21T11:29:09.0734050Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.1.223 Jun 202610

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
kasimanikandan/agentic-workflow-orchestrator

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:25 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:28d07693de27486ceb7d7ff0a5e96e20211a2ffc0c85ec8a1e37e082be6358ee