-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
126 lines (113 loc) · 3.08 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "lp_nn_robustness_verification"
description = """
This code base is intended to serve as a starting point for interested researchers or\
practitioners to extend or apply the robustness verification portion of the author's\
Master's thesis "GUM-compliant neural-network robustness verification".\
It provides an implementation using PySCIPOpt for Python 3.10.\
"""
readme = "README.md"
requires-python = ">=3.10"
keywords = [
"robustness verification",
"neural networks",
"linear programming",
"pyscipopt",
]
classifiers = [
"Development Status :: 1 - Planning",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
version = "0.8.0"
dependencies = [
"numpy",
"pyinterval",
"pyscipopt",
]
[license]
text = "MIT"
file = "LICENSE"
[project.optional-dependencies]
dev = [
"black[jupyter]",
"cffconvert",
"flake8",
"Flake8-pyproject",
"hypothesis[numpy]",
"mypy",
"pylint",
"pytest",
"pytest-cov",
"pytest-custom-exit-code",
]
docs = [
"myst-parser",
"nbsphinx",
"sphinx",
"sphinx-rtd-theme",
]
examples = [
"ipywidgets",
"kaleido",
"notebook",
"pandas",
"plotly",
"tqdm",
"types-tqdm",
"yappi",
"zema_emc_annotated",
]
release = [
"python-semantic-release",
]
[tool.setuptools]
license-files = ["LICENSE"]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
addopts = "--strict-markers --suppress-no-test-exit-code --color=yes"
filterwarnings = "error"
[tool.mypy]
exclude = ["^build/", "^venv/"]
scripts_are_modules = true
warn_unused_ignores = true
show_error_codes = true
enable_error_code = "ignore-without-code"
strict = true
[[tool.mypy.overrides]]
module = ["setuptools.*", "interval.*"]
ignore_missing_imports = true
[tool.semantic_release]
branch = "main"
version_toml = "pyproject.toml:project.version"
version_variable = "docs/conf.py:version"
version_pattern = "CITATION.cff:^version: {version}"
major_on_zero = false
changelog_sections = "feature,fix,breaking,documentation,performance"
changelog_components = "semantic_release.changelog.changelog_headers,semantic_release.changelog.compare_url"
upload_to_repository = false
upload_to_release = true
hvcs = "github"
commit_author= "Bjoern Ludwig <[email protected]>"
[tool.flake8]
max-line-length = 88
extend-ignore = "E203"
exclude = "venv"
[tool.pylint.format]
# Maximum number of characters on a single line.
max-line-length = 88
[tool.pylint.typecheck]
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes = "YStats"
[tool.pylint.main]
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-allow-list = ["pyscipopt"]