-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
67 lines (59 loc) · 1.76 KB
/
Copy pathpyproject.toml
File metadata and controls
67 lines (59 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[project]
name = "data-olympus"
version = "0.2.0"
description = "Governance-grade knowledge-base format (OKF-compatible) plus CLI and single-writer MCP server"
requires-python = ">=3.13"
license = { text = "Apache-2.0" }
dependencies = [
"pyyaml>=6.0",
"fastmcp>=3.2.0,<4",
"pydantic>=2.9",
]
[project.optional-dependencies]
# Optional local-embedding hybrid ranking (issue #42). NOT a core dependency:
# with this extra uninstalled and KB_EMBEDDINGS_MODE unset, nothing imports the
# embedding stack and the lexical product is unchanged. fastembed bundles a
# quantised ONNX MiniLM-class model runner (onnxruntime), so there is NO torch
# and no external API; the model is fetched once at enable time and cached.
embeddings = [
"fastembed>=0.8,<0.9",
]
dev = [
"pytest>=8.3",
"pytest-asyncio>=0.24",
"pytest-cov>=5.0",
"httpx>=0.27",
"ruff>=0.15.20",
"mypy>=1.13",
"types-PyYAML>=6.0",
# Exercise the embeddings path in CI (the feature stays off by default at
# runtime; the tests opt in via KB_EMBEDDINGS_MODE and skip if the model
# cannot be fetched in the sandbox).
"fastembed>=0.8,<0.9",
]
bench = [
"tiktoken>=0.8",
"sentence-transformers>=3.0",
"numpy>=1.26",
]
[project.scripts]
data-olympus-mcp = "data_olympus.server:main"
data-olympus = "data_olympus.cli.main:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/data_olympus"]
[tool.ruff]
line-length = 100
target-version = "py313"
[tool.ruff.lint]
select = ["E", "F", "I", "B", "UP", "ARG", "SIM", "TCH", "RET"]
[tool.mypy]
strict = true
python_version = "3.13"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
addopts = "-ra -q"
pythonpath = ["src", "."]