[build-system]
# setuptools >=77 emits core-metadata 2.4 (PEP 639 License-Expression), which the
# Gitea PyPI feed does not yet accept; cap below that so the dist stays <=2.3.
requires = ["setuptools>=69,<77", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "zb-mom-ww-mxaccess-gateway-client"
version = "0.1.1"
description = "Async Python client scaffold for MXAccess Gateway."
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
  "click>=8.3,<9",
  "grpcio>=1.80,<2",
  "protobuf>=6.33,<7",
]
authors = [
  { name = "Joseph Doherty" },
]
keywords = ["mxaccess", "mxgateway", "grpc", "client", "archestra"]
classifiers = [
  "License :: Other/Proprietary License",
  "Development Status :: 3 - Alpha",
  "Programming Language :: Python :: 3",
  "Programming Language :: Python :: 3.12",
  "Programming Language :: Python :: 3.13",
  "Topic :: System :: Distributed Computing",
  "Topic :: Software Development :: Libraries :: Python Modules",
  "Intended Audience :: Developers",
  "Operating System :: OS Independent",
]

[project.urls]
Homepage = "https://gitea.dohertylan.com/dohertj2/mxaccessgw"
Repository = "https://gitea.dohertylan.com/dohertj2/mxaccessgw"
Issues = "https://gitea.dohertylan.com/dohertj2/mxaccessgw/issues"

[project.optional-dependencies]
dev = [
  "grpcio-tools>=1.80,<2",
  "pytest>=9,<10",
  "pytest-asyncio>=1.3,<2",
  "build>=1.2,<2",
  "twine>=5,<6",
]

[project.scripts]
mxgw-py = "zb_mom_ww_mxgateway_cli.commands:main"

[tool.setuptools.packages.find]
where = ["src"]

[tool.pytest.ini_options]
addopts = "-ra"
pythonpath = ["src"]
testpaths = ["tests"]
markers = [
  "tls: loopback TLS tests, opt-in via MXGATEWAY_RUN_TLS_TESTS=1",
]
