-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
71 lines (60 loc) · 2.2 KB
/
Copy pathpyproject.toml
File metadata and controls
71 lines (60 loc) · 2.2 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
68
69
70
71
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "clk-harness"
version = "0.1.0"
description = "Cognitive Loop Kernel (CLK): a local-only multi-agent development harness."
readme = "README.md"
requires-python = ">=3.9"
license = { text = "MIT" }
authors = [{ name = "CLK" }]
dependencies = [
"PyYAML>=6.0",
"fastapi>=0.100",
"uvicorn>=0.23",
"pydantic>=2.0",
]
[project.optional-dependencies]
dev = ["pytest>=7", "pytest-asyncio>=0.23", "httpx>=0.24"]
api = ["fastapi>=0.100", "uvicorn>=0.23", "pydantic>=2.0"]
telegram = ["python-telegram-bot>=21", "httpx>=0.24"]
[project.scripts]
clk = "clk_harness.cli:main"
clk-api = "clk_harness._api_shim:main"
clk-telegram-bot = "clk_harness.integrations.telegram.bot:main"
[tool.setuptools]
include-package-data = true
[tool.setuptools.packages.find]
where = ["."]
include = ["clk_harness*"]
[tool.setuptools.package-data]
# Ship the built React web UI (emitted by `npm --prefix webui run build`)
# inside the wheel so `clk web` can serve it without a Node toolchain.
clk_harness = ["webui_dist/**/*"]
[tool.ruff]
# Matches the prevailing style: most lines are <100 chars, with a small tail
# of longer prompt/format strings; 120 flags only the egregious outliers.
line-length = 120
[tool.ruff.lint]
# pycodestyle errors/warnings, pyflakes, import sorting, and no bare excepts.
# (E722 is part of "E"; listed explicitly because it is a hard requirement.)
select = ["E", "F", "W", "I", "E722"]
[tool.ruff.lint.per-file-ignores]
# Agent prompt templates hold long lines inside triple-quoted strings whose
# content must not be rewrapped (it is sent verbatim to the model).
"clk_harness/templates/prompts.py" = ["E501"]
[tool.mypy]
# Lenient baseline: keep the run clean without requiring annotations yet.
ignore_missing_imports = true
# PyYAML ships untyped; don't require types-PyYAML to be installed.
disable_error_code = ["import-untyped"]
check_untyped_defs = false
disallow_untyped_defs = false
warn_unused_configs = true
no_implicit_optional = false
follow_imports = "normal"
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
asyncio_default_test_loop_scope = "function"