I couldn't quickly find a comparison table or similar, to see what parts of Python are not supported by MicroPython. So I asked an LLM and it listed quite a substantial amount of modules of the standard library, that are a shame not to have. No logging module? No multiprocessing? No json, no xml? And the list goes on, including many very useful modules. One can probably somehow get by, installing third party libraries, but then what is the point of being MicroPython, if you need to install tons of libraries to do basic things like reading a JSON file? And as I am currently working on a tkinter application, tkinter being on the list also makes me think: "What a pity, cannot port that to MicroPython."
This is just my first superficial look at it and it is also based on LLM info, which doesn't have to be correct, but if it is correct, then it feels a little disappointing.
Perhaps for more serious app development, it would be good to have real Python and interface with MicroPython for the hardware controlling stuff.
Specifically: JSON is built-in, logging is available. There's no multiprocessing (it is designed for a micro, after-all - and note that thread is available on some ports), no built-in XML lib.
Be sure to check micropython-lib, the MicroPython Awesome List and mim for others.
MicroPython is primarily for embedddd devices with on the order of 1 MB of RAM and FLASH. And applications which makes sense with such constraints. If you have hundreds of MB of RAM, better to just use CPython.
The docs say: "Developers: Learn how to install, build, and extend MicroPythonOS with new apps and features." -- But how? What are app devs using?