Stetl currently only runs with Python 2 (2.7+). Work is underway for Python3 support.
Easiest is to first install the Stetl-dependencies (see below) and then install and maintain Stetl on your system as a Python package (pip is preferred).
(sudo) pip install stetl or easy_install stetl
Alternatively you can download Stetl from Github: by cloning (preferred) or downloading: https://github.com/geopython/stetl/archive/master.zip and then install locally
(sudo) python setup.py install
Try the examples first. This should work on Linuxes and Mac OSX.
Windows installation may be more involved depending on your local Python setup. Platform-specific installations below.
You may also want to download the complete .tar.gz distro from PyPi: https://pypi.python.org/pypi/Stetl . This includes the examples and tests.
Thanks to Bas Couwenberg, work is performed to provide Stetl as Debian packages on both Debian and Ubuntu, see details:
https://packages.debian.org/search?keywords=stetl (Debian) and
https://launchpad.net/ubuntu/+source/python-stetl (Ubuntu, Xenial and later).
Stetl is split into 2 packages
python-stetl, the Python framework and
stetl the command line utility.
Stetl depends on the following Python packages:
- GDAL bindings for Python
- psycopg2 (PostgreSQL client)
GDAL requires the native GDAL/OGR tools to be installed.
lxml http://lxml.de/installation.html requires the native (C) libraries:
- libxslt (required by lxml)
- libxml2 (required by lxml)
When using the
Jinja2 templating filter,
Jinja2TemplatingFilter, see http://jinja.pocoo.org:
- Python Jinja2 package
Platform-specific guidelines for dependencies follow next.
Most packages should be able to be installed by apt-get or Python
Tip: to get latest versions of GDAL and other Open Source geospatial software, best is to add the UbuntuGIS Repository.
Optional: Python package dependencies:
sudo apt-get install python-setuptools sudo apt-get install python-dev sudo apt-get install libpq-dev
libxml2/libxsltlibs are usually already installed. Together with Python
lxmlthe total install for
apt-get of yum install libxml2 apt-get of yum install libxslt1.1 apt-get of yum install python-lxml
GDAL (http://gdal.org) with Python bindings:
apt-get of yum install gdal-bin apt-get of yum install python-gdal
the PostgreSQL client library for Python
sudo easy_install psycopg2
argparseif you have Python < 2.7:
sudo easy_install argparse
Best is to install GDAL and python using the OSGeo4W Installer from http://trac.osgeo.org/osgeo4w.
- Download and run the OSGeo4W Installer
- On the
Select Packagespage expand
Commandline_Utilitiesand Select from the list
easy_installto allow you to install
- Download the
- Open the OSGeo4W Shell (Start > Programs > OSGeo4W > OSGeo4W > OSGeo4W Shell)
- Change to the folder that you downloaded
ez_setup.pyto (if you downloaded to C:Temp then run cd C:Temp)
easy_installby running python
- To install
lxmlwith easy_install run
Only Psycopg2 needs explicit installation. Many install via: http://www.stickpeople.com/projects/python/win-psycopg. Once the above has been installed you should have everything required to run Stetl.
Alternatively you may use Portable GIS. Still you will need to manually install psycopg2. See http://www.archaeogeek.com/portable-gis.html for details.
If you installed via Python ‘pip’ you can check if you run the latest version
You should get meaningful output like
2013-09-16 18:25:12,093 util INFO running with lxml.etree, good! 2013-09-16 18:25:12,100 util INFO running with cStringIO, fabulous! 2013-09-16 18:25:12,122 main INFO Stetl version = 1.0.3 usage: stetl [-h] -c CONFIG_FILE [-s CONFIG_SECTION] [-a CONFIG_ARGS]
Especially check the Stetl version number.
Try running the examples when running with a downloaded distro.
cd examples/basics ./runall.sh
Look for any error messages in your output.
Install with Docker¶
One of the cleanest ways to use Stetl is via Docker. Your environment needs to be setup to use Docker and probably you want to use some tooling like Vagrant. The author uses a combination of VirtualBox with Ubuntu and Vagrant on Mac OSX to run Docker, but this is a bit out of scope here.
Assuming you have a working Docker environment, there are two ways to install Stetl with Docker:
- build a Docker image yourself using the Dockerfile in https://github.com/geopython/stetl/tree/master/docker
- use a prebuilt public Stetl Docker image: https://hub.docker.com/r/justb4/stetl
For running Stetl using Docker see Using Docker.