-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpyproject.toml
More file actions
63 lines (57 loc) · 2.06 KB
/
Copy pathpyproject.toml
File metadata and controls
63 lines (57 loc) · 2.06 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
# Optional dependencies for generating the test dashboard (PEP 735). PyRPOD is
# not installed as a distribution, so there is no [project] table to hang
# optional-dependencies off; a dependency group adds these without introducing
# packaging metadata or changing how the repository is installed.
# python -m pip install --group test (pip >= 25.1)
[dependency-groups]
test = [
"pytest",
"pytest-html>=4.2,<5",
"PyYAML>=6",
]
[tool.black]
line-length = 88
target-version = ["py311"]
skip-string-normalization = false
[tool.ruff]
line-length = 88
extend-ignore = ["E203", "W503"]
# recommended rule groups; adjust to taste
select = ["E", "F", "W", "C90", "I", "B"]
[tool.isort]
profile = "black"
line_length = 88
[tool.mypy]
python_version = "3.11"
strict = false
ignore_missing_imports = true
show_error_codes = true
# pyrpod/ and its subpackages are namespace packages (no __init__.py), so mypy
# would otherwise derive two module names for the same file (e.g. "fs" from the
# file path and "pyrpod.util.io.fs" from an import) and abort with
# "Source file found twice under different module names". Anchoring the package
# base at the repo root makes `python -m mypy pyrpod` resolve a single name per
# file without adding __init__.py files or changing how imports are written.
mypy_path = "."
explicit_package_bases = true
[tool.ruff.per-file-ignores]
# Ignore some noisy rules in tests and generated files
"tests/**" = ["D", "S101"]
"**/__pycache__/**" = ["ALL"]
"venv-pyrpod/**" = ["ALL"]
[tool.pytest.ini_options]
testpaths = ["tests"]
# Legacy test files are named "<group>_<category>_test_NN.py" rather than pytest's default patterns.
python_files = ["test_*.py", "*_test_*.py"]
pythonpath = ["."]
markers = [
"unit: unit-level test cases",
"integration: integration test cases",
"verification: verification/validation test cases",
"logging: logging subsystem tests",
"mdao: mdao subsystem tests",
"mission: mission subsystem tests",
"plume: plume subsystem tests",
"rpod: rpod subsystem tests",
"tooling: test-infrastructure tests",
]