Files
zooqueenandzeekay 9492c358cc a uv source says where, not that anything depends on it
The hanzo-tools-core suite imports ten sibling tool distributions and
asserts an exact TOOLS count, but they were only ever named in
[tool.uv.sources]. A source resolves a package; it does not make anything
require one, so `uv sync --dev` uninstalled all ten and left the suite at
22 failed / 2 passed. Naming them in the dev dependency-group restores
24 passed, 12 skipped from a clean sync.

pkg/hanzo-dev-py never existed — the directory is pkg/hanzo-dev — so the
eight excludes and workspace members spelling it were inert. mypy.ini is
the config that actually loads, and with the name corrected it stops
type-checking a package it was written to skip (18 errors -> none).

cloud.py cited APIKeyPrefixes as the authority on key prefixes; no such
symbol exists. isAPIKey is the real gate and it admits hk-, sk-, pk-, fw_
and hz_, so NO_KEY was telling callers the wrong two.

(cherry picked from commit b2024662400895e456d4b3811fd286565e4e7109)
2026-09-03 23:39:20 -07:00

68 lines
1.5 KiB
INI

[mypy]
pretty = True
show_error_codes = True
# Exclude non-SDK code and subpackages (they have their own CI/linting)
exclude = ^(pkg/hanzoai/_files\.py|_dev/.*\.py|tests/.*|bin/.*|examples/.*|scripts/.*|pkg/hanzo/|pkg/hanzo-aci/|pkg/hanzo-agent/|pkg/hanzo-mcp/|pkg/hanzo-memory/|pkg/hanzo-network/|pkg/hanzo-dev/)
strict_equality = True
implicit_reexport = True
no_implicit_optional = True
warn_unreachable = True
warn_unused_configs = True
# Relax strict typing for SDK with many optional dependencies
check_untyped_defs = False
disallow_any_generics = False
disallow_untyped_defs = False
disallow_untyped_calls = False
disallow_subclassing_any = False
disallow_incomplete_defs = False
disallow_untyped_decorators = False
warn_return_any = False
warn_unused_ignores = False
warn_redundant_casts = False
ignore_missing_imports = True
cache_fine_grained = True
# Disable common error codes for SDK compatibility
disable_error_code = func-returns-value,overload-cannot-match
# https://github.com/python/mypy/issues/12162
[mypy.overrides]
module = "black.files.*"
ignore_errors = true
ignore_missing_imports = true
[mypy-hanzoai.grpo.*]
ignore_errors = true
[mypy-hanzoai.llm_client]
ignore_errors = true
[mypy-hanzoai.agents]
ignore_errors = true
[mypy-hanzoai.mcp]
ignore_errors = true
[mypy-hanzoai.cluster]
ignore_errors = true
[mypy-hanzoai._client]
ignore_errors = true
[mypy-hanzoai._base_client]
ignore_errors = true
[mypy-hanzoai._models]
ignore_errors = true
[mypy-hanzoai.auth]
ignore_errors = true
[mypy-hanzoai._utils.*]
ignore_errors = true