File python-sunpy.changes of Package python-sunpy
-------------------------------------------------------------------
Sun Apr 6 15:47:10 UTC 2025 - Ben Greiner <code@bnavigator.de>
- Update to 6.1.1
## Breaking Changes
* Dataretriever / "Scraper" clients no longer require the
regex-formatted baseurl and a parse-formatted pattern variable
but instead a single and full pattern variable written in the
parse-format. Documentation about how to write the new patterns
and about explaining the internal Scraper algorithm is added to
the topic guide on adding new sources to Fido.
* The internal method on ~sunpy.net.scraper.Scraper called
_extract_files_meta function no longer requires an extractor
pattern.
* A new submodule called scraper.net.scraper_utils is created and
Scraper helper functions like date_floor(), extract_timestep(),
check_timerange() and get_timerange_from_exdict() can be
accessed directly from there.
* All the extracted timeranges have a millisecond subtracted from
the end date, i.e. they end on 59:59:59 of the date just
before, instead of the inconsistent issue where some could end
with 00:00:00 of the end date which lead to undesirable cases
like January 1, 2015 data also showing up in the 2014 year-long
timerange. (#7077)
* Update our dependancy policy to follow SPEC 0 rather than the
older NEP 29. The only difference between the old (NEP 29)
policy and the new (SPEC 0) policy is that we only support
Python versions for 3 years after their initial release, rather
than 4. (#7796)
* Increased minimum versions for these dependencies:
asdf-astropy >= 0.5.0
astropy >= 6.0.0
numpy >= 1.24.0
pandas >= 1.5.0
sphinx >= 6.0.0 (#7976)
## Deprecations
* sunpy.map.GenericMap.contour is deprecated in favor of
sunpy.map.GenericMap.find_contours. Note that ContourPy, now
used for contour generation, may produce different results and
does not support all scikit-image keyword arguments. (#7760)
* The following components of ~sunpy.map.MapSequence are now
deprecated and will be removed in v7.1:
- The derotate keyword argument to ~sunpy.map.MapSequence.
Derotation is not implemented.
- The resample keyword argument to
~sunpy.map.MapSequence.peek and
~sunpy.map.MapSequence.plot. To reproduce this behavior,
use ~sunpy.map.GenericMap.resample on each map in the
sequence before plotting.
- Deprecate ~sunpy.map.MapSequence.all_maps_same_shape in
favor of ~sunpy.map.MapSequence.all_same_shape.
- Deprecate ~sunpy.map.MapSequence.at_least_one_map_has_mask.
To reproduce this functionality, check whether
~sunpy.map.MapSequence.mask is None.
- Deprecate ~sunpy.map.MapSequence.as_array in favor of
~sunpy.map.MapSequence.data and
~sunpy.map.MapSequence.mask. Previously, as_array returned
a masked array if at least one map held a mask and a bare
array if not.
- Deprecate ~sunpy.map.MapSequence.all_meta in favor of
~sunpy.map.MapSequence.meta. (#7827)
* General support within ~sunpy.map.Map for the non-standard
CTYPE values 'SOLAR-X' and 'SOLAR-Y' is now deprecated, and
should instead be handled by a source-specific subclass.
(#7955)
* Renamed the sunpy.time.TimeRange method extend() to
sunpy.time.TimeRange.shift to reflect what the method
actually does. (#8008)
## New Features
* Added support for saving a sunpy.map.Map into an ASDF file
using sunpy.map.GenericMap.save and loading a map stored in an
ASDF file with sunpy.map.Map. (#7712)
* The ~sunpy.coordinates.RotatedSunFrame class now accepts a
~astropy.time.TimeDelta object for the duration parameter.
(#7752)
* Added ~sunpy.map.GenericMap.find_contours for getting contours
from a ~sunpy.map.Map. By default the method uses ContourPy
for performance reasons and consistency with
sunpy.map.GenericMap.draw_contours. One can alternatively
specify that the method use scikit-image. (#7760)
* Added support for loading files from various cloud services
(such as s3) in ~sunpy.map.Map and
~sunpy.timeseries.TimeSeries using fsspec. (#7790)
* Added the ~sunpy.coordinates.HelioprojectiveRadial coordinate
frame. (#7803)
* Added a function ~sunpy.map.make_hpr_header to easily make a
FITS WCS header for the
~sunpy.coordinates.HelioprojectiveRadial coordinate frame.
(#7803)
* Added a function sunpy.visualization.show_hpr_impact_angle to
modify a plot axis of a
~sunpy.coordinates.HelioprojectiveRadial ~sunpy.map.Map to
show impact angle rather than declination for the tick labels.
(#7803)
* Added ability to delay download in
sunpy.data.data_manager.manager.DataManager.require (#7845)
* Add sunpy.visualization.drawing.extent to visualize the extent
of another WCS on an axis. Add
sunpy.map.GenericMap.draw_extent to visualize the extent of a
map on a given axis. (#7851)
* Add a link to the VSO Health Report in the Fido Results when
using the VSOClient. (#7884)
* Added unconverted_value attribute to the Wavelength attribute.
(#7923)
* sunpy.time.TimeRange.shift can now accept inputs of type
datetime.timedelta and astropy.units.Quantity. (#7931)
* sunpy.map.CompositeMap.plot will now skip autoaligning an
overplotted map image if that map's WCS matches the WCS of the
figure axes. This significantly improves performance when the
maps being composited have already been reprojected onto a
common WCS. (#7948)
## Bug Fixes
* sunpy.map.MapSequence unable to set the normalization for data
that was UINT8 (JPEG2000) causing the animations to break.
(#7674)
* Fixed incorrect reference_date for GONG Synoptic maps. (#7758)
* Fix sunpy.physics.differential_rotation.differential_rotate to
update the reference_date attribute of the input map instead of
the date. (#7758)
* Fixed incorrect reference_date for SDO/AIA and SDO/HMI data to
use the T_OBS keyword instead of the DATE-OBS keyword.
* For AIA images, the location of SDO has been shifted up to a
second in time, which corresponds to a shift in Heliographic
Longitude by only 4 milliarcseconds. (#7758)
* Fix filetype detection to use the detected filetype if a known
reader is registered. (#7788)
* Fixed loading of ~sunpy.map.sources.ADAPTMap if sunkit-magex
v1.0.0 is installed. (#7798)
* All map sources that override date or reference_date now fall
back to the corresponding properties on sunpy.map.GenericMap if
the needed source-specific metadata for these properties cannot
be found. (#7810)
* Fixes a bug where ~sunpy.map.sources.HMIMap returned a
wavelength without a unit because WAVEUNIT is not in the header
and cannot be parsed from any other part of the metadata. If it
cannot be found, it now defaults to Angstrom. (#7812)
* Fixed a calculation bug when using
~sunpy.coordinates.PlanarScreen when it is both tilted (the
plane is not perpendicular to the observer-Sun direction) and
offset (the plane does not go through Sun center). (#7814)
* Fixed a bug where custom values in the plot_settings dictionary
were not being correctly applied in the
sunpy.map.GenericMap.draw_contours method. (#7844)
* Fix use of deprecated astropy.table.Table.pformat_all in
sunpy.net. (#7854)
* Fixed a bug with axis labels when plotting a ~sunpy.map.Map
that could conflict with automatic label positioning in astropy
7.0. (#7857)
* Added correct unit fallback for LASCO JPEG2000 files from the
Helioviewer. (#7890)
* Added support within ~.parse_time for the timestamp %Y%m%d%H%M
,%Y%m%dT%H%M and %Y%m%d_%H%M. (#7911)
* Updated the internal CDF reader to handle FILLVAL only for
floating point numbers. (#7917)
* Fixed unit conversion for wavelength in
sunpy.net.dataretriever.sources.goes.SUVIClient. (#7920)
* Fixed a time-ordering bug in sunpy.time.TimeRange.shift when
the shifted start time is later than than the shifted end time.
(#7931)
* Fixed a bug in the HTML representation for
sunpy.timeseries.GenericTimeSeries that error-ed if the
time-series had too many columns. (#7947)
* Fix sunpy.data.data_manager.manager.DataManager.get now
automatically redownloads files if they are accidentally
deleted. (#7950)
* Fixed a bug in
~sunpy.physics.differential_rotation.differential_rotate that
assumed the input map header had RSUN_REF defined. (#7953)
* Fixed two bugs associated with the handling of WCS PVi_m values
by ~sunpy.map.Map. PVi_m values were incorrectly retrieved from
the first alternative WCS description (e.g., PV1_1A) instead of
the primary WCS description (e.g., PV1_1). Also, PVi_m values
were misassigned when m was a two-digit number (i.e., 10
through 99). (#7961)
* Fixed a bug in ~sunpy.time.parse_time where parsing a list of
time strings containing "TAI" did not automatically set the
time scale to TAI. (#7983)
* Fixed a bug in ~sunpy.time.parse_time where parsing a list of
time strings could incorrectly fail even when parsing the
individual elements would succeed. (#7983)
* Fixed the formatting of the the channel labels for
~sunpy.timeseries.sources.XRSTimeSeries. (#7986)
* Examples in docs for sunpy.net.attr.Attr are now rendering
properly. (#8002)
* Fixed the unintended ~sunpy.map.Map behavior where any
combination of non-FITS units were allowed as long as one of
the non-FITS units was DN. DN is currently the only non-FITS
unit permitted in ~sunpy.map.Map. (#8037)
* Corrected the NOAA ~.SRSClient to use a updated HTTPS server
instead of the now defunct FTP. (#8054)
* Fixed a bug where ~sunpy.map.sources.EITMap and the correct
colormaps (e.g., sohoeit171) failed to load for SOHO/EIT level
1 FITS files from SDAC. (#8070)
-------------------------------------------------------------------
Sat Dec 7 09:47:21 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 6.0.4
* Backport PR #7843 (Updates from the package template) by
@meeseeksmachine in #7847
* Backport PR #7846 (Add support for Python 3.13) by @Cadair in
#7848
* Backport PR #7849 (Fix figure devdeps) by @meeseeksmachine in
#7850
* Backport PR #7855 (Don't use 3.13 for the core CI yet) by
@meeseeksmachine in #7858
* Backport PR #7854 (Use updated astropy.Table api) by
@meeseeksmachine in #7859
* Backport PR #7852 (Updates from the package template) by
@meeseeksmachine in #7860
* Backport PR #7857 (Fixed some issues related to WCSAxes in
astropy 7.0) by @meeseeksmachine in #7861
* Backport PR #7867 (Use a fixed time in the past for the gallery
example with STEREO locations) by @meeseeksmachine in #7876
* Backport PR #7875 (Fix devdeps fails with astropy) by
@meeseeksmachine in #7877
* Backport PR #7878 (Use main instead of master for figure tests
comparison ) by @meeseeksmachine in #7879
* Backport PR #7881 (Improved clarity & structure of
documentation in the installation section; fixed formatting) by
@meeseeksmachine in #7882
* Backport PR #7887 (Only fail docs on deprecation warnings when
not on RTD) by @meeseeksmachine in #7888
* Backport PR #7892 (Fix cache configuration for tests against
astropy 7) by @meeseeksmachine in #7894
* Backport PR #7890 (Add fallback if lasco has a 0 bunit in the
jp2) by @meeseeksmachine in #7901
* Backport PR #7902 (updated rhessi.py(Summary lightcurves
docstring)) by @meeseeksmachine in #7906
-------------------------------------------------------------------
Fri Dec 6 16:01:58 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Skip tests with scikit-image on Python 3.13
- Reenable opencv tests for python3
-------------------------------------------------------------------
Thu Nov 28 11:25:14 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 6.0.3
* [6.0] backport all template changes by @nabobalis in #7805
* Backport PR #7810 on branch 6.0 (Fix map sources to always fall
back to default values for date and reference_date) by
@meeseeksmachine in #7811
* Backport PR #7814 on branch 6.0 (Fixed bug with tilted and
offset planar screen) by @meeseeksmachine in #7815
* Backport PR #7812 on branch 6.0 (Add Angstrom as default unit
for HMI wavelength) by @meeseeksmachine in #7821
* Backport PR #7674 on branch 6.0 (Handle norm for mapsequence)
by @meeseeksmachine in #7831
- Drop sunpy-exclude-toplevel.patch fixed un templates upstream
-------------------------------------------------------------------
Thu Sep 26 08:27:24 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 6.0.2
## Bug Fixes
* Fix filetype detection to use the detected filetype if a known
reader is registered. (#7788)
* Fixed loading of ~sunpy.map.sources.ADAPTMap if sunkit-magex
v1.0.0 is installed. (#7798)
* Fixed loading of GOES XRS files with newer versions of numpy
-------------------------------------------------------------------
Sat Aug 17 13:51:40 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 6.0.1
## Bug Fixes
* Fixed incorrect reference_date for GONG Synoptic maps. (#7758)
* Fix
:func:`sunpy.physics.differential_rotation.differential_rotate`
to update the reference_date attribute of the input map instead
of the date. (#7758)
* Fixed incorrect reference_date for SDO/AIA and SDO/HMI data to
use the T_OBS keyword instead of the DATE-OBS keyword.
* For AIA images, the location of SDO has been shifted up to a
second in time, which corresponds to a shift in Heliographic
Longitude by only 4 milliarcseconds. (#7758)
- Release 6.0.0
## Breaking Changes
* Arguments for ~sunpy.map.GenericMap.reproject_to after the
target WCS are now keyword-only. (#7339)
* Arguments for sunpy.timeseries.GenericTimeSeries.peek are now
keywords only. (#7340)
* Removed scikit-image from the "image" extra group and created a
new "scikit-image" extra group. (#7536)
* sunpy.io.read_file and sunpy.io.write_file are deprecated and
will be removed in the future. These were intended to be
private functions and should not be used. (#7537)
* The ANA C code has been deprecated (sunpy.io.ana.read,
sunpy.io.ana.get_header, sunpy.io.ana.write) and may be removed
in a future sunpy release. Please contact us here:
https://community.openastronomy.org/t/possible-deprecation-of-ana-file-readers-and-writers-in-sunpy
if you are making use of this code. (#7642)
* The .EUIMap class now returns the DATE-BEG key for
.GenericMap.date while continuing to use DATE-AVG as the
reference date for the coordinate system. (#7682)
* The .GenericMap.date key priority order has changed to be
consistent with it representing the "canonical" observation
time. DATE-OBS continues to have the highest priority, but now
DATE-BEG has higher priority than DATE-AVG. (#7682)
* A new property .GenericMap.reference_date has been added to
decouple the reference date for the coordinate system from the
"canonical" observation time. This new property is now passed
through to the map's WCS object as dateavg and is the time used
for .GenericMap.coordinate_frame and
.GenericMap.observer_coordinate. (#7682)
## Deprecations
* ~sunpy.coordinates.Helioprojective.assume_spherical_screen has
been deprecated in favor of ~sunpy.coordinates.SphericalScreen.
(#7115)
* sunpy.physics.differential_rotation.diff_rot has been
deprecated and replaced by
sunpy.sun.models.differential_rotation. (#7409)
* Deprecated all positional arguments in
sunpy.map.GenericMap.plot method. The annotate, axes, title,
clip_interval arguments should be passed as keyword arguments
(e.g., ..., title=True, ...) instead. (#7421)
* The keyword response_format in sunpy.net.vso.VSOClient.search
has been deprecated. This was introduced to preserve legacy
behaviour of the VSO client, to return
sunpy.net.vso.legacy_response.QueryResponse instead of
sunpy.net.vso.table_response.VSOQueryResponseTable objects.
This behaviour has been the default for over 4 years and the
keyword is no longer needed. This keyword and the older
sunpy.net.vso.legacy_response.QueryResponse class will be
removed in sunpy 7.0. The keyword progress in
sunpy.net.hek2vso.H2VClient.full_query has been deprecated and
will be removed in sunpy 7.0. (#7468)
## Removals
* sunpy.database has been removed. (#7320)
* sunpy.map.header_helper.meta_keywords has been removed. (#7337)
* sunpy.net.helioviewer.HelioviewerClient has been removed. Use
the hvpy package instead. (#7338)
* There was a private "Maxwell" unit within sunpy.map to register
it before astropy had support for it. This has now been removed
in favour of using the astropy version. (#7383)
## New Features
* sunpy.io.read_file will now try to detect the filetype based on
the content and then fallback to using the file extension.
(#6736)
* It is now possible to read the comments in a header from a
JPEG2000 file. (#6841)
* Added the ability for sunpy.map.Map to load files from a
generator. (#7024)
* Added ~sunpy.coordinates.PlanarScreen for interpreting 2D
~sunpy.coordinates.Helioprojective coordinates as being on the
inside of a planar screen. (#7115)
* Added the ability to pass clip_interval to
sunpy.map.mapsequence.MapSequence.plot. (#7253)
* Add support for the fill keyword in
~sunpy.map.GenericMap.draw_contours to allow for filled
contours. (#7281)
* ~sunpy.coordinates.get_horizons_coord now supports time arrays
with up to 10,000 elements. (#7319)
* Add an example of plotting a rectangle on a map with a rotation
angle relative to the axes
(sphx_glr_generated_gallery_plotting_plot_rotated_rectangle.py).
(#7348)
* Added testing and explicit support for Python 3.12. (#7351)
* Added warning when importing a submodule without installing
that submodules extra dependencies. (#7369)
* Added a warning message for rsun mismatch in
~sunpy.map.GenericMap.reproject_to method. (#7370)
* Added a new optional extra group to install "opencv" if you
want to it for affine transforms. pip install sunpy[opencv]
#7383
* sunpy.map.GenericMap.draw_contours don't run internal transform
code if transform keyword is provided. (#7427)
* Update ASDF schemas for upcoming ASDF standard 1.6.0. (#7432)
* Add a new map source ~sunpy.map.sources.gong.GONGHalphaMap for
GONG H-Alpha data. (#7451)
* Added ~sunpy.coordinates.spice.get_rotation_matrix to obtain
the rotation matrix between the orientations of two SPICE
frames, which is particularly useful for transforming vector
fields. (#7452)
* Allow units to be passed to
~sunpy.map.header_helper.make_fitswcs_header as strings.
(#7454)
* A new client (sunpy.net.dataretriever.ADAPTClient) has been
added to search and download ADAPT files. (#7463)
* sunpy.net.jsoc.JSOCClient queries now return the SUMS directory
paths as the segment key value in the results table. (#7469)
* Allow the screen radius to be set when using
~sunpy.coordinates.SphericalScreen. (#7532)
* Updated sunpy.map.GenericMap.submap to check if it is about to
work on locations with NaNs now errors and informs the user
that they likely want to use
~sunpy.coordinates.Helioprojective.assume_spherical_screen so
that the off-disk 2D coordinate can be converted to a 3D
coordinate. (#7543)
* ~sunpy.map.GenericMap will now assign units of DN without a
warning or error. (#7585)
* Add a new map source ~sunpy.map.sources.ADAPTMap for ADvanced
Adaptive Prediction Technique (ADAPT) data files. (#7640)
* Added support for JSOC's HMI millisecond TAI time format.
Previously, it would only work with seconds. (#7656)
* Added build support for aarch64 wheels. (#7679)
## Bug Fixes
* Long object names are no longer truncated in the logging output
of ~sunpy.coordinates.get_horizons_coord. (#7319)
* When calling sunpy.map.GenericMap.rotate on an integer data
array, with missing set to NaN (the default value), the method
will now itself raise an informative error message instead
deferring to NumPy to raise the error. (#7344)
* Fixed the appearance of a double "Notes" heading in
~sunpy.map.Map subclasses. (#7376)
* ~sunpy.map.Map with UINT8 data will now not error on plotting
due to normalization. We now skip adding a normalization.
(#7422)
* When calling ~sunpy.map.GenericMap.reproject_to along with both
context managers
~sunpy.coordinates.propagate_with_solar_surface and
~sunpy.coordinates.Helioprojective.assume_spherical_screen now
raises a warning. (#7437)
* Fix a bug which caused Fido.search to crash due to SSL
certificate verification error for the
~sunpy.net.helio.HECClient now returns no results and logs a
warning in this case. (#7446)
* Fixed the sanitization of the names of files downloaded via VSO
so that periods are no longer replaced and case is no longer
forced to be lowercase. (#7453)
* The creation of the series string for a JSOC query was not
adding the correct escape characters for comparison values for
keywords. This was causing the JSOC to error. (#7467)
* The EVE L0CS client now uses the new URLs for the data from
LASP. (#7483)
* JPEG2000 files are now saved with the correct orientation.
Previously they would be vertically flipped when saved. (#7486)
* Fixed a very minor inaccuracy in three sunpy.map utility
functions (~sunpy.map.contains_full_disk,
~sunpy.map.coordinate_is_on_solar_disk, and
~sunpy.map.is_all_off_disk) resulting from the accidental use
of the small-angle approximation. (#7512)
* The ~sunpy.map.GenericMap.rotate function now correctly updates
the NAXISi. (#7522)
* Added a check in
sunpy.physics.differential_rotation.solar_rotate_coordinate to
ensure the input frame has an "observer" attribute before
replicating frame attributes, preventing potential issues with
frames lacking this attribute. (#7526)
* Fixed an inaccuracy in the implementation of
~sunpy.coordinates.HeliocentricEarthEcliptic and
~sunpy.coordinates.GeocentricSolarEcliptic such that the Earth
was not exactly in the XY plane, but rather had an error of up
~10 meters. (#7530)
* The maximum records in ~sunpy.net.helio.HECClient now are
20000. (#7540)
* Fixed a bug with any coordinate transformation starting in
~sunpy.coordinates.GeocentricEarthEquatorial (GEI) returning
output with AU as the length unit, rather than preserving the
length unit of the initial coordinate. (#7545)
* Fixed a bug that interfered with
astropy.wcs.utils.celestial_frame_to_wcs when working with a
custom subclass of
~sunpy.coordinates.frames.SunPyBaseCoordinateFrame. (#7594)
* Fixed bug where conversion of results from the HEKClient to
Astropy Time failed when some values where empty or missing for
the values of event_strattime, event_endtime or event_peaktime
(#7627)
* Fix the ~sunpy.map.sources.gong.GONGHalphaMap.rsun_obs to use
correct header information solar-r keyword. (#7652)
* Fix compilation with gcc 14, avoid implicit pointer
conversions. (#7662)
* Fixed a bug where "DN" was not able to be parsed by
~sunpy.map.header_helper.make_fitswcs_header due to strict
checking against the FITS standard. This is now consistent with
how unit strings are parsed in ~sunpy.map.GenericMap. (#7730)
* Fixed a bug where ~sunpy.map.sources.XRTMap was still
defaulting to counts rather than DN. (#7744)
## Internal Changes
* sunpy.net.jsoc.JSOCClient.fetch called drms API that passed a
progress keyword which added extra print statements to the
console. This has been removed in drms 0.7.0, which had
breaking API changes within this release. As a result, we
increased the minimum required version of drms to 0.7.1.
* This specifically refers to the following information that was
printed to the console by default:
"Export request pending. [id=X, status=X]" "Waiting for X
seconds..." "Request not found on server, X retries left."
These were handled by drms and are now logging messages. If you
want to silence these messages, you can set the logging level
to WARNING or higher.
import logging
drms_logger = logging.getLogger("drms")
drms_logger.setLevel(logging.WARNING)
from sunpy.net import fido, attrs
Note, you have to do it before you import fido. (#7307)
* The function ~sunpy.coordinates.get_horizons_coord no longer
calls the astroquery package, so astroquery is no longer a
dependency. (#7319)
* The requests package is a now formally a core dependency.
requests was already commonly installed as an implied
dependency of sunpy.net or for building documentation. (#7319)
* ~sunpy.net.jsoc.attrs.Notify checks that a valid email address
has been given as a value. (#7342)
* The delim_whitespace keyword in pandas.read_csv is deprecated
and was updated with sep='\s+'. This should have no affect on
the output of the code. (#7350)
* Fixed an environment-specific failure of a unit test for
sunpy.coordinates.Helioprojective.is_visible. (#7356)
* Moved to pyproject.toml and removed setup.py and setup.cfg.
(#7384)
* pyerfa is now a new direct dependency. It has been an indirect
dependency from sunpy 3.1, over two years ago. (#7397)
* Increased Python minimum version to be >= 3.10. (#7402)
* Fixed an unnecessary division computation when performing a
unsupported division operation using a ~sunpy.map.Map. (#7551)
* Updated the internal URL for the
~sunpy.net.dataretriever.sources.norh.NoRHClient to point to a
HTTPS archive of the NoRH data. (#7696)
- Add sunpy-exclude-toplevel.patch
-------------------------------------------------------------------
Thu Jul 11 08:57:36 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Revert restriction.
https://github.com/sunpy/sunpy/blob/v5.1.4/pyproject.toml#L17
-------------------------------------------------------------------
Tue Jul 9 05:13:08 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Restrict numpy to < 2.
-------------------------------------------------------------------
Mon Jun 10 19:26:13 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 5.1.4
* Fixed bug where conversion of results from the HEKClient to Astropy
Time failed when some values where empty or missing for the values
of event_strattime, event_endtime or event_peaktime (#7627)
* Fix compilation with gcc 14, avoid implicit pointer conversions. (#7662)
- Drop patches for issues fixed upstream
* https://github.com/sunpy/sunpy/pull/7662.patch
-------------------------------------------------------------------
Thu Jun 6 07:53:25 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Cherry-pick upstream patch to fix build with GCC 14
* https://github.com/sunpy/sunpy/pull/7662.patch
-------------------------------------------------------------------
Sat May 25 10:17:09 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 5.1.3
* Fixed an unnecessary division computation for an unsupported
division by a Map
* numpy 2.0
* Enable use of SunPyBaseCoordinateFrame outside sunpy
-------------------------------------------------------------------
Sun May 5 11:26:19 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 5.1.2
* Fixed the appearance of a double "Notes" heading in
~sunpy.map.Map subclasses. (#7376)
* Fix a bug which caused Fido.search to crash due to SSL
certificate verification error for the
~sunpy.net.helio.HECClient now returns no results and logs a
warning in this case. (#7446)
* The creation of the series string for a JSOC query was not
adding the correct escape characters for comparison values for
keywords. This was causing the JSOC to error. (#7467)
* JPEG2000 files are now saved with the correct orientation.
Previously they would be vertically flipped when saved. (#7486)
* Fixed a very minor inaccuracy in three sunpy.map utility
functions (~sunpy.map.contains_full_disk,
~sunpy.map.coordinate_is_on_solar_disk, and
~sunpy.map.is_all_off_disk) resulting from the accidental use
of the small-angle approximation. (#7512)
* The ~sunpy.map.GenericMap.rotate function now correctly updates
the NAXISi. (#7522)
* Fixed an inaccuracy in the implementation of
~sunpy.coordinates.HeliocentricEarthEcliptic and
~sunpy.coordinates.GeocentricSolarEcliptic such that the Earth
was not exactly in the XY plane, but rather had an error of up
~10 meters. (#7530)
* Fixed a bug with any coordinate transformation starting in
~sunpy.coordinates.GeocentricEarthEquatorial (GEI) returning
output with AU as the length unit, rather than preserving the
length unit of the initial coordinate. (#7545)
-------------------------------------------------------------------
Sun Jan 21 10:42:06 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 5.1.1:
* Add an example of plotting a rectangle on a map with a
rotation angle relative to the axes (:ref:`sphx_glr_generated
_gallery_plotting_plot_rotated_rectangle.py`).
* Added testing and explicit support for Python 3.12.
* When calling :meth:`sunpy.map.GenericMap.rotate` on an
integer data array, with missing set to NaN (the default
value), the method will now itself raise an informative error
message instead deferring to NumPy to raise the error.
* Fixed the usage of :meth:`~sunpy.map.GenericMap.superpixel`
in :ref:`sphx_glr_generated_gallery_map_map_resampling_and_su
perpixels.py`.
* Added Clarification on setting JSOC Email.
* Added explanation text to :ref:`sphx_glr_generated_gallery_pl
otting_plotting_blank_map.py` about the offset between "(0,
0)" in helioprojective coordinates and the heliographic
equator.
* The delim_whitespace keyword in pandas.read_csv is deprecated
and was updated with sep='\s+'. This should have no affect on
the output of the code.
* Fixed an environment-specific failure of a unit test for
:meth:`sunpy.coordinates.Helioprojective.is_visible`.
-------------------------------------------------------------------
Fri Nov 24 12:51:22 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 5.1.0
## New Features
* Added the ability to skip over errors raised for invalid fits
files when passing a list of files to map using the existing
keyword argument silence_errors. (#7018)
* Added a sunpy.coordinates.Helioprojective.is_visible method to
return whether the coordinate is visible (i.e., not obscured
from the observer assuming that the Sun is an opaque sphere).
(#7118)
* Added a keyword option (quiet) for
~sunpy.coordinates.get_body_heliographic_stonyhurst to silence
the normal reporting of the light-travel-time correction when
observer is specified. (#7142)
* Added the function sunpy.coordinates.sun.eclipse_amount to
calculate the solar-eclipse amount for an observer. (#7142)
* Add a keyword (map_center_longitude) to
~sunpy.map.header_helper.make_heliographic_header for centering
the heliographic map at a longitude other than zero longitude.
(#7143)
* The minimum required version of Glymur (an optional dependency
for reading JPEG2000 files) has been increase to 0.9.1. (#7164)
* Added new default colormap scalings for WISPR Maps. Plots are
now clipped at zero, and ~astropy.visualization.AsinhStretch is
used for the scaling to ensure coronal details are visible
despite the much-brighter stars. Parsing of the detector and
level fields of the FITS headers is also improved. (#7180)
* When creating a coordinate or coordinate frame without
specifying obstime, the obstime value from the observer frame
attribute will be used if present. (#7186)
* Added a GONG synoptic map class which fixes non-compliant FITS
metadata (#7220)
* Added the module sunpy.coordinates.spice to enable the use of
the ~astropy.coordinates.SkyCoord API to perform computations
using SPICE kernels. (#7237)
* Added three coordinate frames that depend on the orientation of
Earth's magnetic dipole: ~sunpy.coordinates.Geomagnetic (MAG),
~sunpy.coordinates.SolarMagnetic (SM), and
~sunpy.coordinates.GeocentricSolarMagnetospheric (GSM). (#7239)
## Bug Fixes
* Fix RHESSI (~sunpy.net.dataretriever.RHESSIClient) fallback
server detection. (#7092)
* Fix bug in ~sunpy.coordinates.get_horizons_coord when
specifying a time range via a dictionary that could cause the
returned times to be slightly different from the supplied
times. (#7106)
* Updated the url of the ~sunpy.net.dataretriever.GBMClient to
match on files other than those that end with version 0 (i.e.,
V0.pha). (#7148)
* When directly instantiating a ~astropy.wcs.WCS from a FITS
header that contains both Stonyhurst and Carrington
heliographic coordinates for the observer location, the
Stonyhurst coordinates will now be prioritized. This behavior
is now consistent with the ~sunpy.map.Map class, which has
always prioritized Stonyhurst coordinates over Carrington
coordinates. (#7188)
* Fixed a bug with ~sunpy.map.sample_at_coords() where sampling
outside the bounds of the map would sometimes not error and
instead return strange pixel values. (#7206)
* Improved code when loading CDF files to improve performance and
avoid raising of pandas performance warnings. (#7247)
* Fixed a bug with sunpy.map.GenericMap.plot where setting norm
to None would result in an error. (#7261)
## Deprecations
* Deprecated silence_errors in Map and Timeseries. This has been
replaced with allow_errors keyword. (#7021)
* The sunpy.coordinates.transformations module is now slated for
removal from the public API as it consists of internal
functions used by coordinate transformations. The context
managers sunpy.coordinates.transform_with_sun_center and
sunpy.coordinates.propagate_with_solar_surface should be
accessed under sunpy.coordinates. (#7113)
## Removals
* sunpy.map.extract_along_coord() has been removed. Instead, use
~sunpy.map.pixelate_coord_path, and then pass its output to
~sunpy.map.sample_at_coords. pixelate_coord_path uses a
different line algorithm by default, but you can specify
bresenham=True as an argument to use the same line algorithm as
extract_along_coord. (#7200)
* sunpy.visualisation.limb.draw_limb() has been removed. Use
sunpy.visualization.drawing.limb instead. (#7202)
* Removed GenericTimeSeries.index. Use GenericTimeseries.time
instead as a direct replacement. (#7203)
* Removed the deprecated sunpy.io.cdf submodule, which is not
intended to be user facing. (#7240)
* Removed the deprecated sunpy.io.jp2, which is not intended to
be user facing. (#7241)
* Removed the deprecated sunpy.io.file_tools, which is not
intended to be user facing. (#7242)
* The deprecated sunpy.data.download_sample_data() has been
removed Use sunpy.data.sample.download_all instead. (#7250)
## Internal Changes
* Removed the Binder configuration and link in README. This is
because the configuration was untested, and does not currently
work. (#7062)
* Add a Dependabot config file to auto-update GitHub action
versions. (#7068)
* Add tests to check whether various ~sunpy.map.Map methods
preserve laziness when operating on Maps backed by a
dask.array.Array. (#7100)
* Added missing support to find GOES-18 XRS data in
~sunpy.net.dataretriever.XRSClient. (#7108)
* Raise an error with a helpful message when
sunpy.map.GenericMap.plot is called with a non-boolean value
for the annotate keyword, because the user is probably trying
to specify the axes. (#7163)
* Fixed our ASDF manifest having the incorrect ID. (#7282)
* Fix example formatting in a few asdf schemas. (#7292)
* Pinned the drms requirement to < 0.7 to avoid breaking changes
in drms version 0.7. (#7308)
-------------------------------------------------------------------
Thu Sep 14 14:02:59 UTC 2023 - Markéta Machová <mmachova@suse.com>
- Update to 5.0.1
* Fix RHESSI (RHESSIClient) fallback server detection.
* Fix bug in get_horizons_coord() when specifying a time range via
a dictionary that could cause the returned times to be slightly different
from the supplied times.
* Updated the url of the GBMClient to match on files other than those that
end with version 0
* Added missing support to find GOES-18 XRS data in XRSClient.
- Really drop python-311.patch
-------------------------------------------------------------------
Fri Aug 4 07:25:16 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 5.0.0:
* `~sunpy.net.dataretriever.XRSClient` now provides the re-processed
GOES-XRS 8-15 data from NOAA.
* Changed the output of :func:`sunpy.map.sample_at_coords` to return the
sampled values as `~astropy.units.Quantity` with the appropriate units
instead of merely numbers.
* Able to run the ``sunpy`` tests doing ``python -m sunpy.tests.self_test``.
* Able to detect gzip-compressed FITS files even if they don't have the
``.gz`` extension in the filename.
`~sunpy.io.detect_filetype` now looks for the right file signature while
checking for gzipped FITS files.
* Added ``AttrAnd`` and ``AttrOr`` to the namespace in ``sunpy.net.attrs``.
* `~sunpy.net.dataretriever.SUVIClient` now provides GOES-18 SUVI data.
* The minimum required versions of several core dependencies have been
updated:
+ Python 3.9
+ astropy 5.0.1
+ numpy 1.21.0
* Added the utility function :func:`sunpy.map.pixelate_coord_path` to
fully pixelate a coordinate path according to the pixels of a given map.
* Able to download files from REST/TAP Data Providers from the VSO.
* Adding data unit into html repr for `sunpy.map.Map`
* Joined ``HISTORY`` keys with newline characters when parsing ``HISTORY``
cards from FITS header.
* Added the ability to query for the GOES-XRS 1 minute average data with
the `.XRSClient`.
* Increased minimum version of `parfive` to 2.0.0.
* Fixed the incorrect calculation in
sunpy.map.header_helper.make_fitswcs_header` of the rotation matrix
from a rotation angle when the pixels are non-square.
* Fixed an issue with loading old EIT fits files with `sunpy.map.Map`
where the date could not be parsed.
* Fixed a bug where the `~sunpy.map.GenericMap.exposure_time` returned
``None`` when the exposure time key was set to zero.
* HMI JPEG2000 files from Helioviewer could not be loaded due to a bug in
setting the plotting normalization.
* The ``data_manager`` was not raising failed downloads correctly and
would continue as if the file existed locally.
* `~sunpy.map.sources.XRTMap` will now set the unit for XRT files if
the ``BUNIT`` key is missing.
* `~sunpy.net.dataretriever.XRSClient` update use the new url for which
the GOES-XRS 8-15 data is provided by NOAA.
* Updated `~sunpy.database` to be compatible with ``SQLAlchemy``
versions >=2.0
* When using ``autoalign=True`` when plotting maps, the result was
misaligned by half a pixel.
* :meth:`sunpy.map.GenericMap.submap` can now handle a
`~astropy.coordinates.BaseCoordinateFrame` as input.
* Multi-line ``HISTORY`` and ``COMMENT`` keys metadata dictionaries are
now correctly split into multiple history and comment cards when writing
a FITS file.
* Pass in "max_splits" to Parfive to prevent multi connections to JSOC
for JSOC only queries.
* When converting an `astropy.wcs.WCS` object to a solar coordinate frame
the ``DATE-AVG`` key will be used before the ``DATE-OBS`` key, previously
only ``DATE-OBS`` was checked.
* `sunpy.map.GenericMap.rotation_matrix` now applies the default values if
any FITS rotation matrix keywords are missing from the header.
* Modified :func:`sunpy.io.special.srs.read_srs` to correctly handle
uppercase SRS files and supplementary sections occurring after the main
data sections.
- Drop patch python-311.patch, no longer required.
- Switch to pyproject macros.
- Reinstate dask for python311, numba exists now.
-------------------------------------------------------------------
Thu Mar 23 06:53:31 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Don't test with dask for python311: No numba yet
-------------------------------------------------------------------
Mon Feb 27 12:48:29 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
- Remove patch sunpy-pr6662-np1.24.patch
- Add patch python-311.patch to support python 3.11, gh#sunpy/sunpy#6512
- Update to v4.1.3
* Backport PR #6740 on branch 4.1 (Exclude scipy==1.10.0 in deps) by
@meeseeksmachine in #6746
* Backport PR #6749 on branch 4.1 (Unpin and update database for
SQLA 2.0) by @meeseeksmachine in #6750
* Backport PR #6731 on branch 4.1 (fig-devdeps : Have to add a unit
to lon.coord_wrap) by @meeseeksmachine in #6753
* Backport PR #6711 on branch 4.1 (Raise error if downloader for
cache fails) by @meeseeksmachine in #6755
* Backport PR #6725 on branch 4.1 (add unit detection for XRT data)
by @meeseeksmachine in #6761
* Backport PR #6737 on branch 4.1 (Updating the GOES-XRS baseurl
following change on noaa side) by @meeseeksmachine in #6762
* Backport PR #6710 on branch 4.1 (Fix init issue for JP2 HMI images
from helioveiwer) by @meeseeksmachine in #6765
* Backport PR #6648 on branch 4.1 (Fix draw_quadrangle() so that it
accepts frames with data) by @meeseeksmachine in #6777
- v4.1.2
* Backport PR #6694 on branch 4.1 (pin sqlalchemy<2.0 and ignore
warning for now) by @meeseeksmachine in #6697
* Backport PR #6693 on branch 4.1 (detect gzipped-FITS files by
magic-bytes) by @meeseeksmachine in #6700
* Backport PR #6702 on branch 4.1 (fix the extremely minor issue in
Fido docs) by @meeseeksmachine in #6704
* Backport PR #6712 on branch 4.1 (Add changelog entry for
sqlalchemy pin) by @meeseeksmachine in #6714
* Backport PR #6728 on branch 4.1 (Fix HISTORY key in test maps
created from header files) by @meeseeksmachine in #6730
- v4.1.1
* Added three tutorials which replicate ~sunpy.map.CompositeMap
functionality
(sphx_glr_generated_gallery_plotting_AIA_HMI_composite.py,
sphx_glr_generated_gallery_plotting_masked_composite_plot.py,
sphx_glr_generated_gallery_plotting_three_map_composite.py). A
fourth tutorial
(sphx_glr_generated_gallery_plotting_rgb_composite.py)
demonstrates how to create an RGB image with three different maps.
(#6459)
* Fixed the incorrect calculation in
~sunpy.map.header_helper.make_fitswcs_header of the rotation
matrix from a rotation angle when the pixels are non-square.
(#6597)
* Fixed an issue with loading old EIT fits files with sunpy.map.Map
where the date could not be parsed. (#6605)
* Added sunpy.map.PixelPair to the reference documentation. (#6620)
-------------------------------------------------------------------
Sat Dec 24 10:50:52 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Add sunpy-pr6662-np1.24.patch gh#sunpy/sunpy#6662
* Ignore deprecation message from numpy 1.24
-------------------------------------------------------------------
Mon Nov 21 16:45:44 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to v4.1.0
## Breaking Changes
* Updated the sample data file, AIA_171_ROLL_IMAGE to be rice
compressed instead of gzip compressed. This means that the
data is now stored in the second HDU. (#6221)
## Deprecations
* Passing positional arguments to all timeseries peek() methods
is now deprecated, and will raise an error in sunpy 5.1. Pass
the arguments with keywords (e.g. title='my plot title')
instead. (#6310)
* Using sunpy.timeseries.GenericTimeSeries.index is deprecated.
Use ~sunpy.timeseries.GenericTimeSeries.time to get an astropy
Time object, or ts.to_dataframe().index to get the times as a
pandas DataTimeIndex. (#6327)
* Deprecated the sunpy.visualization.limb module. The
sunpy.visualization.limb.draw_limb function has been moved into
~sunpy.visualization.drawing as
~sunpy.visualization.drawing.limb. (#6332)
* The sunpy.net.helioviewer module is deprecated and will be
removed in version 5.1. The Helioviewer Project now maintains a
replacement Python library called hvpy. As such, in
consultation with the Helioviewer Project, we have decided to
deprecate the HelioviewerClient class. (#6404)
* Passing the algorithm, return_footprint arguments as positional
arguments is deprecated. Pass them as keyword arguments (e.g.
..., return_footprint=True, ...) instead. (#6406)
* sunpy.data.download_sample_data is now deprecated. Use
sunpy.data.sample.download_all instead. (#6426)
* The sunpy.database module is no longer actively maintained and
has a number of outstanding issues. It is anticiapted that
sunpy.database will be formally deprecated in sunpy 5.0 and
removed in sunpy 6.0. If you are using sunpy.database and would
like to see a replacement, please join the discussion thread at
https://community.openastronomy.org/t/deprecating-sunpy-database/495.
(#6498)
## Removals
* The sunpy.io.fits sub-module has been removed, as it was
designed for internal use. Use the astropy.io.fits module
instead for more generic functionality to read FITS files.
(#6432)
* The sunpy.physics.solar_rotation sub-module has been removed,
having been moved to sunkit_image.coalignment. (#6433)
* Most of the sunpy.visualization.animator subpackage has been
removed, with the exception of
~sunpy.visualization.animator.MapSequenceAnimator It has been
moved into the standalone mpl-animators package Please update
your imports to replace sunpy.visualization.animator with
mpl_animators. (#6434)
* Remove GenericMap.shift method and the
GenericMap.shifted_value. Use
~sunpy.map.GenericMap.shift_reference_coord instead. (#6437)
* sunpy.util.scraper has been removed. Use sunpy.net.scraper
instead. (#6438)
* sunpy.image.coalignment has been removed. Use
sunkit_image.coalignment instead, which contains all the same
functionality. (#6440)
* sunpy.map.GenericMap.draw_limb can no longer be used to draw
the limb on a non-WCS Axes plot. (#6533)
* sunpy.image.resample no longer accepts "neighbour" as an
interpolation method. Use "nearest" instead. (#6537)
* sunpy.image.transform.affine_transform and
sunpy.map.GenericMap.rotate no longer accepts the use_scipy
keyword. (#6538)
## New Features
* Updated and expanded the HTML representation for
~sunpy.timeseries.TimeSeries. (#5951)
* When reading CDF files, any columns with a floating point data
type now have their masked values converted to NaN. (#5956)
* Add support for saving ~sunpy.map.GenericMap as JPEG 2000
files. (#6153)
* Add a function sunpy.map.extract_along_coord that, for a given
set of coordinates, finds each array index that crosses the
line traced by those coordinates and returns the value of the
data array of a given map at those array indices. (#6189)
* Three new maps have been added to the sample data from STEREO A
and STEREO B at 195 Angstrom, and AIA at 193 Angstrom. These
images are from a time when the three spacecraft were equally
spaced around the Sun, and therefore form near complete
instantaneous coverage of the solar surface.
* Users upgrading to this version will find this three files
download when they use the sample data for the first time.
(#6197)
* Added a SDO/AIA 1600 file of the Venus transit to the sunpy
sample data. (#6242)
* Created the sunpy.visualization.drawing module which includes
new ~sunpy.visualization.drawing.equator and
~sunpy.visualization.drawing.prime_meridian functions. (#6251)
* Expose GOES quality flags in order to allow filtering corrupt
values when using the
~sunpy.timeseries.sources.goes.XRSTimeSeries. (#6260)
* All TimeSeries plotting methods now consistently set the same
formatter and locator for the x-axis. (#6264)
* sunpy.timeseries.GenericTimeSeries.peek now takes a title
argument to set the title of the plot. (#6304)
* Added the sunpy.timeseries.GenericTimeSeries.time property to
get the times of a timeseries as a ~astropy.time.Time object.
(#6327)
* Added the
sphx_glr_generated_gallery_plotting_plot_equator_prime_meridian.py
example to the Example Gallery. (#6332)
* Added a new function
sunpy.map.header_helper.make_heliographic_header to help with
generating FITS-WCS headers in Carrington or Stonyhurst
coordinate systems that span the entire solar surface. (#6415)
* Sample data files provided through sunpy.data.sample are now
downloaded individually on demand rather than being all
downloaded upon import of that module. To download all sample
data files, call sunpy.data.sample.download_all. (#6426)
* ~.XRSTimeSeries is now able to parse the primary detector
information from the GOES-R XRS data if available. (#6454)
* sunpy.net.Scraper now includes treats files as spanning a full
interval equal to the smallest increment specified in the file
pattern. For example, a pattern like "%Y.txt" that only
contains a year specifier will be considered to span that full
year.
* This means searches that fall entirely within the whole
interval spanned by a pattern will return that file, where
previously they did not. As an example, matching "%Y.txt" with
TimeRange('2022-02-01', '2022-04-01') will now return
["2022.txt"] where previously no files were returned. (#6472)
* Implemented site configuration for sunpyrc, and modified
documentation for sunpy customization. (#6478)
* ~sunpy.map.header_helper.make_fitswcs_header now includes the
keyword argument unit for setting the BUNIT FITS keyword in the
resulting header. This will take precedence over any unit
information attached to data. (#6499)
* If the data argument to
~sunpy.map.header_helper.make_fitswcs_header is an
~astropy.units.Quantity, the associated unit will be used to
set the BUNIT FITS keyword in the resulting header. (#6499)
* Added a 304 sample data file called AIA_304_IMAGE. (#6546)
## Bug Fixes
* Fix a bug that prevented EUI maps with missing wavelength.
- Release 4.0.7
## Bug Fixes
* Fixed the incorrect calculation in
~sunpy.map.header_helper.make_fitswcs_header of the rotation
matrix from a rotation angle when the pixels are non-square.
(#6597)
* Fixed bug that prevented
~sunpy.coordinates.metaframes.RotatedSunFrame instances from
being pickled. (#6342)
* The right-hand y-axis of the GOES-XRS timeseries plots with
labelled flare classes now automatically scales with the
left-hand y-axis. (#6486)
* Add support for Python 3.11.
* The deprecated cgi.parse_header is now available as
sunpy.util.net.parse_header. (#6512)
* Fixed the metadata handling of ~sunpy.map.GenericMap.resample
and ~sunpy.map.GenericMap.superpixel so that the CDELTi values
are scaled and the PCi_j matrix (if used) is modified in the
correct manner for asymmetric scaling. The previous approach of
having the PCi_j matrix store all of the scaling resulted in
non-intuitive behaviors when accessing the
~sunpy.map.GenericMap.scale and
~sunpy.map.GenericMap.rotation_matrix properties, and when
de-rotating a map via ~sunpy.map.GenericMap.rotate. (#6571)
* Fixed a bug with the sunpy.map.GenericMap.rotation_matrix
property for maps using the CDij matrix formulism where the
rotation matrix would be calculated incorrectly for non-square
pixels. (#6573)
* Fixd a bug with the sunpy.map.GenericMap.scale property for
maps containing only the CDij matrix where the scale was not
being determined from the CDij matrix. (#6573)
* Fixed a bug where ~sunpy.time.parse_time would always disregard
the remainder of a time string starting with the final period
if it was followed by only zeros, which could affect the
parsing of the time string. (#6581)
-------------------------------------------------------------------
Mon Nov 7 17:34:30 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to v4.0.6
* Fix a bug in loading .XRSTimeSeries due to unsupported quality
flag column names. (#6410)
* Adds units (dimensionless units) to the quality columns in
.XRSTimeSeries. (#6423)
* Refactored ~sunpy.map.sources.SXTMap to use ITRS observer
coordinate information in header rather than incorrect HGS
keywords. The ~sunpy.map.sources.SXTMap also now uses the
default dsun property as this information can be derived from
the (now corrected) observer coordinate. (#6436)
* In sunpy.map.GenericMap.coordinate_system and
sunpy.map.GenericMap.date, the default values will now be used
if the expected key(s) used to derive those properties are
empty. Previously, empty values of these keys were not treated
as missing and thus the default values were not correctly
filled in. (#6436)
* Fixed a bug where the observer coordinate was incorrectly
determined for ~sunpy.map.sources.KCorMap. (#6447)
* Trying to download an empty search response from the JSOC now
results in an empty results object. Previously the results
object contained the path to the sunpy download directory.
(#6449)
* Removed an error when searching CDAWEB using sunpy.net.Fido and
no results are returned. An empty response table is now
returned. (#6450)
* Fix a bug to parse the GOES "observatory" number in
~.XRSTimeSeries for GOES 13, 14, 15 and for the 1 minute GOES-R
data. (#6451)
* Changed the default scaling for ~sunpy.map.sources.XRTMap from
a linear stretch to ~astropy.visualization.LogStretch.
* To revert to the previous linear stretch do the following:
from astropy.visualization import ImageNormalize, LinearStretch
xrtmap.plot_settings["norm"] = ImageNormalize(stretch=LinearStretch())
(#6480)
* Fix the detector property of ~sunpy.map.sources.SOTMap to
return "SOT". (#6480)
- Release v4.0.5
* Test data cleanup (#6065) by @nabobalis in #6354
* Minor improvements to data acquisition guide
* Allow EVE to have two additional files in Fido search test
* pin version of jsonschema
* Removes lingering use of Astropy's matrix_product()
* Fix Matplotlib colormap deprecation
* Fix the ordering of the API docs
* Fix adaptive reproject test with reproject 0.9
* Fix Matplotlib get_cmap deprecation
* Change the jsoc email to a sunpy one
- Drop sunpy-scikit-image-deprecation.patch
-------------------------------------------------------------------
Thu Aug 11 11:45:37 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to v4.0.4
* update metadata for pypi page
* Add bugfix release policy to docs
* Update license year
- Release v4.0.3
* Fixed ~sunpy.timeseries.sources.XRSTimeSeries inability to read
leap-second files for GOES. It floors the leap-second timestamp
to be 59.999, so that Python datetime does not raise an
exception. (#6262)
* Fixed bugs when working with a coordinate frame where the
observer is specified in
~sunpy.coordinates.frames.HeliographicStonyhurst with a
Cartesian representation, which is equivalent to Heliocentric
Earth Equatorial (HEEQ). Now, the observer will always be
converted to spherical representation when the coordinate frame
is created. (#6311)
* Fixed an error when Fido returns zero results from the VSO and
some results from at least one other data source. This (now
fixed) error is only present when using numpy version >= 1.23.
(#6318)
-------------------------------------------------------------------
Mon Jun 27 12:26:19 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to v4.0.2
* Added a SDO/AIA 1600 file of the Venus transit to the sunpy
sample data. (#6242)
* Expose GOES quality flags in order to allow filtering corrupt
values when using the
~sunpy.timeseries.sources.goes.XRSTimeSeries. (#6260)
* The sunpy.net.dataretriever.sources.noaa.SRSClient was not
correctly setting the passive mode for FTP connection resulting
in a permission error. This has been fixed. (#6256)
* Changed the default scaling for ~sunpy.map.sources.EUIMap from
a linear stretch to a asinh stretch. To revert to the previous
linear stretch do the following: from astropy.visualization
import ImageNormalize, LinearStretch
euimap.plot_settings["norm"] =
ImageNormalize(stretch=LinearStretch())
* Add support for upcoming parfive 2.0 release. (#6243)
* The primary sample-data URL will be changing from
https://github.com/sunpy/sample-data/raw/master/sunpy/v1/ to
https://github.com/sunpy/data/raw/main/sunpy/v1/. We expect
GitHub to redirect from the old URL for sometime but will
eventually expire it. The data.sunpy.org mirror will continue
to be available. (#6289)
* Add support for downloading sample data from more than two
mirror locations. (#6295)
- Relese 4.0.1
* Updated the sample data file, AIA_171_ROLL_IMAGE to be rice
compressed instead of gzip compressed. This means that the data
is now stored in the second HDU. (#6221)
* Three new maps have been added to the sample data from STEREO A
and STEREO B at 195 Angstrom, and AIA at 193 Angstrom. These
images are from a time when the three spacecraft were equally
spaced around the Sun, and therefore form near complete
instantaneous coverage of the solar surface.
* Users upgrading to this version will find this three files
download when they use the sample data for the first time.
(#6197)
* Fix a bug that prevented EUI maps with missing wavelength
metadata loading. (#6199)
* Improved annotations in the SRS active regions plotting
example. (#6196)
* Updated gallery examples that use STEREO data to use sample
data instead of searching for and downloading data via Fido.
(#6197)
* Updated the info_url for the
~sunpy.net.dataretriever.sources.goes.XRSClient to account for
the different default sources that vary based on GOES satellite
number. (#6152)
* Added automatic conversion of unit strings in CDF files to
astropy unit objects for the following instruments: PSP/ISOIS,
SOHO/CELIAS, SOHO/COSTEP-EPHIN, and SOHO/ERNE. (#6159)
* Add an environment variable SUNPY_NO_BUILD_ANA_EXTENSION which
when present will cause sunpy to not compile the ANA C
extension when building from source. (#6166)
* sunpy now uses the Limited Python API. Therefore, one binary
distribution (wheel) per platform is now published and it is
compatible with all Python versions sunpy supports. (#6171)
- Replace sunpy-test-ignore-warnings.patch by
sunpy-obs-profile.patch and sunpy-scikit-image-deprecation.patch
-------------------------------------------------------------------
Wed Jun 8 21:01:43 UTC 2022 - Ben Greiner <code@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
(~sunpy.timeseries.sources.GBMSummaryTimeSeries). (#5943)
* Fixed the unintentionally slow parsing of Fermi/GBM files
(~sunpy.timeseries.sources.GBMSummaryTimeSeries). (#5943)
* Fixes a bug in ~sunpy.map.sources.SJIMap where undefined
variable was used when parsing the wavelength. Also fixes the
unit parsing by removing the "corrected" string from the BUNIT
keyword as "corrected DN" cannot be parsed as a valid FITS
unit. (#5968)
* Fixed unit handling issue with .GenericMap and lowercasing the
unit before it submits it to astropy.units. (#5970)
* Fixed reading CDF files when a variable has more than 2
dimensions. If this is the case the variable will be ignored,
and a user warning is provided. (#5975)
* Fixed sunpy.system_info so it returns the extra group when an
optional dependency is missing. (#6011)
* Relax condition check for a HMI Synoptic map source. (#6018)
* .VSOClient was not passing **kwargs through each download
method. (#6052)
* Fixed the inability to rotate images and maps with byte
ordering that is different from the native byte order of the
system (e.g., big-endian values on a little-endian system) for
certain interpolation orders when internally using
scikit-image. (#6064)
* Fixed a crash for dask arrays when displaying the
~sunpy.map.GenericMap html representation. (#6088)
* Constructing the color map name for a
~sunpy.map.sources.KCorMap no longer requires the "detector"
key in the metadata. This allows for reading files that are
missing this keyword, as in the KCor JPEG2000 files. (#6112)
* We now correctly pass keyword arguments in our internal FITS
reader to astropy.io.fits.open. (#6123)
- Refresh sunpy-test-ignore-warnings.patch
- Re-enable python310: re-enabled zeep because xmlsec is optional.
-------------------------------------------------------------------
Sat May 21 09:36:16 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Doesn't build with 3.10 because of missing xmlsec.
-------------------------------------------------------------------
Tue Apr 26 10:33:52 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update sunpy-test-ignore-warnings.patch to include warnings
filter for Pillow 10 -- gh#sunpy/sunpy#6022
-------------------------------------------------------------------
Tue Apr 5 10:11:48 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Add sunpy-test-ignore-warnings.patch
* Ignore Python 3.10 distutils usage
* Add hypothesis profile for slow obs test suite executions
* Ignore leap second warnings for reproducible tests
gh#sunpy/sunpy#6030
-------------------------------------------------------------------
Sat Apr 2 21:01:29 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to 3.1.5
* 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)
* When getting IRIS files from the VSO, Fido was incorrectly
labelling them as XML files. (#5868)
* 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)
* Fixes a bug in ~sunpy.map.sources.IRISMap where undefined
variable was used when parsing the wavelength. Also fixes the
unit parsing by removing the "corrected" string from the BUNIT
keyword as "corrected DN" cannot be parsed as a valid FITS
unit. (#5968)
* Fixed unit handling issue with .GenericMap and lowercasing the
unit before it submits it to astropy.units. (#5970)
- Release 3.1.4
* 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)
* 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)
- Reenable dask for python310 test suite
- Drop sunpy-pr5830-pandas140.patch
-------------------------------------------------------------------
Sat Feb 5 22:37:06 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to 3.1.3
* Big changelog since 3.0.1
* Adds support for Python 3.10
* Breaking API changes and removals documented in release notes:
https://github.com/sunpy/sunpy/releases
- Add sunpy-pr5830-pandas140.patch -- gh#sunpy/sunpy#5830
-------------------------------------------------------------------
Thu Aug 5 18:36:08 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to 3.0.1
Big changelog since 2.1.4
-------------------------------------------------------------------
Fri Apr 9 13:05:52 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to 2.1.4
Big changelog since 2.0.7:
https://github.com/sunpy/sunpy/releases
Backwards incompatible changes in 2.1.0:
* Support for Python 3.6 and Numpy 1.15 has been dropped in line
with NEP 29. The minimum supported version of Astropy is now 4.
0, and the minimum version of scipy is now 1.2. (#4284)
* Changed sunpy.coordinates.sun.B0 return type from ~astropy.
coordinates.Angle to ~astropy.coordinates.Latitude. (#4323)
* An error is now raised if vmin or vmax are passed to to sunpy.
map.GenericMap.plot and they are already set on the map norm.
This is consistent with upcoming Matplotlib changes. (#4328)
* Previously slicing the result of Fido.search() (a ~sunpy.net.
fido_factory.UnifiedResponse object) so that it had a length
of one returned another ~sunpy.net.fido_factory.
UnifiedResponse object. Now it will return a ~sunpy.net.
base_client.QueryResponseTable object, which is a subclass of
astropy.table.Table. (#4358)
* The .size property of a coordinate frame with no associated
data will now raise an error instead of returning 0. (#4577)
* The following ~sunpy.map.Map methods have had support for
specific positional arguments removed. They must now be passed
as keyword arguments (i.e. m.method(keyword_arg=value)).
* ~sunpy.map.GenericMap.submap: width, height.
~sunpy.map.GenericMap.draw_rectangle: width, height, axes,
top_right. (#4616)
* The sunpy specific attributes .heliographic_observer and .rsun
are no longer set on the ~astropy.wcs.WCS returned by sunpy.
map.GenericMap.wcs. (#4620)
* Due to upstream changes, the parsing logic for the ~sunpy.net.
helio.HECClient now returns strings and not bytes for ~sunpy.
net.helio.HECClient.get_table_names. (#4643)
* Reduced the selection of dependent packages installed by
default via pip, which means that some of our sub-packages
will not fully import when sunpy is installed with pip install
sunpy. You can install all dependencies by specifying pip
install sunpy[all], or you can install sub-package-specific
dependencies by specifying, e.g., [map] or [timeseries].
(#4662)
* The class inheritance for ~sunpy.coordinates.metaframes.
RotatedSunFrame and the frames it creates has been changed in
order to stop depending on unsupported behavior in the
underlying machinery. The return values for some isinstance/
issubclass calls will be different, but the API for ~sunpy.
coordinates.metaframes.RotatedSunFrame is otherwise unchanged.
(#4691)
* Fix a bug in ~sunpy.map.GenericMap.submap where only the top
right and bottom left coordinates of the input rectangle in
world coordinates were considered when calculating the pixel
bounding box. All four corners are once again taken into
account now, meaning that ~sunpy.map.GenericMap.submap
correctly returns the smallest pixel box which contains all
four corners of the input rectangle.
* To revert to the previous 2.0.0 behaviour, first convert the
top right and bottom left coordinates to pixel space before
calling submap with:
top_right = smap.wcs.world_to_pixel(top_right) * u.pix
bottom_left = smap.wcs.world_to_pixel(bottom_left) * u.pix
smap.submap(bottom_left=bottom_left, top_right=top_right)
This will define the rectangle in pixel space. (#4727)
* VSO results where the size was -1 (missing data) now return
None rather than -1 to be consistent with other missing data
in the VSO results. (#4798)
* All result objects contained within the results of a Fido.
search() (a ~sunpy.net.fido_factory.UnifiedResponse object)
are now ~sunpy.net.base_client.QueryResponseTable objects (or
subclasses thereof). These objects are subclasses of astropy.
table.Table and can therefore be filtered and inspected as
tabular objects, and the modified tables can be passed to Fido.
fetch.
* This, while a breaking change for anyone accessing these
response objects directly, will hopefully make working with
Fido search results much easier. (#4798)
* Results from the ~sunpy.net.dataretriever.NOAAIndicesClient
and the ~sunpy.net.dataretriever.NOAAPredictClient no longer
has Start Time or End Time in their results table as the
results returned from the client are not dependant upon the
time parameter of a search. (#4798)
* The sunpy.net.vso.QueryResponse.search method has been removed
as it has not worked since the 1.0 release of sunpy. (#4798)
* The sunpy.net.hek.hek.HEKColumn class has been removed, the
HEKTable class now uses the standard astropy.table.Column
class. (#4798)
* The keys used to format file paths in Fido.fetch have changed.
They are now more standardised across all the clients, as they
are all extracted from the names of the columns in the results
table.
* For results from the VSO the keys are no longer separated with
., and are based on the displayed column names. For results
from the dataretriever clients the only main change is that
the keys are now lower case, where they were capitilized
before. You can use the ~.sunpy.net.fido_factory.
UnifiedResponse.path_format_keys method to see all the
possible keys for a particular search. (#4798)
* The time returned from
~sunpy.coordinates.sun.carrington_rotation_number has been
changed from the TT scale to the more common UTC scale. To undo
this change, use time_out = time_out.tt on the outputted time.
(#4819)
* .BaseQueryResponse.response_block_properties has been renamed
to .BaseQueryResponse.path_format_keys, on the return objects
from all search() methods on all clients and from Fido.search()
(#4798)
-------------------------------------------------------------------
Sat Jan 23 10:38:14 UTC 2021 - Benjamin Greiner <code@bnavigator.de>
- Update to 2.0.7
+ Big changlog since 1.1.0.
See https://docs.sunpy.org/en/stable/whatsnew/2.0.html
https://github.com/sunpy/sunpy/blob/master/CHANGELOG.rst
and https://github.com/sunpy/sunpy/releases
+ Highlights from the 2.0 update:
* sunpy.net.Fido now supports tab completion of search
attributes. This allows you to do a.Instrument.AIA, and
print a.Instrument to see the list of known supported
instruments.
* sunpy.instr.aia.aiaprep has been deprecated in favor
of the functionality in the aiapy
<https://aiapy.readthedocs.io/>__ package.
* Various fixes and clarifications to pixel indexing in
the sunpy.map subpackage.
* Standardization of specifying rectangles in coordinate
space in the :meth:~sunpy.map.GenericMap.submap and
:meth:~sunpy.map.GenericMap.draw_rectangle methods of
~sunpy.map.GenericMap.
* HTML quicklook previews of ~sunpy.map.GenericMap and
~sunpy.map.MapSequence instances are available with
the new :meth:~sunpy.map.GenericMap.quicklook and
:meth:~sunpy.map.MapSequence.quicklook methods,
respectively. This is also the default display in
Jupyter <https://jupyter.org/>__ notebooks.
* Integration of differential rotation into the
sunpy.coordinates framework. This enables, amongst
other things, the warping of images with the reproject
<https://reproject.readthedocs.io/>__ package and the
plotting of rotated grid lines with :ref:WCSAxes
<astropy:wcsaxes>.
- Drop fix_importlib_py_ver.patch merged upstream
-------------------------------------------------------------------
Mon Apr 20 09:09:35 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Remove python2 dependencies
- Do not condition importlib_resources, namespace is provided by
our interpreter to allow compat
-------------------------------------------------------------------
Wed Jan 29 18:49:45 UTC 2020 - Todd R <toddrme2178@gmail.com>
- Update to version 1.1.0
+ Backwards Incompatible Changes
* The `sunpy.net.vso.vso.get_online_vso_url` function has been broken into two components, the new `sunpy.net.vso.vso.get_online_vso_url` function takes no arguments (it used to take three) and now only returns an online VSO mirror or None.
The construction of a `zeep.Client` object is now handled by `sunpy.net.vso.vso.build_client` which has a more flexible API for customising the `zeep.Client` interface.
* Importing `sunpy.timeseries.timeseriesbase` no longer automatically imports
Matplotlib.
* `NOAAIndicesTimeSeries.peek` now checks that the `type` argument is a
valid string, and raises a `ValueError` if it isn't.
* Observer-based coordinate frames (`~sunpy.coordinates.frames.Heliocentric` and `~sunpy.coordinates.frames.Helioprojective`) no longer assume a default observer (Earth) if no observer is specified. These frames can now be used with no observer specified, but most transformations cannot be performed for such frames. This removal of a default observer only affects `sunpy.coordinates`, and has no impact on the default observer in `sunpy.map`.
* The callback functions provided to
`~sunpy.visualization.animator.BaseFuncAnimator` ``button_func`` keyword
argument now take two positional arguments rather than one. The function
signature is now ``(animator, event)`` where the first arg is the animator
object, and the second is the matplotlib mouse event.
* The colormap stored in SunPy's Map subclasses (ie. ``map.plot_settings['cmap']``)
can now be colormap string instead of the full `matplotlib.colormap.Colormap`
object. To get the full `Colormap` object use the new attribute
``map.cmap``.
* Fix a warning in `sunpy.map.GenericMap.rotate` where the truth value of an array
was being calculated. This changes the behaviour of
`~sunpy.map.GenericMap.rotate` when the ``angle=`` parameter is not an
`~astropy.units.Quantity` object to raise `TypeError` rather than `ValueError`.
+ Deprecations and Removals
* Removed the step of reparing images (replacing non-finite entries with local mean) before coaligning them. The user is expected to do this themselves before coaligning images. If NaNs/non-finite entries are present, a warning is thrown.
The function `sunpy.image.coalignment.repair_image_nonfinite` is deprecated.
* The method to convert a `~sunpy.coordinates.frames.Helioprojective` frame from 2D to 3D has been renamed from `~sunpy.coordinates.frames.Helioprojective.calculate_distance` to `~sunpy.coordinates.frames.Helioprojective.make_3d`. This method is not typically directly called by users.
* `sunpy.visualization.animator.ImageAnimatorWCS` is now deprecated in favour of
`~sunpy.visualization.animator.ArrayAnimatorWCS`.
* ``sunpy.cm`` has been moved to `sunpy.visualization.colormaps` and will be
removed in a future version.
+ Features
* Add a new `sunpy.data.manager` and `sunpy.data.cache` for dealing with versioned remote data within functions.
Please see the `Remote Data Manager <https://docs.sunpy.org/en/latest/dev_guide/remote_data.html>`__ guide.
* Added the coordinate frames `~sunpy.coordinates.frames.HeliocentricEarthEcliptic` (HEE), `~sunpy.coordinates.frames.GeocentricSolarEcliptic` (GSE), `~sunpy.coordinates.frames.HeliocentricInertial` (HCI), and `~sunpy.coordinates.frames.GeocentricEarthEquatorial` (GEI).
* Added SunPy Map support for GOES SUVI images.
* - Support APE14 for ``ImageAnimatorWCS`` in SunPy's visualization module
* Add ability to disable progressbars when dowloading files using `sunpy.net.helioviewer.py` and edited docstrings to mention this feature.
* Adds support for searching and downloading SUVI data.
* Log all VSO XML requests and responses to the SunPy logger at the ``DEBUG``
level.
* Transformations between frames in `sunpy.coordinates` can now provide detailed debugging output. Set the `logging` level to ``DEBUG`` to enable this output.
* Added the `sunpy.coordinates.sun.carrington_rotation_time` function to
compute the time of a given Carrington rotation number.
* A new method has been added to remove columns from a
`sunpy.timeseries.GenericTimeSeries`.
* Add `shape` property to TimeSeries.
* Added ASDF schemas for the new coordinate frames (`~sunpy.coordinates.frames.GeocentricEarthEquatorial`, `~sunpy.coordinates.frames.GeocentricSolarEcliptic`, `~sunpy.coordinates.frames.HeliocentricEarthEcliptic`, `~sunpy.coordinates.frames.HeliocentricInertial`). See the gallery for an example of using `asdf` to save and load a coordinate frame.
* `sunpy.visualization.animator.ArrayAnimatorWCS` was added which uses the WCS
object to get the coordinates of all axes, including the slider labels. It also provides the
ability to customise the plot by specifying arguments to
`~astropy.visualization.wcsaxes.WCSAxes` methods and supports animation of
WCS aware line plots with Astroy 4.0.
* The returned list of `~sunpy.map.Map` objects is now sorted by filename when
passing a directory or glob pattern to `~sunpy.map.MapFactory`.
* Single character wildcards and character ranges can now be passed as
glob patterns to `~sunpy.map.Map`.
* `~sunpy.map.Map` now accepts filenames and directories as `pathlib.Path`
objects.
* `~sunpy.map.GenericMap` objects now have a ``.cmap`` attribute, which returns the full `~matplotlib.colormap.Colormap`.
object.
* `sunpy.io.write_file()` now accepts `~pathlib.Path` objects as filename inputs.
* `sunpy.map.make_fitswcs_header` now accepts a `tuple` representing the shape of an array as well as the actual array as the ``data`` argument.
* Made a couple of module imports lazy to reduce the import time of sunpy.map by
~40%.
* `sunpy.map.GenericMap.wcs` now uses the full FITS header to construct the WCS.
This adds support for instruments with more complex projections, such as WISPR,
however does mean that Map will be more sensitive to incorrect or invalid FITS
headers. If you are using custom headers with SunPy Map you might encounter
issues relating to this change.
* `sunpy.visualization.animator.BaseFuncAnimator` now takes an optional
``slider_labels`` keyword argument which draws text labels in the center of the
sliders.
* Added a more helpful error message when trying to load a file or directory
that doesn't exist with `Map`.
* Add ``__repr__`` for `~sunpy.map.MapSequence` objects so that users can view the
critical information of all the ``Map`` objects, in a concise manner.
+ Bug Fixes
* Fixed accuracy issues with the calculations of Carrington longitude (`~sunpy.coordinates.sun.L0`) and Carrington rotation number (`~sunpy.coordinates.sun.carrington_rotation_number`).
* Updated `sunpy.map.header_helper.make_fitswcs_header` to be more strict on the inputs it accepts.
* Fix the calculation of ``rsun_ref`` in `~sunpy.map.make_fitswcs_header` and and
ensure that the default reference pixel is indexed from 1.
* Fixed the missing transformation between two `~sunpy.coordinates.HeliographicCarrington` frames with different observation times.
* `sunpy.map.sources.AIAMap` and `sunpy.map.sources.HMIMap` will no longer assume
the existance of certain header keys.
* `sunpy.map.make_fitswcs_header` now supports specifying the map projection
rather than defaulting to ``TAN``.
* Fix the behaviour of
`sunpy.coordinates.frames.Helioprojective.calculate_distance` if the
representation isn't Spherical.
* Fixed a bug where the longitude of a coordinate would not wrap at the expected angle following a frame transformation.
* Fixed a bug where passing a time or time interval to the differential rotation function threw an error because the new observer was not in HGS.
* Fixed bug where `~sunpy.coordinates.ephemeris.get_horizons_coord` was unable to accept `~astropy.time.Time` arrays as input.
* Fix the ticks on the default heliographic grid overlay so they are not white
(and normally invisible) by default.
* Fixed a bug with `sunpy.net.hek.HEKClient` when the results returned were a mixed dataset.
* Fix `sunpy.physics.differential_rotation.differential_rotate` to rotate in the
correct direction and to account for the rotation of the heliographic
coordinate frame with time.
* Fixed a bug with the handling of changing observation times for transformations between `~astropy.coordinates.HCRS` and `~sunpy.coordinates.frames.HeliographicStonyhurst`, which also indirectly affected other transformations when changing observation times.
* Fixed all coordinate transformations to properly handle a change in observation time.
* Fixed the handling of coordinates with velocity information when transforming between Astropy frames and SunPy frames.
* Fixed `~sunpy.physics.solar_rotation.calculate_solar_rotate_shift` so that it does not calculate a shift between the reference layer and itself, which would sometimes incorrectly result in a shift of a pixel due to numerical precision.
* Stop crash when ``LineAnimator`` ``axes_ranges`` entry given as ``1D`` array when data is ``>1D``, i.e. as an independent axis.
* Fixed a `sunpy.coordinates` bug where a frame using the default observer of Earth could have its observer overwritten during a transformation.
* Fixed a bug where the transformation from `~sunpy.coordinates.frames.Helioprojective` to `~sunpy.coordinates.frames.Heliocentric` used the Sun-observer distance from the wrong frame when shifting the origin, and thus might not give the correct answer if the observer was not the same for the two frames.
* Fixed a bug with the transformations between `~sunpy.coordinates.frames.Heliocentric` and `~sunpy.coordinates.frames.HeliographicStonyhurst` when the frame observation time was not the same as the observer observation time. The most common way to encounter this bug was when transforming from `~sunpy.coordinates.frames.Helioprojective` to any non-observer-based frame while also changing the observation time.
* VSO client `fetch` should not download when `wait` keyword argument is specified.
* Fixed a bug with `~sunpy.coordinates.wcs_utils.solar_frame_to_wcs_mapping` that assumed that the supplied frame was a SunPy frame.
* Fixed bugs with `~sunpy.coordinates.wcs_utils.solar_frame_to_wcs_mapping` if the input frame does not include an observation time or an observer.
* `~sunpy.coordinates.utils.GreatArc` now accounts for the start and end points of the arc having different observers.
* Fixed situations where 2D coordinates provided to `~sunpy.coordinates.frames.HeliographicStonyhurst` and `~sunpy.coordinates.frames.HeliographicCarrington` were not converted to 3D as intended. Furthermore, the stored data will always be the post-conversion, 3D version.
* Fix off by one error in `sunpy.map.make_fitswcs_header` where when using the
default ``reference_pixel=None`` keyword argument the pixel coordinate of the
reference pixel was off by +1.
* Updated both GOES XRS and LYRA dataretriever clients to use `~sunpy.util.scraper.Scraper`, to make sure that files are actually on the servers being queried.
* Fixing the ordering of lon and lat inputs into make_fitswcs_header
* Updated the URL for Fermi spacecraft-pointing files to use an HTTPS connection to HEASARC.
* Fixed a bug where permission denied errors when downloading files are very verbose by adding an error message in `~sunpy.net.fido_factory.UnifiedDownloaderFactory.fetch`.
* Fixed a malformed call to `astropy.time.Time` in a test, which resulted in an incorrect time scale (UTC instead of TT).
* Fix incorrect files being included in the tarball, and docs missing from the
tarball
* Fixed a bug where clipping behavior had been enabled by default in the plotting normalizers for ``Map`` objects. Clipping needs to be disabled to make use of the over/under/masked colors in the colormap.
* Fix a bug with observer based frames that prevented a coordinate with an array of obstimes being transformed to other frames.
* `sunpy.map.GenericMap` will no longer raise a warning if the posisition of the
observer is not known for frames that don't need an observer, i.e. heliographic
frames.
* Apply `os.path.expanduser` to `sunpy.map.MapFactory` input
before passing to `glob.glob`
* Fix multiple instances of `sunpy.map.sources` assuming the type of FITS Header
values.
* Fixed a bug with `~sunpy.coordinates.NorthOffsetFrame` where non-spherical representations for the north pole produced an error.
* Fixed ``map.__repr__`` when the coordinate system information contained in the
``CUNIT1/2`` metadata is not set to a known value.
* Fixed bugs with some coordinate transformations when ``obstime`` is ``None`` on the destination frame but can be assumed to be the same as the ``obstime`` of the source frame.
* Updated `sunpy.map.mapsequence.MapSequence` so that calling ``_derotate()`` raises ``NotImplementedError``.
Added associated tests.
* Fixed pandas plotting registration in `sunpy.timeseries`.
* Correctly catch and emit a warning when converting a map metadata to a FITS
header and it contains a keyword with non-ascii characters.
+ Improved Documentation
* Clean up the docstring for `sunpy.physics.differential_rotation.solar_rotate_coordinate` to make the example clearer.
* Added new gallery examples and cleaned up various gallery examples.
* Cleaned and expanded upon the docstrings for each Fido Client.
* Added clarifying hyperlinks to the gallery example `getting_lasco_observer_location` to link to `astroquery` docs page.
* Added more details to docstrings in `sunpy.coordinates.frames`.
* Added a link to package maintainer list in the API Stability page.
* Improved the contributing guide by updating commands and highlighting text.
* Removing `.fits` from the end of path kwargs in `sunpy.net.FIDO.fetch` docs to change output file extension from `{file}.fits.fits` to `{file}.fits`.
* A new example gallery section "Using SunPy with Other Packages" has been added,
which contains a set of new examples using the `reproject
<https://reproject.readthedocs.io/>`__ with solar data.
* Added a table of supported coordinate systems and other miscellaneous improvements to the :ref:`coordinates documentation <sunpy-coordinates>`.
* Clarified the meaning of :attr:`GenericMap.dsun`.
* Fixed the plots with multiple subplots in the ``Map`` user guide to properly use `~astropy.visualization.wcsaxes` and to be appropriately sized.
* Fixed various issues with the gallery example of saving/loading coordinates using `asdf`.
* Added ``sunpy.__citation__`` with a BibTex entry for citing sunpy.
* Added an example showing how to display two maps and fade between them.
* Clarified the meaning of some `GenericMap` observer properties.
* Added inherited members of `sunpy.map` classes to the docs.
* Fixed documentation of `sunpy.database.Database.search` by adding ``Returns`` docstring.
* Updated the docstring for the parameter ``sortby`` in `~sunpy.map.MapSequence` with the default value, valid value and how to disable sorting.
* Updated the tour guide to reflect that the time series is not random data.
* Fixes bold type and extra line breaks of remote data manager example
in `remote_data_manager.py`.
+ Trivial/Internal Changes
* Allow running our sphinx-gallery examples as Jupyter notebooks via Binder
* Improve error messages and type checking in
`sunpy.visualization.animator.image.ImageAnimatorWCS`.
* Copy the library `distro` into `sunpy/extern`: replaces the deprecated `platform/linux_distribution`
* The version of Matplotlib used to generate figure tests has been bumped from
3.0.3 to 3.1.1.
* Corrected spelling of 'plotting' in timeseries method (changed 'ploting' to 'plotting').
* Switched to "importlib_metadata" to get package version to speed up import of SunPy.
* Fix tests for `sunpy.data.data_manager` and ensure they are correctly executed with pytest.
- Add fix_importlib_py_ver.patch
Fixes a dependency that is not required for later python versions.
See https://github.com/sunpy/sunpy/pull/3683
-------------------------------------------------------------------
Wed Nov 27 16:02:34 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Update to version 1.0.6
+ Bug Fixes
* ~sunpy.coordinates.utils.GreatArc now
accounts for the start and end points of the arc having different
observers.
* Single character wildcards and character ranges can now be passed as
glob patterns to ~sunpy.map.Map.
* The returned list of ~sunpy.map.Map
objects is now sorted by filename when passing a directory or glob
pattern to ~sunpy.map.MapFactory.
* Fixed a bug where clipping behavior had been enabled by default in
the plotting normalizers for Map objects. Clipping needs to be
disabled to make use of the over/under/masked colors in the
colormap.
* Fix a bug with observer based frames that prevented a coordinate
with an array of obstimes being transformed to other frames.
sunpy.map.GenericMap will no longer
raise a warning if the posisition of the observer is not known for
frames that don't need an observer, i.e. heliographic frames.
* Apply os.path.expanduser to sunpy.map.MapFactory input before passing
to glob.glob
* Fix multiple instances of sunpy.map.sources assuming the type of FITS
Header values.
+ Improved Documentation
* Clarified the meaning of GenericMap.dsun.
* Updated the user guide for Map to use clip_interval.
* Updated the Venus-transit gallery to use the VSO so that it has
correct pointing information in the header.
* Fixed various issues with the gallery example of saving/loading
coordinates using asdf.
* Added sunpy.__citation__ with a BibTex entry for citing sunpy.
* Added an example showing how to display two maps and fade between
them.
+ Trivial/Internal Changes
* Copy the library distro into
`sunpy/extern`: replaces the deprecated platform/linux_distribution
* Corrected spelling of 'plotting' in timeseries method (changed
'ploting' to 'plotting').
+ SunPy v1.0.5
+ Bug Fixes
* Fix incorrect files being included in the tarball, and docs missing
from the tarball
+ SunPy v1.0.4
+ Bug Fixes
* Fixed situations where 2D coordinates provided to
sunpy.coordinates.frames.HeliographicStonyhurst and
sunpy.coordinates.frames.HeliographicCarrington were not converted to 3D
as intended. Furthermore, the stored data
will always be the post-conversion, 3D version.
* Fix off by one error in sunpy.map.make_fitswcs_header where when
using the default reference_pixel=None keyword argument the pixel
coordinate of the reference pixel was off by +1.
* Fixing the ordering of lon and lat inputs into sunpy.map.make_fitswcs_header
* Updated the URL for Fermi spacecraft-pointing files to use an HTTPS
connection to HEASARC.
+ Improved Documentation
* Improved the contributing guide by updating commands and
highlighting text.
* Removing .fits from the end of path
kwargs in sunpy.net.FIDO.fetch docs
to change output file extension from {file}.fits.fits to {file}.fits.
- Update to version 1.0.3
+ Features
* Add ability to disable progressbars when dowloading files using
sunpy.net.helioviewer.py and edited
docstrings to mention this feature.
+ Bug Fixes
* Fixed the handling of coordinates with velocity information when
transforming between Astropy frames and SunPy frames.
* Fixed all coordinate transformations to properly handle a change in
observation time.
* Fixed
~sunpy.physics.solar_rotation.calculate_solar_rotate_shift
so that it does not calculate a shift between the reference layer
and itself, which would sometimes incorrectly result in a shift of a
pixel due to numerical precision.
* Stop crash when LineAnimator axes_ranges entry given as 1D
array when data is >1D, i.e. as an independent axis.
* Fixed a bug where the transformation from
~sunpy.coordinates.frames.Helioprojective
to
~sunpy.coordinates.frames.Heliocentric
used the Sun-observer distance from the wrong frame when shifting
the origin, and thus might not give the correct answer if the
observer was not the same for the two frames.
* Fixed a bug with the transformations between
~sunpy.coordinates.frames.Heliocentric
and
~sunpy.coordinates.frames.HeliographicStonyhurst
when the frame observation time was not the same as the observer
observation time. The most common way to encounter this bug was when
transforming from
~sunpy.coordinates.frames.Helioprojective
to any non-observer-based frame while also changing the observation
time.
* Fixed a sunpy.coordinates bug where a
frame using the default observer of Earth could have its observer
overwritten during a transformation.
* VSO client fetch should not download
when wait keyword argument is
specified.
* Fixed a bug with
~sunpy.coordinates.wcs_utils.solar_frame_to_wcs_mapping
that assumed that the supplied frame was a SunPy frame.
* Fixed bugs with
~sunpy.coordinates.wcs_utils.solar_frame_to_wcs_mapping
if the input frame does not include an observation time or an
observer.
+ Improved Documentation
* Added more details to docstrings in sunpy.coordinates.frames.
* Added a link to package maintainer list in the API Stability page.
+ Trivial/Internal Changes
* Allow running our sphinx-gallery examples as Jupyter notebooks via Binder
-------------------------------------------------------------------
Tue Jul 23 15:30:32 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Update to Sunpy 1.0.2
+ Backwards Incompatible Changes
* Move the matplotlib animators from ``sunpy.visualisation.imageanimator`` and
``sunpy.visualization.mapcubeanimator`` to `sunpy.visualization.animator`.
* Make `sunpy.time.parse_time` return `astropy.time.Time` instead of `datetime.datetime`.
* The properties and methods of `sunpy.time.TimeRange` returns `astropy.time.Time` and `astropy.time.TimeDelta` instead of `datetime.datetime` and `datetime.timedelta` respectively.
* The `sunpy.instr.goes` module now accepts and returns
`sunpy.timeseries.XRSTimeSeries` objects only.
* ``obstime`` keyword param of ``sunpy.instr.goes._goes_lx`` takes a non-scalar `astropy.time.Time` object instead of `numpy.ndarray`. The precision of times contained in `sunpy.timeseries` has been increased to 9 from 6.
* Removed ``sunpy.net.jsoc.attrs.Time`` because it served the same purpose as `sunpy.net.attrs.Time` after the switch to `astropy.time.Time`.
* Remove unused ``**kwargs`` within TimeSeries functions.
* Rotation matrices inside map objects were previously stored as numpy matrices, but are now
stored as numpy arrays, as numpy will eventually remove their matrix datatype. See
https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html for more information.
* The `sunpy.cm.show_colormaps` function now accepts the keyword 'search' instead of 'filter'.
* The keyword arguments to all client ``.fetch`` methods have been changed to
support the new parfive downloader and to ensure consisteny across all Fido
clients.
* The Helioviewer client has been switched to using the newer Helioviewer API.
This has meant that we have changed some of the keywords that were passed into client's methods.
We have enforced that several keywords (observatory,instrument,detector,measurement) need to be defined otherwise the functions cannot return any data.
* Maps no longer assume that the pixel units are arcseconds if the units aren't
explicitly set. In addition to this if critical metadata is missing from when
creating a map, the map will fail to initialize and will raise an error.
* axis_ranges kwarg of `sunpy.visualization.animator.base.ArrayAnimator`, `sunpy.visualization.animator.image.ImageAnimator` and `sunpy.visualization.animator.line.LineAnimator` now must be entered as None, [min, max] or pixel edges of each array element. Previously, pixel centers were expected. This change removes ambiguity in interpretation and ensures the extent of the plot can always be accurately derived.
* All keywords have been added (with defaults) to each `~sunpy.net.helioviewer.HelioviewerClient` function.
This means that there will be some changes to the style of the PNG screenshot that is returned.
Returns for the JPEG 2000 and the other functions should be the same but not guaranteed.
* Changed `sunpy.sun.models.interior` and `sunpy.sun.models.evolution` from `pandas.DataFrame` to `astropy.table.QTable`
* Minimum numpy version is now >=1.14.5
* Removed ``sunpy.time.julian_day``, ``sunpy.time.julian_centuries``, ``sunpy.time.day_of_year``, ``sunpy.time.break_time``, ``sunpy.time.get_day``.
* Updated the solar values in `sunpy.sun.constants` to IAU 2015 values.
* Renamed `eccentricity_sunearth_orbit` to `eccentricity_sun_earth_orbit`.
* Renamed ``sunpy.image.rescale`` to `sunpy.image.resample`.
* Remove the ``basic_plot`` keyword argument from
`~sunpy.map.Map.GenericMap.peek`. An example has been added to the gallery
showing how to make a plot like this.
* `sunpy.map.GenericMap` will no longer use the key `solar_b0` as a value for heliographic latitude.
* `sunpy.map.GenericMap` now checks for a complete observer location rather than
individually defaulting coordinates (lat, lon, distance) to Earth position. If
any one of the three coordinates is missing from the header the observer will
be defaulted to Earth and a warning raised.
* `sunpy.sun.sun` functions have been re-implemented using Astropy for significantly improved accuracy. Some functions have been removed.
* All of the functions in `sunpy.sun.sun` and all of the Sun-specific functions in `sunpy.coordinates.ephemeris` have been moved to the new module `sunpy.coordinates.sun`.
+ Deprecations and Removals
* The deprecated ``sunpy.lightcurve``, ``sunpy.wcs`` and ``sunpy.spectra`` modules have now
been removed.
* ``sunpy.instr.rhessi.get_obssumm_dbase_file`` ``sunpy.instr.rhessi.get_obssum_filename``, ``sunpy.instr.rhessi.get_obssumm_file`` have been removed. `Fido <sunpy.net.fido_factory.UnifiedDownloader>` should be used to download these files.
* Removed ``heliographic_solar_center`` in favour of `~sunpy.coordinates.ephemeris.get_sun_L0` and `~sunpy.coordinates.ephemeris.get_sun_B0`
* Removed ``GenericClient.query`` in favour of `sunpy.net.dataretriever.GenericClient.search`
* Removed ``sunearth_distance`` in favour of ``get_sunearth_distance``
* Removed ``remove_lytaf_events_from_lightcurve`` in favour of `sunpy.instr.lyra.remove_lytaf_events_from_timeseries`
* Removed ``sunpy.cm.get_cmap`` in favour of ``plt.get_cmap``
* Removed ``database.query`` in favour of `sunpy.database.Database.search`
* Removed ``sunpy.net.vso.InteractiveVSOClient``
* Removed ``MapCube`` in favour of `~sunpy.map.MapSequence`
* Removed ``solar_north`` in favour of ``get_sun_P``
* Removed ``database.download`` in favour of `sunpy.database.Database.fetch`
* Removed ``sunpy.map.GenericMap.pixel_to_data`` in favour of `sunpy.map.GenericMap.pixel_to_world`
* Removed ``GenericClient.get`` in favour of `sunpy.net.dataretriever.GenericClient.fetch`. This changes applies to the other clients as well.
* Removed `Map.xrange` and `Map.yrange`
* Removed ``sunpy.net.attrs.Wave`` in favour of `a.Wavelength <~sunpy.net.vso.attrs.Wavelength>`
* Removed ``JSOCClient.check_request`` in favour of `drms.ExportRequest.status`
* `sunpy.net.vso.VSOClient.query_legacy` and `sunpy.net.vso.VSOClient.latest` have been deprecated as we strongly recommend people use `sunpy.net.Fido` for all queries.
* The deprecated ``sunpy.physics.transforms`` module has been removed, it is
replaced by `sunpy.physics.solar_rotation` and
`sunpy.physics.differential_rotation`.
* Removed `~sunpy.sun.sun.solar_cycle_number` because it was fundamentally flawed
+ Features
* Change arguments to `sunpy.test` from ``offline=`` and ``online=`` to ``online`` and ``online_only``. This matches the behavior of the figure keyword arguments and comes as a part of a move to using a modified version of the Astropy test runner.
* asdf schemas and tags were added for the SunPy coordinate frames and `~sunpy.map.GenericMap` allowing these objects to be saved to and restored from `asdf <https://asdf.readthedocs.io/>`__ files.
* The images from image tests are now saved in a local folder for easy access.
* ``sunpy.map.MapCube`` has been renamed to `sunpy.map.MapSequence` to better reflect its use as a collection of map objects.
* Net search attributes now support tab completion of values and display a table of possible values when printed, to allow easier discoverability of possible search values.
* Running the figure tests now creates a page showing the differences between
the expected figures and the figures produced from running the tests.
* Add support for Dask arrays in `sunpy.map.Map`. The map factory now checks a whitelist
of array types rather than strictly checking if the array is of type `numpy.ndarray`.
* Persist the name of a coordinate, i.e. "earth" even though a concrete
coordinate object has been calculated and use this string representation to change
the way the sunpy frames are printed. This is primarily to facilitate displaying
the name of the body rather than the concrete coordinate when printing a
`~astropy.coordinates.SkyCoord`.
* `~sunpy.net.hek.HEKClient.search` now returns an `astropy.table.Table` instead of list of a `dict`.
* Add a downscaled HMI image to the sample data.
* Now able to create a `sunpy.map.Map` using an array and a `astropy.wcs.WCS` object.
* The download manager for `Fido.fetch <sunpy.net.fido_factory.UnifiedDownloader.fetch>` has been replaced with
`parfive <https://parfive.readthedocs.io/en/latest/>`__. This provides advanced
progress bars, proper handling of overwriting and the ability to retry failed
downloads.
* `sunpy.map.GenericMap` can now save out rice compressed FITS files.
* Now any SunPyDeprecationWarnings will cause an error when using pytest.
* Added full Tox support for SunPy tests, documentation build and figure tests.
* Transition the `sunpy.net.vso.VSOClient` from using suds to `zeep <https://python-zeep.readthedocs.io/en/master/>`__ as the SOAP
library. This is a more actively maintained library, and should provide better
support for the VSOs https endpoints. This change should have no effect on the
public API of the `sunpy.net.vso.VSOClient`.
* Provided access to the Helioviewer header information using `~sunpy.net.helioviewer.HelioviewerClient.get_jp2_header` function.
* Add a new WSDL URL and port to support SunPy use of VSO instance at SDAC.
* Add support for COSMO K-Coronograph (KCOR) FITS data.
* Add logger messaging system based on `~astropy.logger.AstropyLogger`, cleaned up all warnings, removed all print statements.
* The function `sunpy.image.coalignment.get_correlation_shifts` now issues an error when the number of dimensions
are not correct instead of a warning and returning None.
* The default location of the sunpy sample data has changed to be in the platform
specific data directory as provided by `appdirs <https://github.com/ActiveState/appdirs>`__.
* Add timeseries support for EVE/ESP level 1 data in `sunpy.timeseries.sources.eve`
* The default style for Map plots have changed to reflect the changes in Astropy
3.2.
* `sunpy.coordinates.ephemeris.get_body_heliographic_stonyhurst` can now account for light travel time when computing the (apparent) body position, as long as the observer location is provided.
* Added a helper function (`sunpy.map.make_fitswcs_header`) that allows users to create a meta header for custom created `sunpy.map.GenericMap`.
* Map plotting now accepts the optional keyword `clip_interval` for specifying a percentile interval for clipping. For example, if the interval (5%, 99%) is specified, the bounds of the z axis are chosen such that the lowest 5% of pixels and the highest 1% of pixels are excluded.
* The new function `~sunpy.coordinates.get_horizons_coord` enables querying JPL HORIZONS for the locations of a wide range of solar-system bodies, including spacecraft.
+ Bug Fixes
* Fix the bug that prevented VSO queries for HMI data from downloading file
without specifying ``a.Physobs``.
* Fix `sunpy.map.mapcube.MapCube.plot`. The code had not been updated to support the changes to the wcsaxes helper functions.
* Replace all use of the deprecated ``sunpy.cm.get_cmap`` with `matplotlib.pyplot.get_cmap` to prevent deprecation warnings being raised.
* Fix generation of the coordinate transformation graph with Astropy 3.1.dev
* Prevent helioviewer from erroring when downloading file to a directory that
does not exist. It will now create the directory when required.
* Fix transformations into/out of Heliographic Stonyhurst frame when
the coordinate representation is Cartesian.
* Running the figure tests with ``setup.py test`` now saves the figures and the hashes to the same directory as setup.py.
* `sunpy.instr.fermi.met_to_utc` now returns the correct utc time which takes into account the leap seconds that have passed.
* Support passing Python file objects to `sunpy.io.fits.write`.
* Added DRMS to setup.py so sunpy[all] installs it as a dependancy.
* Fix eve 0cs timeseries seperator regex to support Python 3.7
* Fix the bug which crashes `~sunpy.map.sources.LASCOMap` for when 'date-obs' is reformatted agian from a self applied function.
* Change all instances of quantity_allclose to `astropy.units.allclose` this prevents pytest being needed to import `sunpy.coordinates` on Astropy 3
* Fix RHESSI obssum file downloading to include the final day in the time range.
* Raise an error when transforming between HPC and HCC frames if the observer is not the same.
* Replaces the existing LASCO C2 and C3 color maps with new ones that perform better with JP2 and Level 0.5, 1 data.
* Do not attempt to save a FITS header comment for a keyword which is not in the header. This prevents an error on saving some maps after the metadata had been modified but not the comments.
* Add support for `~sunpy.map.sources.HMIMap` objects as input to `sunpy.instr.aia.aiaprep`.
* User can convert between HPC and HCC coordinates with different observers. This is implemented by automatically transforming the coordinate into HGS and then changing observer, and then transforming back to HCC.
* Changed default file type for Helioviewer to prevent decode errors.
* Increase figure size to avoid cutting off longer colormap names in `sunpy.cm.show_colormaps`.
* The sample data directory will no longer be created until files are downloaded
to it.
* Timeseries and lightcurve will now respect updated config values for download directory.
* Always use _default_wrap_angle rather than hard coding a wrap angle in the init
of a sunpy coordinate frame
* Ensure imageanimators only slice arrays with integers
* Fixed `sunpy.io.fits.write` to handle the keyword ``COMMENT`` correctly.
* If Carrington longitude ("crln_obs") is found in the FITS header, `~sunpy.map.Map` converts this to the correct Heliographic longitude.
* `sunpy.net.helio.hec.HECClient.time_query` now resolves the correct input time format.
* Fixes the calculation of the solar rotation of coordinates and the differential rotation of `sunpy.map.GenericMap`.
* Added back the FERMI GBM client to `sunpy.net.dataretriever.sources`.
* Fix bug in `sunpy.net.hek` which raised and error if a search returned zero results, now returns an empty `sunpy.net.hek.HEKTable`.
* `~sunpy.map.sources.AIAMap` now uses the provided HAE coordinates instead of the provided HGS coordinates to determine the observer location.
* Correctly zero pad milliseconds in the `sunpy.util.scraper.Scraper` formatting to prevent errors when the millisecond value was less than 100.
* Fix `sunpy.util.scraper.Scraper` failing if a directory is not found on a remote server.
* Correctly extract observer location from MDI and EIT data
* Fix HGS <> HCRS test due to Ecliptic frame changes in astropy 3.2
* Fixes bug when creating a timeseries from a URL and bug when creating a TimeSeries from older GOES/XRS fits files.
* Added `~sunpy.map.EUVIMap.rsun_obs`. It returns a quantity in arcsec consistent with other `sunpy.map.GenericMap` and overwrites mapbase's assumption of a photospheric limb as seen from Earth.
* Fixed bugs related to using `~sunpy.map.GenericMap.plot` and `~sunpy.map.GenericMap.peek` with the ``inline`` Matplotlib backend in Jupyter notebook.
* Make a correction to `sunpy.coordinates.wcs_utils.solar_wcs_frame_mapping` so
that `astropy.wcs.WCS` objects are correctly converted to
`sunpy.coordinates.frames` objects irrespective of the ordering of the axes.
* The `solar_rotate_coordinate` function returns a coordinate that accounts for the location of the new observer.
* Add support for rotation parameters to `sunpy.map.make_fitswcs_header`.
* Improve the implementation of `~sunpy.physics.differential_rotation.differential_rotate` the image warping when transforming Maps for differential rotation and change in observer position.
* Fix a bug where new helioviewer sources potentially cause `~sunpy.net.helioviewer.HelioviewerClient.data_sources` to error.
+ Improved Documentation
* Organise the gallery into sections based on example type and tidy up a little.
* Added gallery example showing the conversion of Helioprojective Coordinates to Altitude/Azimuth Coordinates to and back.
* Add contribution guidelines for the sunpy example gallery.
* Added a gallery example for "Downloading and plotting a HMI image" and "Creating a Composite map".
* Added an example for `~sunpy.visualization.animator.ImageAnimatorWCS`.
* Minor changes to the developer guide regarding sprint labels.
* Copyedited and corrected the solar cycles example.
* Changed "online" mark to "remote_data" and made formatting of marks consistent.
* Add a missing plot to the end of the units and coordinates guide.
* Added gallery example showing how to access the SunPy colormaps
* Added gallery example showing how to access the SunPy solar physics constants.
* Major clean up of the developer documentation.
* Overhaul of the install intructions for the guide section of our documentation.
+ Trivial/Internal Changes
* `~sunpy.time.parse_time` now uses `singledispatch` underneath.
* Revert the handling of ``quantity_allclose`` now that `astropy/astropy#7252 <https://github.com/astropy/astropy/pull/7252>`__ is merged. This also bumps the minimum astropy version to 3.0.2.
* Replace the subclasses of matplotlib Slider and Button in `sunpy.visualization` with partial functions.
* Sort the ana C source files before building to enable reproducible builds.
* We are now using `towncrier <https://github.com/hawkowl/towncrier>`__ to
generate our changelogs.
* Moved figure tests to Python 3.6.
* Removed old metaclass used for Map and TimeSeries as we have now moved to Python 3.6.
* Updated astropy_helpers to v3.0.2.
* When running image tests, a comparison HTML page is now generated to show
the generated images and expected images.
* Change to using pytest-cov for coverage report generation to enable support for parallel builds
* Use of `textwrap` to keep source code indented when multiline texts is used
* Fix mispelling of private attribute ``_default_heliographic_latitude`` in map.
* Miscellaneous fixes to developer docs about building sunpy's documentation.
* Changed `sunpy.instr.aia.aiaprep` to update BITPIX keyword to reflect the float64 dtype.
* Remove warning from ``GenericMap.submap`` when using pixel ``Quantities`` as input.
* Remove the usage of six and all ``__future__`` imports
* Fix SunPy Coordinate tests with Astropy 3.1
* Stores entries from directories into database sorted by name. It adds mocks to the database user guide examples.
* Fix all DeprecationWarning: invalid escape sequence.
* Used `unittest.mock` for creating offline tests for simulating online tests for `test_noaa.py`
* Fix support for pip 19 and isolated builds
* Moved to using `AppDirs <https://github.com/ActiveState/appdirs>`__ as the place to host our configuration file.
* Users can now use fewer keywords in our `~sunpy.net.HelioviewerClient` to access the available sources. Either by `observatory` and `measurement` or `instrument` and `measurement` as this much information is enough to get the source ID for most of the cases.
* Remove the pytest dependancy on the ``GenericMap`` asdf tag.
* Fix initialization of `~sunpy.net.vso.VSOClient` when no WSDL link is found.
-------------------------------------------------------------------
Fri Jan 4 17:31:38 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Update to version 0.9.5
+ New Features
* Added TimeUTime class to support utime. [#2409]
* Example for fine-grained use of ticks and grids [#2435]
* Maintiners Workflow Guide [#2411]
* Decorator to append and/or prepend doc strings [#2386]
* Adding `python setup.py test --figure-only` [#2557]
* Fido.fetch now accepts pathlib.Path objects for path attribute.[#2559]
* The `~sunpy.coordinates.HeliographicStonyhurst` coordinate system can now be specified
using a cartesian system, which is sometimes known as the
"Heliocentric Earth equatorial" (HEEQ) coordinate system. [#2437]
+ API Changes
* `sunpy.coordinates.representation` has been removed. Longitude wrapping is now done in the constructor of the frames. [#2431]
* Propagation of ``obstime`` in the coordinate frame transformation has changed, this means in general when transforming directly between frames (not `~astropy.coordinates.SkyCoord`) you will have to specify ``obstime`` in more places. [#2461]
* Transforming between Heliographic Stonyhurst and Carrington now requires that ``obstime`` be defined and the same on both the input and output frames. [#2461]
* Removed the figure return from .peek() [#2487]
+ Bug Fixes
* Improve TimeSeriesBase docstring [#2399]
* Validate that pytest-doctestplus is installed [#2388]
* Fix use of self.wcs in plot in mapbase [#2398]
* Updated docstring with pointer to access EVE data for other levels [#2402]
* Fix broken links and redirections in documentation [#2403]
* Fixes Documentation changes due to NumPy 1.14 [#2404]
* Added docstrings to functions in dowload.py [#2415]
* Clean up database doc [#2414]
* rhessi.py now uses sunpy.io instead of astropy.io [#2416]
* Remove Gamma usage in Map [#2424]
* Changed requirements to python-dateutil [#2426]
* Clarify coordinate system definitions [#2429]
* Improve Map Peek when using draw_grid [#2442]
* Add HCC --> HGS test [#2443]
* Testing the transformation linking SunPy and Astropy against published values [#2454]
* Fixed title bug in sunpy.timeseries.rhessi [#2477]
* Allow LineAnimator to accept a varying x-axis [#2491]
* Indexing Bug Fix to LineAnimator [#2560]
* Output sphinx warnings to stdout [#2553]
* Docstring improvement for LineAnimator [#2514]
* move the egg_info builds to circleci [#2512]
* Added tests for TraceMap [#2504]
* Fix HGS frame constructor and HPC ``calculate_distance`` with SkyCoord constructor. [#2463]
* removed `wavelnth` keyword in meta desc of Maps to avoid using non standard FITS keyword like `nan` [#2456]
* The documentation build now uses the Sphinx configuration from sphinx-astropy rather than from astropy-helpers.[#2494]
* Migrate to hypothesis.strategies.datetimes [#2368]
* Prevent a deprecation warning due to truth values of Quantity [#2358]
* Print a warning when heliographic longitude is set to it's default value of 0 [#2480]
* parse_time now parses numpy.datetime64 correctly. [#2572]
-------------------------------------------------------------------
Mon Feb 26 18:40:37 UTC 2018 - toddrme2178@gmail.com
- Update to version 0.8.4
+ Bug Fixes
* Improve detection of ``SkyCoord`` frame instantiation when distance is
`1*u.one`. This fixes a plotting bug with ``WCSAxes`` in Astropy 3.0 [#2465]
* removed `wavelnth` keyword in meta desc of Maps to avoid using non standard FITS keyword like `nan` [#2427]
* Change the default units for HPC distance from `u.km` to `None`. [#2465]
- Update to version 0.8.3
+ Bug Fixes
* `~sunpy.net.dataretriever.clients.XRSClient` now reports time ranges of files correctly. [#2364]
* Make parse_time work with datetime64s and pandas series [#2370]
* CompositeMap axes scaling now uses map spatial units [#2310]
* Moved license file to root of repository and updated README file [#2326]
* Fix docstring formatting for net.vso.attrs [#2309]]
* Fix coloring of ticks under matplotlib 2.0 default style [#2320]
* Always index arrays with tuples in `ImageAnimator` [#2320]
* Added links to possible attrs for FIDO in guide [#2317] [#2289]
* Updated GitHub Readme [#2281] [#2283]
* Fix matplotlib / pandas 0.21 bug in examples [#2336]
* Fixes the off limb enhancement example [#2329]
* Changes to masking hot pixels and picking bright pixels examples [#2325] [#2319]
* Travis CI fix for numpy-dev build [#2340]
* Updated masking brightest pixel example [#2338]
* Changed TRAVIS cronjobs [#2338]
* Support array values for `obstime` for coordinates and transformations [#2342] [#2346]
* Updated Gallery off limb enhance example [#2337]
* Documentation fixes for VSO [#2354] [#2353]
* All tests within the documentation have been fixed [#2343]
* Change to using pytest-remotedata for our online tests [#2345]
* Fixed upstream astropy/numpy documentation issues [#2359]
* Documentation for Map improved [#2361]
* Fix the output units of pixel_to_world [#2362]
* Documentation for Database improved [#2355]
* Added test for mapsave [#2365]
* Documentation for Sun improved [#2369]
-------------------------------------------------------------------
Thu Jun 22 14:57:35 UTC 2017 - alarrosa@suse.com
- Initial release of python-sunpy 0.7.8