forked from imr-framework/pypulseq
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
124 lines (109 loc) · 3.08 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
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "pypulseq"
version = "1.4.2"
authors = [{ name = "Keerthi Sravan Ravi", email = "ks3621@columbia.edu" }]
maintainers = [
{ name = "Bilal Tasdelen" },
{ name = "Frank Ziljstra" },
{ name = "Patrick Schuenke" },
]
description = "Pulseq in Python"
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.6.3"
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
]
dependencies = [
"coverage>=6.2",
"matplotlib>=3.5.2",
"numpy>=1.19.5",
"scipy>=1.8.1",
]
[project.optional-dependencies]
sigpy = ["sigpy>=0.1.26"]
test = ["pytest", "pre-commit"]
[project.urls]
Homepage = "https://github.com/imr-framework/pypulseq"
Issues = "https://github.com/imr-framework/pypulseq/issues"
Documentation = "https://pypulseq.readthedocs.io/en/latest/"
[tool.setuptools.package-data]
SAR = ["QGlobal.mat"]
[tool.setuptools.dynamic]
version = { attr = "version.__version__" }
[tool.ruff]
line-length = 120
extend-exclude = ["__init__.py"]
exclude = ["doc/**", "pypulseq/seq_examples/**"]
# RUFF section
[tool.ruff.lint]
select = [
"A", # flake8-builtins
"ARG", # flake8-unused-arguments
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"COM", # flake8-commas
# "D", # pydocstyle
# "E", # pycodestyle errors
"F", # Pyflakes
# "FA", # flake8-future-annotations
"I", # isort
# "N", # pep8-naming
"NPY", # NumPy-specific rules
"RUF", # Ruff-specific rules
"S", # flake8-bandit
"SIM", # flake8-simplify
# "UP", # pyupgrade
"PIE", # flake8-pie
"PTH", # flake8-use-pathlib
"Q", # flake8-quotes
"W", # pycodestyle warnings
"YTT", # flake8-2020
# "ERA", # flake8-eradicate
]
extend-select = [
# "ANN001", # type annotation for function argument
# # "ANN201", # return type annonation public function
# # "ANN205", # return type annonation static method
# # "ANN401", # any type annotation
# # "BLE001", # blind exception
# # "D107", # missing docstring in __init__
# # "D417", # undocumented-parameter
]
ignore = [
"B028", # explicit "stacklevel" arg in warnings
"COM812", # missing-trailing-comma (conflict with formatter)
"PTH123", # use of Path.open
"S101", # use of assert
"S307", # use of possibly insecure eval function
"S311", # standard pseudo-random generators
"S324", # insecure hash function
"SIM108", # if-else-block-instead-of-if-exp
"SIM115", # use of context manager
]
[tool.ruff.lint.isort]
force-single-line = false
split-on-trailing-comma = false
[tool.ruff.lint.flake8-quotes]
docstring-quotes = "double"
inline-quotes = "single"
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.ruff.format]
quote-style = "single"
skip-magic-trailing-comma = false
[tool.typos.default]
locale = "en-us"
exclude = ["pypulseq/seq_examples/**"]
# PyTest section
[tool.pytest.ini_options]
testpaths = ["pypulseq/tests"]
filterwarnings = ["error"]
markers = [
"matlab_seq_comp: comparison with matlab generated sequence",
"sigpy: tests that require sigpy",
]