[project]
name = "{{ service_name }}-client"
version = "0.1.0"
description = "Typed gRPC client for the {{ service_name }} service."
requires-python = ">=3.11"
license = { text = "Apache-2.0" }

# Minimal deps. `tonin-client` is the tiny shared package that
# carries AuthCtx, RetryPolicy, CircuitBreaker. Peers that just want
# to call this service install only this package + grpcio + protobuf;
# they DO NOT pull in the server framework.
dependencies = [
  "grpcio>=1.66",
  "protobuf>=5",
  "tonin-client",
]

[project.optional-dependencies]
codegen = [
  "grpcio-tools>=1.66",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/{{ service_name_snake }}_client"]

# Resolve `tonin-client` from a published version by default. For
# local development against the framework's working tree, add a
# `[tool.uv.sources]` block pointing at it, e.g.:
#
#     [tool.uv.sources]
#     tonin-client = { path = "/path/to/tonin/python/tonin-client" }
#
# CI / image builds use the published version.
