Brussels / 31 January & 1 February 2015


GRASS Development APIs

Lifting the fog on the different ways to develop for GRASS

GRASS offers different APIs that allows interested developers to contribute. From the core C-API to the very lightweight Python scripting library, each plays a different role and their coexistence can cause some confusion. This lightning talk aims at clarifying the role of each of these APIs.

GRASS is originally a C project. However, there has always been command line scripting and some of these scripts have been integrated into the core distribution. With the upcoming GRASS 7, Python has been chosen to replace bash as the main scripting environnement, based on a lightweight scripting library leveraging the modular character of GRASS. At the same time, the need was felt by some to dispose of a more low-level access to GRASS functionality in Python. This has led to the development of pygrass, based on ctypes, which provides as more complete, more pythonic, object-oriented approach to GRASS script programming.

This talk will briefly introduce the different APIs and explain different use-cases and user-types for each of them.


Moritz Lennert