Eventually, but I don’t consider that urgent at the moment as I feel there’s little to gain for a massive amount of work. For concurrent execution without threads you can use
gevent. Multithreading itself should be mostly identical across versions (AFAIK) and the core python process relies heavily on it.
pip support won’t get added. The reason is that installation of a package should result in a defined state. pip would introduce an external (network) dependencies and the state you end up on a device suddenly depends on an outside source. Additionally there’s then no way for the system to verify the integrity of the local installation. Compared to the way it works right now: Every file within
/space/root can and is verified and repaired automatically should there be anything wrong due to power loss or other issues. That’s an important property if you want a reliable and reproduceable system.
There’s an undocumented (I’ll change that) but fully supported feature that can help you with your request though: If you include a file named
overlay.squashfs (a squashfs filesystem) within your package, it will be mounted as an overlay on top of the normal operating system files when running your package service. If you create a self-contained Python3 installation with all required dependencies within overlay.squashfs, you can use Python3 within your package service. For debugging in case of an error, you can enter your service’s environment by running
/service/service.root/run shell. You’ll end up in a shell with the normal package sandboxing and the overlay active and you can run