-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup.cfg
207 lines (200 loc) · 5.53 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
[metadata]
name = bapsf-eigsolver
provides = bapsf_eigsolver
author = Basic Plasma Science Facility
description = Eigenvalue solver for modes in the Large Plasma Device (LaPD) at UCLA.
long_description = file: README.md
long_description_content_type = text/markdown
;license = BSD+Patent
;license_file = LICENSE.md
url = https://github.com/BaPSF/bapsf-eigsolver
project_urls =
BaPSF = https://plasma.physics.ucla.edu/
GitHub Organization = https://github.com/BaPSF
Documentation = https://bapsf-eigsolver.readthedocs.io/en/latest/
edit_on_github = True
github_project = BaPSF/bapsf-eigsolver
keywords = plasma physics, plasma, science, bapsf, eigenmodes, eigenmode solver
classifiers=
Development Status :: 1 - Planning
Intended Audience :: Developers
Intended Audience :: Education
Intended Audience :: Science/Research
; License :: OSI Approved :: BSD License
Natural Language :: English
Operating System :: OS Independent
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Educationx
Topic :: Scientific/Engineering
Topic :: Scientific/Engineering :: Physics
"Topic :: Software Development",
"Topic :: Software Development :: Libraries :: Python Modules",
[options]
python_requires = >=3.7
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
matplotlib >= 3.3.0
numpy >= 1.18.1
scipy
sympy
[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
tests =
# ought to mirror requirements/tests.txt
pytest >= 5.1
docs =
# ought to mirror requirements/docs.txt
docutils >= 0.18.1
ipython
jinja2 >= 3.1.2
nbsphinx >= 0.9.1
numpydoc >= 1.5.0
pillow >= 9.5.0
pygments >= 2.15.0
sphinx >= 5.3.0
sphinx-changelog >= 1.3.0
sphinx-codeautolink >= 0.15.0
sphinx-copybutton >= 0.5.1
sphinx-gallery >= 0.12.2
sphinx-hoverxref >= 1.1.1
sphinx-issues >= 3.0.1
sphinx-notfound-page >= 0.8.3
sphinx-reredirects >= 0.1.1
sphinx_rtd_theme >= 1.2.0
sphinx_tabs >= 3.4.1
sphinxcontrib-bibtex >= 2.5.0
towncrier >= 22.12
tox >= 4.4.0
# needs pip >= 18.1
plasmapy_sphinx @ git+https://github.com/PlasmaPy/plasmapy_sphinx@main#egg=plasmapy_sphinx
extras =
# ought to mirror requirements/extras.txt
# for developers
black
isort
developer =
# install everything for developers
# ought to functionally mirror requirements.txt
%(docs)s
%(tests)s
%(extras)s
[build_docs]
source-dir = docs
build-dir = docs/_build
all_files = 1
[tool:pytest]
minversion = 5.1
testpaths = "src/bapsf_motion"
norecursedirs = "build" "docs/"
doctest_optionflags =
NORMALIZE_WHITESPACE
ELLIPSIS
NUMBER
addopts = --doctest-modules --doctest-continue-on-failure
filterwarnings =
ignore:.*Creating a LegacyVersion.*:DeprecationWarning
[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 extensions so that they don't get flagged when using
# flake8-rst-docstrings.
rst-roles =
attr
cite
cite:ct
cite:cts
cite:p
cite:ps
cite:t
cite:ts
class
confval
data
event
exc
file
func
meth
mod
ref
rst:dir
term
rst-directives =
confval
deprecated
event
nbgallery
rst:directive
todo
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 =
; plasmapy/formulary/__init__.py:F403
src/bapsf_motion/__init__.py:FS003
[coverage:run]
omit =
*/tests/*
[coverage:report]
exclude_lines =
coverage: ignore
ImportError
ModuleNotFoundError