Starting with GRASS GIS programming

GRASS GIS programming itself does require any special tools except for a C/C++ compiler and/or a Python interpreter. You can develop your own GRASS module (or call GRASS functionality from other software) using C, C++ or Python (alternatively, bindings to some other languages/environments are also available, namely R-stats and Bash or other command line).

Developing under MS-Windows

The best place to start is this page:

Developing under Linux

Developing under Mac OSX

Developing under Solaris, AIX, BSD, ...

Using an Integrated Development Environment (IDE)

If you would like to use an IDE, for C/C++ development you may use QtCreator which is also fine for GRASS GIS development. Here is the related guide:

For Python development, you just need some Python editor/IDE, we recommend Spyder:

Note: you need to execute your Python scripts as well as C/C++ programs from within a GRASS GIS session. There are other possibilities but this is what is commonly used.


The API documentation is placed here:

If you have further questions about programming in GRASS consider joining grass-dev mailing list:

Development >> How to start | Last change: 01-Dec-2013