This is a module ported from CPython standard library to be compatible with MicroPython interpreter. Usually, this means applying small patches for features not supported (yet, or at all) in MicroPython. Sometimes, heavier changes are required. Note that CPython modules are written with availability of vast resources in mind, and may not work for MicroPython ports with limited heap. If you are affected by such a case, please help reimplement the module from scratch.