-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathpyproject.toml
55 lines (46 loc) · 1.46 KB
/
pyproject.toml
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
[tool.uv.workspace]
members = ["tket2-py", "tket2-eccs", "tket2-exts"]
[tool.uv]
dev-dependencies = [
"maturin >=1.7.0,<2",
"pytest >=8.3.2,<9",
"pytest-cov >=5.0.0,<6",
"ruff >=0.6.2,<0.7",
"mypy >=1.11.1,<2",
"hypothesis >=6.111.1,<7",
"graphviz >=0.20,<0.21",
"pre-commit >=3.8.0,<4",
# Required to run `maturin develop`
"pip >=24",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.maturin]
# Maturin is not the build system for the workspace (it is only used for `tket2-py`).
# We mirror the `tket2-py/pyproject.toml` config here so `maturin develop` still works
# from the root of the workspace.
manifest-path = "tket2-py/Cargo.toml"
python-source = "tket2-py"
module-name = "tket2._tket2"
# "extension-module" tells pyo3 we want to build an extension module (skips linking against libpython.so)
features = ["pyo3/extension-module"]
[tool.mypy]
exclude = '''(?x)(
^target/ # Build artifacts
| ^notebooks/ # Examples
| ^test_files/ # Test files
)'''
# TODO: Fix the lint errors and enable this
#strict = true
[tool.coverage.report]
exclude_also = [
# Don't complain about missing coverage on typing imports
"if TYPE_CHECKING:",
# Don't complain if tests don't hit defensive assertion code:
"raise AssertionError",
"raise NotImplementedError",
"raise InternalGuppyError",
# Don't complain about abstract methods, they aren't run:
"@abstractmethod",
]