Observed since 20 Oct, 23:35 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Zero-dependency Agent Traffic Lab client for one-call agent task execution with automatic Outcome
Zero-dependency Python client for Agent Traffic Lab, an execution infrastructure layer for supported external agent tasks. ATL handles eligible provider selection, execution, bounded fallback, result verification, and durable Outcome when supply is available.
pip install agenttrafficlab
from agenttrafficlab import run
result = run("search latest critical CVE")
print(result["result"])
print(result["execution_status"])
For the default tenant, run() now calls ATL's canonical atl_complete_task MCP tool directly. The caller sends the natural-language task once; ATL chooses an eligible provider/tool, executes it, applies bounded fallback when needed, verifies the result, and records the durable Outcome automatically. There is no client-side decide -> execute round trip and no separate feedback callback.
When capability is omitted, the SDK leaves capability inference to ATL. Pass it only when the caller already knows the required capability.
result = run("extract the fields from this page")
result = run("custom task", capability="extract")
You can also call the default path explicitly:
from agenttrafficlab import complete_task
result = complete_task("translate Hello into Spanish")
The returned object is ATL's structured task result and retains advanced decision and execution evidence for callers that need it.
If an external provider fails, an agent host can explicitly opt into a bounded rescue. This is for user-authorized read-only or idempotent work only, not purchases, writes or other non-repeat-safe actions. A failure does not mean the original tool had no side effects.
from agenttrafficlab import run_with_rescue
def primary():
return existing_provider_summary() # your own existing function
result = run_with_rescue(
"Summarize this supplied support ticket: Unable to sign in after a reset.",
primary,
capability="summarize",
recoverable=(TimeoutError, ConnectionError),
)
print(result["source"], result["result"])
If the primary succeeds, no ATL request occurs. Only the specified exception classes trigger rescue; unrelated failures propagate. An optional accept_primary=lambda result: ... can reject an invalid primary output and trigger rescue. ATL receives only the task supplied by the caller, not the exception or stack. Rescue occurs at most once and succeeds only when ok=true, execution_status=EXECUTED, and result_validation.passed=true; otherwise the helper raises ATLClientError. Host permissions, provider eligibility and billing boundaries still apply.
For normal tasks without any failure, continue using complete_task() or run() directly when ATL's routing, validation and Outcome add value. The host decides whether to delegate; ATL cannot force calls from unrelated agents.
from agenttrafficlab import decide
result = decide("search latest critical CVE")
print(result["recommended_provider"]["provider_id"])
Use decide() only when your own system specifically needs routing/Decision evidence without immediate ATL-owned completion. execute_decision() remains available for explicit Decision-bound execution. If you pass a non-default tenant_scope to run(), the client preserves that advanced Decision-bound path for backward compatibility.
When execution happens outside ATL, report the real result if you want it included as Outcome evidence. Normal run() / complete_task() usage records Outcome automatically.
Provider selection remains ATL-owned; callers do not choose a provider directly.
Public surfaces:
https://mcp.agenttrafficlab.com/mcphttps://mcp.agenttrafficlab.com/intent-entrance/decisionhttps://mcp.agenttrafficlab.com/intent-entrance/executehttps://mcp.agenttrafficlab.com/tryPython 3.9+; no runtime dependencies.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.6 | 15 Oct 2026 | 0 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 23:35 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:efa7cb671069a5eaa910c0e6a5ae636b995b6bbe23779891f47f09f82dd973b4