GRASS and Python: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(PyWPS)
(TODO: Python-XML parser class for --interface-description)
Line 1: Line 1:
==Python extensions from GRASS GIS==
==Python extensions from GRASS GIS==


There is a prototype GRASS-SWIG interface available (thanks to Sajith VK), find in GRASS 6-CVS: swig/python/
===Python-SWIG-GRASS interface===
There is a prototype GRASS-SWIG interface available (thanks to Sajith VK), find it in GRASS 6-CVS: swig/python/


[http://www.swig.org SWIG] (Simplified Wrapper and Interface Generator) is:  
Background: [http://www.swig.org SWIG] (Simplified Wrapper and Interface Generator) is:  


* A compiler that turns ANSI C/C++ declarations into scripting language interfaces.
* A compiler that turns ANSI C/C++ declarations into scripting language interfaces.
Line 9: Line 10:
* Language neutral. SWIG can also target Tcl, Perl, Guile, MATLAB, etc...  
* Language neutral. SWIG can also target Tcl, Perl, Guile, MATLAB, etc...  
* Attempts to eliminate the tedium of writing extension modules.
* Attempts to eliminate the tedium of writing extension modules.
'''TODO''': Implement modules support in a Python class using --interface-description and a Python-XML parser. This should be a generic class with module's name as parameter, returning back an object which describes the module (description, flags, parameters, status of not/required).


===Python-GRASS add-ons===
===Python-GRASS add-ons===
Stand-alone addons:


# Jáchym Čepický's G-ps.map, a GUI to typeset printable maps with ps.map (http://les-ejk.cz/?cat=gpsmap)
# Jáchym Čepický's G-ps.map, a GUI to typeset printable maps with ps.map (http://les-ejk.cz/?cat=gpsmap)
Line 18: Line 23:
===Links===
===Links===


* GRASS-SWIG interface http://mpa.itc.it/markus/grass61progman/swig/
* SWIG http://www.swig.org/
* SWIG http://www.swig.org/
* SIP http://directory.fsf.org/all/Python-SIP.html
* SIP http://directory.fsf.org/all/Python-SIP.html
* GRASS-SWIG interface http://mpa.itc.it/markus/grass61progman/swig/


[[Category:Development]]
[[Category:Development]]

Revision as of 23:10, 1 July 2006

Python extensions from GRASS GIS

Python-SWIG-GRASS interface

There is a prototype GRASS-SWIG interface available (thanks to Sajith VK), find it in GRASS 6-CVS: swig/python/

Background: SWIG (Simplified Wrapper and Interface Generator) is:

  • A compiler that turns ANSI C/C++ declarations into scripting language interfaces.
  • Completely automated (produces a fully working Python extension module).
  • Language neutral. SWIG can also target Tcl, Perl, Guile, MATLAB, etc...
  • Attempts to eliminate the tedium of writing extension modules.

TODO: Implement modules support in a Python class using --interface-description and a Python-XML parser. This should be a generic class with module's name as parameter, returning back an object which describes the module (description, flags, parameters, status of not/required).

Python-GRASS add-ons

Stand-alone addons:

  1. Jáchym Čepický's G-ps.map, a GUI to typeset printable maps with ps.map (http://les-ejk.cz/?cat=gpsmap)
  2. Jáchym Čepický's v.pydigit, a GUI to v.edit (http://les-ejk.cz/?cat=vpydigit)
  3. Jáchym Čepický's PyWPS, GRASS-Web Processing Service (http://les-ejk.cz/?cat=pywps)

Links