All Posts
Anaconda packages are not “free”
- 09 August 2024
We wanted to inform the wider community about Anaconda Inc. and if you are legally allowed to use their products for free.
SunPy Development Team wins a NASA Group Achievement Award!
- 19 June 2024
We are delighted to announce that the SunPy development team has been awarded with a NASA Group Achievement Award!
Process Your Solar Eclipse Photos with SunPy!
- 03 April 2024
On 8 April 2024, a total solar eclipse will pass over Mexico, the United States, and Canada, allowing millions of people to see the highly-structured solar corona with their own eyes. Along the path of totality, many will be taking their own pictures of the eclipse. In this post we demonstrate how you can use SunPy to process your own eclipse photos!
The future of time series data in sunpy
- 10 May 2023
In late 2022 I got a small development grant from NumFocus to scope the future of time series data in sunpy
.
The successful application can be read on the sunpy wiki.
The application contains context that I won’t repeat here.
This blog post is the key outcome of this grant, with a record of what I did, the recommendations I made, and any decisions we came to as a community.
aiapy: A SunPy affiliated package for analyzing data from the Atmospheric Imaging Assembly
- 06 January 2022
aiapy is a SunPy affiliated package for analyzing EUV image data from the Atmospheric Imaging Assembly (AIA). It includes a number of of functions for calibrating images, correcting metadata, and analyzing the filter bandpasses. In this post, we show some examples of the different capabilities of version 0.6.3 of the aiapy package.
SunPy Awarded NASA Grant
- 03 November 2021
As part of the NASA “Open Source Tools, Frameworks, and Libraries” program, the SunPy proposal “Strengthening the Foundations of the SunPy Ecosystem” has been funded for the next three years.
October Release Announcements
- 29 October 2021
Today we have a quadruple release announcement for you! It’s been a very busy week in SunPy land getting both the core and ndcube releases over the line; I hope you enjoy them!
The What, Why, and How of SunPy Affiliated Packages
- 18 August 2020
SunPy affiliated packages are well-maintained, open-source software packages that build upon or extend the functionality of the SunPy core library. The main idea behind affiliated packages is to provide additional tools and functionality to the solar physics community that is considered outside the scope of the SunPy core library, but builds upon it. Affiliated packages are aimed to integrate well with the SunPy ecosystem and together with the core library offer a diverse software ecosystem for which to perform solar data analysis. Affiliated packages are reviewed and registered with the SunPy project.
SunPy 2.0 Released
- 12 June 2020
The SunPy project is happy to announce the release of SunPy 2.0! SunPy is an open-source Python library for Solar Physics data analysis and visualization.
SunPy awarded a NASA HDEE Grant
- 05 June 2020
A NASA Heliophysics Data Environment Enhancement (HDEE) grant has been awarded to a proposal submitted to support SunPy development. The grant was awarded through NASA’s 2019 ROSES grant solicitation.
SunPy Survey
- 27 April 2020
The SunPy project is happy to announce the results of the solar physics community survey!
SunPy 1.1 Released
- 10 January 2020
The SunPy project is happy to announce the release of SunPy 1.1! SunPy is an open-source Python library for Solar Physics data analysis and visualization.
Sunkit-Image: Final GSOC Report
- 24 August 2019
This project developed several image processing algorithms and manipulation routines for sunkit-image, an affiliated Python package of the Sunpy Project. The rigorous analysis of solar images is of paramount importance to the Heliophysics community as this can reveal more information on solar features and events, which in turn can affect the Earth. This project brought selected solar image processing algorithms under the umbrella of a new library.
Google Summer of Code 2019 | Final Report | OpenAstronomy | NDCube
- 24 August 2019
Duplicate implicit target name: “google summer of code 2019 | final report | openastronomy | ndcube”.
Part 7: The End Arrives
- 19 August 2019
It has now been twelve weeks since I began this journey and finally, the curtains on this arduous and breathtaking adventure have been begun to fall. This week it will be last week as an official Google Summer of Code and this will be my final post as a student. I can feel the nostalgia gripping me.
GSoC 2019: Project IRISpy 3.2
- 18 August 2019
It is my pleasure to report that with my mentors’ assistance as well as my many hours of contributing to the sunpy/irispy GitHub repo, I have been able to reach all four goals original set out by the primary mentor Danny Ryan, which are as follows:
Part 6: Reaching the Summit
- 05 August 2019
If I describe my journey through Google Summer of Code as an arduous mountain climbing adventure then finally I have reached a point from where the summitis within reach.
GSoC 2019: Project IRISpy 3.1
- 04 August 2019
Grateful to report that I have eventually solved the issues encountered as stated in blog post 2.2 in the series for my GSoC project… and most important of all with my mentors’ blessings I have successfully passed the 2nd coding phase. Moreover, I am delighted to report that my most significant contribution on GitHub thus far, which is the PR to enable time-dependent effective areas determination of IRISpy, has been merged about 6 days ago. More can be found about this PR at the link here.
Part 5: The Second Evaluation Awaits
- 21 July 2019
The fifth part of the ongoing series of my blog posts on my experience in the Google Summer of Code. I am working with Sunpy on their solar image processing toolkit, Sunkit-image. As of now two months have already and it has been an enriching experience. The second evaluation is also just around the corner and I am very hopeful that I will be able to clear it.
GSoC 2019: Project IRISpy 2.2
- 21 July 2019
To follow up, the problem encountered as reported in edition 2.1 in this series has been resolved with the help of my very helpful and responsive mentors. But some lingering issues remain, which we suspect to be mostly indexing-related, as is apparent from the way the given IDL code is translated into Python. So now all four versions of IRIS response can be used to produce some get_iris_response function output. However, say for example version=4, I have been only able to successfully reproduce 3/4’s of the expected output as generated by the IDL version of the code. This is encouraging, as previously only half was the same as the target output. So the part of the IDL code that I am having some problems with is the following:
[Week 06] — First Evaluations and Completing the first half
- 08 July 2019
First Evaluations are Completed!
GSoC 2019: Project IRISpy 2.1
- 08 July 2019
Passed Phase 1 of GSoC. And I have just encountered my first roadblock in this project over the past few days, so now I am working hard on various approach to try and understand some IDL code snippets that does not translate well into Python without some more knowledge of the IDL INTERPOL function. (Source: harrisgeospatial) In IDL, this function takes in a maximum of four arguments: an input vector, the number of points in the result, the abscissa values for the input vector, and abscissa values for the result. In this way, the iris fit can be interpolated onto a new lambda grid readily. However, an exact equivalent does not exist in Python. The closest one we have opted to adopt is SciPy’s interpolate.interp1d function (Source: scipy). This method takes the x-coordinates and y-coordinates of the input data, and interpolate some pattern from this, which means that to project to a grid an extra step is necessary. I have now modified the relevant code snippets of in my PR so that I have a functional line. But to project it to some very specific grid distinct from the input one will take extra checking, since I am iffy about my approach. Currently seeking input from my mentors to sort out the issue. Hopefully this roadblock will be cleared soon.
Part 4: Weeks after the first evaluation
- 07 July 2019
This is part 4 of the ongoing series of my blog posts describing my journey as a Google Summer Of Code student working with Sunpy to develop Sunkit-image, an image processing toolbox for solar images.
SunPy Release Schedule and Version Numbering
- 27 June 2019
In this blog post I want to outline how, and more over why, we are going to number the SunPy releases and when we are going to release them.
GSoC 2019: Project IRISpy 1.2
- 23 June 2019
Four weeks have passed since the commencement of the Coding Period on May 27th, 2019 (EST). Soon our 1st evaluation will come up, which in itself is an exciting time as we will be judged on whether we will be qualified to go on to the next round. In my opinion I have done most of what have been agreed between me and my mentors. Comparing to my peers my project probably is more manageable, as an IDL version of the code already exists which provides us with a source code from which a Python-translation is written. And, the level of the project is relatively easy, so that the concepts involved are pretty basic. In this blog post, I would like to discuss about a trinity of techniques I have developed as a rookie software developer to deal with issues arising during the implementation of some new function into the broader code base. For the most up-to-date status of the PR please head to link.
Part 3: The Debugging
- 22 June 2019
This is part 3 of the ongoing series of my blog posts describing my journey as a Google Summer Of Code student working with Sunpy to develop Sunkit-image, an image processing toolbox for solar images.
Part 2: The Dive
- 09 June 2019
The Coding Period of the Google Summer of Code officially began on 27th May 2019 — for me, it was the day when the “Dive” into the realm of code began.
GSoC 2019: Project IRISpy 1.1
- 08 June 2019
It has been two weeks since the commencement of the coding phase… I can’t believe it, as it seems like time files. But to sum up the time that passed the following is a brief summary report for what tasks have been completed and what remains:
Part 1: The Community Bonding Period
- 26 May 2019
In this series of posts, I describe my journey as a Google Summer of Code student. These posts would mostly include my work during the weeks and the experience I gained from it. Such posts would come up every two weeks from now so stay tuned.
GSoC 2019: Project IRISpy 0.2
- 26 May 2019
Progress has been better than expected… Within the past few weeks, while continuing work on the main PR (which can be accessed via this link) on enabling a time-dependent effective areas determination in the “iris_tools” file, which contains some IRIS instrument tools, most of the previous difficulties of translating from the IDL programming language to the Python language have been identified and ironed out. In hindsight, for me the hardest part was to comprehend a computing language for which I have no direct access to (as I do not have in possession a valid IDL licence), but at the same time be able to gain enough insight through freely available online documentation to check the rough work put into place earlier in another PR. Through careful and systematic checking, I have been able to move ahead and implement the new function fit_iris_xput() as well as the get_iris_response() function in a pythonic way with some heavy dose of guidance from my mentors Dr. Dan Ryan and Dr. Laura Hayes well ahead of schedule.
The Road To Google Summer Of Code
- 18 May 2019
We have been taught from our childhoods that nothing can be earned without toiling hard, to achieve something we need to sacrifice something. The same mantra applies to Google Summer of Code or as we fondly know it, GSOC.
Getting selected for Google Summer of Code-2019
- 16 May 2019
This short blogpost describes the journey of getting selected for Google Summer of Code, under SunPy organisation, for 2019.
GSoC 2019: Community Bonding Period - I
- 16 May 2019
This post encapsulates my proceedings with the GSoC project that I have been working on, and a short log on the meeting that I had with my mentors.
GSoC 2019: Project IRISpy 0.1
- 15 May 2019
The community bonding period of this year’s GSoC is officially under way. The project I am embarking on has to do with adding a new feature to IRISpy, which is a essentially a package that is developed on top of SunPy’s NDCube package, and is written in the popular Python programming language. IRISpy itself (albeit not yet released) provides functionalities to read, manipulate, and visualize data collected with NASA’s IRIS satellite which looks at UV emission from the solar chromosphere. The proposed new feature is a time-dependent instrument response function, which will give scientists far greater power and ability to perform IRIS data analysis in Python, as well as to make new discoveries regarding the energetics and dynamics of the solar chromosphere and transition region than previously allowed. For more information on both the IRIS instrument and IRISpy, please take a look at the SunPy documentations for IRISpy.
Transition from datetime to astropy.time
- 20 October 2018
This blog post was written in a Jupyter notebook. Click here for an interactive version:
Modeling Coronal Loops in 3D with sunpy.coordinates
- 22 July 2018
The sunpy.coordinates module is a useful tool for expressing locations on the Sun in various coordinate systems. While most often used in the context of analyzing and manipulating observational data, we can also use this module to build three-dimensional models of loops in the corona.
SunPy 0.9 Released
- 24 April 2018
The SunPy project is very happy to announce the release of SunPy 0.9, the latest release of the SunPy core package.
NDCube 1.0 Released
- 25 February 2018
The SunPy project is very happy to announce the release of a new package “ndcube”.
IRISPy and NDCube
- 29 August 2017
GSoC has come to an end, it was one of the best summer experience I had. In this summer I had to create a new affiliated package IRISPy but during this project making a base package for multi-dimensional contiguous and non-contiguous spatially aware arrays (from readme.md of NDCube) was a natural step so ended up developing another repository NDCube. This was initially a part of sunpycube but after breaking and burning everything we ended up with ndcube :P.
Sunpy Website Improvements
- 16 August 2017
Believe or not, there is only one week left to the end of GSoC! The whole GSoC period became an unforgettable experience for me. I still remember the first time I read the documentation of Sphinx and say “What the hell am I supposed to do now?”
Updates to the website
- 07 April 2017
The website has gone some minor updates to incorporate the latest version of Bootstrap and its build dependencies among other items. This work came from Prateek Chanda, Duygu KEŞKEK and Sourav Kumar
SPD 2016
- 31 May 2016
You can find all of the material for the introductory sessions of scientific python and sunpy can be found here.
SunPy 0.7
- 26 May 2016
SunPy 0.7 has arrived! This release is a culmination of about 10 months of work from 27 different people. This release brings many changes, the highlights are:
First impressions from SunPy at Python in Astronomy 2016
- 31 March 2016
Steven Christe (@ehsteve) and Stuart Mumford (@Cadair) got to attend the (great) Python in Astronomy conference which took place in Seattle Washington from 21-25th of March 2016.
SunPy Update - October 2015
- 01 October 2015
I wanted to keep people in the loop about what is happening in the SunPy project, so I thought I would start sending out monthy updates about things that have happened and things that are going to happen. This update might be a little longer than usual due to the fact it’s the first one, and I want to get everyone up to speed. Before I start I just wanted to introduce myself just in case any of you have had the fortune of not knowing. I am Stuart Mumford, I submitted my PhD thesis last week at the University of Sheffield. I am currently lead developer of the SunPy project (again) having taken over from Albert.
SunPy 0.6.1 Released
- 30 September 2015
Announcing the 0.6.1 “thesis submission” release of SunPy. This is a bug fix release and contains the following fixes to things that slipped past us into 0.6:
SunPy 0.6 Released
- 04 August 2015
I am very happy to tell you that the long in the works 0.6.0 release of the SunPy library has arrived. This release has been ‘in the oven’ for well over a year, and is full of rather major changes.
Info for the SunPy Tutorial at the TESS 2015
- 27 April 2015
Welcome TESS <https://aas.org/meetings/tess2015/>
attendees to the “Introduction to Solar Data Analysis in Python”!
SunPy 0.5.0
- 26 June 2014
The SunPy project is happy to announce the release of SunPy 0.5.0. This release consists of 772 commits from 21 people including 9 new contributors, including the ability to co-align map cubes via template matching in scikit image, massive improvements to Map.rotate() including an implementation of an aiaprep calibration routine for SDO/AIA data and the ability to calculate GOES temperature and emission measure from GOES fluxes.
SunPy at the 2014 SPD Meeting
- 06 June 2014
A poster on SunPy was presented at the SPD 2014 Meeting which took place in Boston. A copy of the poster is available online in the sunpy/presentations repo on github.
2nd year of SunPy participating in GSOC
- 28 April 2014
Wonderful news for SunPy! This year is the 10th edition of Google Summer of Code, and SunPy is participating again for the second year in a row! Remember how awesome it was last year when we got two amazing students? Well, this year is going to be twice as awesome! Why? Because SunPy has gotten twice as many students than in 2013. Let’s introduce them and their projects:
RHESSI Workshop 13
- 03 April 2014
The latest version of SunPy along with an introduction to scientific computing in Python was presented at the 13th RHESSI Workshop on April 3rd, 2014. The presentation was well attended by about 20 people, a significant fraction of the total conference attendees! You can find the presentations (in the form of ipython notebooks) at the following locations
Announcing SunPy 0.4
- 14 February 2014
The SunPy community is pleased to announce the release of SunPy 0.4.0. This release contains many new features, some of which are contributed by people who participated in GSOC 2013. It includes the addition of a new local database for storing and searching data, it features a HEK to VSO translator and a new HELIO module in net. As well as this major work has been undertaken on the documentation and a new website developed.
ESA Summer of Code
- 02 September 2013
I am happy to announce that for the third year running SunPy has got a summer student from ESA’s SOCIS program. This year the student is Tomas Meszaros. Tomas’ project this summer will be working on creating a new core data type for SunPy, the HyperMap. Which will be designed to hold ND data with at least one spatial dimension and any combination of other axes such as Wavelength, Temperature or Time. This data type will allow us to support data from instruments such as Hinode EIS and the newly launched IRIS satellite, as well as a multitude of high resolution ground based instruments. Tomas will be documenting his progress on his blog: https://examon.wordpress.com/ as well as less regular more general interest posts on this site.
Announcing SunPy 0.3
- 30 August 2013
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!
Experiments in animating plots and saving movies in SunPy 0.3
- 29 August 2013
Just over a year ago this post described a simple method for saving a movie of SunPy maps. Since then, SunPy and matplotlib have moved on, and I’d like to describe an updated method for animating SunPy maps, and saving the results as an mp4 file.
SunPy at SciPy 2013
- 21 July 2013
This year I was lucky enough to be able to attend the annual Scientific Python conference (SciPy 2013) in Austin, Texas. This was very kindly supported by a sponsorship from the conference organisers and sponsors.
The Database class
- 19 June 2013
Note: I have also a private blog which covers more advanced topics. The next post there will be about implementing custom caches and custom commands.
Gsoc Community Bonding
- 28 May 2013
From our last post you may remember that SunPy is participating in GSOC-2013 under the PSF <https://wiki.python.org/moin/SummerOfCode/2013>`_ (!= Point Spread Function. Yesterday, Google announced the accepted candidates for their summer of code. If you look the list you will find between all these students that there are two whose projects is to work with SunPy.
Google Summer of Code
- 09 April 2013
SunPy is participating in the Google Summer of Code 2013 under the umbrella of the Python Software Foundation .
SunPy 0.2
- 27 November 2012
It has been a busy year but a lot of code later SunPy version 0.2.0 has arrived! This new version of SunPy is quite a change from the old 0.1 release, a few things have changed that make it not backwards compatible, however we feel that the changes are for the better! 14 people have helped to make this release of SunPy a big step forwards, between them they have added 1200 commits to the GitHub page.