This is a very interesting question. I just started using bleak ยท PyPI
and it seems, making a connection is not too complicated. What maybe complicated, what to do with the connection.
I think in my project RuuviTag Sensor Python Package I have to start strugling with this, because I want to control a thermostat, which has bluetooth connection.