-
Notifications
You must be signed in to change notification settings - Fork 2
/
pyproject.toml
111 lines (97 loc) · 2.48 KB
/
pyproject.toml
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
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "auto-verify"
version = "0.1.3"
description = "Efficient portfolio-based verification of neural network properties"
readme = "README.md"
authors = [{ name = "Corné Spek" }]
license = { file = "LICENSE" }
keywords = ["auto-verify", "Neural networks", "Robustness"]
classifiers = [
"Operating System :: Unix",
"Programming Language :: Python :: 3.10",
]
requires-python = ">=3.10"
dependencies = [
"ConfigSpace==0.7.1",
"SMAC==2.0.2",
"result==0.9.0",
"xdg-base-dirs==6.0.1",
"onnxruntime==1.14.1",
"pandas==2.2.0",
"numpy==1.24.3",
"onnx==1.14.0",
"swig==4.1.1.post1",
]
# pytest and pytest-lazy-fixture are frozen due to compatibility issues
[project.optional-dependencies]
dev = [
"black",
"isort",
"tox",
"pytest==7.3.2",
"pre-commit",
"flake8",
"mypy",
"bumpver",
"coverage",
"mkdocs",
"pydocstyle",
"types-PyYAML",
"pytest-lazy-fixture==0.6.3",
]
[project.scripts]
auto-verify = "autoverify.cli.main:main"
[tool.black]
line_length = 80
target-version = ['py310']
[tool.isort]
line_length = 80
profile = "black"
[tool.pydocstyle]
convention = "google"
add-ignore = [
"D104", # Missing docstring in public package
]
ignore-decorators = "property" # TODO: Dont ignore abstractmethod properties
[tool.pytest.ini_options]
markers = [
"gpu: test needs a Nvidia GPU to pass",
"verifier: test will use a verifier",
]
[tool.mypy]
check_untyped_defs = true
disallow_any_generics = true
ignore_missing_imports = true
no_implicit_optional = true
show_error_codes = true
strict_equality = true
warn_redundant_casts = true
warn_return_any = true
warn_unreachable = true
warn_unused_configs = true
no_implicit_reexport = true
[tool.bumpver]
current_version = "0.1.3"
version_pattern = "MAJOR.MINOR.PATCH"
commit_message = "bump version {old_version} -> {new_version}"
commit = true
tag = false
push = false
[tool.bumpver.file_patterns]
"pyproject.toml" = ['version = "{version}"']
"README.md" = ["{version}"]
"autoverify/__init__.py" = ['__version__ = "{version}"']
[tool.coverage.run]
omit = [
# The installation tests are done during gh-actions (see Dockerfile)
"autoverify/cli/install/install.py",
"autoverify/cli/install/installers/*",
"autoverify/util/conda.py",
"autoverify/util/vnncomp.py",
"autoverify/util/verifiers.py",
"autoverify/verifier/complete/mnbab/*",
"tests/*",
]