[project]
name = "api"
version = "0.1.0"
description = "Wattpad Downloader API"
readme = "../../README.md"
requires-python = ">=3.13"
dependencies = [
    "aiohttp>=3.9.1",
    "rich>=13.9.4",
    "fastapi>=0.115.5",
    "ebooklib>=0.18",
    "python-dotenv>=1.0.1",
    "pydantic-settings>=2.6.1",
    "eliot>=1.16.0",
    "type-extensions>=0.1.2",
    "backoff>=2.2.1",
    "aiohttp-client-cache[all]",
    "bs4>=0.0.2",
    "uvicorn>=0.32.1",
    "pyexiftool>=0.5.6",
    "weasyprint>=63.0",
]

[tool.ruff.lint]
ignore = ['E402'] # module import not at top of file

[tool.uv.sources]
aiohttp-client-cache = { git = "https://github.com/TheOnlyWayUp/aiohttp-client-cache.git", rev = "keydb-ttl" } # Fork which leverages keydb's EXPIREMEMBER feature for TTLs on Hash members.

[dependency-groups]
dev = [
    "ipykernel>=6.29.5",
]
