A look at the GPIO Zero library for Raspberry Pi yields the blueprint for a Pythonic API for programming the behaviour of interconnected devices.
GPIO Zero provides a multi-paradigm programming interface to GPIO devices: - procedural (polling) - procedural (blocking) - event-driven (callbacks) - declarative
Start with simple scripts to control LEDs and buttons on a breadboard, learn to prototype ideas and move on to declaring interaction between more advanced devices in the home and beyond.
These options for device programming, along with the extensibility of the library, provide the means to program complex behaviour using simple Pythonic code.
I am looking for editors/curators to help with branches of the tree. Please send me an email if you are interested.