[project]
name = "tasks-bot"
version = "0.1.0"
description = "Telegram bot capturing tasks into TickTick via LLM extraction"
requires-python = ">=3.11"
dependencies = [
    "python-telegram-bot>=21.0",
    "aiosqlite>=0.19",
    "httpx>=0.27",
    "pydantic>=2.0",
    "pydantic-settings>=2.0",
    "python-dotenv>=1.0",
]

[project.optional-dependencies]
dev = ["pytest>=8.0", "pytest-asyncio>=0.23", "ruff>=0.5", "freezegun>=1.4"]

[project.scripts]
tasks-bot = "tasks_bot.main:run"

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

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
pythonpath = ["src"]
markers = [
    "live: tests that hit real external APIs (run manually with -m live)",
]
addopts = "-m 'not live'"

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