createstubs_mem
¶
Create stubs for (all) modules on a MicroPython board.
This variant of the createstubs.py script is optimised for use on low-memory devices, and reads the list of modules from a text file modulelist.txt in the root or libs folder that should be uploaded to the device. If that cannot be found then only a single module (micropython) is stubbed. In order to run this on low-memory devices two additional steps are recommended: - minifification, using python-minifier
to reduce overall size, and remove logging overhead.
cross compilation, using mpy-cross, to avoid the compilation step on the micropython device
This variant was generated from createstubs.py by micropython-stubber v1.17.2
Module Contents¶
Classes¶
Generate stubs for modules in firmware |
Functions¶
|
Create nested folders if needed |
|
|
|
|
|
|
|
Read the board name from the boardname.py file that may have been created upfront |
|
Determine the root folder of the device |
|
|
|
get --path from cmdline. [unix/win] |
|
runtime test to determine full or micropython |
|
Attributes¶
- createstubs_mem.__version__ = 'v1.17.2'¶
- createstubs_mem.ENOENT = 2¶
- createstubs_mem._MAX_CLASS_LEVEL = 2¶
- createstubs_mem.LIBS = ['lib', '/lib', '/sd/lib', '/flash/lib', '.']¶
- class createstubs_mem.logging¶
- INFO = 20¶
- WARNING = 30¶
- ERROR = 40¶
- level¶
- prnt¶
- static getLogger(name)¶
- classmethod basicConfig(level)¶
- info(msg)¶
- warning(msg)¶
- error(msg)¶
- createstubs_mem.log¶
- class createstubs_mem.Stubber(path: str = None, firmware_id: str = None)¶
Generate stubs for modules in firmware
- property flat_fwid¶
Turn _fwid from ‘v1.2.3’ into ‘1_2_3’ to be used in filename
- get_obj_attributes(item_instance: object)¶
extract information of the objects members and attributes
- Parameters:
item_instance (object) –
- add_modules(modules)¶
Add additional modules to be exported
- create_all_stubs()¶
Create stubs for all configured modules
- create_module_stub(module_name: str, file_name: str = None) bool ¶
Create a Stub of a single python module
Args: - module_name (str): name of the module to document. This module will be imported. - file_name (Optional[str]): the ‘path/filename.pyi’ to write to. If omitted will be created based on the module name.
- write_object_stub(fp, object_expr: object, obj_name: str, indent: str, in_class: int = 0)¶
Write a module/object stub to an open file. Can be called recursive.
- report_start(filename: str = 'modules.json')¶
Start a report of the modules that have been stubbed “create json with list of exported modules
- Parameters:
filename (str) –
- report_end()¶
- createstubs_mem._build(s)¶
- createstubs_mem.get_boardname() str ¶
Read the board name from the boardname.py file that may have been created upfront
- Return type:
- createstubs_mem.show_help()¶
- createstubs_mem.main()¶