[project] name = "surugaya-scraper-service" version = "0.1.0" description = "API service for Surugaya scraping tasks" requires-python = ">=3.12" dependencies = [ "fastapi>=0.115.0,<1.0.0", "loguru>=0.7.0,<1.0.0", "pydantic>=2.0.0,<3.0.0", "pydantic-settings>=2.4.0,<3.0.0", "redis==8.0.0", "selectolax>=0.3.21,<1.0.0", "starlette>=0.37.0,<1.0.0", "uvicorn[standard]>=0.30.0,<1.0.0", # playwright 与 playwright-stealth 由 [browser] extra 提供,与 worker 保持同一来源 "surugaya-common[browser]", ] [project.optional-dependencies] dev = [ "pytest>=8.3.0,<9.0.0", "pytest-asyncio>=0.24.0,<1.0.0", ] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" testpaths = ["tests"] [tool.uv] package = false [tool.uv.workspace] members = ["packages/*"] [tool.uv.sources] surugaya-common = { workspace = true }