[project] name = "kbqa" version = "0.1.0" description = "Local dual-agent knowledge-base question answering system" readme = "../README.md" requires-python = ">=3.12,<3.13" dependencies = [ "aiosqlite>=0.21,<1", "alembic>=1.16,<2", "fastapi>=0.116,<1", "langchain>=1,<2", "langchain-openai>=1,<2", "langchain-text-splitters>=1,<2", "pydantic-settings>=2.10,<3", "pymilvus[milvus-lite]>=2.6,<3", "pypdf>=5,<7", "python-multipart>=0.0.20,<1", "sqlalchemy[asyncio]>=2.0.41,<3", "uvicorn[standard]>=0.35,<1", ] [dependency-groups] dev = [ "httpx>=0.28,<1", "pytest>=8,<10", "pytest-asyncio>=1,<2", "pytest-timeout>=2,<3", "ruff>=0.12,<1", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/kbqa"] [tool.pytest.ini_options] asyncio_mode = "auto" markers = ["live: requires real DashScope and LangSmith credentials"] [tool.ruff] target-version = "py312" line-length = 100