Our friends at Python have helpfully changed the way initialisation works:
the Python Plugin Framework is single threaded and has never initialised threading on purpose so them doing it for us is kinda annoyingvoid PyEval_InitThreads()
Initialize and acquire the global interpreter lock. It should be called in the main thread before creating a second thread or engaging in any other thread operations such as PyEval_ReleaseThread(tstate). It is not needed before calling PyEval_SaveThread() or PyEval_RestoreThread().
This is a no-op when called for a second time.
Changed in version 3.7: This function is now called by Py_Initialize(), so you don’t have to call it yourself anymore.

Investigation in progress..