[build-system]
requires = ["setuptools==82.0.1"]
build-backend = "setuptools.build_meta"

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

[project]
name = "tale-{{kebabCase name}}"
version = "0.1.0"
description = "{{description}}"
requires-python = ">=3.11"
dependencies = [
  "fastapi==0.135.3",
  "uvicorn[standard]==0.44.0",
  "pydantic==2.12.5",
  "pydantic-settings==2.13.1",
  "python-dotenv==1.2.2",
  "loguru==0.7.3",
  "httpx==0.28.1",
]

[project.optional-dependencies]
dev = [
  "ruff==0.15.10",
  "pytest==9.0.3",
  "pytest-asyncio==1.3.0",
  "pytest-cov==7.1.0",
  "pytest-watch==4.2.0",
]

[tool.ruff]
line-length = 120
target-version = "py311"

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM", "RUF"]

[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "auto"

[tool.pytest.ini_options]
asyncio_mode = "strict"
testpaths = ["tests"]
