Skip to main content

zambo-haystack

AER-1, the agent execution receipt standard: zambo.dev/aer-1 | Add Zambo to your AI: zambo.dev/add

Zambo is the verifiable work layer for AI. This package connects Haystack agents to it, minting a verifiable AER-1 receipt for every tool call.

Receipt format: AER-1, IETF Internet-Draft draft-zambo-aer1-26.

Verifiable execution receipts for Haystack agents. Give your Haystack agent Zambo's 153 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 free calls per day.

What the receipt actually proves

Each receipt page (for example https://zambo.dev/run/<id>) is the public record of the call: 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 recompute the fingerprint and check that the saved result was not changed, 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.

MIT License.

Metadata

Release files for zambo-haystack 0.2.4

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

Source distribution (sdist)

Source distribution for zambo-haystack 0.2.4
File Size Uploaded Provenance Actions
zambo_haystack-0.2.4.tar.gz 14.0 kB Without provenance Details for zambo_haystack-0.2.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for zambo-haystack 0.2.4
File Interpreter ABI Platform Actions
zambo_haystack-0.2.4-py3-none-any.whl Python 3 none any Details for zambo_haystack-0.2.4-py3-none-any.whl

Total release size: 27.2 kB

Release files / zambo_haystack-0.2.4.tar.gz

Download URL zambo_haystack-0.2.4.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d889848342c772671a4bc2dfc73470ab61b7cbfce9bd8f687d1d7b5fab77f5d6
BLAKE2b-256 checksum
How to use checksums
64fe782b23036a7e9ab656583136b01f6a574df770065a92fb6a4962b5e9a9cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via rambo-pypi-grab/0.1.0

Release files / zambo_haystack-0.2.4-py3-none-any.whl

Download URL zambo_haystack-0.2.4-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf94f3c2ac53d08fa5c66dd08c504ba85b8279a259edf8ae8e3e613bcabf5ead
BLAKE2b-256 checksum
How to use checksums
c59117305e84f5cd06de02ce8708b82242a471096ed3ac21ad353fb350e8c417
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via rambo-pypi-grab/0.1.0

Security for zambo-haystack 0.2.4

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.

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