[GRASS-dev] g.extension for Python addons

Hamish hamish_b at yahoo.com
Sun May 26 04:02:53 PDT 2013

Brian wrote:
> Can anyone verify whether g.extension under OS X will be
> fixed in 6.4.3 (http://trac.osgeo.org/grass/ticket/854)?  

"we're working on it". If you are able to help test, it may
help the odds greatly.

note there are a number of combinations and permutations to

two versions of the module:
 - g.extension[.sh] from the Terminal window command line.
 - g.extension[.py] from the wxGUI menu. (a separate rewrite)

three supported types of downloadable addons:
 - shell scripts (e.g. r.surf.volcano)
 - python scripts (e.g. r.hazard.flood)
 - compiled C and C++ modules (e.g. d.barb)

of the above 3, the only one I see being widely problematic
is the compiled C modules if they need Xcode installed, but
William & co. work magic with it, so I'm optimisic.

.. and of course the "easy" way: build the binary yourself and
distribute it directly to your friends. they should place
that binary executable in a stable directory in their local
computer and set the environment variable GRASS_ADDON_PATH with
the path name before starting GRASS. The g.exension modules are
just a complicated way to make that happen for the user, easily.

> If this does not make the cut for 6.4.3, I'm thinking of
> porting a few modules my users need to Python (after
> contacting the modules' authors), to make installation
> easier.

That is probably wasted energy IMO, better to spend the time
helping to work out the last few wrinkles in g.extension.
(it should be pretty close right now, try again tonight's svn
for some new fixes for it on the Mac)

> Is there an equivalent to g.extension for
> installing Python-based GRASS modules?  Just wanted to
> check before I packaged things up for distribution via
> https://pypi.python.org/pypi.

see existing grass6/ .py examples in the grass-addons svn repo;
the idea (and challenge) of g.extension is that "it just works".
If you are going to do your own thing, installing shell and
python scripts is just a matter of putting the downloaded file in
the right place, no need for anything fancy.


More information about the grass-dev mailing list