-
Notifications
You must be signed in to change notification settings - Fork 41
/
setup.cfg
277 lines (268 loc) · 6.06 KB
/
setup.cfg
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
[metadata]
name = hack
provides = hack
author = PlasmaPy Community
description = Python package for plasma physics developed by the Plasma Hack Week participants
long_description = file: README.md
long_description_content_type = text/markdown
license = BSD 2-clause
license_file = LICENSE.md
url = https://hack.plasmapy.org
project_urls =
Documentation=https://docs.plasmapy.org/
Source=https://github.com/plasmapy/hack-week
Issues=https://github.com/plasmapy/hack-week/issues/
Twitter=https://twitter.com/PlasmaPy
Chat=https://plasmapy.org/chat
edit_on_github = True
github_project = PlasmaPy/hack-week
keywords=plasma physics, plasma, science, atomic
classifiers=
Development Status :: 4 - Beta
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Operating System :: OS Independent
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: Implementation :: CPython
Topic :: Scientific/Engineering :: Physics
Topic :: Scientific/Engineering :: Astronomy
[options]
python_requires = >=3.8
packages = find:
include_package_data = True
setup_requires =
# PEP-518 encourages the use of pyproject.toml for defining
# build dependencies...they should be defined under build-system.requires
install_requires =
# ought to mirror requirements/install.txt
astropy >= 4.3.1
matplotlib >= 3.3.0
numpy >= 1.19.0
plasmapy >= 0.8.1
scipy >= 1.5.0
[options.extras_require]
# a weird "bug" since python 2 allows extras to depend on extras
# for backwards compatibility, setuptools will keep this active
# see https://github.com/pypa/setuptools/issues/1260#issuecomment-438187625
extras =
# ought to mirror requirements/extras.txt
# for developers
codespell
ipykernel
jupyter
jupyterlab
pre-commit
tox
tests =
# ought to mirror requirements/tests.txt
%(extras)s
dlint
flake8
flake8-rst-docstrings
pydocstyle
pytest >= 5.4.0
docs =
# ought to mirror requirements/docs.txt
%(extras)s
docutils
# TODO: release of 3.1 broke CI tests, this should be revisited later (2022-03-24)
jinja2 != 3.1
nbsphinx
numpydoc
pillow
pygments >= 2.11.0
sphinx >= 4.4
sphinx-copybutton
sphinx-gallery
sphinx-hoverxref >= 1.0.0
sphinx-issues >= 3.0.1
sphinx-notfound-page >= 0.8
sphinx_rtd_theme >= 1.0.0
sphinxcontrib-bibtex
developer =
# install everything for developers
# ought to functionally mirror requirements.txt
%(docs)s
%(extras)s
%(tests)s
[options.packages.find]
exclude = docs/automodapi
[build_docs]
source-dir = docs
build-dir = docs/_build
all_files = 1
[tool:pytest]
minversion = 5.1
testpaths = "hack"
norecursedirs = "build" "docs/"
doctest_optionflags =
NORMALIZE_WHITESPACE
ELLIPSIS
NUMBER
addopts = --doctest-modules --doctest-continue-on-failure
filterwarnings =
ignore:.*Creating a LegacyVersion.*:DeprecationWarning
looponfailroots =
hack
[flake8]
convention = numpy
# Checks marked as TODO should be eventually enabled,
# but are failing right now. These are *great*
# first contributions. ;)
# Checks not marked by TODO *maybe* should be
# eventually enabled ― ask!
extend-ignore =
D105,
D107,
# Ignoring D202 allows blank lines to be put on either side of code "paragraphs" at the beginning of a function.
D202,
# D205 and D400 are ignored to allow the "one-liner" to exceed one
# line, which is sometimes necessary for even concise descriptions of plasma
# physics functions and classes.
D205,
# D302 is unnecessary as we are using Python 3.6+.
D302,
# D205 and D400 are ignored to allow the "one-liner" to exceed one
# line, which is sometimes necessary for even concise descriptions of plasma
# physics functions and classes.
D400,
# D403: First word of the first line should be properly capitalized ('Latex', not 'LaTeX') # Dominik: good job, pydocstyle /s
D403,
# E203 something something whitespace? TODO check again
E203,
E501,
# E731 do not assign a lambda, use a def - Dominik: disagreed, lambdas have uses
E731,
F401,
F405,
# W605 invalid escape sequence,
W605,
RST210,
RST213,
# RST305 so that ReST substitutions in a different file can be used
RST305,
RST306
exclude =
extern,
sphinx,
*test*,
*parsetab.py,
conftest.py,
docs/conf.py,
setup.py,
.jupyter
# Use rst-roles and rst-directives to list roles and directives from
# Sphinx and its extensions so that they don't get flagged when using
# flake8-rst-docstrings.
rst-roles =
abbr
any
attr
cite
cite:ct
cite:cts
cite:p
cite:ps
cite:t
cite:ts
class
command
commit
confval
data
dfn
doc
download
envvar
eq
event
exc
file
func
guilabel
issue
kbd
keyword
makevar
manpage
menuselection
meth
mod
numref
option
orcid
pep
pr
program
ref
regexp
rst:dir
samp
term
token
user
wikipedia
rst-directives =
codeauthor
confval
deprecated
event
highlight
hlist
index
literalinclude
nbgallery
only
rst:directive
sectionauthor
seealso
tabularcolumns
todo
versionadded
versionchanged
enable-extensions =
# Look for strings that have {} in them but aren't f-strings.
# If there is a false positive from this in a file, put that in
# per-file-ignores.
FS003
per-file-ignores =
hack/formulary/__init__.py:E402,F403
hack/__init__.py:FS003
[coverage:run]
omit =
ci-helpers/*
*/tests/*
[coverage:report]
exclude_lines =
coverage: ignore
ImportError
ModuleNotFoundError
[codespell]
skip = .tox,.git,.hypothesis,_build,__pycache__,*egg*,*.png
ignore-words-list =
aci,
afe,
ba,
circularly,
dne,
ect,
explin,
fo,
fof,
hist,
hve,
gud,
nd,
noo,
nwo,
ot,
recuse,
ro,
te,
ue,
ue,
windo