-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpyproject.toml
83 lines (74 loc) · 1.86 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
# https://peps.python.org/pep-0517
[build-system]
requires = ["setuptools==71.1.0", "Cython"]
build-backend = "setuptools.build_meta"
# https://peps.python.org/pep-0621/
[project]
name = "ilpy"
description = "Python wrappers for popular MIP solvers."
requires-python = ">=3.9"
license = { text = "MIT" }
authors = [
{ email = "funkej@janelia.hhmi.org", name = "Jan Funke" },
{ email = "talley.lambert@gmail.com", name = "Talley Lambert" },
]
dynamic = ["version", "readme"]
dependencies = []
# extras
# https://peps.python.org/pep-0621/#dependencies-optional-dependencies
[project.optional-dependencies]
dev = [
"ruff",
"mypy",
"pytest",
"pytest-cov",
"cython",
"setuptools==71.1.0",
"numpy",
"gurobipy", # used on CI to confirm equality of results
]
docs = [
"sphinx",
"sphinx_rtd_theme",
"sphinx-autodoc-typehints",
]
[project.urls]
homepage = "https://github.com/funkelab/ilpy"
repository = "https://github.com/funkelab/ilpy"
[tool.setuptools]
packages = ["ilpy"]
package-data = { "ilpy" = ["py.typed", "*.pyi"] }
[tool.setuptools.dynamic]
version = { attr = "ilpy.__version__" }
readme = { file = ["README.md"] }
# https://beta.ruff.rs/docs
[tool.ruff]
target-version = "py39"
src = ["ilpy"]
[tool.ruff.lint]
select = [
"F", # pyflakes
"W", # pyflakes
"E", # pycodestyle
"I", # isort
"UP", # pyupgrade
"RUF", # ruff specific rules
]
[tool.mypy]
files = "ilpy"
strict = true # feel free to relax this if it's annoying
disallow_any_generics = false
ignore_missing_imports = true
# https://coverage.readthedocs.io/en/6.4/config.html
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"@overload",
"except ImportError",
"\\.\\.\\.",
"raise NotImplementedError()",
]
[tool.coverage.run]
source = ['ilpy']
plugins = ["Cython.Coverage"]