-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathpyproject.toml
More file actions
67 lines (58 loc) · 2.02 KB
/
Copy pathpyproject.toml
File metadata and controls
67 lines (58 loc) · 2.02 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
# xquad repo root pyproject.
#
# Declares the uv workspace spanning every Python package in the repo
# (xqffi, xqvm_py, xqcp, xqsa, xquad) plus the dev tools used to lint
# and test them. No buildable project of its own — `uv sync` installs
# workspace members in editable mode into a shared `.venv/`.
#
# Per-package pyproject.toml files under each member directory carry the
# actual project metadata, dependency lists, and build backend.
[tool.uv.workspace]
members = [ "xqffi", "xqvm_py", "xqcp", "xqsa", "xquad" ]
[dependency-groups]
dev = [
"maturin>=1.7,<2",
"pytest>=8",
"pyyaml>=6",
"ruff>=0.7",
]
# ---------------------------------------------------------------------------
# Ruff — hoisted from xqvm-py/ruff.toml (QUI-439 heritage). Applies to
# every Python package in the workspace.
# ---------------------------------------------------------------------------
[tool.ruff]
line-length = 120
target-version = "py313"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"F", # pyflakes
"I", # isort
"UP", # pyupgrade
]
[tool.ruff.lint.per-file-ignores]
"xqsa/tests/test_*.py" = [ "E402" ] # imports after pytest.importorskip
[tool.ruff.lint.isort]
known-first-party = [
"xqvm_py",
"xqcp",
"xqsa",
"xqffi",
"xquad",
"_docsgen",
"_hwprobe",
"_scriptio",
]
# ---------------------------------------------------------------------------
# Pytest — consolidated discovery root so `pytest` from repo root picks up
# every package's tests/. Each package also carries its own conftest if
# needed.
# ---------------------------------------------------------------------------
[tool.pytest.ini_options]
testpaths = [ "xqvm_py/tests", "xqcp/tests", "xqsa/tests", "xquad/tests", "scripts/tests" ]
markers = [
"qpu: live D-Wave QPU tests (require DWAVE_API_TOKEN)",
"cuda: real NVIDIA CUDA GPU tests (require cupy + a CUDA device)",
"metal: real Apple Metal GPU tests (require macOS + a Metal device)",
"quip: live Quip Network devnet tests (require QUIP_RPC_URL)",
]