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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dexl_agents-0.1.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dexl_agents-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file dexl_agents-0.1.0.tar.gz.

File metadata

  • Download URL: dexl_agents-0.1.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for dexl_agents-0.1.0.tar.gz
Algorithm Hash digest
SHA256 67d71e3f15013ab271684fb68e69825706b1b6c580f153524dc1d6c28f8ea90f
MD5 9914894a19ee857b36ff1ee6bad4463a
BLAKE2b-256 d0df2a7ea2ee36ff37de1ac9905414c72b4c77db46447b82735e2dcd7166ebec

See more details on using hashes here.

File details

Details for the file dexl_agents-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dexl_agents-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for dexl_agents-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e58bc89c7e4575eee45fcd0238032b4c455ec83fa906a00f42a62ca9fdcfef12
MD5 1774dbb21defe12c348295c1e015d92f
BLAKE2b-256 be9ab044dbf347e440779c9d467b39251951467640033ad7be84d97fbde522d4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

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