But basically it looks like there's very little code out there for doing this on Python so you're making your life quite difficult. By contrast there's quite a lot of Node.js stuff.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Adafruit have a Python library for their Bluefruit stuff that may work for you: https://github.com/adafruit/Adafruit_Python_BluefruitLE/blob/master/examples/low_level.py
But basically it looks like there's very little code out there for doing this on Python so you're making your life quite difficult. By contrast there's quite a lot of Node.js stuff.
This example came up: https://github.com/tigoe/BluetoothLE-Examples/tree/master/noble/readSerial
Or there's even this library https://www.npmjs.com/package/node-uartble