-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
50 lines (45 loc) · 1.84 KB
/
Copy pathpyproject.toml
File metadata and controls
50 lines (45 loc) · 1.84 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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "microant"
version = "0.1.0"
description = "Quality harness for small models on edge devices: capability x quant x runtime damage measurement"
readme = "README.md"
license = "MIT"
license-files = ["LICENSE"]
requires-python = ">=3.11"
dependencies = [
"pydantic>=2",
"jsonschema>=4",
"matplotlib", # ONLY imported in charts.py
"numpy",
"rich",
"pyyaml",
"huggingface_hub",
"psutil", # ONLY imported in capacity.py (machine-state reads)
]
[project.optional-dependencies]
inference = [
"llama-cpp-python", # ONLY imported in backends/llamacpp.py
"mlx-lm", # ONLY imported in backends/mlx.py
"transformers<5.13", # 5.13.0 breaks mlx-lm 0.31.3's AutoTokenizer.register; 5.12.1 verified
"outlines-core>=0.2.14,<0.3", # ONLY imported in backends/mlx.py; API breaks across minors
]
dev = ["pytest", "ruff"]
spike = ["requests"] # scripts/spike/pi_agent/serve.py talks HTTP to the llama-server binary
ui = ["streamlit>=1.40"] # local control-panel + report browser (src/microant/ui); never a base dep
[project.scripts]
microant = "microant.cli:main"
[tool.pytest.ini_options]
addopts = "-m 'not inference'"
markers = ["inference: needs Apple Silicon + downloaded models"]
# The v2 Pi-agent spike builds one sandbox per Exercism exercise under
# reports/spike-pi-agent*/sandboxes/<slug>/, and each of those contains a real
# <slug>_test.py. Without this, `pytest` at the repo root COLLECTS THEM as if they were
# microant's own tests -- 32 collection errors, and the suite's pass count becomes a
# function of whatever the agent last wrote into a sandbox. The spike's own tests are
# named/rooted under scripts/spike/ and are unaffected.
norecursedirs = ["reports/spike-pi-agent*", ".git", "*.egg-info"]
[tool.ruff]
line-length = 100