-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy pathpyproject.toml
More file actions
88 lines (76 loc) · 2.5 KB
/
pyproject.toml
File metadata and controls
88 lines (76 loc) · 2.5 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# =============================================================================
# MIT License
# Copyright (c) 2026 Aparavi Software AG
#
# This file contains shared Python tooling configuration for the monorepo.
# Individual packages may extend or override these settings.
# =============================================================================
[tool.ruff]
# Line length disabled - set high to avoid enforcement
line-length = 320
# Target Python version
target-version = "py310"
# Directories to exclude from linting
exclude = [
".git",
".venv",
"venv",
"__pycache__",
"build",
"dist",
"node_modules",
".eggs",
"*.egg-info",
]
[tool.ruff.format]
# Use single quotes for strings (except docstrings)
quote-style = "single"
# Format docstrings
docstring-code-format = true
# Line ending style
line-ending = "auto"
[tool.ruff.lint]
# Enable general linting, quote rules, and docstyle (matching engine.3.00)
select = ["E", "F", "Q", "D"]
# Allow Ruff to auto-fix docstring and quote issues
fixable = ["D", "Q"]
# Rules to ignore
# D100 Ignore no public module docstring
# D101 Ignore no public class docstring
# D102 Ignore no public method docstring
# D103 Ignore no public function docstring
# D104 Ignore no public package docstring
# D200 Ignore single line docstring
# D205 1 blank line required between summary line and description
# D301 Use `r"""` if any backslashes in a docstring
# D400 First line should end with a period
# E203 Ignore whitespace before ':' - ruff puts it there and then produces an error on it
# E402 Ignore missing module level docstring - we need depends first
# E501 Line too long
ignore = ["D100", "D101", "D102", "D103", "D104", "D200", "D205", "D301", "D400", "E203", "E402", "E501"]
[tool.ruff.lint.flake8-quotes]
# Enforce single quotes for inline strings
inline-quotes = "single"
[tool.ruff.lint.pydocstyle]
# Use PEP 257 docstring conventions
convention = "pep257"
[tool.pytest.ini_options]
# Pytest configuration
testpaths = ["tests"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
# Default per-test timeout (seconds). Prevents individual tests from hanging
# indefinitely when the server is unresponsive or a connection leaks.
# Override per-test with @pytest.mark.timeout(seconds).
timeout = 120
addopts = [
"-v",
"--tb=short",
"--strict-markers",
]
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"integration: marks tests as integration tests",
]
asyncio_mode = "auto"