[project]
name = "ecm-sync-system"
version = "0.1.0"
description = "ECM sync state machine and pipeline"
readme = "README.md"
requires-python = ">=3.9"
dependencies = [
  "pydantic>=2.7,<3",
  "email-validator>=2.2,<3",
  "PyYAML>=6.0,<7",
  "httpx>=0.27,<1",
  "aiosqlite>=0.20,<1",
  "pytz>=2024.1,<2027",
  "fastapi>=0.115,<1",
  "uvicorn>=0.30,<1",
]

[project.scripts]
ecm-sync-run = "sync_state_machine.cli:main"

[dependency-groups]
dev = [
  "pytest>=8.2,<9",
  "pytest-asyncio>=0.23,<1",
]

[build-system]
requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
include-package-data = true

[tool.setuptools.packages.find]
include = ["sync_state_machine*"]

[tool.setuptools.package-data]
sync_state_machine = ["config/*.yaml"]

[tool.uv]
package = true
