What’s New in sunpy 6.1?#
The SunPy Project is pleased to announce the 6.1 release of the sunpy
core package.
On this page, you can read about some of the big changes in this release.
sunpy
6.1 also includes a large number of smaller improvements and bug fixes, which are described in the Full Changelog.
This release of sunpy contains 363 commits in 111 merged pull requests closing 49 issues from 21 people, 12 of which are first-time contributors to sunpy.
363 commits have been added since 6.0
49 issues have been closed since 6.0
111 pull requests have been merged since 6.0
21 people have contributed since 6.0
12 of which are new contributors
The people who have contributed to the code for this release are:
Abinash Mahapatra *
Advait Pimparkar *
Ahmad Saeed *
Akshit Tyagi
Albert Y. Shih
Andrew Leonard
Ankit Khushwaha *
Diya Khetarpal *
Jan Gieseler
Nabil Freij
Nakshatra *
Pratham Hole *
Raghav Agrawal *
Saurav Kumar Roy *
Shane Maloney
Steven Christe
Stuart J. Mumford
Tanish Yelgoe *
Wenli Mo *
Will Barnes
William Setterberg *
Where a * indicates that this release contains their first contribution to sunpy.
Updates to minimum dependencies#
The minimum required versions of the following packages have been updated:
python>=3.11
astropy>=6.0.0
pyerfa>=2.0.1.1
matplotlib>=3.6.0
numpy>=1.24.0
pandas>=1.5.0
sphinx>=6.0.0
scipy>=1.10.1
scikit-image>=0.20.0
h5py>=3.8.0
reproject>=0.10.0
Support for helioprojective radial coordinates and maps#
Helioprojective radial (HPR) coordinates are now supported using the HelioprojectiveRadial
coordinate frame, and HPR FITS files are also supported.
Per the FITS WCS machinery, the impact-angle component (theta
) is replaced by the a declination component (delta
) by subtracting 90 degrees from theta
.
An HPR coordinate has a theta
property to quickly obtain the impact angle, and there is a visualization helper function (show_hpr_impact_angle()
) to modify a plot axis.
Finally, there is a helper function (make_hpr_header()
) to create HPR FITS headers.
Reprojecting a Helioprojective Map to Helioprojective Radial
Additional new map dependency#
With the addition of the contourpy
package, the following new dependency has been added:
contourpy>=1.0.1
This unifies the contour plotting within sunpy.map.GenericMap
, :meth`sunpy.map.GenericMap.contour` to be the same as :meth`sunpy.map.GenericMap.draw_contours`.
This is package is already a dependency of matplotlib
, so no additional installation steps are required.
Support for Reading from Remote Filesysytems#
Support has been added to sunpy.map.Map
and sunpy.timeseries.TimeSeries
to read files from remote filesystems using the fsspec library.
Support for S3 filesystems is tested, but other fsspec plugins should work for most filetypes, please open issues if errors are encountered with other filesystems.
You will need to install packages for your desired filesystem so for S3 the s3fs
package needs to be installed (use pip install sunpy[all,s3]
or conda install sunpy s3fs boto3
boto3 is currently needed for reading CDF files).
Drawing the extent of a WCS#
The extent of any WCS with two celestial axes can now be drawn on a WCSAxes
using
sunpy.visualization.drawing.extent()
.
Additionally, sunpy.map.GenericMap.draw_extent()
has been added as a convenience method for drawing the
extent of any map.