[project] name = "gewu" version = "0.1.0" description = "Evidence-backed multi-project knowledge service" requires-python = ">=3.12,<3.15" dependencies = [ "fastapi>=0.115,<1", "httpx2>=2.13,<3", "mcp>=2,<3", "pydantic>=2.10,<3", "portalocker>=3.2,<4", "PyYAML>=6,<7", "regex>=2024.11,<2027", "uvicorn[standard]>=0.34,<1", "argon2-cffi>=25.1,<26", "pyotp>=2.9,<3", "cryptography>=48,<51", ] [project.scripts] gewu-connector = "gewu.transports.stdio_connector:main" gewu-owner = "gewu.bootstrap.owner_cli:main" [dependency-groups] dev = [ "httpx>=0.28,<1", "mypy>=1.14,<2", "pytest>=8.3,<10", "ruff>=0.9,<1", "sqlite-vec==0.1.9", "types-pyyaml>=6,<7", "types-regex>=2024.11,<2027", ] [project.optional-dependencies] retrieval = [ "sentence-transformers==6.1.0", "sqlite-vec==0.1.9", ] dev = [ "httpx>=0.28,<1", "mypy>=1.14,<2", "pytest>=8.3,<10", "regex>=2024.11,<2027", "ruff>=0.9,<1", "sqlite-vec==0.1.9", "types-pyyaml>=6,<7", "types-regex>=2024.11,<2027", ] [build-system] requires = ["hatchling>=1.27,<2"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/gewu"] [tool.pytest.ini_options] pythonpath = ["src"] testpaths = ["tests"] [tool.ruff] line-length = 100 target-version = "py312" src = ["src", "tests"] [tool.ruff.lint] select = ["E", "F", "I", "UP", "B"] [tool.mypy] python_version = "3.12" mypy_path = "src" strict = true plugins = ["pydantic.mypy"]