[build-system] requires = ["hatchling>=1.27,<2"] build-backend = "hatchling.build" [project] name = "knowledge-adapter-service" version = "0.1.0" description = "Small production-grade Dify to WeKnora retrieval adapter" requires-python = ">=3.12,<3.13" dependencies = [ "alibabacloud-credentials>=0.3.6,<1", "asyncpg>=0.30,<1", "fastapi>=0.116,<1", "httpx>=0.28,<1", "oss2>=2.19,<3", "pydantic-settings>=2.10,<3", "uvicorn[standard]>=0.35,<1", ] [dependency-groups] dev = [ "pytest>=8.4,<9", "pytest-asyncio>=1.1,<2", "pytest-cov>=6.2,<7", "ruff>=0.12,<1", ] [tool.hatch.build.targets.wheel] packages = ["src/knowledge_adapter"] [tool.pytest.ini_options] addopts = "-q" testpaths = ["tests"] asyncio_mode = "auto" filterwarnings = [ "ignore:datetime\\.datetime\\.utcnow\\(\\) is deprecated.*:DeprecationWarning:oss2\\.auth", ] [tool.ruff] target-version = "py312" line-length = 100 [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "S", "ASYNC", "RUF"] ignore = ["S101"] [tool.ruff.lint.per-file-ignores] "tests/**" = ["S105", "S106"]