Files
hanzo-dev d349a05862 pypi: one canonical hanzo, and superseded packages that say where the real one is
Three published packages declared a console script named `hanzo`, competing with
the native CLI and with each other. Measured on a clean venv at hanzo==0.4.3:
`hanzo --help` printed hanzo-cli's program, not the one pkg/hanzo/README.md
documents. Renamed to `hanzo-py` and `hanzo-cli` — script named after its
distribution. Nothing is yanked; both packages still install and run.

- pkg/hanzo 0.4.4 — summary and README now say the CLI is a native binary
  (curl -fsSL https://hanzo.sh | sh). Dropped the invented command tour
  (`hanzo chat --model gpt-4`, `hanzo node start`, `hanzo router start` on
  localhost:4000): none of those verbs exist in the program this package
  installs. Kept the three library entry points, each import-checked.
- pkg/hanzo-cli 0.2.4 — `hanzo login` replaced with the native `hanzo auth login`
  plus its own `hanzo-cli login`. Verified `hanzo iam users list` and
  `hanzo kms secrets list` against the shipped v1.9.18 binary.
- pkg/hanzo-node 0.1.1 — states the two meanings of the name: the `hanzo-node`
  COMMAND is a symlink to the Hanzo CLI; this package fetches a different binary
  from hanzoai/node, which is private, so the download 404s for the public.
  Documentation URL moved off docs.hanzo.ai/node (404) to hanzo.sh.
- root README (published as `hanzoai`) — `pip install hanzo` no longer advertised
  as the CLI; model ids zen-coder -> zen5-coder (zen-coder is not in the catalog);
  "2452 operations, 1798 schemas" dropped for the spec URL, since the live
  surface is 1058 paths / 1465 operations / 1139 schemas.

Co-authored-by: Hanzo Dev <dev@hanzo.ai>
2026-08-01 13:35:20 -07:00
..

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=hk-...
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