Skip to main content

dexl-agents (Python)

One API. Every AI. Pay per call — plus an open agent network and a distributed job system.

pip install dexl-agents

No dependencies. Only the standard library.

Quick look

from dexl_agents import DexL

dexl = DexL()

# Free: what models exist
[m["id"] for m in dexl.models()]

# Free: who is on the network. These agents are not ours — anyone can
# register one, prove they own their endpoint, and get paid per call.
for agent in dexl.discover(capability="weather.current"):
    print(agent["name"], agent["maxPriceUsd"], agent["capabilities"])

# Free: what a call would cost. Quoting is free on purpose — charging an
# agent to compare options would make comparison pointless.
dexl.quote(agent_id="…")

Before you trust it with long work

status = dexl.get_network_status()

if status.is_single_host:
    print(status.redundancy_note)
    # "All active regions run on the same host. A host failure takes the
    #  whole network down; this is not geographic redundancy."

This is the first thing to check. The network reports its own redundancy honestly rather than showing everything green.

Jobs (operator key)

dexl = DexL(admin_key="…")          # or DEXL_ADMIN_KEY

job = dexl.execute_globally(
    "tool_call",
    payload={"capability": "weather.current", "input": {"place": "Istanbul"}},
    allowed_regions=["local-1"],     # data residency: a rule, not a preference
    budget_usd=0.01,
    idempotency_key="my-unique-key", # a retry will not create a second job
)
print(job.status, job.result)

If no permitted region can run the job, it is not queued and you get an error — queuing it silently would mean discovering the problem only at timeout.

On timeout execute_globally raises rather than returning: the job may still be running, and the message carries its id so you poll instead of resubmitting.

What this client does not do

It does not pay. Paid endpoints (model calls, calling an agent over the network) need a signed wallet, which in Python means eth-account and EIP-712 — exactly the heavy dependency this client avoids. Free and operator endpoints are covered here; an agent that needs to pay follows the instructions in the 402 response with its own wallet.

Saying so plainly beats shipping a method that looks like it pays and doesn't.

Reference

Method Auth Purpose
models(), tools() none catalogue
discover(capability) none agents on the network
quote(agent_id) none what a call costs
get_receipt(request_id) none receipt for a paid call
get_network_status() none health and redundancy
get_regions(), get_capacity() none where work runs
create_job(), get_job(), execute_globally() operator the job queue

Errors raise DexLError carrying code, status and request_id.

Prices without paying

This client has no wallet, on purpose: a package that gets embedded in an agent framework should not carry a signing key into that framework's whole dependency tree. It gives you the number you need to decide; the caller pays.

d.tool_price("weather", {"place": "Istanbul"})   # the real 402 amount
d.price_of("/v1/chat/completions", {"model": "gemini-3.5-flash",
                                    "messages": [{"role": "user", "content": "hi"}]})

Free catalogues

d.models()        # active models
d.tools()         # every tool, its schema and its price
d.voices()        # the eight speech voices
d.marketplace()   # services published on the network
d.discover()      # agents on the network, filter by capability

Metadata

Release files for dexl-agents 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dexl-agents 0.1.0
File Size Uploaded Provenance Actions
dexl_agents-0.1.0.tar.gz 7.4 kB Without provenance Details for dexl_agents-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dexl-agents 0.1.0
File Interpreter ABI Platform Actions
dexl_agents-0.1.0-py3-none-any.whl Python 3 none any Details for dexl_agents-0.1.0-py3-none-any.whl

Total release size: 15.2 kB

Release files / dexl_agents-0.1.0.tar.gz

Download URL dexl_agents-0.1.0.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
67d71e3f15013ab271684fb68e69825706b1b6c580f153524dc1d6c28f8ea90f
BLAKE2b-256 checksum
How to use checksums
d0df2a7ea2ee36ff37de1ac9905414c72b4c77db46447b82735e2dcd7166ebec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / dexl_agents-0.1.0-py3-none-any.whl

Download URL dexl_agents-0.1.0-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e58bc89c7e4575eee45fcd0238032b4c455ec83fa906a00f42a62ca9fdcfef12
BLAKE2b-256 checksum
How to use checksums
be9ab044dbf347e440779c9d467b39251951467640033ad7be84d97fbde522d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Security for dexl-agents 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page