[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "scholar-rag-mcp" version = "0.4.0" description = "Academic paper knowledge-base MCP tool with ingest, retrieval and chat over your document corpus" readme = "README.md" requires-python = ">=3.12" dependencies = [ "pydantic>=2", "pydantic-settings", "httpx", "openai>=1.40,<3", "qdrant-client>=1.19,<1.20", "mcp>=1.0", "tomli-w", ] [project.optional-dependencies] dev = [ "pytest", "pytest-asyncio", "ruff", "mypy", "respx", "fpdf2", ] mineru = [ "mineru==3.4.5", "PyYAML>=6.0.1,<7", "ftfy>=6.3.1,<7", "shapely>=2.0.7,<3", "pyclipper>=1.3.0,<2", "torch>=2.6.0,<3", "torchvision", "accelerate", ] [project.scripts] scholar-rag-mcp = "scholar_rag.server.main:main" [tool.hatch.build.targets.wheel] packages = ["src/scholar_rag"] [tool.pytest.ini_options] pythonpath = ["src"] testpaths = ["tests/unit", "tests/integration"] filterwarnings = [ "ignore:Failed to obtain server version.*", "ignore:Qdrant client version.*is incompatible.*", ] markers = [ "e2e: end-to-end tests requiring real model services", "perf: performance regression tests", "integration: tests requiring a real qdrant binary", ]