pyfwup (pronouned py-fwup; like the noise of packets flying over a wire) is a toolkit for interfacing with various microcontroller bootloaders. It is meant to allow firmware updates (and live programming) of various devices from your python tools.
It's also useful to provide a set of DFU-ish utilities that are platform-agnostic, that don't require a build environment, and that can be pulled down with simple 'pip' commands or as setup.py dependencies.