[project] name = "labvoice" version = "0.0.1" description = "Voice-driven eLabFTW assistant: MCP server + read-only REST fast path" requires-python = ">=3.12" dependencies = [ "mcp>=1.0", "pydantic>=2.7", "pydantic-settings>=2.2", "aiosqlite>=0.20", "fastapi>=0.111", "uvicorn>=0.30", ] [project.optional-dependencies] embeddings = ["fastembed>=0.3"] [dependency-groups] dev = [ "pytest>=8.0", "pytest-asyncio>=0.24", # deps of the vendored elabapi_python client, imported (not installed) by tests "six>=1.16", "urllib3>=2.0", "certifi>=2024.0", ] [project.scripts] labvoice = "mcp_server.__main__:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/mcp_server"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function"