The end of GSoC
Google Summer of code is officially coming to an end. This was a fun ride. I’ll summarise everything I did during the summer and what I achieved in terms of my initial objectives.
In case you are new here, I’m Vishnu and I worked for SunPy under Google Summer of Code 2018. SunPy is an open source python library to assist solar physicists.
- Patches to SunPy: All pull requests for GSoC: https://github.com/sunpy/sunpy/milestone/23?closed=1
- Patches to AstroPy (upstream):
- 1. https://github.com/astropy/astropy/pull/7323
- 2. https://github.com/astropy/astropy/pull/7441
- 3. https://github.com/astropy/astropy/pull/7453
- 4: https://github.com/astropy/astropy/pull/7705
- 5: https://github.com/astropy/astropy/pull/7644
- 6: https://github.com/astropy/astropy/pull/7361
In case, you have more time, here is my whole experience.
My objectives for the summer where:
- Refractor the function
parse_timeis used throughout SunPy code base. So, make changes to the rest of the code base so that the old functionality is restored even after changes to
- Migrate the whole SunPy code base to use astropy
Time. This includes transitioning all the submodules in sunpy to use the new API.
This may sound easy on paper, but some of the things where quite challenging. For instance,
astropy.time.Time did not have simple formatting methods like
strptime. SunPy needed a lot of simple formatting. So I had to add that to astropy. Since astropy is under OpenAstronomy (the organisation which include both SunPy and AstroPy), the process was relatively easy. (Relevant PR: https://github.com/astropy/astropy/pull/7323 )
Other PR submitted to astropy include
- Fixing a bug that caused subclasses of Time act weird. ( https://github.com/astropy/astropy/pull/7453 )
astropy.time.TimeDelta(PR: https://github.com/astropy/astropy/pull/7441 )
On the SunPy repo, I worked in a separate branch called time. The pull requests I made to that branch can be seen here( https://github.com/sunpy/sunpy/milestone/23?closed=1 ). The work done on each submodule is a seperate PR in the link above.
The PR to master can be seen here ( https://github.com/sunpy/sunpy/pull/2691 ).
All the initial objectives put forward in the beginning of GSoC is now complete. All that left is for the code to reviewed and tested by SunPy developers.