GRASS GSoC 2025 Add JSON output to different tools in C

From GRASS-Wiki
Jump to navigation Jump to search

GSoC 2025: Add JSON output to different tools in C for GRASS GIS

Student Name Nishant Bansal
Organization ​OSGeo - Open Source Geospatial Foundation
Mentor Name Anna Petrasova, Corey White, Vaclav Petras
GitHub Fork View Repo
GSoC proposal View Proposal

Abstract

Currently, most GRASS tools produce data in plain text by default. This means that users who want to process the output in Python need to create custom parsing code. To make this easier, several modules could be improved by offering JSON as an alternative output format. Recently, the Parson library was added to the GRASS codebase to support JSON output in addition to plain text. Building on the advancements made during the last GSoC, my project aims to expand JSON output capabilities to more tools using the Parson library.

Goal

  1. Working with mentors to finalize the structure of the JSON output.
  2. Adding an option to choose the output format (plain text or JSON) for each updated tool.
  3. Developing Python test cases to ensure that the JSON output works correctly and to avoid future issues.
  4. Providing basic documentation and example JSON outputs for each modified tool.
  5. Develop simple examples demonstrating how to use JSON output in a data science workflow, such as reading JSON data into pandas.

Timeline

Period Timeline Tasks Status
Bonding Period

May 8 - June 1

  1. Proposal Discussion with Mentor
Official Coding Period
Week 1 (June 2 - June 8)
Week 2 (June 9 - June 15)
Week 3 (June 16 - June 22)
Week 4 (June 23 - June 29)
Week 5 (June 30 - July 6)
Week 6 (July 7 - July 13)
Week 7 (July 14 - July 20)
Week 8 (July 21 - July 27)
Week 9 (July 28 - August 3)
Week 10 (August 4 - August 10)
Week 11 (August 11 - August 17)
Week 12 (August 18 - August 24)
Evaluation Period
August 25 - September 1

Reports