-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.cfg
More file actions
135 lines (121 loc) · 2.47 KB
/
setup.cfg
File metadata and controls
135 lines (121 loc) · 2.47 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
[flake8]
max-line-length = 120
max-complexity = 18
ignore = E203, E266, W503, D212
docstring-convention = google
per-file-ignores = __init__.py:F401,
solvis/**__init__.py: F401,
solvis/solvis.py: D103,
solvis/**/*.py: D102, D103, D105, D106, D107,
test/*.py: D100,D101,D102,D103,D104,D105,D107, D200,D202,D205, D403, D415, E226, E721
exclude = .git,
demo/**,
__pycache__,
build,
dist,
docs,
releases,
.venv,
.tox,
.mypy_cache,
.pytest_cache,
.vscode,
.github,
node_modules,
# TODO where do these belong?
multi_city_events.py,
demo_multi_polygons.py,
multi_city_analyse.py,
demo.py,
demo_polygons.py,
demo_composite.py,
[mypy]
ignore_missing_imports = True
# plugins = numpy.typing.mypy_plugin
plugins = pandera.mypy
exclude = solvis/fault_system_solution_helper.py
[coverage:run]
# exclude = */test_geometry_performance.py
omit =
solvis/dochelper/*
solvis/get_secret.py
solvis/config.py
[coverage:report]
exclude_lines =
pragma: no cover
def __repr__
if self.debug:
if settings.DEBUG
raise AssertionError
raise NotImplementedError
if 0:
if __name__ == .__main__.:
def main
if TYPE_CHECKING:
[tox:tox]
isolated_build = true
envlist = audit, py310, py311, py312, format, lint, build-linux, build-macos
[gh-actions]
python =
3.12: py312
3.11: py311, format, lint, build
3.10: py310
[testenv]
allowlist_externals = pytest
dependency_groups =
dev
scripts
passenv = *
setenv =
PYTHONPATH = {toxinidir}
PYTHONWARNINGS = ignore
commands =
pytest --cov=solvis --cov-branch --cov-report=xml --cov-report=term-missing test
[testenv:audit]
allowlist_externals =
uv
commands =
uv export --all-groups --output audit.txt
uv run pip-audit -r audit.txt --require-hashes
uv run safety scan
[testenv:format]
allowlist_externals =
isort
black
dependency_groups =
dev
commands =
isort solvis test
black solvis test
[testenv:lint]
allowlist_externals =
flake8
mypy
dependency_groups =
dev
commands =
flake8 solvis test
mypy solvis test
[testenv:build-linux]
platform = linux
allowlist_externals =
uv
dependency_groups =
doc
dev
commands =
uv build
[testenv:build-macos]
platform = darwin
allowlist_externals =
uv
dependency_groups =
doc
dev
commands =
uv build
[tool:pytest]
markers =
slow: slow tests.
performance: performance tests.
TODO_check_values: review test fixture expectations