-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
124 lines (109 loc) · 3.21 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
[project]
name = "drtsans"
description = "Data Reduction Toolkit SANS reduction"
dynamic = ["version"]
# author = TODO
# keywords = TODO
readme = "README.rst"
requires-python = ">=3.8"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Natural Language :: English",
"Operating System :: Linux",
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
]
dependencies = [
"docutils",
"ipywidgets",
"jsonschema>=3.0.2",
"lmfit",
# mantid is not here b/c it doesn't exist in pypi
"matplotlib", # is this necessary
"mpld3",
"numexpr",
"pandas",
"sortedcontainers",
"tinydb",
]
license = { file = "LICENSE" }
[project.urls]
Documentation = "https://drtsans.readthedocs.io/"
Source = "https://code.ornl.gov/sns-hfir-scse/sans/sans-backend/"
BugTracker = "https://code.ornl.gov/sns-hfir-scse/sans/sans-backend/-/issues"
[build-system]
requires = ["setuptools >= 42", "toml", "wheel", "versioningit"]
build-backend = "setuptools.build_meta"
[tool.versioningit.vcs]
method = "git"
default-tag = "1.0.0"
[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/drtsans/_version.py"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools]
script-files = [
"scripts/biosans_reduction.py",
"scripts/common_utils.py",
"scripts/eqsans_reduction.py",
"scripts/gpsans_reduction.py",
"scripts/plot/CG2_raw_2D.py",
"scripts/plot/CG3_raw_2D.py",
"scripts/plot/EQSANS_2D.py",
"scripts/plot/EQSANS_raw_2D.py",
"scripts/prepare_sensitivities_biosans.py",
"scripts/prepare_sensitivities_gpsans.py",
"scripts/process_reduction.py",
"scripts/generate_report",
"scripts/generate_report.yaml",
]
[tool.setuptools.package-data]
"*" = ["configuration/schema/*.json", "mono/biosans/cg3_to_nexus_mapping.yml"]
[tool.build_sphinx]
source-dir = "docs"
warning-is-error = 1
[tool.black]
line-length = 119
[tool.ruff]
cache-dir = "/tmp/ruff_cache"
line-length = 119
# https://beta.ruff.rs/docs/rules/
# suggestions: BLE blind exceptions, I sorts imports
# Full pylint PL = PLC, PLE, PLR (~500 issues), PLW. Enable most
select = ["A", "ARG", "E", "F", "PLC", "PLE", "PLW"]
ignore = [
"A002",
"A003", # shadowing python built-ins
"ARG001",
"ARG002", # unused argument
"E402", # import not at the top of the file
"E712", # comparison to false
"E741", # ambiguous variable name
]
[tool.pytest.ini_options]
pythonpath = [".", "src", "scripts"]
testpaths = ["tests"]
python_files = ["test*.py"]
norecursedirs = [
".git",
"tmp*",
"_tmp*",
"__pycache__",
"*dataset*",
"*data_set*",
]
markers = [
"long_execution_time: mark test as having a long execution time",
"requires_large_memory: mark test as requiring a large amount of RAM memory",
"datarepo: mark a test as using drtsans-data repository",
"mount_eqsans: mark a test as using /SNS/EQSANS/shared/sans-backend/data/ data mount",
]
addopts = "--verbose -n 8"
# [aliases]
# test = "pytest"