Prototyping the Subcommand CLI - Initial Results and PR Inquiry

Hi Grass Mentors,

I’ve been working on setting up my local development environment on macOS (M4) and wanted to share some progress regarding the Subcommand CLI project. To ensure I understand the interaction between the Python wrapper and the GRASS engine, I have successfully built a functional Proof of Concept (PoC).

Here is what I’ve achieved so far:

  • Environment Integration: Successfully linked my Python virtual environment with the GRASS GIS 8.4 standalone application and the nc_spm_08_grass7 dataset.

  • Automated Workflow: Created a Python script using grass.script that handles the computational region (g.region) and performs raster analysis (r.slope.aspect) in a headless state.

  • CLI Wrapper Prototype: Developed a “Dispatcher” script that abstracts long, absolute paths into simple subcommands. For example, instead of a 120-character string, I can now run:

    • g list (mapped to g.list)

    • g slope (mapped to r.slope.aspect)

  • Data Export: Verified the full pipeline by exporting the processed results to a GeoTIFF format using r.out.gdal.

I feel confident in this “Dispatcher” architecture as a foundation for the project. Would you be open to me opening a “Draft PR”?

I’d love to get your early feedback on the command mapping logic before I proceed with more complex features.

Best regards,

Arth Patel

grass_cli.py (940 Bytes)

gsoc_test.py (395 Bytes)

my_first_slope.tif (2.0 MB)

This are the script files I have worked on along with the my_first_slope.tif file showing the output

I would say open a draft PR, it will be easier to provide feedback.

Hi, I have opened a draft PR for the CLI alias-mapping prototype. I will really appreciate your feedback on whether this direction fits the intended CLI design.

here is the link to it