Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
53 lines (49 loc) · 2.36 KB
/
Copy pathpyproject.toml
File metadata and controls
53 lines (49 loc) · 2.36 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
# Top-level uv workspace for the agent-kit monorepo.
#
# Purpose: give the repo a single, unified ``uv.lock`` spanning the internal
# libraries (``agent-config-kit``, ``witan-core``), the two MCP servers
# (``witan-council``, ``witan-code``), and the ``ol-agent-kit`` meta-package, so
# a container build can ``uv sync --frozen`` the whole set reproducibly in one
# resolution (see ``docker/witan.Dockerfile``).
#
# This is a *virtual* workspace root: it declares no package of its own, it only
# groups the members. Each member keeps its own ``pyproject.toml``, version,
# publish flow, and ``[tool.uv.sources]`` path entries, so a standalone
# ``uvx --from git+https://github.com/mitodl/agent-kit#subdirectory=mcp/servers/witan``
# install and an in-member ``uv sync`` keep working exactly as before — uv simply
# recognizes those sibling paths as workspace members when it resolves from here.
[tool.ruff]
# Every member declares `requires-python = ">=3.11"`, but ruff only infers a
# target version from the closest pyproject.toml that *contains* a [tool.ruff]
# table — and none did, so it fell back to its py39 default and flagged 3.11
# builtins (`ExceptionGroup`, `BaseExceptionGroup`) as undefined names. This
# table is that anchor. Rule selection is ruff's default set.
target-version = "py311"
# The members' import roots. Without them ruff resolves first-party from the
# repo root, finds none of the packages there, and isort (I001) folds
# `witan_core` and friends into the third-party block.
src = [
"packages/agent-config-kit",
"packages/agent-kit",
"packages/witan-core",
"mcp/servers/witan",
"mcp/servers/witan-code",
]
# prek runs the repo's hooks (prek.toml) locally and in CI. It is pinned here,
# the single place both read it from: `uv sync --frozen --only-group prek` in
# .github/workflows/autofix.yml installs just this group, hash-checked against
# uv.lock. The root is virtual, so `dev` only exists to pull the group in for a
# plain `uv sync` / `uv run prek`.
[dependency-groups]
prek = ["prek==0.5.5"]
dev = [{ include-group = "prek" }]
[tool.uv.workspace]
members = [
"packages/agent-config-kit",
"packages/agent-kit",
"packages/witan-core",
"mcp/servers/witan",
"mcp/servers/witan-code",
]
[tool.uv]
constraint-dependencies = ["certifi>=2026.10.19"] # eMudhra CA compromise: never resolve a certifi that trusts the compromised CAs