forked from sunpy/sunpy
-
Notifications
You must be signed in to change notification settings - Fork 2
/
setup.cfg
304 lines (291 loc) · 10.3 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
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
[metadata]
name = sunpy
provides = sunpy
description = SunPy core package: Python for Solar Physics
long_description = file: README.rst
long_description_content_type = text/x-rst
author = The SunPy Community
author_email = [email protected]
license = BSD 2-Clause
license_files = LICENSE.rst
url = https://sunpy.org
download_url = https://pypi.org/project/sunpy/
project_urls=
Source Code = https://github.com/sunpy/sunpy/
Documentation = https://docs.sunpy.org/
Changelog = https://docs.sunpy.org/en/stable/whatsnew/changelog.html
Issue Tracker = https://github.com/sunpy/sunpy/issues
edit_on_github = True
github_project = sunpy/sunpy
platform = any
keywords = solar physics, solar, science, sun, wcs, coordinates
classifiers =
Development Status :: 5 - Production/Stable
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Natural Language :: English
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Topic :: Scientific/Engineering :: Physics
[options]
zip_safe = False
python_requires = >=3.9
packages = find:
include_package_data = True
setup_requires =
setuptools_scm
install_requires =
astropy>=5.0.1
numpy>=1.21.0
packaging>=19.0
parfive[ftp]>=2.0.0
[options.extras_require]
# The list of available extras is also in the installation docs, if you add or remove one please edit it there as well.
asdf =
asdf-astropy>=0.1.1
asdf>=2.8.0
dask =
dask[array]>=2021.4.0
database =
sqlalchemy>=1.3.4
image =
scikit-image>=0.18.0
# !=1.10.0 due to https://github.com/scipy/scipy/issues/17718
scipy>=1.7.0,!=1.10.0
jpeg2000 =
glymur>=0.8.18,!=0.9.0,!=0.9.5
lxml>=4.8.0
map =
matplotlib>=3.5.0
mpl-animators>=1.0.0
reproject
# !=1.10.0 due to https://github.com/scipy/scipy/issues/17718
scipy>=1.7.0,!=1.10.0
net =
beautifulsoup4>=4.8.0
drms>=0.6.1
python-dateutil>=2.8.0
tqdm>=4.32.1
zeep>=3.4.0
timeseries =
cdflib>=0.3.20,!=0.4.0,!=1.0.0
h5netcdf>=0.11
# While a not direct dependency
# We need to raise this to ensure the goes netcdf files open.
h5py>=3.1.0
matplotlib>=3.5.0
pandas>=1.2.0
visualization =
matplotlib>=3.5.0
mpl-animators>=1.0.0
all =
%(asdf)s
%(dask)s
%(database)s
%(image)s
%(jpeg2000)s
%(map)s
%(net)s
%(timeseries)s
%(visualization)s
tests =
hvpy>=1.0.1
hypothesis>=6.0.0 # Included in pytest-astropy. 6.0 is the first version to support disabling function-scoped fixture warning
jplephem # For some coordinates tests
opencv-python
pytest-astropy>=0.8 # 0.8 is the first release to include filter-subpackage
pytest-doctestplus>=0.5 # We require the newest version of doctest plus to use +IGNORE_WARNINGS
pytest-mock
pytest-mpl>=0.12 # First version to support our figure tests
pytest-xdist>=2.0
pytest>=6.0
docs =
astroquery
hvpy>=1.0.1
jplephem
mplcairo
opencv-python
packaging
reproject
ruamel.yaml
sphinx
sphinx-automodapi
sphinx-changelog
sphinx-copybutton
sphinx-design
sphinx-gallery>=0.13.0 # First to allow us to use a different backend while scraping the images
sphinxext-opengraph
sunpy-sphinx-theme
sphinx-hoverxref
dev =
%(all)s
%(tests)s
%(docs)s
[options.packages.find]
exclude = sunpy._dev
[options.entry_points]
asdf.resource_mappings =
sunpy = sunpy.io.special.asdf.entry_points:get_resource_mappings
asdf.extensions =
sunpy = sunpy.io.special.asdf.entry_points:get_extensions
[bdist_wheel]
# the Py_LIMITED_API version hex in _pyana.c should match the version specified here
py_limited_api = cp39
[extension-helpers]
use_extension_helpers = true
[tool:pytest]
testpaths = "sunpy" "docs"
norecursedirs = ".tox" "build" "docs[\/]_build" "docs[\/]generated" "*.egg-info" "examples" "sunpy[/\]_dev" ".jupyter" ".history" "tools" "sunpy[\/]extern" "benchmarks"
doctest_plus = enabled
doctest_optionflags = NORMALIZE_WHITESPACE FLOAT_CMP ELLIPSIS
addopts = --dist no --arraydiff --doctest-rst --doctest-ignore-import-errors -p no:unraisableexception -p no:threadexception
asdf_schema_tests_enabled = true
asdf_schema_root = sunpy/io/special/asdf/resources/
mpl-results-path = figure_test_images
mpl-use-full-test-name = True
markers =
remote_data: marks this test function as needing remote data.
online: marks this test function as needing online connectivity.
mpl_image_compare: marks this test function as using hash-based Matplotlib figure verification. This mark is not meant to be directly applied, but is instead automatically applied when a test function uses the @sunpy.tests.helpers.figure_test decorator.
flaky
array_compare
remote_data_strict = True
# Pin junit behaviour; we might want to update this to xunit2 at some point
junit_family=xunit1
filterwarnings =
error
# Do not fail on pytest config issues (i.e. missing plugins) but do show them
always::pytest.PytestConfigWarning
ignore:The sunpy.database module is no longer actively maintained
# A list of warnings to ignore follows. If you add to this list, you MUST
# add a comment or ideally a link to an issue that explains why the warning
# is being ignored
#
# https://github.com/pytest-dev/pytest-cov/issues/557
ignore:The --rsyncdir command line argument and rsyncdirs config variable are deprecated.:DeprecationWarning
# Ignore this on our oldestdeps run that doesn't support the xdist_group marker
ignore:Unknown pytest.mark.xdist_group
# Fixed in https://github.com/h5netcdf/h5netcdf/pull/121
ignore:distutils Version classes are deprecated
# This is due to dependencies building with a numpy version different from
# the local installed numpy version, but should be fine
# See https://github.com/numpy/numpy/issues/15748#issuecomment-598584838
ignore:numpy.ufunc size changed:RuntimeWarning
ignore:numpy.ndarray size changed:RuntimeWarning
# See https://github.com/mvantellingen/python-zeep/issues/956
ignore:defusedxml.lxml is no longer supported:DeprecationWarning
# See https://github.com/astropy/extension-helpers/issues/23
ignore:Distutils was imported before Setuptools
# Figure tests use agg backend so show doesn't work but we use it in peek
ignore:Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
# Some tests use data that have dates in the future and ERFA does not like.
ignore:ERFA function "d2dtf"*
ignore:ERFA function "dtf2d"*
# Currently helio makes unverified requests - this filter should be removed when
# https://github.com/sunpy/sunpy/issues/4401 is fixed
ignore:Unverified HTTPS request
# https://github.com/astropy/astropy/issues/11272
ignore:elementwise == comparison failed and returning scalar instead:FutureWarning:astropy.table
# This isn't really an issue it's an annoyance, it's triggered by printing
# an astropy table inside a test, which is generally only done when
# debugging.
ignore:the imp module is deprecated in favour of importlib:DeprecationWarning:ipykernel.iostream
# We need to remove this when we set pytest to the next major version
ignore:Passing None to catch any warning has been deprecated, pass no arguments instead
# Ignore numpy warning in py37-oldestdeps figure tests
ignore:invalid value encountered in greater:RuntimeWarning
ignore:invalid value encountered in less:RuntimeWarning
# This should be removed when astropy v5.0.5 is released (see astropy #13044)
ignore:FLIP_TOP_BOTTOM is deprecated and will be removed in Pillow 10:DeprecationWarning
# Deprecation warning added in ImageIO 2.16.2, called by scikit-image
ignore:Starting with ImageIO v3 the behavior of this function will switch:DeprecationWarning
# Appears in devdeps
ignore:unable to download valid IERS file, using local IERS-B
# See https://github.com/sunpy/drms/issues/72
ignore:.*will attempt to set the values inplace instead of always setting a new array:FutureWarning
# Zeep relies on deprecated cgi in Python 3.11
ignore:'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning:zeep.utils
# Deprecation warning added in NumPy 1.24, triggered by scikit-image
ignore:.*np.bool8.*is a deprecated alias.*:DeprecationWarning
# Warnings for sqlalchemy 2.0. For now we pin the version and ignore this warning
ignore:Deprecated API features detected.*SQLAlchemy 2
# See https://github.com/astropy/astropy/issues/14509 and
# https://github.com/h5py/h5py/issues/2243 for upstream issues about this warning being
# emitted
ignore:`product` is deprecated as of NumPy 1.25.0:DeprecationWarning
[pycodestyle]
max_line_length = 110
[flake8]
max-line-length = 110
exclude =
.git,
__pycache__,
docs/conf.py,
build,
sunpy/data/sample.py,
sunpy/extern/**,
sunpy/__init__.py,
rst-directives =
plot
[isort]
balanced_wrapping = True
skip=sunpy/extern/,sunpy/cm/__init__.py,docs/conf.py,sunpy/__init__.py
default_section = THIRDPARTY
include_trailing_comma = True
known_astropy = astropy, asdf
known_first_party = sunpy
length_sort = False
length_sort_sections=stdlib
line_length = 110
multi_line_output = 3
no_lines_before = LOCALFOLDER
sections = STDLIB, THIRDPARTY, ASTROPY, FIRSTPARTY, LOCALFOLDER
[coverage:run]
omit =
sunpy/conftest.py
sunpy/cython_version*
sunpy/*setup*
sunpy/extern/*
sunpy/*/tests/*
sunpy/version*
sunpy/__init__*
sunpy/data/sample.py
sunpy/data/_sample.py
sunpy/data/test/_generate_asdf_test.py
*/sunpy/conftest.py
*/sunpy/cython_version*
*/sunpy/*setup*
*/sunpy/extern/*
*/sunpy/*/tests/*
*/sunpy/version*
*/sunpy/__init__*
*/sunpy/data/sample.py
*/sunpy/data/_sample.py
[coverage:report]
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
# Don't complain about packages we have installed
except ImportError
# Don't complain if tests don't hit assertions
raise AssertionError
raise NotImplementedError
# Don't complain about script hooks
def main\(.*\):
# Ignore branches that don't pertain to this version of Python
pragma: py{ignore_python_version}
[codespell]
skip = *.asdf,*.fits,*.fts,*.header,*.json,*.xsh,*cache*,*egg*,*extern*,.git,.idea,.tox,_build,*truncated,*.svg,.asv_env,.history
ignore-words-list =
alog,
nd,
nin,
observ,
ot,
te,
upto,
afile