zambo-haystack
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.0
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.0.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zambo_haystack-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 kB
Release files / zambo_haystack-0.1.0.tar.gz
| Download URL | zambo_haystack-0.1.0.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
03c3a391ee5f0b71ec3e999ea74e4e74fec393b91d6b660bead0e56966d8d78c
|
|
BLAKE2b-256 checksum How to use checksums |
6ef32cfd6ff038c8a83bf27244b8859e1c748b69bce8193d7e9782db162d2fa6
|
| 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.0-py3-none-any.whl
| Download URL | zambo_haystack-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5b68607bc065fcd804b4f82af20ba37570c58c3c1aee85d39c3d68f374d3653
|
|
BLAKE2b-256 checksum How to use checksums |
2fdaa5a53641c36951bca714af4700cf84c72f1fcb7b03f63b1a4d98c3e70cb1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
rambo-pypi-grab/0.1.0
|