Files
python-sdk/pkg/hanzo-cli/pyproject.toml
T
zeekayandHanzo Dev 6a0898b300 fix(sdk): single-source every package version; patch-bump the two changed pkgs
Same drift as the CLI, in all three packages: a hardcoded __version__ that no
longer matched pyproject.

  hanzo_iam/__init__.py  1.1.1  vs pyproject 1.30.0   (29 minor versions apart)
  hanzo_cli/__init__.py  0.1.0  vs pyproject 0.2.2

The hanzo_cli one was load-bearing: click's version_option reads it, so it is
the reason `hanzo --version` answered "0.1.0" — a release that never existed.
All three now resolve from the installed distribution, so there is one answer.

Patch bumps for the two packages changed in 68877409 (never a lazy major):
  hanzo-cli  0.2.2 -> 0.2.3   entry point removed, __main__ added, PKCE, token path
  hanzo-iam  1.30.0 -> 1.30.1 endpoint properties on the exported IAMConfig

Verified on a clean venv: __version__ == importlib.metadata.version for all
three, `hanzo --version` 0.4.4, `python -m hanzo_cli --version` 0.2.3, 58
commands. hanzo-iam 19/19; hanzo-cli's failures are unchanged live-service auth.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-26 14:54:28 -07:00

65 lines
1.9 KiB
TOML

[project]
name = "hanzo-cli"
version = "0.2.3"
description = "Hanzo unified CLI — IAM, KMS, PaaS, S3, Deploy"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.12"
authors = [{ name = "Hanzo AI", email = "[email protected]" }]
keywords = ["hanzo", "cli", "iam", "devops"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"click>=8.0",
"rich>=13.0",
"httpx>=0.25.0",
"pyjwt>=2.8.0",
"hanzo-iam>=1.30.0",
"hanzo-kms>=1.0.0",
"hanzo-s3>=1.0.0",
"tomli>=2.0.0; python_version < '3.11'",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"ruff>=0.5.0",
]
# No [project.scripts]. The `hanzo` command belongs to the `hanzo` package and
# to nothing else. Both packages used to declare `hanzo = ...`, and since
# `hanzo` DEPENDS on this one, the winner was decided by pip install order —
# a coin flip between a 56-command CLI and this 10-command one. hanzo-cli kept
# winning, so `pip install hanzo` silently produced a CLI with no `auth`,
# `chat`, `agent`, `cloud`, `dev` or `mcp` at all. This package remains
# importable (`python -m hanzo_cli`) and its groups are mounted by `hanzo`.
[project.urls]
Homepage = "https://hanzo.ai"
Repository = "https://github.com/hanzoai/python-sdk"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["hanzo_cli"]
[tool.ruff]
target-version = "py39"
line-length = 100
[tool.ruff.lint]
select = ["E", "W", "F", "I", "B", "C4", "UP"]
ignore = ["E501"]