I am pleased to announce that the pygrass library, developed during
the Google Summer of Code 2012, is now on GRASS trunk and need to be tested.
The pygrass library has been developed take into account three main aspects,
in the order:
1. *simplicity*, GIS it's an already complex subject, and we want to make
the API as simple/natural/intuitive as possible but at the same time
trying to respect the GRASS work-flow and nomenclature to make it easier
to find information on the GRASS developer manual;
2. *flexibility* even if pygrass want to provide an high level map
interaction, internally used some classes that work with the
GRASS API at very low level, such as Segment, Bbox, Ilist classes.
Every time that a C struct has been used by a class, to leave the user
free to implement their own logic, the ctypes pointer of the C strct
it's available under the attribute name that start with "c_*";
3. *performance* pygrass makes heavy use of the C GRASS functions
every time that this is possible.
The pygrass library is divided in three main parts: Raster, Vector, and Modules.
You can find some simple samples here: