Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
33 lines (27 loc) · 1.45 KB
/
Copy pathpyproject.toml
File metadata and controls
33 lines (27 loc) · 1.45 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
# Config only (no [project]/[build-system]/uv.lock) - the Scripts profile, CODESTYLE.md "Two profiles".
[tool.ruff]
target-version = "py313"
line-length = 100
[tool.ruff.lint]
extend-select = ["I"] # isort import ordering, on top of the default rules
[tool.mypy]
python_version = "3.13"
# CI always runs this on ubuntu-latest, so pinning the platform keeps a host running mypy natively on Windows or macOS in step with it.
# Otherwise a POSIX-only stdlib attribute a runtime skip guard already excludes on that host still fails here, since mypy's own flow analysis does not narrow it away.
platform = "linux"
files = ["spec", "host-setup", "scripts", "tests"]
mypy_path = [".github/actions/prose-gate", ".github/actions/python-directories", ".github/actions/repo-gate"]
exclude = 'scripts/(prose_lint|repo_gate)\.py'
# A script declaring a library inline runs through uv, and a type check run with no environment of its own does not install it.
[[tool.mypy.overrides]]
module = ["markdown_it", "markdown_it.*", "pygments", "pygments.*", "yaml"]
ignore_missing_imports = true
[tool.pyright]
pythonVersion = "3.13"
# Matches [tool.mypy]'s platform pin above, for the same reason: Pylance in an editor otherwise flags the same POSIX-only attributes live on a Windows or macOS host.
pythonPlatform = "Linux"
typeCheckingMode = "standard"
include = ["spec", "host-setup", "scripts", "tests"]
exclude = ["**/__pycache__"]
[tool.coverage.run]
source = ["scripts", "spec", "host-setup"]