InfoPi Information server application
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

InfoPi Information server application

Represents a single-page web application that displays various live data, like weather forecast and train departure times.

The back-end (web server) part is using Python 3. The front-end is written on AngularJS 1.x and Twitter Bootstrap 3.x.

My own implementation is specifically crafted for:

  • RaspberryPi running Raspbian Jessie.
  • Full HD monitor (1920×1080 pixels) in the portrait orientation.

This is how the information page looks like: Screenshot of the application


  1. Python 3.4
  2. dateutil
  3. Astral 1.0 (used for displaying moon phases)

Getting started

  1. Clone the infopi git repo with submodules:

    git clone --recurse

  2. Install dateutil. In Ubuntu/Debian:

    sudo apt-get install python3-dateutil

  3. Install astral:

    pip3 install astral

  4. Request an NS API key here.

  5. Once you have the key, open the file, update the properties and save it as

  6. Start the server:


  7. Open a web browser and direct it to localhost:8000. If you're using Chrome or Chromium, the command line is:

    chromium-browser --incognito --kiosk http://localhost:8000/

  8. In order to make InfoPi start at bootup, you can add the following commands to ~/.config/lxsession/LXDE-pi/autostart:

# Optional: remote desktop server that would allow
# to connect to your Pi via VNC
x11vnc -forever

# InfoPi web server

# Browser
chromium-browser --incognito --kiosk http://localhost:8000/




Data providers