[GRASS-dev] About gsoc project

Vaclav Petras wenzeslaus at gmail.com
Wed Apr 6 11:45:27 PDT 2022


Hi Adithya,

Welcome to the grass-dev mailing list. I'll answer inline:

On Wed, 6 Apr 2022 at 11:03, adinayyu <adinayyu at gmail.com> wrote:
> ...my statement of proposal for the osgeo grass gis project.

Good topic. The pytest is important!

> How and what should i contribute to the project or osgeo before
submitting my proposal.

The "test of skills" specified on the wiki still applies. You will need to
be familiar with both the new (pytest) and the old (grass.gunittest)
system. So, start with fixing a couple failing tests. There is a list of
failing tests in the .gunittest.cfg file in the root directory of the repo.

https://github.com/OSGeo/grass/blob/main/.gunittest.cfg

You should also write some new tests. This can now be done with both
grass.gunittest and pytest. You will get familiar with the grass.gunittest
tests while fixing the existing tests. There are a couple of experimental
tests which use pytest. Here are some simple examples:

https://github.com/OSGeo/grass/blob/main/python/grass/script/tests/utils_test.py
https://github.com/OSGeo/grass/blob/main/python/grass/script/tests/grass_script_setup_test.py

How much do you need to write? More is better because you will get familiar
with more aspects of the testing, but start small. One PR with one fixed
test file from .gunittest.cfg.

> Give feedback and suggestions if there is any mistake in the proposal.

Good for starters. You will need to extend it beyond what is on the wiki to
increase chances of your application. Doing the above tasks will help you
in that.

> Apart from mailing lists, are there any other platforms to interact with
the community.

When you submit a PR, people will react with comments and reviews. That's
the most direct way of getting feedback for your code. For general
questions about development, the grass-dev mailing list is the best. We
have also grass-user focused on running the software itself and GitHub
Discussions.

First of all, you should familiarize yourself with GRASS GIS and create a
development environment for GRASS GIS on your computer - that is compile
the code and make sure you can modify it and compile again - if you are
using Windows, the best way is to set up a Ubuntu virtual machine and do
the development there.

You can skip ahead a little bit and use GRASS GIS online through JupyterLab
on Binder. Not a good way for doing development, but a great way of getting
familiar with the software through Python (most relevant for your GSoC
topic) and even the build environment because there is actually all the
code and you have access to the command line from there.

8.0.1 release:
https://mybinder.org/v2/gh/OSGeo/grass/8.0.1?urlpath=lab%2Ftree%2Fdoc%2Fnotebooks%2Fbasic_example.ipynb
development version:
https://mybinder.org/v2/gh/OSGeo/grass/main?urlpath=lab%2Ftree%2Fdoc%2Fnotebooks%2Fgrass_jupyter.ipynb

Best,
Vaclav
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20220406/b8cff4d4/attachment.html>


More information about the grass-dev mailing list