ThingFlow is a framework for building IoT event processing dataflows that runs on Python 3 and MicroPython. The goal of this framework is to support the creation of robust IoT systems from reusable components. By standardizing and abstracting over the details of event handling and external APIs, ThingFlow lets you focus on your data.

Thingflow session

Example MicroPython session on the ESP8266 connecting a light sensor to an MQTT broker.


To install: pip3 install thingflow

The source code and tests for ThingFlow are on github at It runs under Python3 (e.g. your laptop, Raspberry Pi) and MicroPython (e.g. ESP8266, BBC micro:bit). The code is under the Apache2 license.


A very complete manual is available at

We also have an extended tutorial on how to wire up an ESP8266 development board and get a end-to-end ThingFlow application running on it.


There are a number of short examples of ThingFlow programs in the source repository under thingflow-python/examples.

Some larger, full applications are available in a separate repository: