Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.34 KB

File metadata and controls

37 lines (26 loc) · 1.34 KB
description hawk-sdk-python — Python SDK build and test conventions.
globs *.py,*.yaml,*.yml
alwaysApply false

hawk-sdk-python Conventions

Official Python client for the Hawk daemon API.

Development workflow

When starting any new work (feature, fix, refactor, chore), always create a feature branch from main first. Never commit directly to main. Use branch naming conventions like feat/<description>, fix/<description>, or chore/<description>. Open a PR, ensure CI is green, then merge.

Build & Test

pip install -e ".[dev]"            # Install with dev deps
pytest                             # Run tests
ruff check .                       # Lint
ruff format --check .              # Format check
mypy src/                          # Typecheck (strict)
python -m build                    # Build sdist + wheel

Design Principles

  • Minimal dependencies: httpx, pydantic>=2.0, eval-type-backport (Python < 3.10)
  • Dual client: HawkClient (sync) and AsyncHawkClient with identical APIs
  • Type safety: Pydantic v2 models with full type hints

Ecosystem Boundaries

  • Consumer of Hawk public APIs only
  • Do not import from engine repos (eyrie, yaad, tok, trace, sight, inspect)

For full hawk-eco extension guidelines, see hawk/AGENTS.md.