Files
zooqueenandHanzo Dev 20a2178e61 auth: the two key shapes are pk- and sk-, and one sentence says so
Cloud's APIKeyPrefixes admits pk- and sk- only (auth_identity.go, 4b030b77).
The lsp tool still told the user to set an hk- key, which cloud resolves to no
principal — following the message produced a key that could never authenticate.

The message is now a single NO_KEY beside the resolver that mints it, exported
from hanzo_tools.core, so a second tool reporting it cannot spell it differently.
Resolution order is untouched: HANZO_API_KEY, then ~/.hanzo/config.json .apiKey,
then the CLI's IAM session.

vector_index names the split cloud actually draws: pk- publishable for read,
sk- secret for write.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-08 15:04:19 -07:00

2.0 KiB

hanzo

PyPI Python Version

Python orchestration helpers for Hanzo AI, and the older Python implementation of the Hanzo CLI.

The hanzo command lives elsewhere now

The Hanzo CLI is a native binary. Install it with:

curl -fsSL https://hanzo.sh | sh
hanzo auth login

That gives you hanzo (and hanzo-node, a symlink to the same build) with one command group per Hanzo Cloud product. This package's console script is hanzo-py — deliberately not hanzo, so it cannot shadow the real CLI on your PATH:

pip install hanzo
hanzo-py --help

Nothing here is being removed. If you have scripts on hanzo-py, they keep working; new work should target the native CLI.

What's still useful here

The Python library pieces, importable without touching the CLI:

from hanzo.batch_orchestrator import BatchOrchestrator

orchestrator = BatchOrchestrator()
results = await orchestrator.run_batch([
    "Summarize the incident report",
    "Draft the follow-up email",
])
from hanzo.memory_manager import MemoryManager

memory = MemoryManager()
memory.add_to_context("user", "What changed in the last deploy?")
context = memory.get_context()
from hanzo.fallback_handler import FallbackHandler

handler = FallbackHandler()
result = await handler.handle_with_fallback(
    primary_fn=api_call,
    fallback_fn=local_inference,
)

For the typed Hanzo Cloud API client, install hanzoai.

Configuration

HANZO_API_KEY=sk-...
HANZO_BASE_URL=https://api.hanzo.ai

Model ids come from the cloud catalog, not from this file — zen5, zen5-coder, zen5-flash, zen5-mini, zen5-pro, enso, enso-flash, enso-ultra. Ask the cloud rather than hardcoding: hanzo models list.

Development

cd pkg/hanzo
uv sync --all-extras
uv build

License

Apache 2.0