OT: micropython is not the same as python, hence the comment is off topic. You would think that micropython and python having two separate pages on wikipedia would provided a clue. Moreover, system programmers don't go anywhere near this travesty. Device drivers are written in C or Rust, then compiled. Not fake-compiled but really still interpreted by a virtual machine, and not just-in-time compiled. Simply and truly compiled into machine code, then run in kernel privileged space. That is pretty much it.
Micropython is not intended for real coding jobs, it is used for educational purposes, runs on LEGO, BBC micro, fun amateur stuff, little hacky microcontrollers that people use in universities. It is certainly good to widen access to interesting amateur or learning projects, but I am afraid the fact stands: python itself is not good for system software, certainly cannot write a proper OS in it, it has not nor can ever have multithreading.
I will add that Python is also unsuitable for any large enough project, because its dynamic typing, stone age debugging, lack of useful features like constants, poor object orientation and lack of constructs to finely control scope make anything written in it devolve into an uncontrollable mess beyond a certain size. Only a handful teams I know attempted a project with a million or more lines of Python. They all bitterly regretted it.