forked from danse-inelastic/multiphonon
-
Notifications
You must be signed in to change notification settings - Fork 5
/
pyproject.toml
101 lines (90 loc) · 3.63 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
[project]
name = "multiphonon"
description="Multiphonon scattering and multiple scattering correction for powder data"
dynamic = ["version"]
requires-python = ">=3.10"
dependencies = [
"numpy == 1.26.4",
"scipy == 1.14.1",
"mantid",
]
license = { text = "BSD" }
keywords= ["neutron, inelastic neutron scattering, powder, phonon"]
[project.urls]
homepage = "https://github.com/neutrons/multiphonon" # if no homepage, use repo url
[build-system]
requires = [
"setuptools >= 40.6.0",
"wheel",
"toml",
"versioningit",
]
build-backend = "setuptools.build_meta"
[tool.black]
line-length = 119
[tool.versioningit.vcs]
method = "git"
default-tag = "0.0.1"
[tool.versioningit.next-version]
method = "minor"
[tool.versioningit.format]
distance = "{next_version}.dev{distance}"
dirty = "{version}+d{build_date:%Y%m%d}"
distance-dirty = "{next_version}.dev{distance}+d{build_date:%Y%m%d%H%M}"
[tool.versioningit.write]
file = "src/multiphonon/_version.py"
[tool.setuptools.packages.find]
where = ["src"]
exclude = ["tests/*", "docs/*"]
[tool.pytest.ini_options]
pythonpath = [
".","src",
]
testpaths = ["tests"]
python_files = ["test*.py", "*TestCase*.py"]
norecursedirs = [".git", "tmp*", "_tmp*", "__pycache__", "*dataset*", "*data_set*"]
markers = [
"needs_mantid: mark a test that needs mantid",
"needs_ipywe: mark a test that needs ipywe",
"creates_extra_files: mark a test that creates additional temporary files"
]
[tool.ruff]
line-length = 124
[tool.ruff.lint]
select = ["A", "ARG","ASYNC","BLE","C90", "D", "E", "F", "I", "N", "UP032", "W"]
ignore = ["D203", # 1 blank line required before class docstring, conflict with D211
"D213", # Multi-line docstring summary should start at the second line, conflict with D212
"D205", # 1 blank line required between summary line and description, conflict
# Unnecessary
"ANN201", # Missing return type annotation for public function
"D400", # First line should end with a period
"D401", # First line of docstring should be in imperative mood
"D404", # First word of the docstring should not be "This"
"D415", #First line should end with a period, question mark, or exclamation point
"F821", # Undefined name
# For Future to be included
"ARG001", # Unused function argument
"ARG002", # Unused method argument
"BLE001", # Do not catch blind exception
"N802", # Function name should be lowercase
"N803", # Argument name should be lowercase
"N806", # Variable {name} in function should be lowercase
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D102", # Missing docstring in public method
"D103", # Missing docstring in public function
"D104", # Missing docstring in public package
"D107", # Missing docstring in __init__
"D417", # Missing argument description in the docstring for {definition}: {name}
"N812", # Lowercase {name} imported as non-lowercase {asname}
"N815", # Variable in class scope should not be mixedCase
"N816", # Variable in global scope should not be mixedCase
"N818", # Exception name should be named with an Error suffix
"N999", # Invalid module name
"E731", # Do not assign a lambda expression, use a def
"E741", # Ambiguous variable name
"C901", # {name} is too complex ({complexity} > {max_complexity})
"F841", # Local variable is assigned to but never used
"E722", # Do not use bare except
]
exclude = ["docs/conf.py","tests/data/*"]