Home Assistant is a pure Python home automation suite. Out of the box, Home Assistant can connect with a wide range of internet-enabled devices such as lights, doors, fridges, and coffee machines – to mention only a few.
Home Assistant gets a mention here, not only because it is built with Python, but because it allows us to integrate directly with the host Raspberry Pi's GPIO pins, as well as with a remote Raspberry Pi's GPIO pins using PiGPIO's remote GPIO feature. Plus, there are MQTT and RESTful API integration options available.
While simple in concept and end user operation, there is a highish learning curve (and a fair amount of experimentation needed) when it comes to configuring Home Assistant since most of the integrations are performed by manually editing YAML Ain't Markup Language (YAML) files directly.
In relation to GPIO integrations, I have selected some resources from their website to get you started. I recommend reading...