[project] name = "searchbox" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ "qdrant-client==1.13", "vault-settings>=0.1.0", ] [project.optional-dependencies] mcp = [ "fastmcp>=2.12.4", ] [project.scripts] searchbox-mcp = "searchbox.mcp_server:run" [build-system] requires = ["uv_build"] build-backend = "uv_build" [tool.vault-settings] secret = "qdrant-mcp" [dependency-groups] dev = [ "fastembed>=0.7.3", "pytest>=8.4.2", "pytest-asyncio>=1.2.0", "pytest-cov>=7.0.0", "pytest-sugar>=1.1.1", "ruff>=0.13.2", ] [tool.basedpyright] reportAny = false enableTypeIgnoreComments = true reportUnreachable = false [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" [tool.ruff] extend-exclude = ["tests"] [tool.ruff.lint] extend-select = ["I", "D", "ERA", "UP", "FURB", "TRY", "PERF"] ignore = ["D203", "D213"] [tool.coverage.run] source = ["src"] branch = true omit = [ "tests/*", "*/conftest.py", ] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "raise AssertionError", "raise NotImplementedError", "if __name__ == .__main__.:", "@abstractmethod", ] show_missing = true precision = 2 [tool.coverage.html] directory = "htmlcov" [[tool.uv.index]] name = "innovacion" url = "https://innovacion:9afcfaab597db77f75ce5f08f7fca8ef69800b10@gitea.ia-innovacion.work/api/packages/innovacion/pypi/simple"