funduq
The network-free core: agents, threads, runs, dispatch, and the protocol adapters. A library you embed, not a server you run.
pip install funduq # SQLite, the zero-config default
pip install "funduq[postgres]" # for a real multi-writer deployment
This package implements no transport: its code neither listens nor dials. Serving — an HTTP or gRPC binding for the AG-UI and A2A doors — lives downstream, in funduq-server. What is here is everything that decides: the roster, the run record, dispatch to a connected provider, and translation at the doors.
Two protocols are quoted rather than transcribed. AG-UI shapes come from
ag-ui-protocol and A2A's from a2a-sdk, including the method names, so a
protocol rename fails at import here instead of at a client six months later.
What you get
- Agents, threads and runs — a run is one turn of an agent's loop, with its identity held across a pause for a human, so work can span hours.
- Dispatch — runs offered to whichever provider is serving, per-thread ordering, declared concurrency, and quality counters for what funduq can see from where it stands.
- Doors — AG-UI and A2A adapters over one seat, so which protocol a request arrived by changes nothing about how it is decided.
- Identity — providers prove a key to connect, callers may carry an actor chain, and neither is optional for being in-process.
Read before deploying
What a deployment has to know — in particular that core's caller doors are not independently safe: verifying a chain is not authenticating a caller, and a door has no live channel to do the second.
Its companions
funduq-contract |
the bytes both sides sign — core depends on it, and so does the SDK |
funduq-provider-sdk |
what a provider implements, with [llm] for completions |
Apache-2.0. Docs at https://hukaichun.github.io/funduq/.
Metadata
Release files for funduq 0.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| funduq-0.0.7.tar.gz | 238.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| funduq-0.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 310.1 kB
Release files / funduq-0.0.7.tar.gz
| Download URL | funduq-0.0.7.tar.gz |
|---|---|
| Size | 238.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8cccb5d42ab08ab935d85a6b4e267707e835b1960b9021bf90bbffde9f24e01
|
|
BLAKE2b-256 checksum How to use checksums |
36fa66c7eda75e437baaefc55c8eb752e1cd435b5af0ac16465e8d03cf1c43f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / funduq-0.0.7-py3-none-any.whl
| Download URL | funduq-0.0.7-py3-none-any.whl |
|---|---|
| Size | 71.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f7b46973bd4c70b0a5a41037c34dab82ea7b33d09ddab4d6925bca0bcafbee3
|
|
BLAKE2b-256 checksum How to use checksums |
620504376bd96bada12abaf3c4bb5a6766e42629a189315f57ce52ff64ab7abe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency log