<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Juno</id>
	<title>GRASS-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Juno"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/Juno"/>
	<updated>2026-05-25T14:15:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27863</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27863"/>
		<updated>2024-08-22T20:00:12Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
! Module !! PR Title !! PR Link !! Status at end of GSoC Period&lt;br /&gt;
|-&lt;br /&gt;
| lib || add standard parser option for JSON formatting || https://github.com/OSGeo/grass/pull/3704/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.info || add JSON output || https://github.com/OSGeo/grass/pull/3744/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.info || add JSON output || https://github.com/OSGeo/grass/pull/3755/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.univar || add JSON output || https://github.com/OSGeo/grass/pull/3783/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.univar || add JSON output || https://github.com/OSGeo/grass/pull/3784/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.profile || add JSON output || https://github.com/OSGeo/grass/pull/3872/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.stats || add JSON output || https://github.com/OSGeo/grass/pull/3884/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.report || add JSON output || https://github.com/OSGeo/grass/pull/3935/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| g.region || add JSON output || https://github.com/OSGeo/grass/pull/3941/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.distance || add JSON output || https://github.com/OSGeo/grass/pull/3942/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.category || add JSON output || https://github.com/OSGeo/grass/pull/4018/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.category || add JSON output || https://github.com/OSGeo/grass/pull/4020/ || open&lt;br /&gt;
|-&lt;br /&gt;
| db.describe || add JSON output || https://github.com/OSGeo/grass/pull/4021/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.to.db || add JSON output  || https://github.com/OSGeo/grass/pull/4036/ || open&lt;br /&gt;
|-&lt;br /&gt;
| g.proj || add JSON output  || https://github.com/OSGeo/grass/pull/4104/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.object.geometry || add JSON output ||  https://github.com/OSGeo/grass/pull/4105/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| g.region || fix ruff lint error in tests || https://github.com/OSGeo/grass/pull/4167/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| db.describe || fix illegal memory access report || https://github.com/OSGeo/grass/pull/4202/ || merged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
# Week 8: https://discourse.osgeo.org/t/gsoc-2024-week-8-report-add-json-support-to-grass-modules/30993&lt;br /&gt;
# Week 9: https://discourse.osgeo.org/t/gsoc-2024-week-9-report-add-json-support-to-grass-modules/31007&lt;br /&gt;
# Week 10: https://discourse.osgeo.org/t/gsoc-2024-week-10-report-add-json-support-to-grass-modules/49643&lt;br /&gt;
# Week 12: https://discourse.osgeo.org/t/gsoc-2024-week-12-report-add-json-support-to-grass-modules/49735&lt;br /&gt;
&lt;br /&gt;
Final: https://discourse.osgeo.org/t/gsoc-2024-final-report-add-json-output-to-different-tools-in-c/49784&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
== Final Report ==&lt;br /&gt;
&lt;br /&gt;
=== The State of the Art Before GSoC ===&lt;br /&gt;
Before this project, the majority of GRASS GIS tools produced outputs in plain text, which required manual parsing or conversion to be used in other software systems. Some modules already had JSON support, but the implementation was inconsistent, using different flags or options. This made it challenging to automate tasks or integrate GRASS GIS outputs directly with modern data processing pipelines.&lt;br /&gt;
&lt;br /&gt;
=== The Addition (Added Value) That My Project Brought to the Software ===&lt;br /&gt;
The project brought significant improvements by adding JSON output support to 16 GRASS GIS tools. This enhancement allows users to specify their desired output format (plain text or JSON), making it easier to integrate with data analysis tools and workflows. Additionally, the project standardized the options for tools that already had JSON support, improving consistency across the platform. The introduction of comprehensive Python test cases for these outputs ensures that the enhancements are reliable and future-proof.&lt;br /&gt;
&lt;br /&gt;
=== Potential Future Work ===&lt;br /&gt;
JSON support for 4 modules is currently a work in progress and should hopefully be complete soon. Further work is needed to extend JSON output support to the remaining tools within GRASS GIS. Future developers can build on this foundation, focusing on additional modules or enhancing the JSON schema to support more complex use cases.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Using r.category JSON output with python ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import grass.script as gs&lt;br /&gt;
output = gs.read_command(&lt;br /&gt;
    &amp;quot;r.category&amp;quot;,&lt;br /&gt;
    map=&amp;quot;towns&amp;quot;,&lt;br /&gt;
    output_format=&amp;quot;json&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
categories = json.loads(output)&lt;br /&gt;
print(categories)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;CARY&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;GARNER&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;APEX&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 4,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;RALEIGH-CITY&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;RALEIGH-SOUTH&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 6,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;RALEIGH-WEST&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using r.profile JSON output with pandas and matplotlib ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import grass.script as gs&lt;br /&gt;
import pandas as pd&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
# Run r.profile command&lt;br /&gt;
elevation = gs.read_command(&lt;br /&gt;
    &amp;quot;r.profile&amp;quot;,&lt;br /&gt;
    input=&amp;quot;elevation&amp;quot;,&lt;br /&gt;
    coordinates=&amp;quot;641712,226095,641546,224138,641546,222048,641049,221186&amp;quot;,&lt;br /&gt;
    format=&amp;quot;json&amp;quot;,&lt;br /&gt;
    flags=&amp;quot;gc&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
df = pd.read_json(elevation)&lt;br /&gt;
print(df)&lt;br /&gt;
&lt;br /&gt;
# Convert the RGB color values to hex format for matplotlib&lt;br /&gt;
df[&amp;quot;color&amp;quot;] = df.apply(lambda x: &amp;quot;#{:02x}{:02x}{:02x}&amp;quot;.format(int(x[&amp;quot;red&amp;quot;]), int(x[&amp;quot;green&amp;quot;]), int(x[&amp;quot;blue&amp;quot;])), axis=1)&lt;br /&gt;
&lt;br /&gt;
# Create the scatter plot&lt;br /&gt;
plt.figure(figsize=(10, 6))&lt;br /&gt;
plt.scatter(df['distance'], df['elevation'], c=df['color'], marker='o')&lt;br /&gt;
plt.title('Profile of Distance vs. Elevation with Color Coding')&lt;br /&gt;
plt.xlabel('Distance (meters)')&lt;br /&gt;
plt.ylabel('Elevation')&lt;br /&gt;
plt.grid(True)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          easting       northing     distance   elevation  red  green  blue    color&lt;br /&gt;
0   641712.000000  226095.000000     0.000000   84.530815  111    255     0  #6fff00&lt;br /&gt;
1   641669.739905  225596.789117   500.000000   97.633720  255    244     0  #fff400&lt;br /&gt;
2   641627.479809  225098.578233  1000.000000  104.868874  255    198     0  #ffc600&lt;br /&gt;
3   641585.219714  224600.367350  1500.000000   97.171303  255    247     0  #fff700&lt;br /&gt;
4   641546.000000  224138.000000  1964.027749   81.972504   79    255     0  #4fff00&lt;br /&gt;
5   641546.000000  223638.000000  2464.027749   72.764458    0    245    29  #00f51d&lt;br /&gt;
6   641546.000000  223138.000000  2964.027749   80.820168   64    255     0  #40ff00&lt;br /&gt;
7   641546.000000  222638.000000  3464.027749   71.326347    0    241    42  #00f12a&lt;br /&gt;
8   641546.000000  222138.000000  3964.027749   71.669518    0    242    39  #00f227&lt;br /&gt;
9   641546.000000  222048.000000  4054.027749   71.669518    0    242    39  #00f227&lt;br /&gt;
10  641296.254788  221614.840296  4554.027749   78.522743   35    255     0  #23ff00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Distance Elevation Color Coded.png]]&lt;br /&gt;
&lt;br /&gt;
=== Using r.info JSON output with jq ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.info lakes format=json | jq '.title'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;South-West Wake county: Wake county lakes&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27862</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27862"/>
		<updated>2024-08-22T19:59:22Z</updated>

		<summary type="html">&lt;p&gt;Juno: Add examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
! Module !! PR Title !! PR Link !! Status at end of GSoC Period&lt;br /&gt;
|-&lt;br /&gt;
| lib || add standard parser option for JSON formatting || https://github.com/OSGeo/grass/pull/3704/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.info || add JSON output || https://github.com/OSGeo/grass/pull/3744/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.info || add JSON output || https://github.com/OSGeo/grass/pull/3755/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.univar || add JSON output || https://github.com/OSGeo/grass/pull/3783/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.univar || add JSON output || https://github.com/OSGeo/grass/pull/3784/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.profile || add JSON output || https://github.com/OSGeo/grass/pull/3872/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.stats || add JSON output || https://github.com/OSGeo/grass/pull/3884/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.report || add JSON output || https://github.com/OSGeo/grass/pull/3935/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| g.region || add JSON output || https://github.com/OSGeo/grass/pull/3941/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.distance || add JSON output || https://github.com/OSGeo/grass/pull/3942/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.category || add JSON output || https://github.com/OSGeo/grass/pull/4018/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.category || add JSON output || https://github.com/OSGeo/grass/pull/4020/ || open&lt;br /&gt;
|-&lt;br /&gt;
| db.describe || add JSON output || https://github.com/OSGeo/grass/pull/4021/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.to.db || add JSON output  || https://github.com/OSGeo/grass/pull/4036/ || open&lt;br /&gt;
|-&lt;br /&gt;
| g.proj || add JSON output  || https://github.com/OSGeo/grass/pull/4104/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.object.geometry || add JSON output ||  https://github.com/OSGeo/grass/pull/4105/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| g.region || fix ruff lint error in tests || https://github.com/OSGeo/grass/pull/4167/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| db.describe || fix illegal memory access report || https://github.com/OSGeo/grass/pull/4202/ || merged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
# Week 8: https://discourse.osgeo.org/t/gsoc-2024-week-8-report-add-json-support-to-grass-modules/30993&lt;br /&gt;
# Week 9: https://discourse.osgeo.org/t/gsoc-2024-week-9-report-add-json-support-to-grass-modules/31007&lt;br /&gt;
# Week 10: https://discourse.osgeo.org/t/gsoc-2024-week-10-report-add-json-support-to-grass-modules/49643&lt;br /&gt;
# Week 12: https://discourse.osgeo.org/t/gsoc-2024-week-12-report-add-json-support-to-grass-modules/49735&lt;br /&gt;
&lt;br /&gt;
Final: https://discourse.osgeo.org/t/gsoc-2024-final-report-add-json-output-to-different-tools-in-c/49784&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
== Final Report ==&lt;br /&gt;
&lt;br /&gt;
=== The State of the Art Before GSoC ===&lt;br /&gt;
Before this project, the majority of GRASS GIS tools produced outputs in plain text, which required manual parsing or conversion to be used in other software systems. Some modules already had JSON support, but the implementation was inconsistent, using different flags or options. This made it challenging to automate tasks or integrate GRASS GIS outputs directly with modern data processing pipelines.&lt;br /&gt;
&lt;br /&gt;
=== The Addition (Added Value) That My Project Brought to the Software ===&lt;br /&gt;
The project brought significant improvements by adding JSON output support to 16 GRASS GIS tools. This enhancement allows users to specify their desired output format (plain text or JSON), making it easier to integrate with data analysis tools and workflows. Additionally, the project standardized the options for tools that already had JSON support, improving consistency across the platform. The introduction of comprehensive Python test cases for these outputs ensures that the enhancements are reliable and future-proof.&lt;br /&gt;
&lt;br /&gt;
=== Potential Future Work ===&lt;br /&gt;
JSON support for 4 modules is currently a work in progress and should hopefully be complete soon. Further work is needed to extend JSON output support to the remaining tools within GRASS GIS. Future developers can build on this foundation, focusing on additional modules or enhancing the JSON schema to support more complex use cases.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Using r.category JSON output with python ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import grass.script as gs&lt;br /&gt;
output = gs.read_command(&lt;br /&gt;
    &amp;quot;r.category&amp;quot;,&lt;br /&gt;
    map=&amp;quot;towns&amp;quot;,&lt;br /&gt;
    output_format=&amp;quot;json&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
categories = json.loads(output)&lt;br /&gt;
print(categories)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;CARY&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;GARNER&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;APEX&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 4,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;RALEIGH-CITY&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;RALEIGH-SOUTH&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;category&amp;quot;: 6,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;RALEIGH-WEST&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using r.profile JSON output with pandas and matplotlib ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import grass.script as gs&lt;br /&gt;
import pandas as pd&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
# Run r.profile command&lt;br /&gt;
elevation = gs.read_command(&lt;br /&gt;
    &amp;quot;r.profile&amp;quot;,&lt;br /&gt;
    input=&amp;quot;elevation&amp;quot;,&lt;br /&gt;
    coordinates=&amp;quot;641712,226095,641546,224138,641546,222048,641049,221186&amp;quot;,&lt;br /&gt;
    format=&amp;quot;json&amp;quot;,&lt;br /&gt;
    flags=&amp;quot;gc&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
df = pd.read_json(elevation)&lt;br /&gt;
print(df)&lt;br /&gt;
&lt;br /&gt;
# Convert the RGB color values to hex format for matplotlib&lt;br /&gt;
df[&amp;quot;color&amp;quot;] = df.apply(lambda x: &amp;quot;#{:02x}{:02x}{:02x}&amp;quot;.format(int(x[&amp;quot;red&amp;quot;]), int(x[&amp;quot;green&amp;quot;]), int(x[&amp;quot;blue&amp;quot;])), axis=1)&lt;br /&gt;
&lt;br /&gt;
# Create the scatter plot&lt;br /&gt;
plt.figure(figsize=(10, 6))&lt;br /&gt;
plt.scatter(df['distance'], df['elevation'], c=df['color'], marker='o')&lt;br /&gt;
plt.title('Profile of Distance vs. Elevation with Color Coding')&lt;br /&gt;
plt.xlabel('Distance (meters)')&lt;br /&gt;
plt.ylabel('Elevation')&lt;br /&gt;
plt.grid(True)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          easting       northing     distance   elevation  red  green  blue    color&lt;br /&gt;
0   641712.000000  226095.000000     0.000000   84.530815  111    255     0  #6fff00&lt;br /&gt;
1   641669.739905  225596.789117   500.000000   97.633720  255    244     0  #fff400&lt;br /&gt;
2   641627.479809  225098.578233  1000.000000  104.868874  255    198     0  #ffc600&lt;br /&gt;
3   641585.219714  224600.367350  1500.000000   97.171303  255    247     0  #fff700&lt;br /&gt;
4   641546.000000  224138.000000  1964.027749   81.972504   79    255     0  #4fff00&lt;br /&gt;
5   641546.000000  223638.000000  2464.027749   72.764458    0    245    29  #00f51d&lt;br /&gt;
6   641546.000000  223138.000000  2964.027749   80.820168   64    255     0  #40ff00&lt;br /&gt;
7   641546.000000  222638.000000  3464.027749   71.326347    0    241    42  #00f12a&lt;br /&gt;
8   641546.000000  222138.000000  3964.027749   71.669518    0    242    39  #00f227&lt;br /&gt;
9   641546.000000  222048.000000  4054.027749   71.669518    0    242    39  #00f227&lt;br /&gt;
10  641296.254788  221614.840296  4554.027749   78.522743   35    255     0  #23ff00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Distance Elevation Color Coded.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.info lakes format=json | jq '.title'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;South-West Wake county: Wake county lakes&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Distance_Elevation_Color_Coded.png&amp;diff=27861</id>
		<title>File:Distance Elevation Color Coded.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Distance_Elevation_Color_Coded.png&amp;diff=27861"/>
		<updated>2024-08-22T19:45:46Z</updated>

		<summary type="html">&lt;p&gt;Juno: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Profile of Distance vs. Elevation with Color Coding&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27859</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27859"/>
		<updated>2024-08-22T19:25:56Z</updated>

		<summary type="html">&lt;p&gt;Juno: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
! Module !! PR Title !! PR Link !! Status at end of GSoC Period&lt;br /&gt;
|-&lt;br /&gt;
| lib || add standard parser option for JSON formatting || https://github.com/OSGeo/grass/pull/3704/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.info || add JSON output || https://github.com/OSGeo/grass/pull/3744/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.info || add JSON output || https://github.com/OSGeo/grass/pull/3755/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.univar || add JSON output || https://github.com/OSGeo/grass/pull/3783/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.univar || add JSON output || https://github.com/OSGeo/grass/pull/3784/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.profile || add JSON output || https://github.com/OSGeo/grass/pull/3872/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.stats || add JSON output || https://github.com/OSGeo/grass/pull/3884/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.report || add JSON output || https://github.com/OSGeo/grass/pull/3935/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| g.region || add JSON output || https://github.com/OSGeo/grass/pull/3941/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.distance || add JSON output || https://github.com/OSGeo/grass/pull/3942/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.category || add JSON output || https://github.com/OSGeo/grass/pull/4018/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.category || add JSON output || https://github.com/OSGeo/grass/pull/4020/ || open&lt;br /&gt;
|-&lt;br /&gt;
| db.describe || add JSON output || https://github.com/OSGeo/grass/pull/4021/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.to.db || add JSON output  || https://github.com/OSGeo/grass/pull/4036/ || open&lt;br /&gt;
|-&lt;br /&gt;
| g.proj || add JSON output  || https://github.com/OSGeo/grass/pull/4104/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.object.geometry || add JSON output ||  https://github.com/OSGeo/grass/pull/4105/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| g.region || fix ruff lint error in tests || https://github.com/OSGeo/grass/pull/4167/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| db.describe || fix illegal memory access report || https://github.com/OSGeo/grass/pull/4202/ || merged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
# Week 8: https://discourse.osgeo.org/t/gsoc-2024-week-8-report-add-json-support-to-grass-modules/30993&lt;br /&gt;
# Week 9: https://discourse.osgeo.org/t/gsoc-2024-week-9-report-add-json-support-to-grass-modules/31007&lt;br /&gt;
# Week 10: https://discourse.osgeo.org/t/gsoc-2024-week-10-report-add-json-support-to-grass-modules/49643&lt;br /&gt;
# Week 12: https://discourse.osgeo.org/t/gsoc-2024-week-12-report-add-json-support-to-grass-modules/49735&lt;br /&gt;
&lt;br /&gt;
Final: https://discourse.osgeo.org/t/gsoc-2024-final-report-add-json-output-to-different-tools-in-c/49784&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
== Final Report ==&lt;br /&gt;
&lt;br /&gt;
=== The State of the Art Before GSoC ===&lt;br /&gt;
Before this project, the majority of GRASS GIS tools produced outputs in plain text, which required manual parsing or conversion to be used in other software systems. Some modules already had JSON support, but the implementation was inconsistent, using different flags or options. This made it challenging to automate tasks or integrate GRASS GIS outputs directly with modern data processing pipelines.&lt;br /&gt;
&lt;br /&gt;
=== The Addition (Added Value) That My Project Brought to the Software ===&lt;br /&gt;
The project brought significant improvements by adding JSON output support to 16 GRASS GIS tools. This enhancement allows users to specify their desired output format (plain text or JSON), making it easier to integrate with data analysis tools and workflows. Additionally, the project standardized the options for tools that already had JSON support, improving consistency across the platform. The introduction of comprehensive Python test cases for these outputs ensures that the enhancements are reliable and future-proof.&lt;br /&gt;
&lt;br /&gt;
=== Potential Future Work ===&lt;br /&gt;
JSON support for 4 modules is currently a work in progress and should hopefully be complete soon. Further work is needed to extend JSON output support to the remaining tools within GRASS GIS. Future developers can build on this foundation, focusing on additional modules or enhancing the JSON schema to support more complex use cases.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Python example with dictionary&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Python example with Pandas&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Bash example with jq&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27858</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27858"/>
		<updated>2024-08-22T19:15:50Z</updated>

		<summary type="html">&lt;p&gt;Juno: update pull request&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
! Module !! PR Title !! PR Link !! Status at end of GSoC Period&lt;br /&gt;
|-&lt;br /&gt;
| lib || add standard parser option for JSON formatting || https://github.com/OSGeo/grass/pull/3704/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.info || add JSON output || https://github.com/OSGeo/grass/pull/3744/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.info || add JSON output || https://github.com/OSGeo/grass/pull/3755/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.univar || add JSON output || https://github.com/OSGeo/grass/pull/3783/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.univar || add JSON output || https://github.com/OSGeo/grass/pull/3784/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.profile || add JSON output || https://github.com/OSGeo/grass/pull/3872/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| r.stats || add JSON output || https://github.com/OSGeo/grass/pull/3884/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.report || add JSON output || https://github.com/OSGeo/grass/pull/3935/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| g.region || add JSON output || https://github.com/OSGeo/grass/pull/3941/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.distance || add JSON output || https://github.com/OSGeo/grass/pull/3942/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.category || add JSON output || https://github.com/OSGeo/grass/pull/4018/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.category || add JSON output || https://github.com/OSGeo/grass/pull/4020/ || open&lt;br /&gt;
|-&lt;br /&gt;
| db.describe || add JSON output || https://github.com/OSGeo/grass/pull/4021/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| v.to.db || add JSON output  || https://github.com/OSGeo/grass/pull/4036/ || open&lt;br /&gt;
|-&lt;br /&gt;
| g.proj || add JSON output  || https://github.com/OSGeo/grass/pull/4104/ || open&lt;br /&gt;
|-&lt;br /&gt;
| r.object.geometry || add JSON output ||  https://github.com/OSGeo/grass/pull/4105/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| g.region || fix ruff lint error in tests || https://github.com/OSGeo/grass/pull/4167/ || merged&lt;br /&gt;
|-&lt;br /&gt;
| db.describe || fix illegal memory access report || https://github.com/OSGeo/grass/pull/4202/ || merged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
# Week 8: https://discourse.osgeo.org/t/gsoc-2024-week-8-report-add-json-support-to-grass-modules/30993&lt;br /&gt;
# Week 9: https://discourse.osgeo.org/t/gsoc-2024-week-9-report-add-json-support-to-grass-modules/31007&lt;br /&gt;
# Week 10: https://discourse.osgeo.org/t/gsoc-2024-week-10-report-add-json-support-to-grass-modules/49643&lt;br /&gt;
# Week 12: https://discourse.osgeo.org/t/gsoc-2024-week-12-report-add-json-support-to-grass-modules/49735&lt;br /&gt;
&lt;br /&gt;
Final: https://discourse.osgeo.org/t/gsoc-2024-final-report-add-json-output-to-different-tools-in-c/49784&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Python example with dictionary&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Python example with Pandas&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Bash example with jq&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27846</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27846"/>
		<updated>2024-08-21T20:57:22Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3872/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3884/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3935/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3941/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3942/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4018/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4020/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4021/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4036/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4104/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4105/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4167/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4202/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
# Week 8: https://discourse.osgeo.org/t/gsoc-2024-week-8-report-add-json-support-to-grass-modules/30993&lt;br /&gt;
# Week 9: https://discourse.osgeo.org/t/gsoc-2024-week-9-report-add-json-support-to-grass-modules/31007&lt;br /&gt;
# Week 10: https://discourse.osgeo.org/t/gsoc-2024-week-10-report-add-json-support-to-grass-modules/49643&lt;br /&gt;
# Week 12: https://discourse.osgeo.org/t/gsoc-2024-week-12-report-add-json-support-to-grass-modules/49735&lt;br /&gt;
&lt;br /&gt;
Final: https://discourse.osgeo.org/t/gsoc-2024-final-report-add-json-output-to-different-tools-in-c/49784&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27845</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27845"/>
		<updated>2024-08-21T18:37:59Z</updated>

		<summary type="html">&lt;p&gt;Juno: Add missing reports and and PRs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3872/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3884/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3935/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3941/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3942/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4018/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4020/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4021/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4036/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4104/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4105/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4167/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4202/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
# Week 8: https://discourse.osgeo.org/t/gsoc-2024-week-8-report-add-json-support-to-grass-modules/30993&lt;br /&gt;
# Week 9: https://discourse.osgeo.org/t/gsoc-2024-week-9-report-add-json-support-to-grass-modules/31007&lt;br /&gt;
# Week 10: https://discourse.osgeo.org/t/gsoc-2024-week-10-report-add-json-support-to-grass-modules/49643&lt;br /&gt;
# Week 12: https://discourse.osgeo.org/t/gsoc-2024-week-12-report-add-json-support-to-grass-modules/49735&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27749</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27749"/>
		<updated>2024-07-22T20:38:22Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3872/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3884/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3935/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3941/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3942/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4018/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4020/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4021/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4036/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
# Week 8: https://discourse.osgeo.org/t/gsoc-2024-week-8-report-add-json-support-to-grass-modules/30993&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27740</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27740"/>
		<updated>2024-07-14T20:28:56Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Pull Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3872/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3884/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3935/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3941/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3942/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4018/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4020/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4021/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/4036/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27739</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27739"/>
		<updated>2024-07-14T20:28:12Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3872/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3884/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3935/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3941/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3942/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
# Week 6: https://discourse.osgeo.org/t/gsoc-2024-week-6-report-add-json-support-to-grass-modules/30906&lt;br /&gt;
# Week 7: https://discourse.osgeo.org/t/gsoc-2024-week-7-report-add-json-support-to-grass-modules/30946&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27730</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27730"/>
		<updated>2024-06-29T20:01:11Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3872/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3884/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3935/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3941/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3942/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
# Week 5: https://discourse.osgeo.org/t/gsoc-2024-week-5-report-add-json-support-to-grass-modules/30882&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27729</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27729"/>
		<updated>2024-06-29T20:00:48Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Pull Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3872/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3884/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3935/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3941/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3942/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27716</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27716"/>
		<updated>2024-06-23T19:46:49Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Pull Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3872&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3884&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27715</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27715"/>
		<updated>2024-06-23T19:45:55Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
# Week 4: https://discourse.osgeo.org/t/gsoc-2024-week-4-report-add-json-support-to-grass-modules/30834&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27642</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27642"/>
		<updated>2024-06-16T17:18:17Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Pull Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3783/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3784/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27641</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27641"/>
		<updated>2024-06-16T17:17:37Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
# Week 3: https://discourse.osgeo.org/t/gsoc-2024-week-3-report-add-json-support-to-grass-modules/30791&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27583</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27583"/>
		<updated>2024-06-09T09:28:26Z</updated>

		<summary type="html">&lt;p&gt;Juno: Add week 2 report&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
# Week 2: https://discourse.osgeo.org/t/gsoc-2024-week-2-report-add-json-support-to-grass-modules/30764&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27579</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27579"/>
		<updated>2024-06-02T14:18:33Z</updated>

		<summary type="html">&lt;p&gt;Juno: add links to week 1 progress&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3744/&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3755/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: https://discourse.osgeo.org/t/gsoc-2024-week-1-report-add-json-support-to-grass-modules/30673&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27570</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27570"/>
		<updated>2024-05-27T18:39:02Z</updated>

		<summary type="html">&lt;p&gt;Juno: Add pull request&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Pull Requests ==&lt;br /&gt;
* https://github.com/OSGeo/grass/pull/3704/&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: &lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27569</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27569"/>
		<updated>2024-05-27T18:35:01Z</updated>

		<summary type="html">&lt;p&gt;Juno: update reports&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Community Bonding Period: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
# Week 1: &lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27568</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27568"/>
		<updated>2024-05-27T18:33:55Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
# Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
# Week 0: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27567</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27567"/>
		<updated>2024-05-27T18:33:07Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
&lt;br /&gt;
Week 0: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27566</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27566"/>
		<updated>2024-05-27T18:32:46Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [https://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Introduction: https://discourse.osgeo.org/t/gsoc-2024-introduction-juno/28253&lt;br /&gt;
Week 0: https://discourse.osgeo.org/t/gsoc-2024-week-0-report-add-json-support-to-grass-modules/28299&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27531</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27531"/>
		<updated>2024-05-11T08:49:46Z</updated>

		<summary type="html">&lt;p&gt;Juno: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepted Google Summer of Code 2024 project.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
|Student Name: || [[User:juno|Kriti Birda]]&lt;br /&gt;
|-&lt;br /&gt;
|Organization: || [http://www.osgeo.org OSGeo - Open Source Geospatial Foundation]&lt;br /&gt;
|-&lt;br /&gt;
| Mentor Name: || Corey White and Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| Title: || '''Add JSON output to different GRASS tools in C'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Abstract&lt;br /&gt;
::At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their output in a portable and commonly used data format. The aim of my project is to use the parson library in various tools so that they can produce JSON outputs. The addition of JSON as an output format will be accompanied with addition of Python test cases to verify the output works as intended and to avoid regressions in future. An option to specify the desired output format (plain or JSON) will also be added to each of the tools updated. The layout of the JSON format will be discussed with mentors prior to implementation and will be optimized towards easy ingestion with Pandas.&lt;br /&gt;
__TOC__&lt;br /&gt;
== Application ==&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2024&amp;diff=27530</id>
		<title>GRASS GSoC Ideas 2024</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2024&amp;diff=27530"/>
		<updated>2024-05-11T08:43:50Z</updated>

		<summary type="html">&lt;p&gt;Juno: /* Add JSON output to different GRASS tools in C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2024_Ideas The OSGeo GSoC 2024 main page]&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== Accepted ideas ==&lt;br /&gt;
=== Add JSON output to different GRASS tools in C ===&lt;br /&gt;
* Student: Kriti Birda&lt;br /&gt;
* Mentors: Corey White and Vaclav Petras&lt;br /&gt;
* [[GrassJsonGsoc2024|Wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Add EODAG support to GRASS GIS ===&lt;br /&gt;
* Student: Hamed Ashraf&lt;br /&gt;
* Mentors: Luca Delucchi, Veronica Andreo, Stefan Blumentrath&lt;br /&gt;
* [https://wiki.osgeo.org/wiki/GRASS_GSoC_2024_EODAG_Support Wiki page]&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools in GRASS GIS ===&lt;br /&gt;
* Student: Chung-Yuan Liang&lt;br /&gt;
* Mentors: Huidae Cho, Vaclav Petras, Maris Nartiss&lt;br /&gt;
* [https://grasswiki.osgeo.org/wiki/GRASS_GSoC_2024_Parallelize_Tools Wiki page]&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
* Student: Riya Saxena&lt;br /&gt;
* Mentors: Anna Petrasova, Corey White&lt;br /&gt;
* Wiki page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://lists.osgeo.org/listinfo/grass-dev grass-dev mailing list],[https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
Include &amp;quot;GRASS GIS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside OSGeo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.horizon, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: parallelized module or modules, depending on complexity&lt;br /&gt;
* Test of skills: suggest/implement solution for https://github.com/OSGeo/grass/issues/2644&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as adding parallelization for rendering, increasing interactivity of displayed data using ipyleaflet (e.g., capture mouse clicks to show information about vector line, pixel), adding API for managing projects and subprojects (i.e., locations/mapsets), simplifing display of attribute data, ...&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: https://github.com/OSGeo/grass/issues/3276, or write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools in C ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output, see [https://github.com/OSGeo/grass/issues/3020 this issue for a list of tools]. Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python for tests&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: one or more (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Test of skills: Address https://github.com/OSGeo/grass/issues/1044 for r.surf.fractal&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== New easy-to-use CLI and API for GRASS GIS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS GIS modules as easy as it is to run GDAL commands.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
** CLI like GDAL has.&lt;br /&gt;
** No GRASS Database, Location, Mapset to deal with.&lt;br /&gt;
** No import, export from user perspective.&lt;br /&gt;
** Reasonable defaults for things like region.&lt;br /&gt;
** CLI and API still allows user to specify any of the above.&lt;br /&gt;
* Idea page with details: wiki:GSoC/2021/EasyToUseCliAndApiIdea&lt;br /&gt;
* Project length: 350 hours&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of the GRASS GIS Database structure and significantly extend on text below in terms of more concrete formulation of ideas and identification of missing and existing parts.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes: New subcommand which easily runs a GRASS module on GeoTiff and GeoPackage.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Solve one of the tickets linked at the idea page.&lt;br /&gt;
** Add features to `grass` executable interface:&lt;br /&gt;
*** Make it possible to associate `*.gxw` files with `grass` executable (#1204) or at least add `--gui-workspace` or preferably just recognize it in the command line (distinguish it from database/location/mapset).&lt;br /&gt;
** Extend `--exec` functionality:&lt;br /&gt;
*** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`&lt;br /&gt;
*** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
*** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS GIS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
&lt;br /&gt;
=== Add EODAG support to GRASS GIS ===&lt;br /&gt;
&lt;br /&gt;
[https://eodag.readthedocs.io/en/stable/ EODAG] is a Python library useful to download several satellite datasets from different providers (i.e., USGS, Copernicus, AWS, Planetary Computer, etc.). GRASS has various modules to download satellite data like i.sentinel.download, i.landsat.download, i.modis.download. However, they all use different libraries, some of them no longer maintained. Hence, implementing the use of EODAG as back-end for those tools would be very useful not only in terms of maintenance but also in terms of less code repetition. It would also open the possibility for new tools or a master tool to download other datasets directly from GRASS. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: 175 or 350 hours&lt;br /&gt;
* Mentor: Luca Delucchi&lt;br /&gt;
* Co-mentor: Veronica Andreo&lt;br /&gt;
* Proposed by: Luca Delucchi&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours EODAG core library to be able to download products; 350 library + application at least to i.sentinel.download but hopefully also to i.landsat.download&lt;br /&gt;
* Test of skills: https://github.com/OSGeo/grass-addons/issues/1033&lt;br /&gt;
&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: 175 or 350 hours&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS GIS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS GIS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS GIS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS GIS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://lists.osgeo.org/listinfo/grass-dev grass-dev mailing list].&lt;br /&gt;
* If you like some idea here or from previous yeas, write about it on [https://lists.osgeo.org/listinfo/grass-dev grass-dev mailing list] and any ideas of your own which could improve it.&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS GIS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS GIS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file] and [https://grasswiki.osgeo.org/wiki/Compile_and_Install compilation instructions].&lt;br /&gt;
** If you get stuck with the setup, feel free to consult the [https://lists.osgeo.org/listinfo/grass-user grass-user mailing list].&lt;br /&gt;
** Familiarize yourself with wiki:Submitting rules.&lt;br /&gt;
* Prove your worth by being active on the GRASS mailing lists ([https://lists.osgeo.org/listinfo/grass-user grass-user], [https://lists.osgeo.org/listinfo/grass-dev grass-dev]) or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], [https://gitter.im/grassgis/community Gitter]), fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
* Every year GRASS GIS hopes to participate and participates in GSoC as part of the [https://www.osgeo.org/ OSGeo Foundation]'s GSoC program umbrella. See the official OSGeo template for application details and other important information at the [https://wiki.osgeo.org/wiki/Google_Summer_of_Code_Recommendations_for_Students OSGeo Recommendations for Students].&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27529</id>
		<title>GRASS GSoC 2024 Add JSON output</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_2024_Add_JSON_output&amp;diff=27529"/>
		<updated>2024-05-11T08:42:39Z</updated>

		<summary type="html">&lt;p&gt;Juno: Created page with &amp;quot;Grass GIS JSON Format Support Project&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grass GIS JSON Format Support Project&lt;/div&gt;</summary>
		<author><name>Juno</name></author>
	</entry>
</feed>