[GRASS-dev] GSoC 2021 Project - Sunveer Singh

Dear Team,

I am Sunveer Singh, I graduated from high school in 2021 and will start my undergraduate studies in Fall 2021 and have been accepted into a university so it makes me eligible to participate in GSoC this year.

I was Google Code-in 2017 Grand Prize Winner, Google Code-in 2018 Finalist, and Google Code-in 2019 Mentor with OSGeo. And I majorly worked on GRASS GIS unit testing tasks during that time. And I would like to work on a GSoC project with GRASS GIS related to it.
I found this following project and I would be happy to work on it this year: https://trac.osgeo.org/grass/wiki/GSoC/2017#Toolsforgeneratingunittestsfromexamplesinthemanual

I see that this project was skipped after 2017 and no one had worked on it, so I would like to work on this as it is totally of my interest and my skills. Will the mentors written on the page will be the same i.e Vaclav Petras and Soeren Gebbert?

···

Thank You
Sunveer
https://sunveersingh.github.io/

Dear Team,

Dear Devs,

I am Sunveer Singh, I graduated from high school in 2021 and will start my undergraduate studies in Fall 2021 and have been accepted into a university so it makes me eligible to participate in GSoC this year.

I was Google Code-in 2017 Grand Prize Winner, Google Code-in 2018 Finalist, and Google Code-in 2019 Mentor with OSGeo. And I majorly worked on GRASS GIS unit testing tasks during that time. And I would like to work on a GSoC project with GRASS GIS related to it.

you can see his tests here https://github.com/OSGeo/grass/search?q=Sunveer&type=code

I found this following project and I would be happy to work on it this year: https://trac.osgeo.org/grass/wiki/GSoC/2017#Toolsforgeneratingunittestsfromexamplesinthemanual

I see that this project was skipped after 2017 and no one had worked on it, so I would like to work on this as it is totally of my interest and my skills. Will the mentors written on the page will be the same i.e Vaclav Petras and Soeren Gebbert?

Sunveer showed a lot of dedication and interest in GRASS GIS project, I think he would be a great candidate for GSOC

···

ciao
Luca

www.lucadelu.org

On Wed, Feb 3, 2021 at 8:15 AM Sunveer Singh <singhsunveer54@gmail.com> wrote:

I am Sunveer Singh, I graduated from high school in 2021 and will start my undergraduate studies in Fall 2021 and have been accepted into a university so it makes me eligible to participate in GSoC this year.

Congratulations and welcome back!

I found this following project and I would be happy to work on it this year: https://trac.osgeo.org/grass/wiki/GSoC/2017#Toolsforgeneratingunittestsfromexamplesinthemanual

This is indeed related to what you did before, so it is a hopeful choice. However, there is an additional challenge now and that is a poor integration of the testing framework with current technologies namely pytest and GitHub Actions.

The choices I made when designing and implementing the framework are not as advantageous as they seemed in 2014 (there was no 6 hours of runtime from GitHub for free on every commit, NumPy and GDAL switched to pytest in 2018, …). You can see the idea for this year here:

https://trac.osgeo.org/grass/wiki/GSoC/2021#IntegratetestingframeworkwithGitHubActions

This is not to say that you can’t propose/do the documentation-to-test idea, but you will need to take into account the current state and needs as well.

I see that this project was skipped after 2017 and no one had worked on it, so I would like to work on this as it is totally of my interest and my skills. Will the mentors written on the page will be the same i.e Vaclav Petras and Soeren Gebbert?

I’m making this a call for mentors. I can comment on the integration into the current code and the updates needed, but I would like some else to bring ideas on how this would be useful from a power user perspective and/or, from a development perspective, if documentation-to-test idea is where our priorities are.

For your proposal, it would be good to have a clear idea on what it is you are going to implement and how. You don’t have to resolve that yourself. You can discuss the ideas on the mailing list which would be also a way to get more people interested in this idea.

As you probably know, besides preparing your proposal, you will need to do some tasks to show you current coding skills. There are a couple of things you can work on and obviously there is no upper limit. 1) Fixing broken tests would be really good because it will take you through the current interface of tests which can inform your proposal. 2) You can always add new tests. Testing Python functions in addition to modules would be relevant to the task at hand. 3) Taking code from abandoned PR #704, fixing it and submitting a new PR is low hanging fruit, but interesting enough.

https://github.com/OSGeo/grass/pull/704

Best,
Vaclav

On Sat, Feb 6, 2021 at 9:17 AM Vaclav Petras <wenzeslaus@gmail.com> wrote:

On Wed, Feb 3, 2021 at 8:15 AM Sunveer Singh <singhsunveer54@gmail.com> wrote:

I am Sunveer Singh, I graduated from high school in 2021 and will start my undergraduate studies in Fall 2021 and have been accepted into a university so it makes me eligible to participate in GSoC this year.

Congratulations and welcome back!

Thanks a lot!

I found this following project and I would be happy to work on it this year: https://trac.osgeo.org/grass/wiki/GSoC/2017#Toolsforgeneratingunittestsfromexamplesinthemanual

This is indeed related to what you did before, so it is a hopeful choice. However, there is an additional challenge now and that is a poor integration of the testing framework with current technologies namely pytest and GitHub Actions.

The choices I made when designing and implementing the framework are not as advantageous as they seemed in 2014 (there was no 6 hours of runtime from GitHub for free on every commit, NumPy and GDAL switched to pytest in 2018, …). You can see the idea for this year here:

https://trac.osgeo.org/grass/wiki/GSoC/2021#IntegratetestingframeworkwithGitHubActions

This is not to say that you can’t propose/do the documentation-to-test idea, but you will need to take into account the current state and needs as well.

I see that this project was skipped after 2017 and no one had worked on it, so I would like to work on this as it is totally of my interest and my skills. Will the mentors written on the page will be the same i.e Vaclav Petras and Soeren Gebbert?

I’m making this a call for mentors. I can comment on the integration into the current code and the updates needed, but I would like some else to bring ideas on how this would be useful from a power user perspective and/or, from a development perspective, if documentation-to-test idea is where our priorities are.

For your proposal, it would be good to have a clear idea on what it is you are going to implement and how. You don’t have to resolve that yourself. You can discuss the ideas on the mailing list which would be also a way to get more people interested in this idea.

I got what you are trying to say. I think there can be two possible ways to implement our project:

  1. i) To implement GitHub actions and testing the checking the changes a PR is making to the files.
    ii) Documnetions to tests - using our guinttest library and creating an AddOn to generate tests for the modules
  1. i) To implement GitHub actions and testing the checking the changes a PR is making to the files.
    ii) Using pytest for our tests.

Let me know what you all think about this and which will be more appropriate for GRASS GIS. In my opinion, I think (1(ii)) Will be more usable and can be handy as every time we need to run a test on a module we would not have to write code instead we would just have to update the documentation(examples) to test our modules and it will be more accessible to everyone as it will work as an AddOn, and everyone can use it, which is what I think. Also, please correct me if I am wrong :slight_smile:

As you probably know, besides preparing your proposal, you will need to do some tasks to show you current coding skills. There are a couple of things you can work on and obviously there is no upper limit. 1) Fixing broken tests would be really good because it will take you through the current interface of tests which can inform your proposal. 2) You can always add new tests. Testing Python functions in addition to modules would be relevant to the task at hand. 3) Taking code from abandoned PR #704, fixing it and submitting a new PR is low hanging fruit, but interesting enough.

https://github.com/OSGeo/grass/pull/704

Yes sure, I will start working on them.

Best,
Vaclav

Looking forward to hearing from you.
Thank You
Sunveer