Announcing SunPy 0.3#
It gives me great pleasure to announce the release of a new version of SunPy. This version has been rather too long in the making, but is here at last!
SunPy 0.3 is now available through PyPI and via GitHub.
The biggest change in 0.3 is a shift away from our Map and Spectra datatypes inheriting numpy.ndarray to having their array in a data
attribute.
This was done to make development of these objects easier and more flexible and also to improve our compatibility with Astropy.
In the process of doing this the map submodule has undergone a massive refactor to streamline the creation and inheritance structure of the module.
Below I highlight some of the major changes, the full change log can be found here.
The biggest change to the Map API is the deprecation of the
make_map
function. It has been replaced by the newsunpy.Map
factory which is much more intelligent and able to have custom map sources external to the SunPy library register with it, which is handy if you are developing a custom Map source. Along with this change the old top-level map class Map is now calledGenericMap
and is to be created using the Map factory under normal circumstances.MapCube
andCompositeMap
have also seen some improvements, including the implementation ofdraw_limb
anddraw_grid
for both datatypes and a new animation basedplot()
method forMapCube
.To facilitate the changes to map there have also been a lot of improvements to the
io
submodule, including the ability to read all the HDUs from a FITS file and the addition of aextract_waveunit
function that checks the header for common ways to encode the wavelength unit.There has also been a big cleanup of the various top level and submodule namespaces to make imports simpler. Most of this has not changed the user facing API, however there are not nicer ways to import submodules, like
sunpy.util.util
is now the same as sunpy.util.The spectra module has been refactored so it also has a
data
attribute and it’s plotting API is now consistent with that of Map and LightCurve
SunPy 0.3 consists of 9 months of work from 15 people and over 300 commits to the git repository. The people who have contributed to this release are (in commit order):
Stuart Mumford
Russell Hewett
Florian Mayer
Steven Christe
Albert Shih
Simon Liedtke
Ankit Angrawal
Jack Ireland
Matt Bates
Nabil Freij
Keith Hughitt
David Perez-Suarez
Tomas Meszaros
Benjamin Mampaey
Andrew Leonard
On behalf of all the SunPy developers, we hope you enjoy 0.3!