Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
116 lines (101 loc) · 2.2 KB
/
Copy pathpyproject.toml
File metadata and controls
116 lines (101 loc) · 2.2 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
[build-system]
requires = ["flit_core >=3.2,<4"]
build-backend = "flit_core.buildapi"
[project]
name = "zospy"
authors = [
{name = "Luc van Vught", email = "l.van_vught@lumc.nl"},
{name = "Jan-Willem Beenakker", email = "j.w.m.beenakker@lumc.nl"},
{name = "Corné Haasjes", email = "c.haasjes@lumc.nl" }
]
description = "A Python package used to communicate with Zemax OpticStudio through the API"
readme = "README.md"
license = {file = "LICENSE.txt"}
keywords = ["Zemax", "OpticStudio", "API", "ZOSAPI"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python :: 3",
"Typing :: Typed"
]
requires-python = ">=3.9,<3.12"
dependencies = [
"pythonnet ~= 3.0.1",
"pandas",
"numpy",
"semver ~= 3.0.0"
]
dynamic = ["version"]
[project.urls]
Source = "https://github.com/MREYE-LUMC/ZOSPy"
Documentation = "https://mreye-lumc.github.io/ZOSPy"
[project.optional-dependencies]
# Dependencies for unit testing
test = [
"pytest",
"tox",
]
# Dependencies for building the documentation
docs = [
"ipython",
"myst-parser",
"nbsphinx",
"numpydoc",
"sphinx",
"sphinx-book-theme",
"sphinx-design",
]
# Development tools
dev = [
"zospy[test]",
"black[jupyter] == 23.3.0",
"isort",
"pydantic",
"ruff",
]
[tool.pytest.ini_options]
markers = [
"must_pass: test must pass, otherwise all other tests will be skipped",
"require_mode: requires the specified connection mode, otherwise the test will be skipped"
]
[tool.mypy]
files = [
"zospy"
]
pretty = true
[[tool.mypy.overrides]]
module = [
"zospy.api._ZOSAPI",
"zospy.api._ZOSAPI_constants"
]
ignore_errors = "True"
[tool.black]
line-length = 120
[tool.isort]
profile = "black"
[tool.ruff]
line-length = 120
ignore-init-module-imports = true
exclude = [
"zospy/api/_ZOSAPI",
"zospy/api/_ZOSAPI_constants"
]
# Rule sets for linting
select = [
"F", # pyflakes
"E", # pycodestyle error
"W", # pycodestyle warning
"I", # isort
"D", # pydocstyle
"NPY", # numpy-specific
]
ignore = [
"D100",
"D101",
"D102",
"D103",
"D104",
"D105",
"D401"
]
[tool.ruff.pydocstyle]
convention = "numpy"