mainGNU Astronomy Utilities - Support: sr #110613, Google Summer of Code (GSoC) 2022


sr #110613: Google Summer of Code (GSoC) 2022

Submitter:  Mohammad Akhlaghi <makhlaghi>
Submitted:  Sat 19 Feb 2022 09:39:55 PM UTC
Category:  All Gnuastro Priority:  5 - Normal
Severity:  3 - Normal Item Group:  * Enhancement
Status:  Done Privacy:  Public
Assigned to:  None Open/Closed:  Closed
Operating System:  None
* Mandatory Fields

Add a New Comment Rich Markup

Fri 27 May 2022 12:06:45 PM UTC, comment #1: 

Google Summer of Code 2022 results were announced and Jash was awarded one of Gnuastro's projects:

This support issue is therefore being closed. We will open a new one for GSoC 2023 when that starts next year; If we are accepted in GSoC 2023, please look in the support items for the relevant item with information.

Mohammad Akhlaghi <makhlaghi>
Group administrator
Sat 19 Feb 2022 09:39:55 PM UTC, original submission:  


This is for those interested in participating in Gnuastro's development focused on GSoC 2022. It is based on the successful completion GSoC 2021 and 2020 and their related discussions in sr #110457 and sr #110195. The basic point is that you should first install and run the programs to get a feeling of their over-all purpose and usage, then start getting your hands dirty into the coding. The following list should be a rough guide on how to do this.

  1. Install Gnuastro (either using Conda or from Source)
    1. Conda Installation instructions:
    2. Install Gnuastro's dependencies. In particular, if you use the most common GNU/Linux operating systems, to start with, we recommend using your package manager. Later, when you get more advanced, you can install them from source also. Once the dependencies are ready, install the latest Gnuastro from the officially released tarball and install it as described in the Quick start.
  2. There is a full chapter on tutorials, if you have time go through all of them, if not, the general tutorial should be enough. It is a little long, but shouldn't take more than three or four hours. You don't necessarily have to understand the full depth of the science behind the steps. Try to open the images (inputs and outputs) and things should be clear. This tutorial touches upon most Gnuastro programs will give you a very good feeling of it (and thus help you develop good ideas to write in the GSoC proposal.
  3. Having done the tutorial, you may have your own ideas on what to improve (which would be GREAT!), or you can have a look at the list of bugs or tasks. Some more easier tasks are: task #16114, task #16096, task #16075, task #16073, task #15138, task #15136, task #15109, task #15053, task #14986, task #14908, task #14643, task #14419 or task #14364. If they aren't already taken, you can post a comment on the task and start focusing on it. A major positive point in the selection process is to make at least one commit in Gnuastro before the GSoC selection process.
  4. You are now ready to start developing. But you will need the Gnuastro's version controlled source, which needs to be bootstrapped. And bootstrapping has its own dependencies. So install the bootstrapping dependencies, then follow the bootstrapping guide to prepare the raw source for building/developing. After bootstrapping, you can configure and install Gnuastro's version controlled source just like the tarball.
  5. Depending on the task/bug that you have selected to work on, please read the description of that particular program. For example if the bug/task is related to the Crop program, read the Crop section of the manual. This will give you an over-all feeling of the overall working style of the program and help guide you mentally when you are reading the source.
  6. Read the Developing chapter of the Gnuastro manual. Please read this section carefully because it will really help you get a smooth start on the source code and our style. In particular the Program source section describes the common structure of files and programming structure of the programs. Don't forget to read the other sections of this chapter too ;-)!
  7. Build you own fork of Gnuastro (as described in the Forking tutorial.
  8. Go into the source of the program you want to work on, and start reading the code from `main.c' (which has the starting `main()' function). Follow the functions and comments until the end of the program (beware that some programs can be large and complex, you can usually tell this by the number of files in its source directory).
  9. Once you have a nice mental image of the program, you are ready to start working on your selected bug/task.
  10. Please don't hesitate to ask any GSoC-related (general) question here, but if your discussion is about a certain task/bug, please don't post it here, use the bug/task's own page.
Mohammad Akhlaghi <makhlaghi>
Group administrator


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by makhlaghi (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-05-27 makhlaghi StatusIn Progress Done
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-9f0e.
    Corresponding source code