GRASS and Python: Difference between revisions
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 | ||
[[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:
- 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 v.pydigit, a GUI to v.edit (http://les-ejk.cz/?cat=vpydigit)
- Jáchym Čepický's PyWPS, GRASS-Web Processing Service (http://les-ejk.cz/?cat=pywps)
Links
- GRASS-SWIG interface http://mpa.itc.it/markus/grass61progman/swig/
- SWIG http://www.swig.org/
- SIP http://directory.fsf.org/all/Python-SIP.html