Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-sunpy for openSUSE:Factory checked in at 2022-06-10 15:57:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-sunpy (Old) and /work/SRC/openSUSE:Factory/.python-sunpy.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sunpy" Fri Jun 10 15:57:39 2022 rev:15 rq:981535 version:4.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-sunpy/python-sunpy.changes 2022-05-23 15:52:21.282680825 +0200 +++ /work/SRC/openSUSE:Factory/.python-sunpy.new.1548/python-sunpy.changes 2022-06-10 15:58:01.716856534 +0200 @@ -1,0 +2,232 @@ +Wed Jun 8 21:01:43 UTC 2022 - Ben Greiner <c...@bnavigator.de> + +- Update to v4.0.0 + * When rotating images using the SciPy rotation method, the + default behavior is now to clip the output range to the input + range, which matches the default behavior of the scikit-image + rotation method. (#5867) + * Any NaNs are now preserved by + sunpy.image.transform.affine_transform and + sunpy.map.GenericMap.rotate. (#5867) + * sunpy.image.transform.affine_transform and + sunpy.map.GenericMap.rotate now default to using SciPy for + rotation instead of scikit-image, so rotation results may be + slightly different. (#5867) + * The math convenience methods of sunpy.map.GenericMap - + ~sunpy.map.GenericMap.max, ~sunpy.map.GenericMap.mean, + ~sunpy.map.GenericMap.min, and , ~sunpy.map.GenericMap.std - + now ignore NaNs in the image data. (#5867) + * sunpy.image.transform.affine_transform and + sunpy.map.GenericMap.rotate now default to using NaN instead of + zero for the missing value, the value used for pixels in the + output array that have no corresponding pixel in the input + array. To obtain the previous behavior, missing should be + explicitly specified as zero. (#5867) + * The .JSOCClient and every sunpy.net.dataretriever.GenericClient + was passing all **kwargs to parfive.Downloader.enqueue_file, + this was unintended and has been removed. (#6052) + * Changed the default interpolation order for + sunpy.map.GenericMap.rotate from 4 to 3, with the precise + meaning of these interpolation orders depending on the selected + rotation method. For the default rotation method, which uses + scipy.ndimage.affine_transform, this changes the default + interpolation from biquartic to bicubic, which reduces the + computation time without reducing the quality of the output + below what a typical user needs. (#6089) + * Deprecate sunpy.image.coalignment as the code has now been + moved to sunkit_image.coalignment with an identical API. This + module will be removed in sunpy 4.1. (#5957) + * The sunpy.map.GenericMap.shift method has been renamed to + sunpy.map.GenericMap.shift_reference_coord and + ~sunpy.map.GenericMap.shift has been deprecated. (#5977) + * The sunpy.map.GenericMap.shifted_value property has been + deprecated. Modifications to the reference coordinate can be + found in the CRVAL1 and CRVAL2 keys of + sunpy.map.GenericMap.meta.modified_items. (#5977) + * The sunpy.io.fits module is deprecated, as it was designed for + internal use only. Use the astropy.io.fits module instead for + more generic functionality to read FITS files. (#5983) + * sunpy.physics.solar_rotation.mapsequence_solar_derotate is + deprecated and will be removed in version 4.1. This function + has been moved to + sunkit_image.coalignment.mapsequence_coalign_by_rotation and + has an identical API and functionality. (#6031) + * sunpy.physics.solar_rotation.calculate_solar_rotate_shift is + deprecated and will be removed in version 4.1. This function + has been moved to + sunkit_image.coalignment.calculate_solar_rotate_shift and has + an identical API and functionality. (#6031) + * Added support for Python 3.10 (#5568) + * Added support for "%Y.%m.%d_%H:%M:%S_UTC" and + "%Y.%m.%d_%H:%M:%S" time formats in sunpy.time.parse_time. + (#5647) + * The rsun argument to ~sunpy.map.get_observer_meta is now + optional. (#5655) + * Added the ~sunpy.net.base_client.QueryResponseTable.total_size, + which estimates the total size of the results from a Fido + query. If this is supported by a client, the total size is + printed alongside the results. + * To add support for this in external clients, make sure one + column contains the individual filesizes as + ~astropy.units.Quantity, and set the size_column class + attribute to the name of this column. (#5659) + * Added the ability to specify the use of Carrington coordinates + with sunpy.map.GenericMap.draw_grid. (#5703) + * Printing a .MetaDict will now show each entry on a new line. + (#5765) + * Removed support for Python 3.7. (#5773) + * The 'event_endtime', 'event_starttime' and 'event_peaktime' + columns in a HEK query are now returned as ~astropy.time.Time + objects. Previously they were timestamp strings. (#5806) + * Added a helpful warning message when converting a 2D + Helioprojective coordinate will return all NaNs. (#5817) + * The colorbar limits on HMI magnetic field maps are now + automatically set to be symmetric about zero. (#5825) + * Added a clip keyword to sunpy.image.transform.affine_transform + and sunpy.map.GenericMap.rotate to enable or disable whether + the range of the output image is clipped to the range of the + input range. (#5867) + * Created the decorator + sunpy.image.transform.add_rotation_function for registering new + rotation functions for use by + sunpy.image.transform.affine_transform and + sunpy.map.GenericMap.rotate. (#5867) + * sunpy.image.transform.affine_transform and + sunpy.map.GenericMap.rotate have both had their use_scipy + arguments deprecated. Instead use the new method argument to + select from the available rotation methods. (#5916) + * Added a Maxwell unit and any places where a conversion to Gauss + occurs has been removed. (#5998) + * Add a basic HTML representation for + ~sunpy.timeseries.TimeSeries. (#6032) + * The minimum supported asdf version has been increased to 2.8.0 + to allow future compatibility with the breaking changes planned + for asdf 3.0. In addtion to this the asdf-astropy package is + now required to serialise and deserialise the sunpy coordinate + frame classes to ASDF. (#6057) + * Added the option to rotate using OpenCV when using + sunpy.image.transform.affine_transform or + sunpy.map.GenericMap.rotate by specifying method='cv2'. The + OpenCV Python package must be installed on the system. (#6089) + * Fixed reading CDF files when a column has no entries. If this + is the case the column will be ignored, and a message logged at + DEBUG level. (#5664) + * Fixed the units of sunpy.map.sources.HMISynopticMap.scale and + sunpy.map.sources.MDISynopticMap.scale. (#5682) + * Fixed a bug where custom values in the plot_settings dictionary + were not being propagated to new map instances created when + calling map methods (e.g. .submap). (#5687) + * Added automatic conversion of some common but non-standard unit + strings in CDF files to astropy unit objects. If sunpy does not + recognise the unit string for a particular column, units of + u.dimensionless_unscaled are applied to that column and a + warning raised. + * If you think a given unit should not be dimensionless and + support should be added for it in sunpy, please raise an issue + at https://github.com/sunpy/sunpy/issues. (#5692) + * The default id_type in sunpy.coordinates.get_horizons_coord is + now None to match the deafult id_type in astroquery 0.4.4, + which will search major bodies first, and if no major bodies + are found, then search small bodies. For older versions of + astroquery the default id_type used by + ~sunpy.coordinates.get_horizons_coord is still 'majorbody'. + (#5707) + * In consultation with JSOC, we now limit all JSOC downloads to + one connection. This will override all connection user settings + passed to the downloader. (#5714) + * Updated the plot methods on some timeseries classes to + correctly label and format the time axis. (#5720) + * Fixed a long-standing bug where our logger could intercept + Astropy warnings in addition to SunPy warnings, and thus could + conflict with Astropy's logger. (#5722) + * Update asdf schemas so that references use URIs not tags as + this is not supported by the new asdf extensions API. (#5723) + * Increased the default maximum amount of records returned from + HEC to 500 from 10. If the maximum number of records are + returned, a message is shown. (#5738) + * Reading a series of CDF files where at least one of them is + empty no longer raises an error. A message for each empty file + is logged at the DEBUG level. (#5751) + * sunpy.map.make_fitswcs_header now includes a PC_ij matrix in + the returned header if no rotation is specified. (#5763) + * In the case where a map header has no PC_ij values, CROTA2 != + 0, and CDELT1 != CDELT2, the calculation of the map rotation + matrix has been fixed. This bug only affected maps with + non-zero rotation, no PC matrix in the header, and un-equal + scales along the two image axes. (#5766) + * Maps created from ~sunpy.map.GenericMap.resample and + ~sunpy.map.GenericMap.superpixel have been fixed in the case + where the resampling was not square, and the PCi_j matrix + (often a rotation matrix) was not a multiple of the identity + matrix. When the PCi_j or CDi_j formalisms are used in the + metadata these are now correctly modified, and the CDELT values + are left unchanged. (#5786) + * The __repr__ of several sunpy.database classes have been + updated to remove angular brackets and add equals signs. As an + example, '<DatabaseEntry(id 3)>' has changed to + 'DatabaseEntry(id=3)' (#5790) + * Fixed a bug when rotating a map by a matrix that is not purely + a rotation. The likely way to inadvertently encounter this bug + was when de-rotating a map with rectangular pixels that were + not aligned with the coordinate axes. (#5803) + * Fixed a bug where rotating a map while simultaneously scaling + it could result in some of the map data being cropped out. + (#5803) + * Symmetric colorbar limits are no longer set on intensity images + from MDI. (#5825) + * Fixed plotting and peeking NORH timeseries data with pandas + 1.4.0. (#5830) + * In the case where sunpy.database.Database.fetch() successfully + downloads only some of the search results, a + ~sunpy.database.PartialFetchError is raised. This fixes a bug + where the successful downloads would have been added to the + database, but sometimes with incorrect metadata. (#5835) + * When getting IRIS files from the VSO, Fido was incorrectly + labelling them as XML files. (#5868) + * ~sunpy.map.sources.HMIMap now looks for 'INSTRUME' instead of + 'TELESCOP' in order to support Helioviewer JPEG2000 versions of + HMI data which do not preserve the 'TELESCOP' keyword as + expected in the JSOC standard. (#5886) + * Fixes a bug where the cmap and norm keyword arguments were + ignored when calling ~sunpy.map.MapSequence.plot. (#5889) + * Fix parsing of the GOES/XRS netcdf files to ignore leap + seconds. (#5915) + * Fixed compatability with h5netcdf>0.14 when loading GOES netcdf + files. (#5920) + * Fixed bugs with the rebinning and per-keV calculation for + Fermi/GBM summary lightcurves ++++ 35 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/python-sunpy/python-sunpy.changes ++++ and /work/SRC/openSUSE:Factory/.python-sunpy.new.1548/python-sunpy.changes Old: ---- sunpy-3.1.5.tar.gz New: ---- sunpy-4.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-sunpy.spec ++++++ --- /var/tmp/diff_new_pack.JGOdsv/_old 2022-06-10 15:58:02.504857490 +0200 +++ /var/tmp/diff_new_pack.JGOdsv/_new 2022-06-10 15:58:02.508857495 +0200 @@ -16,11 +16,8 @@ # -%{?!python_module:%define python_module() python3-%{**}} -# python-xmlsec doesn???t support 3.10 gh#mehcode/python-xmlsec#204 -%define skip_python310 1 Name: python-sunpy -Version: 3.1.5 +Version: 4.0.0 Release: 0 Summary: SunPy: Python for Solar Physics License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT @@ -30,8 +27,8 @@ # PATCH-FIX-OPENSSUSE sunpy-test-ignore-warnings.patch -- g#sunpy/sunpy#6030 Patch1: sunpy-test-ignore-warnings.patch BuildRequires: %{python_module aioftp} -BuildRequires: %{python_module asdf >= 2.6} -BuildRequires: %{python_module astropy >= 4.2} +BuildRequires: %{python_module astropy >= 4.2.1} +BuildRequires: %{python_module base => 3.8} BuildRequires: %{python_module devel >= 3.7} BuildRequires: %{python_module numpy-devel > 1.17.0} BuildRequires: %{python_module packaging >= 19} @@ -41,15 +38,13 @@ BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-aioftp >= 0.17.1 -Requires: python-astropy >= 4.2 +Requires: python-astropy >= 4.2.1 Requires: python-numpy > 1.17.0 Requires: python-packaging >= 19 Requires: python-parfive >= 1.2.0 -%if 0%{?python_version_nodots} < 38 -Requires: python-importlib_metadata -%endif # SECTION extras_require:asdf -Recommends: python-asdf >= 2.6 +Recommends: python-asdf >= 2.8 +Recommends: python-asdf-astropy >= 0.1.1 # /SECTION # SECTION extras_require:dask Suggests: python-dask-array >= 2.0 @@ -88,7 +83,10 @@ # SECTION test requirements (and extras) # even although we do not use tox and doctestplus, there are tests in the suite checking their existence. BuildRequires: %{python_module Glymur >= 0.8.18} +BuildRequires: %{python_module Jinja2} BuildRequires: %{python_module SQLAlchemy >= 1.3.4} +BuildRequires: %{python_module asdf >= 2.8} +BuildRequires: %{python_module asdf-astropy >= 0.1.1} BuildRequires: %{python_module beautifulsoup4 >= 4.0.0} BuildRequires: %{python_module cdflib >= 0.3.19} BuildRequires: %{python_module dask-array} @@ -97,23 +95,23 @@ BuildRequires: %{python_module h5netcdf} BuildRequires: %{python_module h5py >= 3.1.0} BuildRequires: %{python_module hypothesis >= 6.0.0} -BuildRequires: %{python_module importlib_metadata if %python-base < 3.8} BuildRequires: %{python_module jplephem} BuildRequires: %{python_module matplotlib >= 3.1.0} BuildRequires: %{python_module mpl-animators >= 1.0.0} BuildRequires: %{python_module pandas >= 0.24.0} +BuildRequires: %{python_module pytest >= 5.4} BuildRequires: %{python_module pytest-astropy >= 0.8} BuildRequires: %{python_module pytest-doctestplus >= 0.5} BuildRequires: %{python_module pytest-mock} BuildRequires: %{python_module pytest-mpl >= 0.12} BuildRequires: %{python_module pytest-xdist >= 1.27} -BuildRequires: %{python_module pytest} BuildRequires: %{python_module reproject} BuildRequires: %{python_module requests} BuildRequires: %{python_module scikit-image >= 0.16.0} BuildRequires: %{python_module scipy >= 1.3.0} BuildRequires: %{python_module tox} BuildRequires: %{python_module zeep >= 3.4.0} +BuildRequires: python3-opencv # /SECTION %python_subpackages @@ -132,15 +130,23 @@ %install %python_install %{python_expand # +sed -i -e 's@^#!/usr/bin/env python@#!%__$python@' %{buildroot}%{$python_sitearch}/sunpy/extern/distro.py +chmod +x %{buildroot}%{$python_sitearch}/sunpy/extern/distro.py find %{buildroot}%{$python_sitearch} -name '*.h' -delete -print -rm -r %{buildroot}%{$python_sitearch}/benchmarks %fdupes %{buildroot}%{$python_sitearch} } %check mkdir testdir pushd testdir -%pytest_arch --pyargs sunpy -ra -n auto +%{python_expand # no opencv for non-primary python3 +if [ "%{$python_provides}" != "python3" ]; then + $python_donttest=" or opencv or (test_transform and (test_nans or test_clipping))" +fi +} +# fails because it does not find any opencv-python dist metadata (even for python3-opencv installed) +donttest="test_self_test" +%pytest_arch --pyargs sunpy -ra -n auto -k "not ($donttest ${$python_donttest})" popd %files %{python_files} ++++++ sunpy-3.1.5.tar.gz -> sunpy-4.0.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/python-sunpy/sunpy-3.1.5.tar.gz /work/SRC/openSUSE:Factory/.python-sunpy.new.1548/sunpy-4.0.0.tar.gz differ: char 5, line 1 ++++++ sunpy-test-ignore-warnings.patch ++++++ --- /var/tmp/diff_new_pack.JGOdsv/_old 2022-06-10 15:58:02.564857563 +0200 +++ /var/tmp/diff_new_pack.JGOdsv/_new 2022-06-10 15:58:02.568857567 +0200 @@ -1,23 +1,20 @@ -Index: sunpy-3.1.5/setup.cfg +Index: sunpy-4.0.0/setup.cfg =================================================================== ---- sunpy-3.1.5.orig/setup.cfg -+++ sunpy-3.1.5/setup.cfg -@@ -141,6 +141,11 @@ filterwarnings = +--- sunpy-4.0.0.orig/setup.cfg ++++ sunpy-4.0.0/setup.cfg +@@ -147,6 +147,8 @@ filterwarnings = ignore:invalid value encountered in less:RuntimeWarning - ignore:Please use `gaussian_filter` from the `scipy.ndimage` namespace:DeprecationWarning - ignore:Please use `laplace` from the `scipy.ndimage` namespace:DeprecationWarning -+ ignore:The distutils.sysconfig module:DeprecationWarning -+ ignore:leap-second file is expired:astropy.utils.iers.iers.IERSStaleWarning -+ ignore:ERFA function.*dubious year:astropy.utils.exceptions.ErfaWarning -+ # 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 + ignore:FLIP_TOP_BOTTOM is deprecated and will be removed in Pillow 10:DeprecationWarning + ignore:Starting with ImageIO v3 the behavior of this function will switch:DeprecationWarning ++ ignore:Please use `gaussian_filter` from the `scipy.ndimage` namespace:DeprecationWarning ++ ignore:Please use `laplace` from the `scipy.ndimage` namespace:DeprecationWarning [pycodestyle] max_line_length = 110 -Index: sunpy-3.1.5/sunpy/conftest.py +Index: sunpy-4.0.0/sunpy/conftest.py =================================================================== ---- sunpy-3.1.5.orig/sunpy/conftest.py -+++ sunpy-3.1.5/sunpy/conftest.py +--- sunpy-4.0.0.orig/sunpy/conftest.py ++++ sunpy-4.0.0/sunpy/conftest.py @@ -3,6 +3,7 @@ import logging import tempfile import importlib @@ -26,9 +23,9 @@ import pytest import astropy -@@ -32,6 +33,14 @@ collect_ignore = ["data/sample.py"] - console_logger = logging.getLogger() - console_logger.setLevel('INFO') +@@ -31,6 +32,14 @@ HAVE_REMOTEDATA = remotedata_spec is not + # Do not collect the sample data file because this would download the sample data. + collect_ignore = ["data/sample.py"] +hypothesis.settings.register_profile( + 'obs', @@ -39,6 +36,6 @@ +# 'default' there. +hypothesis.settings.load_profile('obs') - @pytest.fixture(scope='session', autouse=True) - def tmp_config_dir(request): + console_logger = logging.getLogger() + console_logger.setLevel('INFO')