IRIS/Insee geolocalization and related stats with Flask and PostgreSQL –
Switch branches/tags
Nothing to show
Clone or download
Latest commit fa91d72 Oct 14, 2018


IRIS Insee Geolocalizer

Pyris collects some data about IRIS from the French INSEE institute. It's possible from an address to find the IRIS code and some statistics data, e.g. population, employment or housing data.

IRIS are specific codes and data related to more than 50,000 districts, built by the National Institute of Statistics and Economic Studies.

Interactive Map


IRIS stats

Some Insee stats for each IRIS, census 2013: population (by sex and age), employment and housing.


REST API documentation


For instance, you can:

  • URL/iris/0104?limit=5 to the some information about a specific IRIS code

  • URL/search/q=place de la bourse Bordeaux to get the IRIS data from a specific address


IRIS shapes at

Go to the data directory and then:

  • ./

You have to install postgreSQL and PostGIS. For Debian:

sudo apt-get install postgresql postgis

Create a database name pyris with:

  • and to insert data

You have to be a PostgreSQL superuser to create the postgis extension for your database. If it's not the case, you can do:

  • su
  • su - postgres
  • psql pyris -c "CREATE EXTENSION postgis;"

Test the insertion with a simple:

SELECT gid,depcom,nom_com,iris,typ_iris
FROM geoiris LIMIT 10;

There are two other scripts and which download, process and insert some Insee statistics data for each Iris.

Launch the Web App

First, download the few CSS & JavaScript dependencies with a bower install (just a Bootstrap and jQuery).

Then : > gunicorn -b or > gunicorn -b --env PYRIS_APP_SETTINGS=./appdev.yml if you have to specify db credentials or logging Flask app configuration.

See an example of a app.yml file

Visit http://localhost:5555/pyris


  • postgresql

  • postgis

  • flask

  • flask restplus

  • psycopg2

  • slumber

  • pyaml