Part of osmose that runs the analysis, and send the results to the frontend.
Python C PLpgSQL Shell Ruby Batchfile
Failed to load latest commit information.
.tx Update po Makefile to pull translations from transifex May 2, 2014
analysers Add create_view_touched for setup touched as view Feb 25, 2017
cron Run osm8 countries every two days instead of every day Jan 1, 2014
dictionaries Update INSEE list. github #91 Feb 7, 2016
merge_data Fix merge pitch_FR golf tag mapping. github #139 Dec 26, 2016
modules Upload merge results to both opendata and normal server Feb 23, 2017
osmconvert Re-compile osmconvert on Debian stable (squeeze) Dec 16, 2012
osmosis Swith to unlogged table when possible Feb 25, 2017
plugins Fix addr:housenumber check in CH #181 Feb 25, 2017
po Update cs translation Feb 23, 2017
tests Update xml results for sax tests Jan 14, 2017
tools Add list of slowest countries to Feb 25, 2017
.gitignore Add tests/out/ to .gitignore Jan 28, 2015
LICENSE Add LICENSE file Jan 29, 2013 Fix about installation Dec 26, 2016
cron-launcher Fix cron-launcher to read file line per line, allowing options to be … Aug 20, 2013
launcher Fix path in launcher Sep 18, 2012
local-launcher Add launcher to launch on local machine, and wait for the end of the … Apr 13, 2013 Swith to unlogged table when possible Feb 25, 2017 Define function set_password(), needed by Aug 27, 2011 Upload merge results to both opendata and normal server Feb 23, 2017
requirements-dev.txt Improve installation detail in README and use pip for python deps Jul 5, 2015
requirements.txt Move check for upper case from plugin *UpperCase* to Name_UpperCase, … Feb 13, 2016 Remove old references to osm2pgsql Sep 10, 2014

Backend part of Osmose QA tool

This is the part of osmose [] which analyses OSM and send results to frontend. This works as following:

  • an .osm.bz2 or .osm.pbf extract is downloaded from a path
  • downloaded file is converted to .osm, with bunzip2 or osmconvert
  • if necessary, an osmosis dump is generated in a local database
  • analyses are run directly on .osm file, or on the database
  • analyses are stored on a local webserver, and a link is sent to the frontend so that it can download the results
  • temporary extract files and database are purged

Installation Python

Osmose QA backend requires python > 2.6.

Setup system dependencies (Ubuntu Server 14.04)

apt install python

You can install python dependencies in the system or in a virtualenv.

In the system install the folowing packages:

apt install python-dateutil python-imposm-parser python-lockfile python-polib python-poster python-psycopg2 python-shapely python-regex

Alternatively instal python-virtualenv and create a new virtualenv.

Setup system dependencies (Ubuntu Server 14.04)

apt install git python-dev python-virtualenv libpq-dev protobuf-compiler libprotobuf-dev

Create a python virtualenv, active it and install python dependencies

virtualenv --python=python2.7 osmose-backend-venv
source osmose-backend-venv/bin/activate
pip install -r requirements.txt

To run tests, additional packages are needed.

pip install -r requirements-dev.txt

Installation Database

Setup system dependencies (Ubuntu Server 14.04)

apt install postgresql-9.3 postgresql-contrib-9.3 postgresql-9.3-postgis-2.1

As postgres user:

createuser osmose
# Set your own password
psql -c "ALTER ROLE osmose WITH PASSWORD '-osmose-';"
createdb -E UTF8 -T template0 -O osmose osmose
# Enable extensions
psql -c "CREATE extension hstore; CREATE extension fuzzystrmatch; CREATE extension unaccent; CREATE extension postgis;" osmose
psql -c "GRANT SELECT,UPDATE,DELETE ON TABLE spatial_ref_sys TO osmose;" osmose
psql -c "GRANT SELECT,UPDATE,DELETE,INSERT ON TABLE geometry_columns TO osmose;" osmose


Java JRE for osmosis (Ubuntu Server 14.04):

apt install openjdk-7-jre-headless

osmosis is installed in osmosis/osmosis-0.44/. osmconvert is installed in osmconvert/.


A few paths are hardcoded in modules/, and should be adapted or created.

  • dir_osmose is the path of where osmose is installed
  • dir_work is where extracts are stored, and results generated.
  • url_frontend_update is the url used to send results generated by analyses

The local postgresql database should be configured in

  • db_base = osmose # database name
  • db_user = osmose # database user
  • db_password = # database password if needed
  • db_host = # database hostname if needed

You may want to include this info in ~/.pgpass to avoid entering the database password while processing the files.

See for more info.


Look at the help for options -h

Connection to the "official" frontend at

When you have configured the backend for the country you want to add, please send an email to We will then send you the password to use to connect to the frontend.