-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
90 lines (79 loc) · 2.24 KB
/
Copy pathpyproject.toml
File metadata and controls
90 lines (79 loc) · 2.24 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
[project]
name = "pysweepme"
description = "Load SweepMe! instrument drivers in your own python projects."
readme = "README.md"
requires-python = ">=3.10,<3.15"
license = "MIT"
license-files = ["LICENSE.md"]
maintainers = [
{ name = "SweepMe! GmbH", email = "contact@sweep-me.net" },
]
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: Microsoft :: Windows",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering",
"Topic :: System :: Hardware :: Hardware Drivers",
]
dynamic = ["version"]
dependencies = [
"psutil ~= 7.2.2",
"pythonnet ~= 3.1.0",
"pyserial ~= 3.5",
"PyVISA ~= 1.16.2",
]
[project.optional-dependencies]
dev = [
"tox ~= 4.53.1",
"ruff ~= 0.15.12",
"black ~= 26.3.1",
"mypy ~= 1.20.2",
"pytest ~= 9.0.3"
]
typed = [
"types-psutil ~= 7.2.2",
"types-pyserial ~= 3.5",
]
[project.urls]
Homepage = "https://sweep-me.net"
Repository = "https://github.com/SweepMe/pysweepme"
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools.dynamic]
version = {attr = "pysweepme.__version__"}
[tool.setuptools.packages.find]
where = ["src"]
[tool.ruff]
line-length = 120
src = ["src"]
exclude = ["WinFolder.py"]
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"D203", "D213", "D406", "D407",
"G004", # logging does not have any built-in keyword string interpolation for the message itself, falling back to %s etc. is crap
"UP015", # open mode should be clearly stated, explicit is better than implicit
"TC006", # Quoting types should no longer be needed in modern python versions
"FIX002" # to-do lines are allowed as long-term adjustments
]
pydocstyle.convention = "google"
flake8-annotations.allow-star-arg-any = true
[tool.ruff.lint.per-file-ignores]
"tests/*" = ["S101", "SLF001", "INP001"] # Tests should use assert, are allowed to test private internals, and aren't a package
".github/*" = ["INP001"]
[tool.black]
line-length = 120
extend-exclude = 'WinFolder\.py'
[tool.mypy]
strict = true
mypy_path = "src"
exclude = [
'WinFolder\.py',
'^build/'
]
follow_imports = "silent"
[[tool.mypy.overrides]]
module = "clr.*"
ignore_missing_imports = true