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

[project]
name = "nutricoach-v150-day-status-continuity-r71-r1"
version = "1.0.0"
requires-python = ">=3.12"
dependencies = ["pydantic>=2.12,<3"]

[project.scripts]
nutricoach-day-status-continuity = "nutricoach_continuity.cli:main"

[project.optional-dependencies]
dev = ["basedpyright>=1.31", "pytest>=9", "ruff>=0.15", "ty>=0.0.21"]

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

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--strict-config --strict-markers"

[tool.ruff]
line-length = 100
target-version = "py312"

[tool.ruff.lint]
select = ["ALL"]
ignore = [
  "COM812", "CPY001", "D102", "D107", "D203", "D213", "EM101", "ERA001",
  "FBT003", "PLR2004", "PT011", "PTH116", "S105", "TC001", "TC002", "TC003",
  "C901", "PLR0912", "PLR0915", "S603", "TRY003", "TRY300", "TRY301",
]

[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D", "S101", "PLR2004"]

[tool.basedpyright]
typeCheckingMode = "all"
pythonVersion = "3.12"
include = ["src", "tests"]
extraPaths = ["src", "../task-12-independent-verification-r9/build/hermes-full/dualcoach/profile"]
reportUnnecessaryComparison = false
reportUnknownArgumentType = "error"
reportUnknownMemberType = "error"
reportUnknownVariableType = "error"

[tool.ty.environment]
python-version = "3.12"
