zambo-haystack
Verifiable execution receipts for Haystack agents. Give your Haystack agent Zambo's 100+ live tools. Every tool call is executed by Zambo and mints a verifiable AER-1 receipt: a public URL carrying the tool, its arguments, the observed result, a SHA-256 fingerprint, and machine-readable JSON-LD.
from haystack.components.agents import Agent
from haystack.components.generators.chat import OpenAIChatGenerator
from zambo_haystack import zambo_tools
agent = Agent(
chat_generator=OpenAIChatGenerator(), # any Haystack chat generator works
tools=zambo_tools(["live_price", "prompt_shield"]),
)
result = agent.run([{"role": "user", "content": "What is the live BTC price?"}])
Bring any Haystack chat generator (OpenAIChatGenerator above needs OPENAI_API_KEY; the Zambo calls themselves need no account and no key).
No account. No API key. Free tier: 20 calls per tool per day.
What the receipt actually proves
Each receipt page (for example https://zambo.dev/run/<id>) is Zambo's tamper-evident record that Zambo executed the tool call itself: the tool name, the exact arguments your agent sent, the observed result, a timestamp, and a SHA-256 fingerprint of the record, published as JSON-LD. Anyone can re-verify it with no account.
Every Haystack tool returned by zambo_tool appends the minted receipt URL to its result text, and records it in a registry you can query with lookup_receipt(tool_name, arguments_json):
from zambo_haystack import lookup_receipt
url = lookup_receipt("live_price", '{"symbol": "BTC"}')
print(url) # https://zambo.dev/run/<id>
Or register a callback to capture each receipt as it is minted:
from zambo_haystack import zambo_tool
price_tool = zambo_tool(
"live_price",
on_receipt=lambda tool, url: print(f"[receipt] {tool}: {url}"),
)
Install
pip install zambo-haystack
One tool, custom schema
from zambo_haystack import zambo_tool
price_tool = zambo_tool(
"live_price",
params_json_schema={
"type": "object",
"properties": {"symbol": {"type": "string"}},
"required": ["symbol"],
},
)
Browse the full catalog any time with zambo_haystack.list_tools(), or pick tools by use case through Zambo's capability_search tool.
Notes
- Zambo calls need no key and no signup. Heavy runs (dozens of tool calls) will reach the free daily limit; the tool raises a clear error and the agent run continues with the other tools.
- The receipt registry is thread-safe and never breaks your run: the wrapper only reads and writes its own registry entry, and it ignores anything else in the pipeline.
- Receipts are public by design. Do not pass secrets as tool arguments.
Links
- Zambo: https://zambo.dev
- AER-1 receipt spec: https://zambo.dev/aer-1/
MIT License.
Release files for zambo-haystack 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zambo_haystack-0.1.1.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zambo_haystack-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.5 kB
Release files / zambo_haystack-0.1.1.tar.gz
| Download URL | zambo_haystack-0.1.1.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cad4d2faff05ccfec64b649dde939eac1ba42d68d3ffaed0a53d265edea64102
|
|
BLAKE2b-256 checksum How to use checksums |
f78ffba5c85370d30fe5e114289a476c300b95aefb78658970e7600b56a775f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
rambo-pypi-grab/0.1.0
|
Release files / zambo_haystack-0.1.1-py3-none-any.whl
| Download URL | zambo_haystack-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
314208b739de77b1b25e7d84ca400293cd4a62be942aab3c7ea7796dbbdfd932
|
|
BLAKE2b-256 checksum How to use checksums |
98968effd73c7dc947e1246375d6a214ed41813e3bc88ccae65b27d02b7a75f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
rambo-pypi-grab/0.1.0
|