Important summary of this section
MicroPython implements a subset of Python functionality for each module.
To ease extensibility, MicroPython versions of standard Python modules usually have
Any particular MicroPython variant or port may miss any feature/function described in this general documentation (due to resource constraints or other limitations).
This chapter describes modules (function and class libraries) which are built into MicroPython. There are a few categories of such modules:
Modules which implement a subset of standard Python functionality and are not intended to be extended by the user.
Modules which implement a subset of Python functionality, with a provision for extension by the user (via Python code).
Modules which implement MicroPython extensions to the Python standard libraries.
Modules specific to a particular MicroPython port and thus not portable.
Python standard libraries and micro-libraries¶
The following standard Python libraries have been “micro-ified” to fit in with
the philosophy of MicroPython. They provide the core functionality of that
module and are intended to be a drop-in replacement for the standard Python
library. Some modules below use a standard Python name, but prefixed with “u”,
ujson instead of
json. This is to signify that such a module is
micro-library, i.e. implements only a subset of CPython module functionality.
By naming them differently, a user has a choice to write a Python-level module
to extend functionality for better compatibility with CPython (indeed, this is
what done by the micropython-lib project mentioned above).
On some embedded platforms, where it may be cumbersome to add Python-level
wrapper modules to achieve naming compatibility with CPython, micro-modules
are available both by their u-name, and also by their non-u-name. The
non-u-name can be overridden by a file of that name in your library path (
import json will first search for a file
json.py (or package
json) and load that module if it is found. If nothing is found,
it will fallback to loading the built-in
- Builtin functions and exceptions
cmath– mathematical functions for complex numbers
gc– control the garbage collector
math– mathematical functions
uarray– arrays of numeric data
uasyncio— asynchronous I/O scheduler
ubinascii– binary/ASCII conversions
ucollections– collection and container types
uerrno– system error codes
uhashlib– hashing algorithms
uheapq– heap queue algorithm
uio– input/output streams
ujson– JSON encoding and decoding
uos– basic “operating system” services
ure– simple regular expressions
uselect– wait for events on a set of streams
usocket– socket module
ussl– SSL/TLS module
ustruct– pack and unpack primitive data types
usys– system specific functions
utime– time related functions
uzlib– zlib decompression
_thread– multithreading support
Functionality specific to the MicroPython implementation is available in the following libraries.