grass-session
grass-session copied to clipboard
Handle GRASS GIS sessions
GRASS GIS session library
A simple library to use GRASS GIS from python.
You can specify the GRASS executable that you want to use with an
enviromental variable called: GRASSBIN
Status
In development
Install
To install the stable version use: ::
$ pip install grass-session
To install the current development version use: ::
$ pip install git+https://github.com/zarch/grass-session.git
Examples
Set the GRASS GIS binary that you want to use with:
export GRASSBIN=grass75::
>>> from grass_session import Session
>>> from grass.script import core as gcore
>>> with Session(gisdb="/tmp", location="location",
... create_opts="EPSG:4326"):
... print(gcore.parse_command("g.gisenv", flags="s"))
{u'GISDBASE': u"'/tmp/';",
u'LOCATION_NAME': u"'epsg3035';",
u'MAPSET': u"'PERMANENT';",}
>>> with Session(gisdb="/tmp", location="location", mapset="test",
... create_opts=""):
... print(gcore.parse_command("g.gisenv", flags="s"))
{u'GISDBASE': u"'/tmp/';",
u'LOCATION_NAME': u"'epsg3035';",
u'MAPSET': u"'test';",}
Development
-
Clone the repository::
$ git clone [email protected]:zarch/grass_session.git
-
Make sure that
py.test,toxandpre-commitare installed::$ pip install -r requirements-testing.txt
-
Install
pre-commithook in the local repository:$ pre-commit install
-
Test locally with
py.test::$ pytest -vv .
To see the coverage use:
$ pytest -v --cov=grass_session --cov-report=html .
To test with different version of python or grass use:
$ GRASSBIN=~/.local/bin/grassXX PYTHONPATH="
pwd:$PYTHONPATH" pytest . -
Test against multiple Python environments using
tox::$ tox ... _______________________ summary _____________________________ py27: commands succeeded py36: commands succeeded py37: commands succeeded py38: commands succeeded congratulations :)