mirror of
https://github.com/hanzoai/python-sdk.git
synced 2026-10-23 20:23:00 +00:00
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 <[email protected]>
This commit is contained in:
+25
-37
@@ -1,56 +1,44 @@
|
||||
# hanzo-node
|
||||
|
||||
Cross-platform installer for the Hanzo AI node (Rust binary).
|
||||
A Python installer that downloads a `hanzo-node` binary from `hanzoai/node`
|
||||
release assets.
|
||||
|
||||
## Installation
|
||||
## Read this first
|
||||
|
||||
Two different things are called `hanzo-node`, and this package is not the one
|
||||
most people want.
|
||||
|
||||
**The `hanzo-node` command** is a second name for the Hanzo CLI — a symlink to
|
||||
the same binary, which the Hanzo Cloud control binary resolves first when it
|
||||
delegates a verb it does not serve itself. You get it from the CLI installer, and
|
||||
because it is a symlink it can never drift out of step with `hanzo`:
|
||||
|
||||
```bash
|
||||
# Install via uv
|
||||
uv tool install hanzo-node
|
||||
|
||||
# Or via pip
|
||||
pip install hanzo-node
|
||||
curl -fsSL https://hanzo.sh | sh
|
||||
hanzo-node --version # same build as `hanzo --version`
|
||||
```
|
||||
|
||||
**This package** installs a separate Rust agent-node binary from the
|
||||
`hanzoai/node` repository. That repository is private, so its release assets
|
||||
return 404 to an unauthenticated download and `hanzo-node install` cannot
|
||||
complete unless you already have access. Nothing here is being removed, but if
|
||||
you landed on it looking for the `hanzo-node` command, use the installer above.
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
# Install the node binary
|
||||
hanzo-node install
|
||||
pip install hanzo-node # or: uv tool install hanzo-node
|
||||
|
||||
# Check status
|
||||
hanzo-node install # fetch the binary for your platform
|
||||
hanzo-node status
|
||||
|
||||
# Upgrade to latest
|
||||
hanzo-node upgrade
|
||||
|
||||
# Run the node (passes args to binary)
|
||||
hanzo-node run --help
|
||||
|
||||
# Uninstall
|
||||
hanzo-node run --help # pass through to the binary
|
||||
hanzo-node uninstall
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
This Python package is a thin wrapper that:
|
||||
|
||||
1. Detects your platform (macOS/Linux/Windows, x64/arm64)
|
||||
2. Downloads the appropriate Rust binary from GitHub releases
|
||||
3. Installs it to `~/.local/bin` (or `%LOCALAPPDATA%\hanzo\bin` on Windows)
|
||||
4. Provides a CLI to manage the installation
|
||||
|
||||
The actual `hanzo-node` is written in Rust for performance. This package just handles cross-platform distribution.
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- macOS (Apple Silicon / Intel)
|
||||
- Linux (x64 / arm64)
|
||||
- Windows (x64)
|
||||
|
||||
## Environment Variables
|
||||
|
||||
- `HANZO_INSTALL_DIR` - Override the installation directory (default: `~/.local/bin`)
|
||||
It detects your platform (macOS/Linux/Windows, x64/arm64), downloads the matching
|
||||
asset, and installs it to `~/.local/bin` — or `%LOCALAPPDATA%\hanzo\bin` on
|
||||
Windows. `HANZO_INSTALL_DIR` overrides the destination.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "hanzo-node"
|
||||
version = "0.1.0"
|
||||
description = "Hanzo Node - Cross-platform installer for the Hanzo AI node (Rust binary)"
|
||||
version = "0.1.1"
|
||||
description = "Legacy installer for a private hanzo-node build. `hanzo-node` now ships with the Hanzo CLI — https://hanzo.sh"
|
||||
authors = [
|
||||
{name = "Hanzo AI", email = "[email protected]"},
|
||||
]
|
||||
@@ -33,7 +33,7 @@ hanzo-node = "hanzo_node.cli:main"
|
||||
[project.urls]
|
||||
Homepage = "https://hanzo.ai"
|
||||
Repository = "https://github.com/hanzoai/python-sdk"
|
||||
Documentation = "https://docs.hanzo.ai/node"
|
||||
Documentation = "https://hanzo.sh"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
|
||||
Reference in New Issue
Block a user