-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
40 lines (37 loc) · 1.39 KB
/
Copy pathpyproject.toml
File metadata and controls
40 lines (37 loc) · 1.39 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
[project]
name = "ownlang"
version = "0.0.0"
description = "A tiny ownership / borrow / lifetime checker for a resource DSL that lowers to C#."
requires-python = ">=3.11"
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
# High-signal rules only. SIM (flake8-simplify) is deliberately omitted: its
# nested-if collapsing fights intentional, commented branch structure here.
# E/W pycodestyle · F pyflakes · I import order · B bugbear gotchas
# UP pyupgrade · C4 comprehensions · RUF ruff-native
select = ["E", "W", "F", "I", "B", "UP", "C4", "RUF"]
[tool.mypy]
# The package is held to --strict. Tests/fuzzers are not (they lean on dynamic
# construction and an AST oracle); ruff still covers them. The evidence tooling
# IS held to --strict: the one interpretation of the verdict ledger and of a
# mutation campaign that both the test gate and the status renderer depend on
# must not be the one untyped link in the chain.
python_version = "3.11"
files = [
"ownlang",
"tests/coordinate_census.py",
"tests/verdict_census.py",
"tests/verdict_render_census.py",
"tests/validation_census.py",
"tests/verdict_surface_inventory.py",
"tests/shadow_sweep.py",
"tests/test_obligation_fact_parity.py",
"scripts/mutate_campaign.py",
"scripts/shadow_compare.py",
"scripts/render_checkpoint_status.py",
]
mypy_path = ["tests", "scripts"]
explicit_package_bases = true
strict = true