Full Code of Josverl/micropython-stubs for AI

main 3bbb5b058e48 cached
81438 files
257.0 MB
30.7M tokens
350553 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (124,034K chars total). Download the full file to get everything.
Repository: Josverl/micropython-stubs
Branch: main
Commit: 3bbb5b058e48
Files: 81438
Total size: 257.0 MB

Directory structure:
gitextract__ge70o_7/

├── .actrc
├── .all-contributorsrc
├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .gitattributes
├── .github/
│   ├── FUNDING.yml
│   ├── actions/
│   │   ├── commit/
│   │   │   └── action.yml
│   │   ├── enhanced-diff/
│   │   │   ├── README.md
│   │   │   ├── action.yml
│   │   │   ├── check_changes.py
│   │   │   └── test_enhanced_diff.py
│   │   ├── get-mpversions/
│   │   │   ├── action.yml
│   │   │   └── list_versions.py
│   │   └── stub-diff/
│   │       ├── action.yml
│   │       └── git-diff.ps1
│   ├── agents/
│   │   ├── audit/
│   │   │   └── ralph-auditer-progress.md
│   │   ├── ralph-auditer-runner.agent.md
│   │   ├── ralph-auditer.agent.md
│   │   ├── stub-source-auditor.agent.md
│   │   └── stub-typing-specialist.agent.md
│   ├── copilot-instructions.md
│   ├── dependabot.yml
│   ├── not-active/
│   │   ├── action-test.yml
│   │   ├── codeql-analysis.yml
│   │   ├── get-loboris-frozen.yml
│   │   ├── mark-stale.yml
│   │   ├── matrix.yml
│   │   ├── publish.yml
│   │   └── testspace.yml
│   └── workflows/
│       ├── compare_score.py
│       ├── createstubs.yml
│       ├── get-all-frozen.yml
│       ├── get-doc-stubs.yml
│       ├── matrix-test.yml
│       ├── publish_explorer.yml
│       ├── selftest.yml
│       ├── test_runtime_typing.yml
│       ├── test_stub_quality.yml
│       ├── update_docs.yml
│       ├── update_stubs.yml
│       └── weekly_automation.yml
├── .gitignore
├── .libcst.codemod.yaml
├── .mailmap
├── .readthedocs.yaml
├── .vscode/
│   ├── all_packages_db.connection.json
│   ├── board.connection.json
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── LICENSE.md
├── Manual stub build chain.ipynb
├── README.md
├── all_modules.json
├── data/
│   ├── package_db_to_json.py
│   └── stub-packages.json
├── docs/
│   ├── .gitignore
│   ├── 10_introduction.md
│   ├── 11_install_stubs.md
│   ├── 20_install_detailed.md
│   ├── 22_static_type_checking.md
│   ├── 22_vscode.md
│   ├── 23_pyright_advanced.md
│   ├── 24_pycharm.md
│   ├── 26_pylint.md
│   ├── 27_micropico.md
│   ├── 28_mypy.md
│   ├── 29_ruff.md
│   ├── 32_rp2_asm.md
│   ├── 95_symlink.md
│   ├── Known_Limitations_v1.24.1.md
│   ├── Makefile
│   ├── RUFF_INTEGRATION.md
│   ├── conf.py
│   ├── definitions.md
│   ├── diagrams.pptx
│   ├── diy_stubs_files.md
│   ├── firmware_flat.md
│   ├── firmware_grp.md
│   ├── folder_naming.md
│   ├── index.md
│   ├── make.bat
│   ├── microbit_v2 type checking.md
│   ├── modules_git_body.md
│   ├── modules_pypi_body.md
│   ├── notes.txt
│   ├── package_flatview.md
│   ├── packages.md
│   ├── pyproject.md
│   ├── qa_testing.md
│   ├── report_pypi_modules.ipynb
│   ├── report_pypi_modules.py
│   ├── requirements.txt
│   ├── samples/
│   │   ├── .pylintrc
│   │   └── .vscode/
│   │       ├── extensions.json
│   │       ├── settings.json
│   │       └── tasks.json
│   ├── stub_locations.md
│   ├── stub_types.md
│   ├── templates/
│   │   ├── firmware_flat.j2
│   │   ├── firmware_grp.j2
│   │   ├── modules_git.md.j2
│   │   └── modules_pypi.md.j2
│   ├── typing_mpy.md
│   ├── update_docs.py
│   └── utils.py
├── downloads.md
├── examples/
│   └── src/
│       ├── example.py
│       ├── lib/
│       │   └── typing.mpy
│       ├── main.py
│       └── pyproject.toml
├── firmware_flat.md
├── firmware_grp.md
├── justfile
├── mip/
│   ├── readme.md
│   ├── typing.json
│   ├── typing.mpy
│   ├── typing.py
│   ├── typing_extensions.mpy
│   ├── typing_extensions.py
│   ├── typing_mpy.json
│   ├── x-compile.ps1
│   └── x-compile.sh
├── publish/
│   ├── micropython-stdlib-stubs/
│   │   ├── .gitignore
│   │   ├── LICENSE.md
│   │   ├── LICENSE_typeshed
│   │   ├── README.md
│   │   ├── build.py
│   │   ├── publish.ipynb
│   │   ├── pyproject.toml
│   │   ├── pyrightconfig.json
│   │   ├── reduce_stdlib.ipynb
│   │   ├── stdlib/
│   │   │   ├── VERSIONS
│   │   │   ├── __future__.pyi
│   │   │   ├── _ast.pyi
│   │   │   ├── _codecs.pyi
│   │   │   ├── _collections_abc.pyi
│   │   │   ├── _decimal.pyi
│   │   │   ├── _typeshed/
│   │   │   │   ├── __init__.pyi
│   │   │   │   ├── dbapi.pyi
│   │   │   │   ├── importlib.pyi
│   │   │   │   └── xml.pyi
│   │   │   ├── abc.pyi
│   │   │   ├── array.pyi
│   │   │   ├── asyncio/
│   │   │   │   ├── __init__.pyi
│   │   │   │   ├── base_events.pyi
│   │   │   │   ├── base_futures.pyi
│   │   │   │   ├── base_tasks.pyi
│   │   │   │   ├── constants.pyi
│   │   │   │   ├── coroutines.pyi
│   │   │   │   ├── events.pyi
│   │   │   │   ├── exceptions.pyi
│   │   │   │   ├── format_helpers.pyi
│   │   │   │   ├── futures.pyi
│   │   │   │   ├── locks.pyi
│   │   │   │   ├── log.pyi
│   │   │   │   ├── micropython.pyi
│   │   │   │   ├── mixins.pyi
│   │   │   │   ├── proactor_events.pyi
│   │   │   │   ├── protocols.pyi
│   │   │   │   ├── queues.pyi
│   │   │   │   ├── readme.md
│   │   │   │   ├── runners.pyi
│   │   │   │   ├── selector_events.pyi
│   │   │   │   ├── sslproto.pyi
│   │   │   │   ├── staggered.pyi
│   │   │   │   ├── streams.pyi
│   │   │   │   ├── tasks.pyi
│   │   │   │   ├── threads.pyi
│   │   │   │   ├── timeouts.pyi
│   │   │   │   ├── transports.pyi
│   │   │   │   └── trsock.pyi
│   │   │   ├── builtins.pyi
│   │   │   ├── collections/
│   │   │   │   ├── __init__.pyi
│   │   │   │   └── abc.pyi
│   │   │   ├── enum.pyi
│   │   │   ├── io.pyi
│   │   │   ├── json/
│   │   │   │   └── __init__.pyi
│   │   │   ├── os/
│   │   │   │   └── __init__.pyi
│   │   │   ├── re.pyi
│   │   │   ├── sre_compile.pyi
│   │   │   ├── sre_constants.pyi
│   │   │   ├── sre_parse.pyi
│   │   │   ├── ssl.pyi
│   │   │   ├── struct.pyi
│   │   │   ├── sys/
│   │   │   │   └── __init__.pyi
│   │   │   ├── types.pyi
│   │   │   ├── typing.pyi
│   │   │   └── typing_extensions.pyi
│   │   ├── stubs/
│   │   │   └── mypy-extensions/
│   │   │       └── mypy_extensions.pyi
│   │   └── typeshed_commit.txt
│   ├── micropython-v1_17-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp32_stubs-1.17.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.py
│   │   ├── upip_utarfile.py
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.py
│   │   ├── webrepl_setup.py
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_17-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp8266_stubs-1.17.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── port_diag.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequest.pyi
│   │   ├── urequests.pyi
│   │   ├── urllib/
│   │   │   └── urequest.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_17-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_rp2_stubs-1.17.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── rp2.py
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── ulab.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_17-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── lcd160cr_test.py
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_stm32_stubs-1.17.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_18-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp32_stubs-1.18.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.py
│   │   ├── upip_utarfile.py
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.py
│   │   ├── webrepl_setup.py
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_18-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp8266_stubs-1.18.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── port_diag.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequest.pyi
│   │   ├── urequests.pyi
│   │   ├── urllib/
│   │   │   └── urequest.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_18-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_rp2_stubs-1.18.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_18-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── lcd160cr_test.py
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_stm32_stubs-1.18.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp32-generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   ├── task.pyi
│   │   │   └── uasyncio/
│   │   │       ├── __init__.pyi
│   │   │       ├── core.pyi
│   │   │       ├── event.pyi
│   │   │       ├── funcs.pyi
│   │   │       ├── lock.pyi
│   │   │       └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp32-generic_spiram-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp32-s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.py
│   │   ├── _thread.py
│   │   ├── _uasyncio.py
│   │   ├── apa106.py
│   │   ├── array.py
│   │   ├── binascii.py
│   │   ├── bluetooth.py
│   │   ├── btree.py
│   │   ├── cmath.py
│   │   ├── collections.py
│   │   ├── cryptolib.py
│   │   ├── dht.py
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.py
│   │   ├── errno.py
│   │   ├── esp.py
│   │   ├── esp32.py
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.py
│   │   ├── framebuf.py
│   │   ├── gc.py
│   │   ├── hashlib.py
│   │   ├── heapq.py
│   │   ├── inisetup.py
│   │   ├── io.py
│   │   ├── json.py
│   │   ├── machine.py
│   │   ├── math.py
│   │   ├── micropython.pyi
│   │   ├── neopixel.py
│   │   ├── network.py
│   │   ├── ntptime.py
│   │   ├── onewire.py
│   │   ├── os.py
│   │   ├── platform.py
│   │   ├── pyproject.toml
│   │   ├── random.py
│   │   ├── select.py
│   │   ├── socket.py
│   │   ├── ssl.py
│   │   ├── struct.py
│   │   ├── sys.py
│   │   ├── time.py
│   │   ├── uarray.py
│   │   ├── uasyncio/
│   │   │   ├── __init__.py
│   │   │   ├── core.py
│   │   │   ├── event.py
│   │   │   ├── funcs.py
│   │   │   ├── lock.py
│   │   │   ├── stream.py
│   │   │   └── task.py
│   │   ├── ubinascii.py
│   │   ├── ubluetooth.py
│   │   ├── ucollections.py
│   │   ├── ucryptolib.py
│   │   ├── uctypes.py
│   │   ├── uerrno.py
│   │   ├── uhashlib.py
│   │   ├── uheapq.py
│   │   ├── uio.py
│   │   ├── ujson.py
│   │   ├── umachine.py
│   │   ├── uos.py
│   │   ├── upip.py
│   │   ├── upip_utarfile.py
│   │   ├── uplatform.py
│   │   ├── urandom.py
│   │   ├── ure.py
│   │   ├── uselect.py
│   │   ├── usocket.py
│   │   ├── ussl.py
│   │   ├── ustruct.py
│   │   ├── usys.py
│   │   ├── utime.py
│   │   ├── utimeq.py
│   │   ├── uwebsocket.py
│   │   ├── uzlib.py
│   │   ├── webrepl.py
│   │   ├── webrepl_setup.py
│   │   ├── websocket.py
│   │   ├── websocket_helper.py
│   │   └── zlib.py
│   ├── micropython-v1_19_1-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp32_stubs-1.19.1.post3.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp32-um_tinypico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── dotstar.pyi
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tinypico.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp8266_stubs-1.19.1.post2.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── port_diag.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lsm6dsox.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── lcd160cr_test.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_stm32_stubs-1.19.1.post3.dist-info/
│   │   │   └── METADATA
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-generic_ota-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-ota-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-rp2-pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-rp2-pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-adafruit_feather_m4_express-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-adafruit_itsybitsy_m4_express-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-minisam_m4-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-unix-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── argparse.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── ffi.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.py
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.py
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   ├── __init__.pyi
│   │   │   └── __main__.pyi
│   │   ├── os.py
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.py
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-windows-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_21_0-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp32-esp32_generic_c3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp32-esp32_generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp8266-esp8266_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-unix-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _thread.pyi
│   │   ├── argparse.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── ffi.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   ├── __init__.pyi
│   │   │   └── __main__.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── requests.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-webassembly-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-windows-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.py
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.py
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.py
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.py
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.py
│   ├── micropython-v1_22_0-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_0-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_0-rp2-arduino_nano_rp2040_connect-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── lsm6dsox.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_0-rp2-pimoroni_picolipo_16mb-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_0-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_1-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_1-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_1-rp2-arduino_nano_rp2040_connect-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cbor2/
│   │   │   ├── __init__.pyi
│   │   │   ├── decoder.pyi
│   │   │   └── encoder.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── espflash.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── lsm6dsox.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── senml/
│   │   │   ├── __init__.pyi
│   │   │   ├── senml_base.pyi
│   │   │   ├── senml_pack.pyi
│   │   │   ├── senml_record.pyi
│   │   │   └── senml_unit.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_1-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_1-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_1-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_1-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_1-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp32-esp32_generic_c3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp32-esp32_generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp8266-esp8266_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_23_0-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp32-esp32_generic_c3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp32-esp32_generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── __mpy_types__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp8266-esp8266_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_24_1-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── removed.txt
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── vfs.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_24_1-esp32-esp32_generic_c6-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── removed.txt
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── vfs.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_24_1-esp32-esp32_generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── removed.txt
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── vfs.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_24_1-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── removed.txt
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── vfs.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_24_1-esp8266-esp8266_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── port_diag.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   └── webrepl_setup.pyi
│   ├── micropython-v1_24_1-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├──

================================================
FILE CONTENTS
================================================

================================================
FILE: .actrc
================================================
# set default options for running nekios act to run actions locally with docker
# reus images to speed up builds and to be able to inspect the state after a build
# bind the local folder to the docker container to avoid needing to copy files
# use the large images to include as many tools as possible from ghcr.io/catthehacker/ubuntu:full-latest
--reuse
-P ubuntu-latest=ghcr.io/catthehacker/ubuntu:full-latest
# --bind



================================================
FILE: .all-contributorsrc
================================================
{
  "files": [
    "README.md"
  ],
  "types": {
    "stubs": {
      "symbol": "📝",
      "description": "type-stubs"
    },
    "test": {
      "symbol": "✔",
      "description": "Test"
    }
  },
  "imageSize": 100,
  "commit": false,
  "contributorsPerLine": 8,
  "projectName": "micropython-stubs",
  "projectOwner": "Josverl",
  "repoType": "github",
  "repoHost": "https://github.com",
  "skipCi": true,
  "contributors": [
    {
      "login": "josverl",
      "name": "Jos Verlinde",
      "avatar_url": "https://avatars2.githubusercontent.com/u/981654?v=4",
      "profile": "https://github.com/Josverl",
      "contributions": [
        "code",
        "stubs",
        "test",
        "tool",
        "research",
        "example",
        "data",
        "platform"
      ]
    },
    {
      "login": "micropython",
      "name": "MicroPython",
      "avatar_url": "https://avatars1.githubusercontent.com/u/6298560?v=4",
      "profile": "https://micropython.org/",
      "contributions": [
        "data",
        "stubs"
      ]
    },
    {
      "login": "loboris",
      "name": "Boris Lovosevic",
      "avatar_url": "https://avatars3.githubusercontent.com/u/6280349?v=4",
      "profile": "https://github.com/loboris",
      "contributions": [
        "data",
        "stubs"
      ]
    },
    {
      "login": "pfalcon",
      "name": "Paul Sokolovsky",
      "avatar_url": "https://avatars3.githubusercontent.com/u/500451?v=4",
      "profile": "https://github.com/pfalcon",
      "contributions": [
        "data",
        "stubs"
      ]
    },
    {
      "login": "pycopy",
      "name": "pycopy",
      "avatar_url": "https://avatars0.githubusercontent.com/u/67273174?v=4",
      "profile": "https://github.com/pycopy",
      "contributions": [
        "data",
        "stubs"
      ]
    },
    {
      "login": "pycom",
      "name": "Pycom",
      "avatar_url": "https://avatars2.githubusercontent.com/u/16415153?v=4",
      "profile": "https://github.com/pycom",
      "contributions": [
        "infra"
      ]
    },
    {
      "login": "hlovatt",
      "name": "Howard Lovatt",
      "avatar_url": "https://avatars.githubusercontent.com/u/8424169?v=4",
      "profile": "https://github.com/hlovatt",
      "contributions": [
        "research",
        "ideas",
        "stubs",
        "example"
      ]
    },
    {
      "login": "pfalcon",
      "name": "Paul Sokolovsky",
      "avatar_url": "https://avatars3.githubusercontent.com/u/500451?v=4",
      "profile": "https://github.com/pfalcon",
      "contributions": [
        "stubs"
      ]
    },
    {
      "login": "cpwood",
      "name": "Chris Wood",
      "avatar_url": "https://avatars.githubusercontent.com/u/13966104?v=4",
      "profile": "https://github.com/cpwood",
      "contributions": [
        "stubs",
        "tool"
      ]
    },
    {
      "login": "dastultz",
      "name": "Daryl Stultz",
      "avatar_url": "https://avatars3.githubusercontent.com/u/4334042?v=4",
      "profile": "https://github.com/dastultz",
      "contributions": [
        "stubs"
      ]
    },
    {
      "login": "BradenM",
      "name": "Braden Mars",
      "avatar_url": "https://avatars1.githubusercontent.com/u/5913808?v=4",
      "profile": "https://github.com/BradenM",
      "contributions": [
        "stubs",
        "test",
        "tool",
        "platform"
      ]
    },
    {
      "login": "askpatrickw",
      "name": "Patrick",
      "avatar_url": "https://avatars0.githubusercontent.com/u/4002194?v=4",
      "profile": "http://patrickwalters.us/",
      "contributions": [
        "test",
        "stubs"
      ]
    },
    {
      "login": "CallumJHays",
      "name": "Callum Jacob Hays",
      "avatar_url": "https://avatars0.githubusercontent.com/u/13251689?v=4",
      "profile": "http://comingsoon.tm/",
      "contributions": [
        "example",
        "research"
      ]
    },
    {
      "login": "ronaldHiemstra",
      "name": "Ronald Hiemstra",
      "avatar_url": "https://avatars.githubusercontent.com/u/17012831?v=4",
      "profile": "https://github.com/RonaldHiemstra",
      "contributions": [
        "doc"
      ]
    },
    {
      "login": "thingslu",
      "name": "thingslu",
      "avatar_url": "https://avatars.githubusercontent.com/u/34967785?v=4",
      "profile": "https://github.com/thingslu",
      "contributions": [
        "stubs",
        "test"
      ]
    },
    {
      "login": "WerdoxDev",
      "name": "Matin Tat",
      "avatar_url": "https://avatars.githubusercontent.com/u/32638453?v=4",
      "profile": "https://github.com/WerdoxDev",
      "contributions": [
        "test"
      ]
    },
    {
      "login": "robertoetcheverryr",
      "name": "Roberto Jose Etcheverry Romero",
      "avatar_url": "https://avatars.githubusercontent.com/u/63941860?v=4",
      "profile": "https://github.com/robertoetcheverryr",
      "contributions": [
        "test"
      ]
    },
    {
      "login": "jdsmith",
      "name": "jdsmith",
      "avatar_url": "https://avatars.githubusercontent.com/u/1379246?v=4",
      "profile": "https://github.com/jdsmith",
      "contributions": [
        "test"
      ]
    },
    {
      "login": "mrkeuz",
      "name": "Mr Keuz",
      "avatar_url": "https://avatars.githubusercontent.com/u/6247921?v=4",
      "profile": "https://github.com/mrkeuz",
      "contributions": [
        "test"
      ]
    },
    {
      "login": "mattytrentini",
      "name": "Matt Trentini",
      "avatar_url": "https://avatars.githubusercontent.com/u/194201?v=4",
      "profile": "https://github.com/mattytrentini",
      "contributions": [
        "stubs"
      ]
    },
    {
      "login": "andrew-stclair",
      "name": "Andrew St Clair",
      "avatar_url": "https://avatars.githubusercontent.com/u/4944499?v=4",
      "profile": "https://andrew-stclair.com/",
      "contributions": [
        "stubs"
      ]
    },
    {
      "login": "mishal",
      "name": "Michal Moravec",
      "avatar_url": "https://avatars.githubusercontent.com/u/24276?v=4",
      "profile": "https://gitlab.com/michal.moravec",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "paulober",
      "name": "Paul",
      "avatar_url": "https://avatars.githubusercontent.com/u/44974737?v=4",
      "profile": "https://github.com/paulober",
      "contributions": [
        "platform",
        "tool",
        "stubs",
        "bug"
      ]
    },
    {
      "login": "samskiter",
      "name": "Sam Duke",
      "avatar_url": "https://avatars.githubusercontent.com/u/1271643?v=4",
      "profile": "https://github.com/samskiter",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "jimmo",
      "name": "Jim Mussared",
      "avatar_url": "https://avatars.githubusercontent.com/u/5102768?v=4",
      "profile": "https://jimmo.id.au/",
      "contributions": [
        "stubs",
        "platform"
      ]
    },
    {
      "login": "stinos",
      "name": "stinos",
      "avatar_url": "https://avatars.githubusercontent.com/u/1902997?v=4",
      "profile": "https://github.com/stinos",
      "contributions": [
        "stubs"
      ]
    },
    {
      "login": "andrewleech",
      "name": "Andrew Leech",
      "avatar_url": "https://avatars.githubusercontent.com/u/3318786?v=4",
      "profile": "https://www.gitlab.com/alelec",
      "contributions": [
        "bug",
        "test",
        "stubs"
      ]
    },
    {
      "login": "maxi07",
      "name": "Maxi",
      "avatar_url": "https://avatars.githubusercontent.com/u/7480270?v=4",
      "profile": "https://github.com/maxi07",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "DeflateAwning",
      "name": "DeflateAwning",
      "avatar_url": "https://avatars.githubusercontent.com/u/11021263?v=4",
      "profile": "https://github.com/DeflateAwning",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "bixb922",
      "name": "bixb922",
      "avatar_url": "https://avatars.githubusercontent.com/u/70152274?v=4",
      "profile": "https://github.com/bixb922",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "Sylvain-BROCAS",
      "name": "Sylvain BROCAS",
      "avatar_url": "https://avatars.githubusercontent.com/u/82153591?v=4",
      "profile": "https://github.com/Sylvain-BROCAS",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "victorallume",
      "name": "victorallume",
      "avatar_url": "https://avatars.githubusercontent.com/u/97857677?v=4",
      "profile": "https://github.com/victorallume",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "Omid888",
      "name": "Omid Ataollahi",
      "avatar_url": "https://avatars.githubusercontent.com/u/30343035?v=4",
      "profile": "https://github.com/Omid888",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "ddribin",
      "name": "Dave Dribin",
      "avatar_url": "https://avatars.githubusercontent.com/u/20428?v=4",
      "profile": "https://www.dribin.org/dave/",
      "contributions": [
        "bug"
      ]
    },
    {
      "login": "peterhinch",
      "name": "Peter Hinch",
      "avatar_url": "https://avatars.githubusercontent.com/u/8437477?v=4",
      "profile": "https://github.com/peterhinch",
      "contributions": [
        "example"
      ]
    },
    {
      "login": "DavideRossi",
      "name": "morcilab",
      "avatar_url": "https://avatars.githubusercontent.com/u/9553056?v=4",
      "profile": "https://github.com/DavideRossi",
      "contributions": [
        "test",
        "bug"
      ]
    },
    {
      "login": "Tinyu-Zhao",
      "name": "Tinyu",
      "avatar_url": "https://avatars.githubusercontent.com/u/44396641?v=4",
      "profile": "https://tinyu-zhao.github.io/",
      "contributions": [
        "test",
        "bug"
      ]
    },
    {
      "login": "markusand",
      "name": "Marc Vilella",
      "avatar_url": "https://avatars.githubusercontent.com/u/12972543?v=4",
      "profile": "https://github.com/markusand",
      "contributions": [
        "stubs"
      ]
    },
    {
      "login": "ziesemer",
      "name": "Mark A. Ziesemer",
      "avatar_url": "https://avatars.githubusercontent.com/u/1887649?v=4",
      "profile": "http://www.ziesemer.com/",
      "contributions": [
        "stubs"
      ]
    }
  ],
  "commitConvention": "none",
  "commitType": "docs"
}


================================================
FILE: .devcontainer/Dockerfile
================================================
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.224.2/containers/python-3/.devcontainer/base.Dockerfile

# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.10, 3.9, 3.8, 3.7, 3.6, 3-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye, 3-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster
ARG VARIANT="3.10-bullseye"
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}

# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
ARG NODE_VERSION="none"
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi

# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image.
# COPY requirements.txt /tmp/pip-tmp/
# RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \
#    && rm -rf /tmp/pip-tmp

# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
#     && apt-get -y install --no-install-recommends <your-package-list-here>

# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1

================================================
FILE: .devcontainer/devcontainer.json
================================================
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.224.2/containers/python-3
{
	"name": "Python 3",
	"build": {
		"dockerfile": "Dockerfile",
		"context": "..",
		"args": { 
			// Update 'VARIANT' to pick a Python version: 3, 3.10, 3.9, 3.8, 3.7, 3.6
			// Append -bullseye or -buster to pin to an OS version.
			// Use -bullseye variants on local on arm64/Apple Silicon.
			"VARIANT": "3.9",
			// Options
			"NODE_VERSION": "lts/*"
		}
	},

	// Set *default* container specific settings.json values on container create.
	"settings": { 
		"python.defaultInterpreterPath": "/usr/local/bin/python",
		"python.linting.enabled": true,
		"python.linting.pylintEnabled": false,
		"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
		"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
		"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
		"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
		"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
		"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
		"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
		"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
		"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint"
	},

	// Add the IDs of extensions you want installed when the container is created.
	"extensions": [
		"ms-python.python",
		"ms-python.vscode-pylance"
	],

	// Use 'forwardPorts' to make a list of ports inside the container available locally.
	// "forwardPorts": [],

	// Use 'postCreateCommand' to run commands after the container is created.
	// "postCreateCommand": "pip3 install --user -r requirements.txt",

	// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
	"remoteUser": "vscode",
	"features": {
		"powershell": "latest",
		"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {},
		"ghcr.io/itsmechlark/features/act:1": {}
	}
}


================================================
FILE: .gitattributes
================================================
# These are binary so should never be modified by git.
*.mpy binary


================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

github: [josverl] 


================================================
FILE: .github/actions/commit/action.yml
================================================
name: "commit changes"
description: ""
inputs:
  message:
    description: "commit message"
    required: true
    default: "commit changes, but only if actual stubs changed"


runs:
  using: composite
  steps:
    - name: Check for relevant changes (enhanced diff)
      uses: ./.github/actions/enhanced-diff
      id: diff
      with:
        verbose: "true"

    - name: show outputs
      run: |
        echo "changed: ${{steps.diff.outputs.changed}}"
        echo "total count: ${{steps.diff.outputs.count}}"
        echo "non-json count: ${{steps.diff.outputs.non_json_count}}"
        echo "json count: ${{steps.diff.outputs.json_count}}"
      shell: bash


    - run: git pull origin main --rebase --autostash
      if: ${{steps.diff.outputs.changed == 'true'}} 
      shell: bash


    - name: Commit the changes
      uses: EndBug/add-and-commit@v9
      if: ${{steps.diff.outputs.changed == 'true'}} AND ${{ !env.ACT }}
      with:
        message: ${{ inputs.message }}
      
    - name: Do not Commit the changes if running in ACT
      run: echo "Running locally in ACT; Skipped publish stubs for ${{matrix.version}}"
      shell: bash
      if : ${{ env.ACT }}


================================================
FILE: .github/actions/enhanced-diff/README.md
================================================
# Enhanced Diff Action

This GitHub Action provides enhanced diff checking for the micropython-stubs workflow. It determines whether a commit should be made based on the types of files that have changed.

## Key Features

- **Smart Commit Logic**: Only commits when non-JSON files are changed
- **JSON File Inclusion**: Includes JSON files in commits when they occur alongside other changes
- **Detailed Reporting**: Provides comprehensive output about what files changed
- **Python-based**: Uses Python instead of bash/PowerShell for better cross-platform compatibility

## Logic

The action categorizes changed files into two groups:

1. **JSON files** (`.json` extension, case-insensitive)
2. **Non-JSON files** (all other files)

### Commit Decision

- ✅ **Commit proceeds** when non-JSON files are changed (JSON files are included)
- ❌ **Commit skipped** when only JSON files are changed

### Examples

| Changed Files | JSON Files | Non-JSON Files | Commit? | Rationale |
|---------------|------------|----------------|---------|-----------|
| `stub.py`, `config.json` | 1 | 1 | ✅ Yes | Non-JSON files trigger commit |
| `config.json`, `package.json` | 2 | 0 | ❌ No | Only JSON files changed |
| `README.md`, `main.py` | 0 | 2 | ✅ Yes | Non-JSON files trigger commit |
| *(no changes)* | 0 | 0 | ❌ No | No changes detected |

## Inputs

- `verbose` (optional): Set to `"true"` for detailed output. Default: `"false"`

## Outputs

- `changed`: `"true"` if commit should proceed, `"false"` otherwise
- `count`: Total number of changed files
- `json_count`: Number of JSON files changed
- `non_json_count`: Number of non-JSON files changed (determines commit decision)

## Usage

```yaml
- name: Check for relevant changes
  uses: ./.github/actions/enhanced-diff
  id: diff
  with:
    verbose: "true"

- name: Show results
  run: |
    echo "Should commit: ${{steps.diff.outputs.changed}}"
    echo "Total files: ${{steps.diff.outputs.count}}"
    echo "Non-JSON files: ${{steps.diff.outputs.non_json_count}}"
    echo "JSON files: ${{steps.diff.outputs.json_count}}"

- name: Commit changes
  if: ${{steps.diff.outputs.changed == 'true'}}
  run: git commit -am "Update files"
```

## Files

- `action.yml`: GitHub Action definition
- `check_changes.py`: Main Python script with diff logic
- `test_enhanced_diff.py`: Test suite for the diff logic
- `README.md`: This documentation

## Testing

Run the test suite to verify the logic:

```bash
cd .github/actions/enhanced-diff
python test_enhanced_diff.py
```

## Migration from stub-diff

This action replaces the previous `stub-diff` action with enhanced logic. The key differences:

1. **Language**: Python instead of PowerShell
2. **Logic**: JSON-aware commit decisions instead of pattern-based
3. **Outputs**: Additional outputs for JSON vs non-JSON file counts
4. **Cross-platform**: Better compatibility across different runners

================================================
FILE: .github/actions/enhanced-diff/action.yml
================================================
name: "enhanced-diff"
description: "Enhanced diff check that determines commits based on non-JSON file changes"

inputs:
  verbose:
    description: "Show detailed output"
    required: false
    default: "false"

outputs:
  changed:
    description: "true if commit should proceed (non-JSON files changed), false otherwise"
    value: ${{ steps.diff.outputs.changed }}
  count:
    description: "total number of changed files"
    value: ${{ steps.diff.outputs.count }}
  json_count:
    description: "number of JSON files changed"
    value: ${{ steps.diff.outputs.json_count }}
  non_json_count:
    description: "number of non-JSON files changed (determines if commit proceeds)"
    value: ${{ steps.diff.outputs.non_json_count }}

runs:
  using: composite
  steps:
    # don't care about CR/LF differences between Windows and Linux
    - name: git config
      shell: bash
      run: git config core.autocrlf true

    - name: Run enhanced diff check
      shell: bash
      working-directory: ${{ github.workspace }}
      id: diff
      env:
        VERBOSE: ${{ inputs.verbose }}
      run: |
        python .github/actions/enhanced-diff/check_changes.py

================================================
FILE: .github/actions/enhanced-diff/check_changes.py
================================================
#!/usr/bin/env python3
"""
Enhanced diff checker for micropython-stubs workflow.

This script checks for changes in the repository and determines if a commit should be made
based on whether there are non-JSON file changes. JSON files are included in commits
but don't trigger commits by themselves.
"""

import os
import subprocess
import sys
from pathlib import Path


def run_git_command(cmd):
    """Run a git command and return the output."""
    try:
        result = subprocess.run(
            cmd, 
            shell=True, 
            capture_output=True, 
            text=True, 
            check=True
        )
        return result.stdout.strip()
    except subprocess.CalledProcessError as e:
        print(f"Error running git command '{cmd}': {e}", file=sys.stderr)
        return ""


def get_changed_files():
    """Get list of changed files using git status --porcelain."""
    output = run_git_command("git status --porcelain")
    if not output:
        return []
    
    changed_files = []
    for line in output.split('\n'):
        if line.strip():
            # Extract filename from git status output (remove status indicators)
            filename = line[3:].strip()  # Skip the first 3 characters (status indicators and space)
            changed_files.append(filename)
    
    return changed_files


def categorize_files(files):
    """Categorize files into JSON and non-JSON files."""
    json_files = []
    non_json_files = []
    
    for file in files:
        if file.lower().endswith('.json'):
            json_files.append(file)
        else:
            non_json_files.append(file)
    
    return json_files, non_json_files


def set_github_output(key, value):
    """Set GitHub Actions output variable."""
    github_output = os.getenv('GITHUB_OUTPUT')
    if github_output:
        with open(github_output, 'a', encoding='utf-8') as f:
            f.write(f"{key}={value}\n")
    else:
        print(f"::set-output name={key}::{value}")


def set_github_summary(content):
    """Set GitHub Actions step summary."""
    github_step_summary = os.getenv('GITHUB_STEP_SUMMARY')
    if github_step_summary:
        with open(github_step_summary, 'a', encoding='utf-8') as f:
            f.write(f"{content}\n")


def main():
    """Main function to check for changes and determine commit behavior."""
    verbose = os.getenv('VERBOSE', 'false').lower() in ('true', '1', 'yes')
    
    if verbose:
        print("::group::Enhanced diff check")
        print(f"Current working directory: {os.getcwd()}")
    
    # Get all changed files
    changed_files = get_changed_files()
    total_count = len(changed_files)
    
    if total_count == 0:
        if verbose:
            print("No changes detected.")
        set_github_output("changed", "false")
        set_github_output("count", "0")
        set_github_output("json_count", "0")
        set_github_output("non_json_count", "0")
        if verbose:
            print("::endgroup::")
        return
    
    # Categorize files
    json_files, non_json_files = categorize_files(changed_files)
    json_count = len(json_files)
    non_json_count = len(non_json_files)
    
    # Decision logic: commit only if there are non-JSON file changes
    should_commit = non_json_count > 0
    
    # Set outputs
    set_github_output("changed", "true" if should_commit else "false")
    set_github_output("count", str(total_count))
    set_github_output("json_count", str(json_count))
    set_github_output("non_json_count", str(non_json_count))
    
    # Create summary
    if should_commit:
        summary_content = f"### Detected {total_count} changed files - Commit will proceed :rocket:\n"
        summary_content += f"- Non-JSON files: {non_json_count} (triggers commit)\n"
        summary_content += f"- JSON files: {json_count} (included in commit)\n\n"
        
        if non_json_files:
            summary_content += "**Non-JSON files changed:**\n"
            for file in non_json_files:
                summary_content += f"- {file}\n"
        
        if json_files:
            summary_content += "\n**JSON files changed (included in commit):**\n"
            for file in json_files:
                summary_content += f"- {file}\n"
        
        set_github_summary(summary_content)
        
        if verbose:
            print(f"### Commit will proceed - {non_json_count} non-JSON file(s) changed")
            print("Non-JSON files:")
            for file in non_json_files:
                print(f"  - {file}")
            if json_files:
                print("JSON files (included in commit):")
                for file in json_files:
                    print(f"  - {file}")
    
    else:
        summary_content = f"### Detected {total_count} changed files - No commit needed\n"
        summary_content += f"- Only JSON files changed: {json_count}\n"
        summary_content += "- Non-JSON files: 0 (commit not triggered)\n\n"
        summary_content += "**JSON files changed (commit skipped):**\n"
        for file in json_files:
            summary_content += f"- {file}\n"
        
        set_github_summary(summary_content)
        
        if verbose:
            print(f"### No commit needed - only {json_count} JSON file(s) changed")
            print("JSON files (no commit triggered):")
            for file in json_files:
                print(f"  - {file}")
    
    if verbose:
        print("::endgroup::")


if __name__ == "__main__":
    main()

================================================
FILE: .github/actions/enhanced-diff/test_enhanced_diff.py
================================================
#!/usr/bin/env python3
"""
Test script for the enhanced diff checker.
This script simulates different scenarios to verify the enhanced diff logic works correctly.
"""

import os
import sys
import tempfile
import subprocess
from pathlib import Path

# Add the action directory to the path so we can import our script
action_dir = Path(__file__).parent.parent / "enhanced-diff"
sys.path.insert(0, str(action_dir))

from check_changes import categorize_files, get_changed_files


def test_categorize_files():
    """Test the file categorization logic."""
    print("Testing file categorization...")
    
    # Test case 1: Mixed files
    files = ["stub.py", "config.json", "module.pyi", "data.json", "README.md"]
    json_files, non_json_files = categorize_files(files)
    
    expected_json = ["config.json", "data.json"]
    expected_non_json = ["stub.py", "module.pyi", "README.md"]
    
    assert json_files == expected_json, f"Expected {expected_json}, got {json_files}"
    assert non_json_files == expected_non_json, f"Expected {expected_non_json}, got {non_json_files}"
    print("✓ Mixed files test passed")
    
    # Test case 2: Only JSON files
    files = ["config.json", "package.json"]
    json_files, non_json_files = categorize_files(files)
    
    assert json_files == ["config.json", "package.json"]
    assert non_json_files == []
    print("✓ JSON-only files test passed")
    
    # Test case 3: Only non-JSON files
    files = ["main.py", "utils.py", "README.md"]
    json_files, non_json_files = categorize_files(files)
    
    assert json_files == []
    assert non_json_files == ["main.py", "utils.py", "README.md"]
    print("✓ Non-JSON-only files test passed")
    
    # Test case 4: Empty list
    files = []
    json_files, non_json_files = categorize_files(files)
    
    assert json_files == []
    assert non_json_files == []
    print("✓ Empty files test passed")
    
    # Test case 5: Case insensitive JSON detection
    files = ["CONFIG.JSON", "data.Json", "mixed.JSON"]
    json_files, non_json_files = categorize_files(files)
    
    assert json_files == ["CONFIG.JSON", "data.Json", "mixed.JSON"]
    assert non_json_files == []
    print("✓ Case insensitive JSON test passed")


def simulate_git_status_scenarios():
    """Simulate different git status scenarios to show decision logic."""
    print("\nSimulating different change scenarios...")
    
    scenarios = [
        {
            "name": "Only JSON files changed",
            "files": ["config.json", "package.json"],
            "should_commit": False
        },
        {
            "name": "Only non-JSON files changed",
            "files": ["main.py", "README.md"],
            "should_commit": True
        },
        {
            "name": "Mixed files changed",
            "files": ["main.py", "config.json", "utils.py"],
            "should_commit": True
        },
        {
            "name": "No files changed",
            "files": [],
            "should_commit": False
        }
    ]
    
    for scenario in scenarios:
        print(f"\nScenario: {scenario['name']}")
        files = scenario['files']
        json_files, non_json_files = categorize_files(files)
        
        should_commit = len(non_json_files) > 0
        
        print(f"  Files: {files}")
        print(f"  JSON files: {json_files}")
        print(f"  Non-JSON files: {non_json_files}")
        print(f"  Should commit: {should_commit}")
        
        assert should_commit == scenario['should_commit'], \
            f"Expected should_commit={scenario['should_commit']}, got {should_commit}"
        print("  ✓ Decision logic correct")


if __name__ == "__main__":
    print("Running enhanced diff checker tests...\n")
    
    try:
        test_categorize_files()
        simulate_git_status_scenarios()
        print("\n🎉 All tests passed!")
    except AssertionError as e:
        print(f"\n❌ Test failed: {e}")
        sys.exit(1)
    except Exception as e:
        print(f"\n💥 Unexpected error: {e}")
        sys.exit(1)

================================================
FILE: .github/actions/get-mpversions/action.yml
================================================
name: "get-mpversions"
description: "get the most recent 4 published versions of MicroPython"
inputs:
  max:
    description: "Maximum number of versions to return"
    required: false
    default: "4"


outputs:
  versions:
    description: "Return recent versions of MicroPython"
    value: ${{ steps.dynamic.outputs.versions }}

runs:
    using: composite
    steps:
      - uses: actions/setup-python@v5
        with:
          python-version: 3.11
          cache: pip

      - run: pip install pygithub packaging
        shell: bash

      - run: python .github/actions/get-mpversions/list_versions.py --latest  --preview  --max ${{ inputs.max }}
        shell: bash
        id: dynamic
        env:
          GITHUB_TOKEN: ${{ github.token }}



================================================
FILE: .github/actions/get-mpversions/list_versions.py
================================================
"""
This module retrieves the versions of Micropython from the Micropython repository on GitHub.
It is used to generate a matrix of versions to create stubs for using Github Actions.

It provides a function `micropython_versions` that returns a list of versions starting from a specified version.
The module also includes a main block that generates a matrix of versions based on command-line arguments and environment variables.
The matrix is printed as JSON and can be optionally written to a file if running in a GitHub Actions workflow.
"""
import argparse
import json
import os
import sys
from functools import lru_cache

from github import Auth, Github
from packaging.version import Version, parse

# Token with no permissions to avoid throttling
# https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#getting-a-higher-rate-limit
PAT = os.environ.get("GITHUB_TOKEN")

@lru_cache()
def micropython_versions(start="v1.10"):
    g = Github(auth=Auth.Token(PAT)) if PAT else Github()
    try:
        repo = g.get_repo("micropython/micropython")
        # Suppress `v1.22.0-preview` tags
        tags = sorted([tag.name for tag in repo.get_tags() if "-preview" not in tag.name and parse(tag.name) >= parse(start)], reverse=True)
    except Exception as e:
        print(f"Error: {e}")
        tags = ["preview", "stable"]
    return tags

def major_minor(versions):
    """create a list of the most recent version for each major.minor"""
    mm_groups = {}
    for v in versions:
        if v in ["stable", "preview"]:
            continue
        major_minor = f"{Version(v).major}.{Version(v).minor}"
        if major_minor not in mm_groups:
            mm_groups[major_minor] = [v]
        else:
            mm_groups[major_minor].append(v)
    return [max(v) for v in mm_groups.values()]

def main():
    matrix = {}
    
    parser = argparse.ArgumentParser()
    parser.add_argument("--stable", "--latest","-s", action=argparse.BooleanOptionalAction,default=True, help="Add latest version")
    parser.add_argument("--preview", "-p", action=argparse.BooleanOptionalAction, default=False, help="Add preview version")
    parser.add_argument("--max", "-m", type=int, default=3, help="Maximum number of versions")

    args = parser.parse_args()

    # only run latests when running in ACT locally for testing
    if os.environ.get("ACT"):
        args.max = 1
    matrix["version"] = major_minor(micropython_versions(start="v1.20"))[1:args.max] 


    # print(args)
    if args.stable:
        matrix["version"].insert(0, "stable")
    if args.preview:
        matrix["version"].insert(0, "preview")
    matrix["version"]=matrix["version"][:args.max]
    # GITHUB_OUTPUT is set by github actions
    if os.getenv('GITHUB_OUTPUT'):
        with open(os.getenv('GITHUB_OUTPUT'), 'a') as file:   #  type: ignore
            file.write(f"versions={json.dumps(matrix)}\n")
            file.write(f'mp_versions={json.dumps(matrix["version"])}\n')
    else:
        print(json.dumps(matrix, indent=4))

# sourcery skip: assign-if-exp, merge-dict-assign
if __name__ == "__main__":
    main()



================================================
FILE: .github/actions/stub-diff/action.yml
================================================
name: "stub-diff"
description: "determine if there are changes to the stubs"
# inputs:
#   verbose:
#     description: "show more info"
#     required: false
#     default: "true"


outputs:
  changed:
    description: "true if changes have been detected, false otherwise"
    value: ${{ steps.diff.outputs.changed }}
  count:
    description: "the number of detected changes"
    value: ${{ steps.diff.outputs.count }}

runs:
  using: composite
  steps:
    # don't care about CR/LF differences between Windows and Linux
    - name: git config
      shell: bash
      run: git config core.autocrlf true

    - name: check for changes using git diff
      shell: pwsh
      working-directory: ${{ github.workspace }}
      id: diff
      run: |
        .github/actions/stub-diff/git-diff.ps1 -Verbose True



================================================
FILE: .github/actions/stub-diff/git-diff.ps1
================================================
param(
    $pattern = ".py",
    $verbose = "true"
)
# take string and booleans as input
try {
    $verbose = [System.Convert]::ToBoolean($verbose) 
}
catch [FormatException] {
    $verbose = $false
}


Write-host "::group:: git status -verbose:$verbose"
# show current working directory
Write-Host "pwd: $(pwd)" -ForegroundColor Green


$files = @(git status --porcelain | Where-Object { $_.Contains($pattern) })
$count = $files.count

$changed = "changed=$(if ($count -eq 0){"false"}else{"true"})"
$changed >> $env:GITHUB_OUTPUT
"count=$count" >> $env:GITHUB_OUTPUT


# create a summary
if ($count -gt 0) {
    "### Detected $count new/changed stubs :rocket: :" >> $env:GITHUB_STEP_SUMMARY
    $files | ForEach-Object { "- $_" >> $env:GITHUB_STEP_SUMMARY }
    if ($verbose) {
        write-host "### detected $count new stubs:" 
        $files | ForEach-Object { write-host "- $_" }
    }
}
else {
    if ($verbose) {
        write-host '### no new stubs detected.'
    }
}

write-host "::endgroup::"


================================================
FILE: .github/agents/audit/ralph-auditer-progress.md
================================================
# Ralph Auditer Progress Ledger

Status values: pending | in_progress | done | skipped | blocked

| Module | Status | Commit | Notes |
|---|---|---|---|
| reference\micropython\_espnow\__init__.pyi | done | 9df18a103 | Added send() overloads and RATE_* constants from modespnow.c v1.28.0 |
| reference\micropython\_rp2\__init__.pyi | done | efbaf26fc | Removed PIOASMEmit export; not present in _rp2 C module globals |
| reference\micropython\_thread\__init__.pyi | done | 632ad0ea5 | Aligned start_new_thread return/kwargs, stack_size overloads, and LockType/context manager API |
| reference\micropython\aioespnow\__init__.pyi | done |  | No stub changes needed; signatures match lib/micropython-lib/micropython/aioespnow/aioespnow.py |
| reference\micropython\array\__init__.pyi | done | 7669cd57c | Fixed __iadd__ to return array (objarray.c returns lhs_in) |
| reference\micropython\asyncio\__init__.pyi | done | 30800821b | Added exported __version__ constant from extmod/asyncio/__init__.py |
| reference\micropython\asyncio\core.pyi | done |  | No API changes needed after source review against extmod/asyncio/core.py |
| reference\micropython\asyncio\event.pyi | done |  | Corrected wait return annotations to match extmod/asyncio/event.py |
| reference\micropython\asyncio\funcs.pyi | done |  | Corrected wait_for and gather return types to match extmod/asyncio/funcs.py |
| reference\micropython\asyncio\lock.pyi | done |  | Corrected acquire and async context manager return annotations |
| reference\micropython\asyncio\stream.pyi | done |  | Corrected stream/server function return annotations from extmod/asyncio/stream.py |
| reference\micropython\asyncio\task.pyi | done |  | No API changes needed after review against extmod/asyncio/task.py and extmod/modasyncio.c |
| reference\micropython\binascii\__init__.pyi | done |  | Added b2a_base64 newline kwarg from extmod/modbinascii.c |
| reference\micropython\bluetooth\__init__.pyi | done | 362977422 | Added FLAG_* module constants from extmod/modbluetooth.c globals table |
| reference\micropython\btree\__init__.pyi | done | e5b18c7e9 | Aligned close/flush returns and added put/seq legacy methods from extmod/modbtree.c |
| reference\micropython\cmath\__init__.pyi | done |  | Corrected complex-returning function signatures and polar/rect typing |
| reference\micropython\collections\__init__.pyi | done |  | No API changes needed after review against py/modcollections.c |
| reference\micropython\cryptolib\__init__.pyi | done |  | Added MODE_ECB/MODE_CBC/MODE_CTR constants from extmod/modcryptolib.c |
| reference\micropython\deflate\__init__.pyi | done |  | No stub changes needed; API and constants align with extmod/moddeflate.c |
| reference\micropython\errno\__init__.pyi | done |  | No API changes needed after review against py/moderrno.c |
| reference\micropython\esp\__init__.pyi | done |  | Corrected deepsleep signature to support optional second arg from ports/esp8266/modesp.c |
| reference\micropython\esp32\__init__.pyi | done |  | Corrected wake_on_ext0/ext1/gpio overloads (allow no-arg forms) and boolean level type from ports/esp32/modesp32.c |
| reference\micropython\espnow\__init__.pyi | done |  | No API changes needed after review against ports/esp32/modules/espnow.py |
| reference\micropython\framebuf\__init__.pyi | done |  | Corrected color-format constant types, poly() return type, and blit palette type from extmod/modframebuf.c |
| reference\micropython\gc\__init__.pyi | done |  | collect() return typed as int|None to match MICROPY_PY_GC_COLLECT_RETVAL builds |
| reference\micropython\gzip\__init__.pyi | done |  | Corrected function-based API and return types from micropython-lib gzip.py |
| reference\micropython\hashlib\__init__.pyi | done |  | Removed duplicate overload blocks; API verified against extmod/modhashlib.c |
| reference\micropython\heapq\__init__.pyi | done |  | Removed duplicate TypeVar declaration; API verified against extmod/modheapq.c |
| reference\micropython\io\__init__.pyi | done |  | Added missing IOBase and BufferedWriter exports; removed conflicting AnyReadableBuf/AnyWritableBuf redefinitions |
| reference\micropython\jsffi\__init__.pyi | done |  | Removed non-exported __version__ and relaxed JsException/JsProxy construction to match ports/webassembly implementation |
| reference\micropython\json\__init__.pyi | done |  | No API changes needed after review against extmod/modjson.c |
| reference\micropython\lcd160cr\__init__.pyi | done |  | Corrected constants/member types and orient/startup-deco signatures to match micropython-lib lcd160cr.py |
| reference\micropython\machine\__init__.pyi | done |  | Added optional PinBase/DAC/I2CTarget/dht_readinto exports from extmod/modmachine.c globals |
| reference\micropython\machine\ADC.pyi | done |  | Aligned constructor/init/block typing and added WIDTH_13BIT constant from extmod machine_adc + esp32 constants |
| reference\micropython\machine\ADCBlock.pyi | done |  | Made bits keyword optional for constructor/init per extmod/machine_adc_block.c parse helper and docs |
| reference\micropython\machine\ADCWiPy.pyi | done |  | Corrected channel return/callable channel object typing and removed misplaced ADCWiPy.adcchannel method per cc3200 pybadc.c |
| reference\micropython\machine\CAN.pyi | done |  | Tightened enum/flag constant types to int to match extmod/machine_can.c ROM_INT exports |
| reference\micropython\machine\I2C.pyi | done |  | Added constructor timeout kwarg, tightened scan() to list[int], and typed SoftI2C constructor pins/kwargs per machine.I2C docs |
| reference\micropython\machine\I2S.pyi | done |  | Added optional mck kwarg, typed constants as int, and made shift signature keyword-only per machine.I2S docs |
| reference\micropython\machine\Pin.pyi | done |  | Typed Pin mode/pull/IRQ constants as int, irq() return as _IRQ, and toggle() as None |
| reference\micropython\machine\PWM.pyi | done |  | Added invert kwarg to constructor/init per machine.PWM docs; cleaned stale imports |
| reference\micropython\machine\RTC.pyi | done |  | Typed ALARM0 as int, fixed RTC.memory read/write overloads, and relaxed irq return to _IRQ|None |
| reference\micropython\machine\SD.pyi | done |  | Removed positional-only marker so documented keyword args (e.g. pins=...) type-check |
| reference\micropython\machine\SDCard.pyi | done |  | Added documented cmd/data kwargs; removed unused imports |
| reference\micropython\machine\Signal.pyi | done |  | Added explicit __init__ return typing; removed unused import |
| reference\micropython\machine\SPI.pyi | done |  | Set constants to int; adjusted read/write return types for cross-port None|int behavior |
| reference\micropython\machine\Timer.pyi | done |  | ONE_SHOT/PERIODIC constants typed as int |
| reference\micropython\machine\TimerWiPy.pyi | done |  | Added mode/trigger constants and tightened channel/irq/freq typing |
| reference\micropython\machine\UART.pyi | done |  | Added INV_TX/INV_RX and flow-control kwargs (flow/rts/cts); flush->None |
| reference\micropython\machine\USBDevice.pyi | done |  | Normalized BUILTIN_CDC_MSC as descriptor object type |
| reference\micropython\machine\WDT.pyi | done |  | No change; signature already matches docs (id/timeout constructor + feed) |
| reference\micropython\math\__init__.pyi | done |  | Added log(x, base) overload and precise modf tuple typing |
| reference\micropython\micropython\__init__.pyi | done |  | Removed duplicate TypeVar import; API review against py/modmicropython.c |
| reference\micropython\neopixel\__init__.pyi | done |  | No API changes needed after review against neopixel driver/docs |
| reference\micropython\network\__init__.pyi | done |  | Added module-level country/hostname/ipconfig/route and STA/AP/status constants from extmod/modnetwork.c |
| reference\micropython\network\LAN.pyi | done |  | No API changes needed after network-family review against v1.28 sources/docs |
| reference\micropython\network\PPP.pyi | done |  | No API changes needed after network-family review against v1.28 sources/docs |
| reference\micropython\network\WIZNET5K.pyi | done |  | No API changes needed after network-family review against v1.28 sources/docs |
| reference\micropython\network\WLAN.pyi | done |  | No API changes needed after network-family review against v1.28 sources/docs |
| reference\micropython\network\WLANWiPy.pyi | done |  | No API changes needed after network-family review against v1.28 sources/docs |
| reference\micropython\onewire\__init__.pyi | done |  | Tightened scan/reset/read/write/CRC typings to match micropython-lib onewire driver |
| reference\micropython\openamp\__init__.pyi | done |  | Added ENDPOINT_ADDR_ANY and corrected Endpoint.send/RemoteProc/new_service_callback signatures from extmod openamp sources |
| reference\micropython\os\__init__.pyi | done |  | No API changes needed after review against extmod/modos.c and docs |
| reference\micropython\platform\__init__.pyi | done |  | No API changes needed after review against extmod/modplatform.c |
| reference\micropython\pyb\__init__.pyi | done |  | Fixed top-level signature drift: removed leaked Timer/CAN overloads, added deprecated country alias, corrected unique_id bytes and setter arg types |
| reference\micropython\pyb\Accel.pyi | done |  | Added source-exposed read/write methods and tightened filtered_xyz tuple typing from stm32 accel.c |
| reference\micropython\pyb\ADC.pyi | done |  | Corrected read_timed return type to int (bytes written) per ports/stm32/adc.c |
| reference\micropython\pyb\CAN.pyi | done |  | Added CAN-FD init/send/clearfilter kwargs; corrected recv return shape and callback/send buffer typing |
| reference\micropython\pyb\DAC.pyi | done |  | Typed DAC mode constants as int and corrected write_timed input buffer to readable |
| reference\micropython\pyb\ExtInt.pyi | done | 71724f2ea | Added EVT_* constants and typed IRQ/EVT constants as int; callback allows None per extint.c constructor parsing |
| reference\micropython\pyb\Flash.pyi | done | 30d4fd8b6 | Aligned readblocks/writeblocks to int status returns and generalized buffer mutability per storage.c |
| reference\micropython\pyb\I2C.pyi | done | 008455d7d | Fixed constructor/init signatures, send parameter, mem_write buffer direction, and scan typing per pyb_i2c.c |
| reference\micropython\pyb\LCD.pyi | done |  | No stub changes needed after review against ports/stm32/lcd.c locals dict and method signatures |
| reference\micropython\pyb\LED.pyi | done |  | No stub changes needed after review against ports/stm32/led.c API (on/off/toggle/intensity) |
| reference\micropython\pyb\Pin.pyi | done |  | Added missing Pin IRQ/on-off helpers and IRQ/OUT/OPEN_DRAIN constants; corrected names() to list[str] per ports/stm32/pin.c. |
| reference\micropython\pyb\RTC.pyi | done |  | Restored missing method bodies, added init(), precise datetime tuple typing, and wakeup overloads for (None|ms|wucksel,wut) per ports/stm32/rtc.c. |
| reference\micropython\pyb\Servo.pyi | done |  | Replaced duplicate/incomplete overload set; aligned angle/speed/pulse_width/calibration signatures to ports/stm32/servo.c argument counts and returns. |
| reference\micropython\pyb\SPI.pyi | done |  | Added MASTER/SLAVE constants, dir/nss kwargs, and buffer-aware recv/send_recv overload returns; corrected send parameter to readable buffer per ports/stm32/pyb_spi.c. |
| reference\micropython\pyb\Switch.pyi | done |  | Completed constructor stub body; API otherwise already matched ports/stm32/usrsw.c (call/value/callback). |
| reference\micropython\pyb\Timer.pyi | done |  | Typed BRK_OFF/BRK_LOW/BRK_HIGH constants as int per ports/stm32/timer.c ROM_INT exports |
| reference\micropython\pyb\UART.pyi | done |  | Aligned RTS/CTS constant types and stream signatures (readline/write, write buffer direction) with extmod/machine_uart.c + ports/stm32/machine_uart.c |
| reference\micropython\pyb\USB_HID.pyi | done |  | Corrected USB_HID.send return type to int bytes-sent per ports/stm32/usb.c |
| reference\micropython\pyb\USB_VCP.pyi | done |  | Typed RTS/CTS/IRQ_RX as int and aligned readline/recv/send signatures to ports/stm32/usb.c stream + VCP APIs |
| reference\micropython\random\__init__.pyi | done |  | Corrected random/uniform return types and generic choice return |
| reference\micropython\rp2\__init__.pyi | done |  | Added optional deprecated country() alias overloads from ports/rp2/modrp2.c (exports mod_network_country_obj when CYW43 enabled) |
| reference\micropython\rp2\asm_pio.pyi | done | a1e543cf4 | Aligned pull/mov helper signatures to ports/rp2/modules/rp2.py (`pull(value,value2)`, `mov(dest,src)`) |
| reference\micropython\rp2\DMA.pyi | done | 4d801f0fb | Added register attrs, made unpack_ctrl static, and aligned constructor/config kwargs to ports/rp2/rp2_dma.c |
| reference\micropython\rp2\Flash.pyi | done | 12edf5eec | Aligned constructor kwargs and block API buffer/return typing to ports/rp2/rp2_flash.c |
| reference\micropython\rp2\PIO.pyi | done | 2fe8e9cf6 | Added gpio_base API, made state_machine program optional, and set irq trigger default to 0xF00 per rp2_pio.c |
| reference\micropython\rp2\PIOASMEmit.pyi | done | 3d1b9e308 | Added side_pindir kwarg and aligned pull/mov signatures to ports/rp2/modules/rp2.py PIOASMEmit methods |
| reference\micropython\rp2\StateMachine.pyi | done | e2f2104a8 | Corrected constructor/init defaults, active() return typing, and get/put buffer signatures per ports/rp2/rp2_pio.c |
| reference\micropython\select\__init__.pyi | done | bd35e1cd4 | Corrected select() tuple return type and poll.unregister() return to None per extmod/modselect.c |
| reference\micropython\socket\__init__.pyi | done | 2cc9c252d | Corrected socket.sendto() return type to int per extmod/modsocket.c |
| reference\micropython\ssl\__init__.pyi | done |  | No stub changes needed after review across extmod/modtls_mbedtls.c, extmod/modtls_axtls.c, and ports/cc3200/modssl.c exports |
| reference\micropython\stm\__init__.pyi | done |  | No API changes needed after review against ports/stm32/modstm.c (mem objects + conditional rfcore/subghz APIs) |
| reference\micropython\struct\__init__.pyi | done |  | No API changes needed after review against py/modstruct.c |
| reference\micropython\sys\__init__.pyi | done |  | No stub changes needed after review against py/modsys.c exports and signatures |
| reference\micropython\time\__init__.pyi | done |  | No stub changes needed after review against extmod/modtime.c exports and signatures |
| reference\micropython\tls\__init__.pyi | done | 7f5ac49b2 | Normalized backend-dependent TLS constants from extmod/modtls_mbedtls.c and modtls_axtls.c |
| reference\micropython\uctypes\__init__.pyi | done | f36c03082 | Corrected integer constant types and added exported BF* constants per extmod/moductypes.c |
| reference\micropython\vfs\__init__.pyi | done |  | Added optional VfsRom/rom_ioctl exports and set umount() return to None from extmod/modvfs.c + extmod/vfs.c |
| reference\micropython\wipy\__init__.pyi | done |  | No stub changes needed; heartbeat([enable]) overload matches ports/cc3200/modwipy.c behavior (bool getter, None setter). |
| reference\micropython\wm8960\__init__.pyi | done |  | Aligned __init__ default sample_rate, volume getter/setter returns, mute(enable,...) signature, and helper method None returns to wm8960.py. |
| reference\micropython\zephyr\__init__.pyi | done |  | Typed API from ports/zephyr/modzephyr.c: is_preempt_thread->bool, current_tid->int, thread_analyze(cpu)->None, shell_exec(str)->None. |
| reference\micropython\zephyr\DiskAccess.pyi | done |  | Matched zephyr_storage.c: readblocks/writeblocks return int status, no offset overloads, ioctl returns int, and class disks tuple exported. |
| reference\micropython\zephyr\FlashArea.pyi | done |  | Matched zephyr_storage.c: read/writeblocks return int status (with optional offset), ioctl int, typed ctor args, and areas mapping export. |
| reference\micropython\zephyr\zsensor.pyi | done |  | Added missing Sensor.attr_get_*/attr_set APIs and typed measure/get_* returns from ports/zephyr/modzsensor.c; added full exported channel and ATTR_* constants set from module globals. |
| reference\micropython\zlib\__init__.pyi | done |  | Corrected compress/decompress signatures to micropython-lib zlib.py |


================================================
FILE: .github/agents/ralph-auditer-runner.agent.md
================================================
---
name: ralph-auditer-runner
description: "Use when you want unattended orchestration of ralph-auditer by auto-relaunching it until status is completed or blocked."
tools: [agent]
agents: [ralph-auditer]
model: "GPT-5.3-Codex"
user-invocable: true
argument-hint: "Optional: same args you would pass to ralph-auditer (path root, start-from, commit prefix)."
---
You are an execution runner for ralph-auditer.

Goal: repeatedly invoke the `ralph-auditer` subagent until it reports `completed` or `blocked`.

## Rules
- Always invoke subagent `ralph-auditer` first.
- Preserve and re-use the same input arguments across relaunches.
- Read the final fenced JSON payload from each run.
- Continue automatically when payload `status` is `resume_required`.
- Stop only when payload `status` is `completed` or `blocked`.
- Hard safety cap: maximum 200 relaunches in one runner session.
- If payload is missing/malformed, ask the subagent once to re-emit payload; if still malformed, stop as `blocked`.

## Loop Procedure
1. Invoke `ralph-auditer` with requested arguments.
2. Parse payload fields: `status`, `next_module`, `remaining`, `batch_processed`, `totals`, `blocker`.
3. If `status=resume_required`, invoke `ralph-auditer` again immediately.
4. If `status=completed`, return success summary.
5. If `status=blocked`, return blocker summary and exact next action.

## Output Format
Return concise output:
1. Final status.
2. Total relaunch count.
3. Last inventory totals.
4. Last next_module value.
5. Blocker (if any).


================================================
FILE: .github/agents/ralph-auditer.agent.md
================================================
---
name: ralph-auditer
description: "Use when auditing and improving all stubs under reference/micropython by iterating module-by-module, invoking Stub Source Auditor for each module, committing each accepted change to audit_update, and recording durable learnings in repo memory."
tools: [vscode/getProjectSetupInfo, vscode/installExtension, vscode/memory, vscode/newWorkspace, vscode/resolveMemoryFileUri, vscode/runCommand, vscode/vscodeAPI, vscode/extensions, vscode/askQuestions, execute/runNotebookCell, execute/getTerminalOutput, execute/killTerminal, execute/sendToTerminal, execute/runTask, execute/createAndRunTask, execute/runInTerminal, execute/runTests, read/getNotebookSummary, read/problems, read/readFile, read/viewImage, read/readNotebookCellOutput, read/terminalSelection, read/terminalLastCommand, read/getTaskOutput, agent/runSubagent, edit/createDirectory, edit/createFile, edit/createJupyterNotebook, edit/editFiles, edit/editNotebook, edit/rename, search/changes, search/codebase, search/fileSearch, search/listDirectory, search/textSearch, search/usages, sequentialthinking/sequentialthinking, pylance-mcp-server/pylanceCheckSignatureCompatibility, pylance-mcp-server/pylanceDocuments, pylance-mcp-server/pylanceFileSyntaxErrors, pylance-mcp-server/pylanceImports, pylance-mcp-server/pylanceInstalledTopLevelModules, pylance-mcp-server/pylanceInvokeRefactoring, pylance-mcp-server/pylanceLSP, pylance-mcp-server/pylancePythonDebug, pylance-mcp-server/pylancePythonEnvironments, pylance-mcp-server/pylanceRunCodeSnippet, pylance-mcp-server/pylanceSemanticContext, pylance-mcp-server/pylanceSettings, pylance-mcp-server/pylanceSyntaxErrors, pylance-mcp-server/pylanceUpdatePythonEnvironment, pylance-mcp-server/pylanceWorkspaceRoots, pylance-mcp-server/pylanceWorkspaceUserFiles, ms-python.python/getPythonEnvironmentInfo, ms-python.python/getPythonExecutableCommand, ms-python.python/installPythonPackage, todo]
agents: [Stub Source Auditor]
model: "GPT-5.3-Codex"
user-invocable: true
argument-hint: "Optional: path root (default reference/micropython), start-from module path, and commit message prefix."
---
You are an orchestration agent for large-scale stub quality improvement work.

Your mission is to audit and improve all module stubs under `reference/micropython` by delegating module-level analysis and edits to the `Stub Source Auditor` agent, then committing each module's accepted changes to the `audit_update` branch.
You are honest - verity is your guiding principle: always report the true state of stub quality and changes, without embellishment or omission.
You will not skip tasks - every module in the inventory must be processed, and each step in the workflow must be executed for each module before moving on to the next.

## Mandatory Startup Confirmation
Before starting work, confirm these values:
1. Target stubs root (default: `reference/micropython`).
2. MicroPython source repository path (default: `c:/my-stubs/repos/micropython`).
3. Git branch in `micropython-stubs` is `audit_update`.

If branch is not `audit_update`, switch to it before any edits.

## Primary Workflow
1. Build module inventory.
2. Process modules one by one.
3. For each module, delegate to `Stub Source Auditor`.
4. Validate changes.
5. Commit only that module's changes.
6. Extract learnings and append to agent memory.
7. Continue until all modules are processed.

## Batch Execution Contract
- Process at most 5 modules per invocation.
- Within a single invocation, never exceed the batch limit even if work remains.
- After each module, persist ledger and memory updates immediately.
- If remaining work exists after the batch, stop cleanly and emit a resume payload.
- If all modules are complete before the batch limit, emit a completion payload.

## Resume Protocol
- At startup, always read `.github/agents/audit/ralph-auditer-progress.md` first.
- If inventory already exists in ledger, do not rebuild it unless entries are missing or malformed.
- Resume from the first `pending` module in sorted order, unless an explicit `start-from` argument is provided.
- If `start-from` is provided, validate it exists in inventory and begin there.
- Never restart from the beginning when pending modules already exist.

## Context Hygiene Between Modules
To avoid cross-module contamination, aggressively reduce conversational state after each module is completed.

After each module (including no-change modules):
1. Write a concise module outcome to the run ledger (1-3 lines only).
2. Persist reusable lessons to `/memories/repo/ralph-auditer.md`.
3. Carry forward only this minimal state to the next module:
  - next module path
  - current inventory counters
  - unresolved blockers (if any)
4. Do not retain prior module deep analysis, long diffs, or exploratory notes in working context.
5. Start each next module by re-reading only the target stub + relevant source files.

Urgent compression rule:
- If conversation/context becomes large, immediately stop module exploration, summarize to ledger+memory, and resume with the next module from minimal state only.

## Module Inventory Rules
- Enumerate module stubs from `reference/micropython/**/*.pyi`.
- Include submodules.
- Exclude private cache, temp, and non-stub files.
- Process in deterministic sorted order.
- Persist progress so interrupted runs can resume.

Create and maintain a run ledger at:
- `.github/agents/audit/ralph-auditer-progress.md`

Ledger fields per module:
- module path
- status: pending | in_progress | done | skipped | blocked
- commit hash (if done)
- notes

## Delegation Contract
For each module, invoke the agent named exactly `Stub Source Auditor` with:
- target stub module path (single file)
- MicroPython source repository path

Require source-evidenced edits only. If no meaningful improvement is needed, mark as done with "no change" and no commit.

## Validation Rules Per Module
After delegated edits:
1. Limit changes to allowed paths for stub auditing work.
2. Run relevant checks for changed files (at minimum type/lint or focused tests if available).
3. Inspect `git diff` and ensure scope matches module intent.
4. If noisy or unrelated edits appear, revert only unrelated hunks before commit.

## Commit Rules
- Commit after each module with accepted changes.
- Commit only module-scoped files plus audit metadata updates.
- Commit message format:
  - `audit(stubs): improve <module> via source verification`
- Include short body with:
  - key API corrections
  - source evidence summary reference
  - compatibility aliases added/kept

If no file changes remain, do not create an empty commit.

## Agent Memory Rules
Store important learnings in repo memory for future runs.

Primary memory file:
- `/memories/repo/ralph-auditer.md`

Before writing memory:
1. Read existing memory and avoid duplicates.
2. Add concise bullets only (facts, heuristics, pitfalls, reusable checks).
3. Prefer stable lessons over one-off observations.

Examples of memory-worthy learnings:
- recurring mismatch patterns between stubs and implementation
- reliable source locations for API truth
- common compatibility alias patterns
- compile-time or per-port exposure gotchas

## Stop Conditions
Stop only when:
- all modules in inventory are `done`, `skipped`, or `blocked`, or
- a hard blocker requires user input, or
- the per-invocation batch limit is reached and remaining work is non-zero.

If blocked, report:
- exact module
- blocker reason
- minimal user action needed

## Output Format
Return results in this order:
1. Startup confirmation values.
2. Inventory summary (total, done, skipped, blocked, remaining).
3. Per-module actions since last report.
4. New commits created (hash + message).
5. Memory updates added.
6. Residual risks / blockers.
7. Resume payload.

## Resume Payload Schema
Always end with a fenced `json` block in this exact shape:

```json
{
  "status": "resume_required|completed|blocked",
  "next_module": "reference/micropython/... or null",
  "remaining": 0,
  "batch_processed": 0,
  "totals": {"total": 0, "done": 0, "skipped": 0, "blocked": 0, "pending": 0},
  "blocker": "string or null"
}
```

Rules:
- Use `status: resume_required` when remaining > 0 and no hard blocker exists.
- Use `status: completed` only when remaining == 0.
- Use `status: blocked` only for hard blockers requiring user action.
- `next_module` must be the next pending module path for resume, or `null` if completed/blocked without a runnable next step.


================================================
FILE: .github/agents/stub-source-auditor.agent.md
================================================
---
name: Stub Source Auditor
description: "Use when improving any MicroPython stub module by comparing stub definitions against MicroPython C/Python implementation, validating API surface, and applying source-first corrections with compatibility aliases when needed."
tools: [read, search, edit, execute]
model: "GPT-5.3-Codex"
user-invocable: true
argument-hint: "Stub module to improve (for example: reference/_mpy_shed/IRQs.pyi) and MicroPython repo path (for example: c:/my-stubs/repos/micropython)."
---
You are a specialist for improving MicroPython type stubs using source-code verification.

Your core rule is: prefer type information inferred from implementation source code over existing stubs.
Use Python 3.10-compatible typing syntax

## Mandatory Startup Confirmation
Before any analysis or edits, ask and confirm both inputs:
1. Target stub module/file to improve.
2. Path to the MicroPython source repository.

If either value is missing or ambiguous, stop and ask for clarification.

## Scope and Goal
- Validate and improve one stub module at a time.
- Compare public API exposed by implementation code with the stub definitions.
- Keep changes minimal and backward-compatible when practical.
- Work for any MicroPython stub module, not just machine.CAN or IRQ typing.

## Workflow
1. Locate and read the target stub module.
2. Locate corresponding implementation files in the MicroPython repo.
3. Determine exposed Python API from source, using evidence such as:
- locals dictionaries and object type definitions.
- constructor/return types and call sites.
- shared generic types (for example generic irq type) versus custom per-port types.
4. If the module has domain-specific behavior, run a focused verification workflow for that module before editing.
5. Classify differences:
- Missing stub members.
- Extra/incorrect stub members.
- Per-port API differences that require separate classes or aliases.
6. Apply focused edits to the stub module.
7. Preserve compatibility with aliases when names are widely referenced.
8. Provide an evidence summary with concrete source file/line references.
9. If you find that a Class or methods does not have a corresponding stub module yet, or that was located in the wrong stub and shoud be move , you should suggest to add a new stub module in the refence/micropython folder.

## Example: machine.CAN Verification Workflow
When reviewing machine.CAN-related stubs, verify in this order:
1. Check CAN IRQ object construction in the shared CAN implementation (for example `extmod/machine_can.c`) and confirm whether `mp_irq_new(...)` is used.
2. Verify whether returned CAN IRQ objects map to generic `mp_irq_type` methods (`init`, `enable`, `disable`, `flags`) via `ports/cc3200/misc/mpirq.c` locals dict.
3. Distinguish internal callbacks/method tables (`mp_irq_methods_t` fields like `trigger`/`info`) from Python-exposed methods.
4. Confirm trigger constants and validation behavior used by CAN IRQ configuration (allowed trigger mask, unsupported trigger errors).
5. Confirm return type behavior for `CAN.irq(...)` (object creation/reuse and return path), then align stubs accordingly.

## Guardrails
- Do not trust existing stubs over implementation evidence.
- Do not perform broad refactors outside the requested module.
- Do not remove compatibility aliases unless requested.
- Do not invent methods that are only internal callbacks and not Python-exposed.
- Only make file edits under `reference/micropython/**` and `reference/_mpy_shed/**`.
- If requested edits touch any other path, stop and ask for explicit approval to proceed outside allowed folders.

## Session-Derived Heuristics
Use these proven checks from prior work:
- Distinguish Python-exposed methods from internal method tables/callback structs.
- Verify whether a port uses a generic shared runtime type or a custom object type.
- If multiple ports share identical behavior, consolidate with one generic class plus aliases.
- Keep explicit compatibility comments for aliases (especially RP2-style legacy names).
- For CAN IRQs (example), treat `mp_irq_new(...)` + `mp_irq_type` locals dict as authoritative for Python method surface.
- if there are port or bord specific differences , or through compile time guards that affect the exposed API, make note of in a comment in the stubs. 
- In some cases add an @overload decorator to indicate multiple call signatures for the same method when the exposed API differs by port or compile-time configuration.

## Output Format
Return results in this order:
1. Confirmation of the target stub module and MicroPython repo path.
2. Findings by severity with source evidence.
3. Residual risks/open questions.


================================================
FILE: .github/agents/stub-typing-specialist.agent.md
================================================
---
description: "Use when working on Python type stubs (.pyi) or stub-only packages: authoring, refactoring, or auditing stubs; resolving Pylance/mypy/pyright errors; verifying stub correctness against multiple type checkers; optimizing stubs for maintainability; investigating type-checker disagreements; reviewing changes that affect public typing surface."
name: "Stub Typing Specialist"
tools: [read, edit, search, execute, todo, mcp_pylance_mcp_s_pylanceFileSyntaxErrors, mcp_pylance_mcp_s_pylanceSyntaxErrors, mcp_pylance_mcp_s_pylanceImports, mcp_pylance_mcp_s_pylanceInvokeRefactoring, mcp_pylance_mcp_s_pylanceSemanticContext, mcp_pylance_mcp_s_pylanceCheckSignatureCompatibility, mcp_pylance_mcp_s_pylanceWorkspaceUserFiles, mcp_pylance_mcp_s_pylanceWorkspaceRoots, mcp_pylance_mcp_s_pylanceRunCodeSnippet, mcp_pylance_mcp_s_pylancePythonEnvironments]
argument-hint: "Describe the stub file(s), error, or refactor goal"
---

You are a Python type-checking specialist focused on `.pyi` stubs and stub-only distributions (e.g. `micropython-stubs`, `typeshed`-style packages). Your job is to produce stubs that are **correct, minimal, and maintainable**, and to verify every change with multiple independent tools.

## Constraints

- DO NOT add runtime logic to `.pyi` files — bodies are `...`, ellipses, or pass-through overloads only.
- DO NOT introduce `Any` to silence errors. Prefer precise types, `Incomplete` (when intent is "not yet typed"), `object`, or a `TypeVar`/`Protocol`.
- DO NOT modify a stub without first reading the surrounding module and any related stubs (`__init__.pyi`, sibling `.pyi`, re-exports).
- DO NOT trust a single type checker. Always cross-verify with at least two of: Pylance MCP, `pyright`, `mypy`.
- DO NOT alter the public typing surface (signatures, exported names, overload order) without flagging it explicitly in the summary.
- DO NOT reformat or "clean up" code outside the change scope.
- ONLY make changes that improve correctness, reduce duplication, or remove dead/contradictory annotations.

## Approach

1. **Locate & read context**: Find the target stub plus its `__init__.pyi`, related modules, and any consuming test files (e.g. `tests/quality_tests/**`). Use `pylanceImports` and `pylanceSemanticContext` to map re-exports and dependencies.
2. **Reproduce the problem**: Before editing, capture the current state — run Pylance diagnostics (`pylanceFileSyntaxErrors`, `pylanceSyntaxErrors`) and command-line `pyright <path>` and `mypy --strict <path>` (or the project's configured strictness). Record baseline error counts.
3. **Diagnose**: Identify root cause — missing overloads, wrong variance, overly broad/narrow types, missing `TYPE_CHECKING` imports, circular imports, `Final`/`ClassVar` misuse, protocol vs. concrete class mismatch, etc.
4. **Design the minimal fix**: Prefer the smallest change that resolves the issue across all checkers. Use `@overload`, `TypeAlias`, `Protocol`, `Literal`, `Final`, `TypeVar` deliberately. Check signature compatibility with `pylanceCheckSignatureCompatibility` when changing overloads or overrides.
5. **Apply & verify**: Make the edit, then re-run Pylance MCP diagnostics, `pyright`, and `mypy`. Confirm baseline errors are gone and no new errors appear in the same module or downstream test files.
6. **Validate consumer code**: Run the project's stub quality tests (typically `tests/quality_tests/**`) through Pylance and `pyright` to ensure user-facing typing is still ergonomic.
7. **Summarize**: Report what changed, which checkers were used, before/after error counts, and any deliberate trade-offs (e.g. `Incomplete` retained on purpose).

## Verification Toolbox

| Tool | Purpose |
|------|---------|
| `pylanceFileSyntaxErrors` / `pylanceSyntaxErrors` | Fast in-IDE diagnostics, matches what the user sees |
| `pylanceImports` / `pylanceSemanticContext` | Resolve re-exports and find all references to a symbol |
| `pylanceCheckSignatureCompatibility` | Validate override / overload compatibility |
| `pyright <file-or-dir>` (CLI) | Authoritative second opinion, scriptable, CI-aligned |
| `mypy --strict <file-or-dir>` (CLI) | Independent third opinion; catches different classes of errors |
| Project quality tests (`pytest`, `quality_tests/`) | Ensures consumers of the stubs still type-check cleanly |

Always activate the project venv before CLI runs (e.g. `& c:\dev\micropython\.venv\Scripts\Activate.ps1` on Windows / pwsh) and prefer `uv run pytest --cov --cov-report=term-missing` for quality test runs.

## Output Format

Respond with:

1. **Diagnosis** — root cause in 1–3 sentences.
2. **Change** — the edit(s) applied, with file links.
3. **Verification** — table or list of checkers run and their before/after results.
4. **Notes** — any remaining caveats, follow-ups, or surface-area changes the maintainer should review.


================================================
FILE: .github/copilot-instructions.md
================================================
# MicroPython-Stubs Repository Guide

## Project Overview

This repository mostly contains **type stubs**, not executable code. 
It hosts 3,000+ stub files (`.pyi`) for MicroPython across multiple versions (v1.17-v1.27), ports (esp32, rp2, stm32, etc.), and boards. These stubs enable IDE autocomplete, type checking, and documentation for MicroPython development.

**Sister Repository**: [micropython-stubber](https://github.com/Josverl/micropython-stubber) - CLI tool (`stubber`) that generates these stubs.

## Repository Structure

```
stubs/                  # Generated stub files (MCU, frozen, doc, merged)
publish/                # Ready-to-install PyPI packages
  micropython-v1_XX_X-{port}-{board}-stubs/
  micropython-stdlib-stubs/
tools/                  # Tooling (board_compare)
scripts/                # Analysis scripts and notebooks
docs/                   # Sphinx documentation source
data/                   # JSON database files (stub-packages.json)
tests/quality_tests/    # Pytest-based stub quality tests
```

## Key Concepts

### Stub Types (Half-Products)
1. **MCU stubs**: Generated on-device, precise but minimal type info (`stubs/micropython-{version}-{port}[-{board}]`)
2. **Frozen stubs**: From manifest files, includes frozen modules (`stubs/micropython-{version}-Frozen/{port}/{board}`)
3. **Doc stubs**: Parsed from MicroPython `.rst` docs, rich typing (`stubs/micropython-{version}-docstubs`)
4. **Merged stubs**: MCU + Doc, precise + rich (`stubs/micropython-{version}-{port}-merged`)
5. **Core stubs**: Manual overrides for problematic modules (`stubs/micropython-core`)

### Naming Convention
`micropython-{flat_version}-{port}-{board}-stubs` where `flat_version` uses underscores (e.g., `v1_24_1`).

## Development Workflows

### Platform Notes
- **Primary**: Windows 
- **Secondary**: Linux 
- **CI/CD** :GitHub Actions workflows use Ubuntu

### Database

#### `data/all_packages.db`
The project uses a SQLite database (`package_data.db`) to store metadata about packages 
and project hashes to detect if a package has changed since it was last published.

This database is generated and maintained by the `micropython-stubber` tool during the publishing process.
It is checked in to the repository to allow scripts and tools to query package information as it cannot be 
regenerated easily.

The database can be queried, but should not be modified directly.
There is also a JSON export of the database at `data/all_modules.json` which can be used for read-only queries without needing SQLite.


### Database Access - IMPORTANT
**SQLite3 CLI tools are NOT installed.** When working with `package_data.db` or database queries:
- ✅ **USE**: Data Store MCP servers (available in this environment)
- ❌ **AVOID**: Writing one-off SQLite scripts/commands that require debugging
- Alternative: Query `all_modules.json` (JSON export of package data) or `data/stub-packages.json`

### Core Tools

#### The `stubber` CLI
From [micropython-stubber](https://github.com/Josverl/micropython-stubber), installed via pip:
```powershell
pip install micropython-stubber  # or --pre for preview versions
```

**Common Commands**:
```powershell
stubber clone --add-stubs              # Clone micropython + micropython-lib repos
stubber get-docstubs --version v1.24.1 # Generate doc stubs
stubber get-frozen --version v1.24.1   # Generate frozen stubs
stubber merge --version v1.24.1        # Merge MCU + doc stubs
stubber build --version v1.24.1        # Build publishable package
```

#### Update Scripts
- **`update_all_modules.py`**: Regenerates `all_modules.json` from `publish/` packages
- **`docs/update_docs.py`**: Updates documentation files

#### Build/Test Tasks
VSCode tasks (`.vscode/tasks.json`):
- `Sphinx: build documentation` - Default build (Ctrl+Shift+B)
- `Sphinx: clean build documentation`

### Typical Development Flow

1. **Update stubs for a version** (using stubber CLI):
   ```bash
   # example: version =  v1.24.1
   stubber get-docstubs --version v1.24.1
   stubber get-frozen --version v1.24.1
   stubber merge --version v1.24.1 --port rp2 --board rpi_pico
   stubber build --version v1.24.1 --port rp2 --board rpi_pico
   ```

2. **Interactive development** (Jupyter notebooks):
   - `Manual stub build chain.ipynb` - Interactive stub generation workflow
   - `scripts/package_db_to_json.ipynb` - Database export operations
   - `scripts/find_undoc_funcs.ipynb` - Documentation analysis

3. **Test stub quality**:
   ```bash
   pytest tests/quality_tests/ -v
   # Clear cache and retest
   pytest tests/quality_tests/ --cache-clear
   # Test specific version/port
   pytest tests/quality_tests/ -k "v1_24_1 and rp2"
   ```

4. **Update documentation**:
   ```bash
   python docs/update_docs.py
   python update_all_modules.py
   ```

5. **Build docs**:
   Run task: `Sphinx: build documentation`

### GitHub Actions (`.github/workflows/`)
- **`update_stubs.yml`**: Daily stub updates using stubber CLI
- **`test_stub_quality.yml`**: Pyright/mypy validation on snippets (15min runtime)
- **`test_runtime_typing.yml`**: Docker-based runtime tests for typing module
- **`publish_explorer.yml`**: Deploys board explorer app
- **`weekly_automation.yml`**: Maintenance tasks
- **`get-doc-stubs.yml`**: Documentation stub generation
- **`update_docs.yml`**: Sphinx documentation build

## Code Conventions

### Python Style
- **Formatter**: Ruff (line-length: 140) ( black was use - is phased out)
- **Linter**: Ruff (extends Black, adds `PYI` for stubs)
- **Type Checker**: Pyright (primary), mypy (secondary)
- **Target**: Python 3.9+ (stubs must be usable from 3.9)

### Stub-Specific Rules (Ruff)
```toml
# From pyproject.toml - these are EXCEPTIONS for MicroPython stubs:
PYI021 = ignore  # Docstrings ARE included (documentation purpose)
PYI011 = ignore  # Allow complex defaults (MicroPython-specific)
PYI014 = ignore  # Allow actual default values (not just ...)
PYI029 = ignore  # __str__/__repr__ useful for MicroPython
```

### File Organization
- Stubs use `.pyi` extension (type stub files)
- Frozen modules may have `.py` source alongside `.pyi`
- Package structure mirrors MicroPython module hierarchy

## Testing Strategy

All tests must use the pytest framework only.


### Quality Tests (`tests/quality_tests/`)
Integration tests validate stub quality using code snippets and type checkers.

**Test Structure**:
- **Parametrized**: Test across versions/ports/boards
- **Stub sources**: `pypi`, `pypi-pre`, `local` (from `publish/`)
- **Snippet folders**: `feat_*/` and `check_*/` directories with test code
- **Caching**: 24-hour cache for stub packages (speed up test runs)
- **Tools**: Uses `uv pip` for fast isolated installs to `typings/` folders

**What tests validate**:
- Type checker output (pyright, mypy)
- `assert_type` verifies inferred types match expectations
- `# type: ignore` comments with `--warn-unused-ignores` ensure errors are caught
- Idiomatic MicroPython code should pass without type errors

### Running Tests
```bash
# All snippet tests
pytest tests/quality_tests/ -m snippets -v

# Clear cache and retest
pytest tests/quality_tests/ --cache-clear

# Specific version/port combination
pytest tests/quality_tests/ -k "v1_24_1 and rp2"

# Single test file
pytest tests/quality_tests/test_snippets.py::test_pyright[local-v1.20.0-stm32-stdlib]
```

### Docker-Based Testing
Runtime validation uses official MicroPython Docker images:

**Example** (`tests/quality_tests/feat_typing/manual_run.ipynb`):
```python
# Test typing module functionality at runtime
image = "micropython/unix:v1.23.0"
!docker run -u 1000 -v {cwd}:/code --rm {image} micropython list_libs.py
```

**Use cases**:
- Validate typing module behavior
- Test MicroPython-specific functionality
- Cross-platform compatibility checks

### Jupyter Notebooks for Testing
Notebooks provide interactive development and testing workflows:

**Key notebooks**:
- **`Manual stub build chain.ipynb`**: Complete stub generation pipeline
  - Run `stubber docstubs`, `frozen`, `merge`, `build` commands
  - Invalidate pytest cache for testing
  - Publish to PyPI (test/production)
  
- **`tests/quality_tests/feat_typing/manual_run.ipynb`**: Docker test runner
  - Execute MicroPython scripts in containers
  - Validate runtime typing behavior

- **`scripts/package_db_to_json.ipynb`**: Database operations
  - Export package data to JSON
  - Query module information

**Benefits of notebooks**:
- Interactive exploration of stub generation
- Quick iteration on test scenarios
- Visual feedback for analysis tasks
- Cell-by-cell execution for debugging

## Important Files

- **`all_modules.json`**: 112k+ line JSON database of all modules across packages (query this instead of SQLite)
- **`data/stub-packages.json`**: PyPI package metadata
- **`pyproject.toml`**: Dependencies, tool configs (black, ruff, pytest)
- **`pyrightconfig.json`**: Pyright settings for this repo

## Common Pitfalls

1. **Don't edit stubs directly in `stubs/`** - they're generated. Edit sources (docs, frozen, core) or fix generation logic in stubber.

2. **Version format matters**: Use `v1_24_1` (flat) in paths/packages, `v1.24.1` for stubber commands.

3. **Multiple stub packages conflict**: Installing multiple versions overwrites files. Use `--target typings` for isolation.

4. **MCU stubs need hardware**: Generating new MCU stubs requires physical board + firmware flash.

5. **Database queries**: Prefer Data Store MCP tools or JSON files over SQLite CLI (not installed).

## Documentation

- **Read the Docs**: https://micropython-stubs.readthedocs.io/
- **Board Explorer**: https://josverl.github.io/micropython-stubs/board-explorer-mpy.html
- **Key docs**:
  - `docs/10_introduction.md` - Stub purpose and benefits
  - `docs/stub_types.md` - Stub generation methods
  - `docs/diy_stubs_files.md` - Creating custom stubs

## IDE Integration

Stubs are PEP 561 stub-only packages installed via pip:
```bash
pip install micropython-rp2-stubs --target ./typings --no-user
```

Configure IDE to use `./typings` as extra paths for type checking (see `docs/22_vscode.md`, `docs/24_pycharm.md`).

## Publishing

Packages published to PyPI follow naming: `micropython-{port}-stubs` or `micropython-{port}-{board}-stubs`.

Version scheme: `{mpy_version}.post{N}` (e.g., `1.24.1.post1` for first stub update of MicroPython 1.24.1).


================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  # Maintain dependencies for micropython-stubber
  - package-ecosystem: "pip"
    # directory: "/src"
    schedule:
      interval: "weekly"
    assignees:
      - "josverl"      
     

  # Maintain dependencies for GitHub Actions
  - package-ecosystem: "github-actions"
    # Workflow files stored in the
    # default location of `.github/workflows`  
    directory: "/"
    schedule:
      interval: "weekly"
    assignees:
      - "josverl"      


================================================
FILE: .github/not-active/action-test.yml
================================================
########################################################################################################################################
# testing
########################################################################################################################################
name: action-test

on:
  workflow_dispatch:

env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1

jobs:

  action-test-1:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest
    continue-on-error: true
    strategy:
      matrix: 
        version: ["v1.18"]
    defaults:
      run:
        shell: bash

    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      # make Python work
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: 3.11

      - name: Install Python dependencies (stubber)
        run: |
          pip install --upgrade wheel
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

      # checkout micropython at the correct version tag
      - name: clone and switch to micropython ${{ matrix.version }}
        run: |
          # stubber clone 
          # stubber switch ${{ matrix.version }}

      - run: date >> stubs/something.py
        name: Add dummy change

      - run: date >> stubs/modules.json
        name: Add dummy change to modules.json

      - name: Get frozen modules for ${{ matrix.version }}
        run: |
          echo "do nothing"
          # stubber get-frozen --black

      - name: commit
        uses: ./.github/actions/commit
        with:
          message: "Update frozen stubs for ${{ matrix.version }}"


================================================
FILE: .github/not-active/codeql-analysis.yml
================================================
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
  workflow_dispatch:
  push:
    branches: [ "main" ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ "main" ]
  schedule:
    - cron: '16 8 * * 2'

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write

    strategy:
      fail-fast: false
      matrix:
        language: [ 'python' ]

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v2
      with:
        languages: ${{ matrix.language }}
        # If you wish to specify custom queries, you can do so here or in a config file.
        # By default, queries listed here will override any specified in a config file.
        # Prefix the list here with "+" to use these queries and those in the config file.
        
        # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
        # queries: security-extended,security-and-quality

        
    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
    # If this step fails, then you should remove it and run the build manually (see below)
    - name: Autobuild
      uses: github/codeql-action/autobuild@v2

    # ℹ️ Command-line programs to run using the OS shell.
    # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

    #   If the Autobuild fails above, remove it and uncomment the following three lines. 
    #   modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

    # - run: |
    #   echo "Run, Build Application using script"
    #   ./location_of_script_within_repo/buildscript.sh

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v2
      with:
        category: "/language:${{matrix.language}}"


================================================
FILE: .github/not-active/get-loboris-frozen.yml
================================================
########################################################################################################################################
# This will attempt to retrieve and generate stubs from all known versions of MicroPython
########################################################################################################################################
# Check out repos in this structure
# micropython-stubs
#   + - stubs
########################################################################################################################################
name: get-loboris-frozen

on:
  workflow_dispatch:
  # not maintained- no need to try to update all the time
  # schedule:
  #   - cron: "0 1 * * *"   # Run everyday at 01:00
env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1

jobs:
  ########################################################################################################################################
  get-loboris-frozen-stubs:
    runs-on: ubuntu-latest

    # Most scripts will be run from the stubber, set that as default
    defaults:
      run:
        shell: bash

    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      # make Python work
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: 3.13

      - name: Install Python dependencies (stubber)
        run: |
          pip install --upgrade wheel
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

      ######################################
      # This is where the actual work starts
      ######################################

      - name: Get frozen modules for ${{ matrix.version }}
        run: |
          stubber get-lobo --black

      - name: commit
        uses: ./.github/actions/commit
        with:
          message: "add/update Loboris frozen stubs"

  ########################################################################################################################################


================================================
FILE: .github/not-active/mark-stale.yml
================================================
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
#
# You can adjust the behavior by modifying this file.
# For more information, see:
# https://github.com/actions/stale
name: Mark stale issues and pull requests

on:
  schedule:
  - cron: '17 23 * * *'

jobs:
  stale:

    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: write

    steps:
    - uses: actions/stale@v3
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}
        stale-issue-message: 'Stale issue message'
        stale-pr-message: 'Stale pull request message'
        stale-issue-label: 'no-issue-activity'
        stale-pr-label: 'no-pr-activity'
        days-before-stale: 365 # optional, default is 60
        # The number of days old a pull request can be before marking it stale. Set to -1 to never mark pull requests as stale automatically. Override "days-before-stale" option regarding only the pull requests.
        days-before-pr-stale: 365 # optional
        # The labels that mean an issue is exempt from being marked stale. Separate multiple labels with commas (eg. "label1,label2").
        exempt-issue-labels: "WIP,Planned,Bug,bug" # optional, default is 
        # The labels that mean a pull request is exempt from being marked as stale. Separate multiple labels with commas (eg. "label1,label2").
        exempt-pr-labels: "WIP,FIX,Bug" 
        # The assignees which exempt an issue or a pull request from being marked as stale. Separate multiple assignees with commas (eg. "user1,user2").
        # exempt-assignees: # optional, default is 
        exempt-draft-pr: true # optional, default is false
        # Display some statistics at the end regarding the stale workflow (only when the logs are enabled).


================================================
FILE: .github/not-active/matrix.yml
================================================
name: matrix
on: push
jobs:
  job10:
    runs-on: ubuntu-latest
    outputs:
      matrix: ${{ steps.set-matrix.outputs.matrix }}
    steps:
      - id: set-matrix
        shell: python
        run: | 
            import os, json

            # GITHUB_OUTPUT is set by github actions
            matrix = {}
            # matrix['version'] = ["1"]
            matrix['board']=["RPI_PICO", "RPI_PICO_w"]
            # output the matrix to a file
            with open(os.getenv('GITHUB_OUTPUT'), 'a') as file:   #  type: ignore
                file.write(f"boards={json.dumps(matrix)}")

  job20:
    needs: job10
    runs-on: ubuntu-latest
    strategy:
      matrix: ${{ fromJSON(needs.job10.outputs.matrix) }}
    steps:
      - run: echo ${{ matrix.board}}

# ########################################################################################################################################
#   list-versions-cs2:
#     # 'Get a matrix for the latest versions of micropython'
#     runs-on: ubuntu-latest
#     steps:
#         - uses: actions/checkout@v4
#           with:
#             fetch-depth: 1
#         - uses: ./.github/actions/get-mpversions
#           id: dynamic
#     outputs:
#         versions: ${{ steps.dynamic.outputs.versions }}
# ########################################################################################################################################
#   job40:
#     needs: list-versions-cs
#     runs-on: self-hosted
#     strategy:
#       matrix: ${{ fromJSON(needs.list-versions-cs.outputs.versions) }}
#       max-parallel: 1
#     #   matrix:
#     #     version: [preview, v1.22.2]
#       steps:
#         - run: | 
#           - echo ${{ matrix.version }}


================================================
FILE: .github/not-active/publish.yml
================================================
# workflow to build packages for PyPI
########################################################################################################################################
# This will attempt to retrieve and generate stubs from MicroPython documentation
########################################################################################################################################
# Check out repos in this structure
# micropython-stubs
# +-- stubs
# +-- repos
#     +-- micropython
#      -- micropython-lib
# repro structure needed to allow automatic PR creation to work
########################################################################################################################################
name: publish-stubs

on:
  workflow_dispatch:
  push:
    branches:
      - main
    paths:
      - 'publish/**'
  
  # schedule:
  #   - cron: "0 1 * * 5" # Run every Friday at 01:00
env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1

jobs:
  ########################################################################################################################################
  list-versions-pub:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      # no need to install python
      - run: echo Running in folder $(pwd)
      - run: pip install pygithub packaging
      - run: python .github/workflows/list_versions.py --latest
        id: dynamic
    outputs:
      job_versions: ${{ steps.dynamic.outputs.versions }}

  ########################################################################################################################################
  build-stubs:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest
    needs: list-versions-pub
    strategy:
      matrix: ${{ fromJSON(needs.list-versions-pub.outputs.job_versions) }}
      max-parallel: 1
    continue-on-error: true

    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4
      - name: Install pip and tools to allow to run under ACT for testing
        run: |
          apt update
          # apt upgrade -y
          apt install -y python3-pip mc
        if: ${{ env.ACT }}
      - run: |
          pip install wheel
          pip install -U micropython-stubber
      - run: |
          echo Running in folder $(pwd)
          stubber --version
          stubber clone --no-stubs

      - name: Install Poetry
        run: pipx install poetry==1.3.1

      - run: |
          poetry config repositories.test-pypi https://test.pypi.org/legacy/
          poetry config --list
      # run the build steps for this mpy version
      - run: echo "Building stubs for ${{matrix.version}}"
      - run: stubber switch ${{matrix.version}}
      - run: stubber get-frozen
      - run: stubber get-docstubs
      - run: stubber merge --version ${{matrix.version}}
      - run: |
          stubber build --version ${{matrix.version}} --port auto --board GENERIC
          stubber build --version ${{matrix.version}} --port esp32 --board UM_TINYPICO

      - name: update all_modules.json
        run: |
          echo "Updating all_modules.json"
          # pip install tomli
          python3 update_all_modules.py

      - name: commit
        uses: ./.github/actions/commit
        with:
          message: "Build stubs for ${{matrix.version}}"

  ########################################################################################################################################
  publish-stubs:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest
    needs: [build-stubs, list-versions-pub]
    strategy:
      matrix: ${{ fromJSON(needs.list-versions-pub.outputs.job_versions) }}
      max-parallel: 1
    continue-on-error: true
    env:
      POETRY_PYPI_TOKEN_PYPI: ${{ secrets.POETRY_PYPI_TOKEN_PYPI }}
      POETRY_PYPI_TOKEN_TEST_PYPI: ${{ secrets.POETRY_PYPI_TOKEN_TEST_PYPI }}

    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      - name: Install pip and tools to allow to run under ACT for testing
        if: env.ACT
        run: |
          apt update
          # apt upgrade -y
          apt install -y python3-pip
          python3 -m pip install --user pipx
          python3 -m pipx ensurepath

      - name: Install Poetry
        run: pipx install poetry~=1.3

      - run: |
          pip install wheel
          pip install -U micropython-stubber

      - run: |
          poetry config repositories.test-pypi https://test.pypi.org/legacy/
          poetry config --list

      - run: |
          stubber clone
          stubber switch ${{matrix.version}}

      - name: pull in other changes from the repo
        run: git pull origin main

      - run: |
          stubber publish --version ${{matrix.version}} --port auto --board GENERIC --test-pypi
          stubber publish --version ${{matrix.version}} --port esp32 --board UM_TINYPICO --test-pypi
        if: env.ACT

      - run: |
          stubber publish --version ${{matrix.version}} --port auto --board GENERIC --pypi
          stubber publish --version ${{matrix.version}} --port esp32 --board UM_TINYPICO --pypi
        if: env.ACT == ''

      - name: update all_modules.json
        run: |
          echo "Updating all_modules.json"
          # pip install tomli
          python3 update_all_modules.py

          - name: commit
        uses: ./.github/actions/commit
        with:
          message: "Published stubs for ${{matrix.version}}"


================================================
FILE: .github/not-active/testspace.yml
================================================
name: test stub quality
on:
  workflow_dispatch:
  push:
    paths-ignore:
      - "**.md"
      - "docs/**"
  pull_request:
    paths-ignore:
      - "**.md"
      - "docs/**"
      - "test/**"
env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1
  STABLE_STUB_VERSION: v1_21_0
  LATEST_STUB_VERSION: latest
  
jobs:
  pyright-test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      - name: Set up Python 3.x
        uses: actions/setup-python@v5
        with:
          python-version: 3.13
          # cache: "pip"

      - name: Install Python dependencies
        run: |
          pip install --upgrade wheel
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

      - name: Testspace client install & config
        uses: testspace-com/setup-testspace@v1
        with:
          domain: josverl
          # domain: ${{github.repository_owner}}

      # dummy pytest
      - name: run pytest
        run: |
          pytest ./tests --junitxml=./results/results.xml

      - name: run pyright on stubs
        if: always()
        run: |
          # TODO: automatically Find Stable = latest released  version 
          pyright --version | tee ./results/pyright-version.log
          pyright stubs | tee ./results/pyright-all-stubs.log
          pyright stubs/micropython-${STABLE_STUB_VERSION}-* | tee ./results/pyright-stable.log
          pyright stubs/micropython-{LATEST_STUB_VERSION}-* | tee ./results/pyright-latest.log

      - name: Fixup pyright logs
        shell: pwsh
        run: |
          ./tests/fix-pyrightlogs.ps1

      - uses: actions/upload-artifact@v3
        with:
          name: pyright
          path: ./results/pyright-*.log

      - name: Testspace push test content
        run: |
          testspace "[all-stubs]./results/pyright-all-stubs.log{lint}" ./results/results.xml
          testspace "[stable]./results/pyright-stable.log{lint}"
          testspace "[latest]./results/pyright-latest.log{lint}"
          testspace "./results/pyright-version.log"


================================================
FILE: .github/workflows/compare_score.py
================================================
import json
import os

import requests
from dotenv import load_dotenv

try:

    load_dotenv()  # load variables 
    load_dotenv(".secrets")  # load variables from the ".secrets" file
except:
    pass

# has been propagated from repo vars to env vars
try:
    current_scores = json.loads(os.getenv("SNIPPET_SCORE", '{"snippet_score": 0}'))
except json.decoder.JSONDecodeError:
    current_scores = {"snippet_score": 0}

# set by pytest in custom conftest reporting
new_scores = {}
try:
    with open("results/snippet_score.json", "r") as f:
        new_scores = json.load(f)
except (FileNotFoundError, json.decoder.JSONDecodeError):
    new_scores = {"snippet_score": 0}


# Compare the scores and update the repository variable if necessary
def add_summary(msg, current_scores: dict, new_scores: dict):
    if os.getenv("GITHUB_STEP_SUMMARY") is None:
        print(f"The environment variable GITHUB_STEP_SUMMARY does not exist.")
        return
    with open(os.getenv("GITHUB_STEP_SUMMARY", 0), "a") as f:
        f.write("# Snippets\n")
        f.write(msg)
        f.write("\n```json\n")
        json.dump({"current": new_scores}, f)
        f.write("\n")
        json.dump({"previous": current_scores}, f)
        f.write("\n```\n")



def update_var(var_name: str, value: str):
    repo = os.getenv("GITHUB_REPOSITORY", "Josverl/micropython-stubs")
    gh_token_vars = os.getenv("GH_TOKEN_VARS", os.getenv("GH_TOKEN", "-"))
    if gh_token_vars == "-":
        print("No token available to update the repository variable")
        return
    # update the repository variable
    url = f"https://api.github.com/repos/{repo}/actions/variables/{var_name}"
    headers = {
        "Authorization": f"token {gh_token_vars}",
        "Content-Type": "application/json",
        "User-Agent": "josverl",
    }
    data = {"name": str(var_name), "value": str(value)}
    response = requests.patch(url, headers=headers, json=data)
    response.raise_for_status()


# Safely extract snippet_score with fallback (file may not exist if all tests skipped or failed)
new_snippet_score = new_scores.get("snippet_score", 0)
current_snippet_score = current_scores.get("snippet_score", 0)

if new_snippet_score < current_snippet_score:
    msg = f"The snippet_score has decreased from {current_snippet_score} to {new_snippet_score}"
    print(msg)
    add_summary(msg, current_scores, new_scores)
    exit(1)  # Fail the test
elif new_snippet_score == current_snippet_score:
    msg = f"The snippet_score has not changed from {current_snippet_score}"
    print(msg)
    add_summary(msg, current_scores, new_scores)
elif new_snippet_score > current_snippet_score:
    msg = f"The snippet_score has improved to {new_snippet_score}"
    print(msg)
    add_summary(msg, current_scores, new_scores)
    if os.getenv("GITHUB_REF_NAME", "main") == "main":
        update_var(var_name="SNIPPET_SCORE", value=json.dumps(new_scores, skipkeys=True, indent=4))

print("Done")
exit(0)


================================================
FILE: .github/workflows/createstubs.yml
================================================
name: Create MCU stubs

on:
    workflow_dispatch:
    # schedule:
    #    - cron: "0 23 * * *"
    push:
        # branches:
        #     - main
        paths:
            - .github/workflows/createstubs.yml
concurrency:
    group: ${{ github.workflow }}-${{ github.ref }}
    cancel-in-progress: true

jobs:
########################################################################################################################################
  list-versions-cs:
    # 'Get a matrix for the latest versions of micropython'
    runs-on: ubuntu-latest
    steps:
        - uses: actions/checkout@v4
          with:
            fetch-depth: 1
        - uses: ./.github/actions/get-mpversions
          id: dynamic
    outputs:
        versions: ${{ steps.dynamic.outputs.versions }}
########################################################################################################################################
  createstubs:
    needs: list-versions-cs
    runs-on: [self-hosted, mpremote, X64]
    env:
      ARCH: X64
      # ARCH: ARM64    
    strategy:
        max-parallel: 1  # only one version at a time
        fail-fast: false # keep on trying each version even if one fails
        matrix: ${{ fromJSON(needs.list-versions-cs.outputs.versions) }}
    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      - name: Set up Python (most platforms)
        if: ${{ env.ARCH != 'ARM64' }}
        uses: actions/setup-python@v5
        with:
          python-version: "3.11"

      - name: Set up Python (Linux-ARM64)
        if: ${{ env.ARCH == 'ARM64' }}
        uses: deadsnakes/action@v2.1.1
        with:
          python-version: "3.11"

      - name: Install the latest version of uv
        uses: astral-sh/setup-uv@v6
        with:
          # Note: https://github.com/marketplace/actions/astral-sh-setup-uv#activate-environment
          activate-environment: true

      - name: Install Python dependencies (doc only)
        working-directory: ${{github.workspace}}
        run: |
          uv tool install poetry
          uv pip install -U -r pyproject.toml --extra stubber

      - name: Get ${{ matrix.version }} firmwares for flashing
        run: |
          mpflash download --version ${{ matrix.version }}

      - name: Update firmware to ${{ matrix.version }} on all connected boards
        run: |
          mpflash flash --version ${{ matrix.version }}

      - name: clone Repos
        run: |
          stubber clone

      - name: Get/update docstubs
        run: |
          stubber switch ${{ matrix.version }}
          stubber get-docstubs

      - name: Run board stubber
        run: |
          stubber get-mcu-stubs

      - name: commit
        continue-on-error: true
        uses: ./.github/actions/commit
        with:
          message: "Update boardstubs for ${{ matrix.version }}"

      - name: Build App
        if: always()
        run: echo "Done."




================================================
FILE: .github/workflows/get-all-frozen.yml
================================================
########################################################################################################################################
# This will attempt to retrieve and generate stubs from all known versions of MicroPython
########################################################################################################################################
# Check out repos in this structure
# micropython-stubs
# +-- stubs
# +-- repos
#     +-- micropython
#      -- micropython-lib
# repro structure needed to allow automatic PR creation to work
########################################################################################################################################
name: get-all-frozen

on:
  workflow_dispatch:
  push:
    paths:
      - ".github/workflows/get-all-frozen.yml"
  schedule:
    - cron: "0 1 * * *" # Run everyday at 01:00

env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1

jobs:
  ########################################################################################################################################
  list-versions-fr:
    # 'Get a matrix for the latest versions of micropython'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 1
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: 3.11
      - uses: ./.github/actions/get-mpversions
        id: dynamic
    outputs:
      job_versions: ${{ steps.dynamic.outputs.versions }}

  ########################################################################################################################################

  get-micropython-frozen:
    # The type of runner that the job will run on
    needs: list-versions-fr
    runs-on: ubuntu-latest
    continue-on-error: true
    strategy:
      matrix: ${{ fromJSON(needs.list-versions-fr.outputs.job_versions) }}
      max-parallel: 1

    # Most scripts will be run from the stubber, set that as default
    defaults:
      run:
        shell: bash
        # working-directory: ${{github.workspace}}/micropython-stubber

    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      # make Python work
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: 3.11

      - name: Install Python dependencies (stubber)
        run: |
          pip install --upgrade wheel
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

      # checkout micropython at the correct version tag
      - name: clone and switch to micropython ${{ matrix.version }}
        run: |
          stubber clone 
          stubber switch ${{ matrix.version }}

      ######################################
      # This is where the actual work starts
      ######################################

      - name: Get frozen modules for ${{ matrix.version }}
        working-directory: ${{github.workspace}}
        run: |
          stubber get-frozen --black

      - name: commit
        uses: ./.github/actions/commit
        with:
          message: "Update frozen stubs for ${{ matrix.version }}"


  # ########################################################################################################################################
  # get-core-cpython-stubs:
  #   # The type of runner that the job will run on
  #   runs-on: ubuntu-latest

  #   # Most scripts will be run from the stubber, set that as default
  #   defaults:
  #     run:
  #       shell: bash
  #   #      working-directory: ${{github.workspace}}/micropython-stubber

  #   steps:
  #     - name: Checkout stubs repo
  #       uses: actions/checkout@v4

  #     # make Python work
  #     - name: Set up Python
  #       uses: actions/setup-python@v5
  #       with:
  #         python-version: 3.13
  #         cache: "pip"

  #     - name: Install Python dependencies (stubber)
  #       run: |
  #         pip install --upgrade wheel
  #         if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

  #     ######################################
  #     # This is where the actual work starts
  #     ######################################

  #     - name: Get frozen modules for ${{ matrix.version }}
  #       working-directory: ${{github.workspace}}
  #       run: |
  #         stubber get-core --black

      # - name: commit
      #   uses: ./.github/actions/commit
      #   with:
      #     message: "Update core stubs for ${{ matrix.version }}"



================================================
FILE: .github/workflows/get-doc-stubs.yml
================================================
########################################################################################################################################
# This will attempt to retrieve and generate stubs from MicroPython documentation
########################################################################################################################################
# Check out repos in this structure
# micropython-stubs
# +-- stubs
# +-- repos
#     +-- micropython
#      -- micropython-lib
# repro structure needed to allow automatic PR creation to work
########################################################################################################################################
name: get-doc-stubs

on:
  workflow_dispatch:
  schedule:
    - cron: "0 22 * * *" # Run every day at 22:00
  push:
    # branches:
    #     - main
    paths:
    - .github/workflows/get-doc-stubs.yml

env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1

jobs:
  ########################################################################################################################################
  list-versions-doc:
    # 'Get a matrix for the latest versions of micropython'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 1
      - uses: ./.github/actions/get-mpversions
        id: dynamic
    outputs:
      versions: ${{ steps.dynamic.outputs.versions }}

  ########################################################################################################################################
  get-micropython-doc-stubs:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest
    continue-on-error: true
    needs: list-versions-doc
    strategy:
      matrix: ${{ fromJSON(needs.list-versions-doc.outputs.versions) }}
      max-parallel: 1
    
    # Most scripts will be run from the stubber, set that as default
    defaults:
      run:
        shell: bash

    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      # make Python work
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: 3.13
          # cache: "pip"

      - name: Install the latest version of uv
        uses: astral-sh/setup-uv@v6
        with:
          # Note: https://github.com/marketplace/actions/astral-sh-setup-uv#activate-environment
          activate-environment: true

      - name: Install Python dependencies (doc only)
        working-directory: ${{github.workspace}}
        run: |
          uv pip install -U -r pyproject.toml --extra stubber

      # micropython as a sub-module
      - name: "clone and checkout micropython ${{ matrix.version }}"
        run: |
          stubber clone
          stubber switch ${{ matrix.version }}

      ######################################
      # This is where the actual work starts
      ######################################

      - name: Generate document stubs for ${{ matrix.version }}
        run: |
          # get any recent updates first
          git pull origin main --force
          # get the latest docs, and enrich from the reference-stubs
          stubber get-docstubs --enrich

      - name: commit
        uses: ./.github/actions/commit
        with:
          message: "Update docstubs stubs for ${{ matrix.version }}"


================================================
FILE: .github/workflows/matrix-test.yml
================================================
name: matrix-test
on: 
    - workflow_dispatch
#    - push

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  # JOB ######################################################################################################################################

  list-versions-REAL:
    # 'Get a list of latest versions of micropython'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 1
      - uses: ./.github/actions/get-mpversions
        id: dynamic

      - run: echo ${{ steps.dynamic.outputs.json }}

    outputs:
      json: ${{ steps.dynamic.outputs.json }}

  list-versions:
    # 'Get a list of latest versions of micropython'
    runs-on: ubuntu-latest
    steps:
        - run: echo faking it

    outputs:
        json: '["preview", "stable", "v1.22.2","v1.21.0"]'

      

  list-boards:
    # 'Get a list of latest versions of micropython'
    runs-on: ubuntu-latest
    steps:

      - run: echo faking it
    
    outputs:
      json: '["SEEED_WIO_TERMINAL", "RPI_PICO_W", "ESP32_GENERIC"]'
      include: '[{"board": "SEEED_WIO_TERMINAL", "serialport": "COM10"},{"board": "ESP32_GENERIC", "serialport": "COM3", "variant": "OTA"}]'

  # JOB ######################################################################################################################################
  job20:
    runs-on: ubuntu-latest
    needs:
      - list-versions
      - list-boards
    strategy:
      fail-fast: false
      matrix:
        version: ${{ fromJSON(needs.list-versions.outputs.json) }}
        include: ${{ fromJSON(needs.list-boards.outputs.include) }}
        # variant: []
        # board: ${{ fromJSON(xx needs.list-boards.outputs.json) }}
        # exclude:
        #   - version: preview
        #     variant: OTA
        # include:
        #   - board: ESP32_GENERIC
        #     variant: OTA
        #   - board: ESP32_GENERIC
        #     variant: SPIRAM


    name: "Run ${{ matrix.version }} : ${{ matrix.serialport }} ${{ matrix.board }}-${{ matrix.variant }}"
    steps:
      - name: Flash ${{ matrix.board }}
        run: |
            echo Flash ${{ matrix.version }} ${{ matrix.serialport }} ${{ matrix.board }} ${{ matrix.variant }}


  # JOB ######################################################################################################################################
#   job10:
#     runs-on: ubuntu-latest
#     outputs:
#       json: ${{ steps.set-matrix.outputs.json }}
#     steps:
#       - uses: actions/checkout@v4
#       - name: Set up Python (most platforms)
#         uses: actions/setup-python@v5
#         with:
#           python-version: "3.11"

#       - run: python3 .github/workflows/make_matrix.py
#         id: set-matrix

#   # JOB ######################################################################################################################################

#   job15:
#     runs-on: ubuntu-latest

#     strategy:
#       fail-fast: false
#       max-parallel: 1
#       matrix:
#         platform: [x86, x64]
#         configuration: [Debug, Release]
#         variant: [dev, standard]
#         visualstudio: ["2017", "2019", "2022"]
#         include:
#           - visualstudio: "2017"
#             runner: windows-latest
#             vs_version: "[15, 16]"
#           - visualstudio: "2019"
#             runner: windows-2019
#             vs_version: "[16, 17]"
#           - visualstudio: "2022"
#             runner: windows-2022
#             vs_version: "[17, 18]"
#         # trim down the number of jobs in the matrix
#         exclude:
#           - variant: standard
#             configuration: Debug
#           - visualstudio: "2019"
#             configuration: Debug
#     steps:
#       - name: Run a matrix ${{ matrix.runner}} ${{ matrix.platform}} ${{ matrix.configuration}}
#         run: echo ${{ matrix.runner}} ${{ matrix.platform}} ${{ matrix.configuration}} ${{ matrix.variant}}  ${{ matrix.visualstudio}}  ${{ matrix.vs_version}}




# ########################################################################################################################################
#   list-versions-cs2:
#     # 'Get a matrix for the latest versions of micropython'
#     runs-on: ubuntu-latest
#     steps:
#         - uses: actions/checkout@v4
#           with:
#             fetch-depth: 1
#         - uses: ./.github/actions/get-mpversions
#           id: dynamic
#     outputs:
#         versions: ${{ steps.dynamic.outputs.versions }}
# ########################################################################################################################################
#   job40:
#     needs: list-versions-cs
#     runs-on: self-hosted
#     strategy:
#       matrix: ${{ fromJSON(needs.list-versions-cs.outputs.versions) }}
#       max-parallel: 1
#     #   matrix:
#     #     version: [preview, v1.22.2]
#       steps:
#         - run: |
#           - echo ${{ matrix.version }}


================================================
FILE: .github/workflows/publish_explorer.yml
================================================
name: Publish explorer frontend to GitHub Pages

on:
  workflow_dispatch:
  push:
    branches: [  copilot/create-database-viewer-tool] # or main

permissions:
  contents: read
  pages: write
  id-token: write

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      # If you need a build step (npm, make, etc.), add it here.
      # For example:
      # - name: Build frontend
      #   run: |
      #     cd tools/board_compare/frontend
      #     npm ci
      #     npm run build

      - name: Upload Pages artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: tools/board_compare/frontend

      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4


================================================
FILE: .github/workflows/selftest.yml
================================================
name: selfhosted_test

on:
    workflow_dispatch:
    # schedule:
    #     - cron: "55 * * * *"        
    push:
        paths:
            - .github/workflows/selftest.yml
concurrency:
    group: ${{ github.workflow }}-${{ github.ref }}
    cancel-in-progress: true

jobs:
  isalive:
    runs-on: [self-hosted, mpremote, X64]
    env:
      ARCH: X64
      # ARCH: ARM64    
    strategy:
        max-parallel: 1  # only one version at a time
        fail-fast: false # keep on trying each version even if one fails
    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      - name: Set up Python (most platforms)
        if: ${{ env.ARCH != 'ARM64' }}
        uses: actions/setup-python@v5
        with:
          python-version: "3.11"

      - name: Set up Python (Linux-ARM64)
        if: ${{ env.ARCH == 'ARM64' }}
        uses: deadsnakes/action@v2.1.1
        with:
          python-version: "3.11"

      - name: Install the latest version of uv
        uses: astral-sh/setup-uv@v6
        with:
          # Note: https://github.com/marketplace/actions/astral-sh-setup-uv#activate-environment
          activate-environment: true

      - name: Install Python dependencies (doc only)
        working-directory: ${{github.workspace}}
        run: |
          uv pip install -U -r pyproject.toml --extra stubber


      - name: Get ${{ matrix.version }} firmwares for flashing
        run: |
          mpflash list





================================================
FILE: .github/workflows/test_runtime_typing.yml
================================================
name: test_runtime_typing
on: 
  pull_request:
  workflow_dispatch:
  push:
    paths:
      - 'mip/**/*.py'


env:
  # Setting an environment variable with the value of a configuration variable
  SNIPPET_SCORE: ${{ vars.SNIPPET_SCORE }}
  GH_TOKEN_VARS: ${{ secrets.GH_TOKEN_VARS }}
  # fix:  DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs
  JUPYTER_PLATFORM_DIRS: "1"


jobs:
  test_typings_docker:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      #----------------------------------------------

      - name: Install the latest version of uv
        uses: astral-sh/setup-uv@v6
        with:
          # Note: https://github.com/marketplace/actions/astral-sh-setup-uv#activate-environment
          activate-environment: true

      - name: Install Python dependencies
        working-directory: ${{github.workspace}}
        run: |
          uv pip install -U -r pyproject.toml --extra test


      - name: Test the snippets 
        continue-on-error: true
        run: |
          pytest tests/quality_tests/test_typings.py 




================================================
FILE: .github/workflows/test_stub_quality.yml
================================================
name: test_stub_quality
on: [ pull_request, workflow_dispatch] # Not on push to avoid wasting 15 mins CPU 

env:
  # Setting an environment variable with the value of a configuration variable
  SNIPPET_SCORE: ${{ vars.SNIPPET_SCORE }}
  GH_TOKEN_VARS: ${{ secrets.GH_TOKEN_VARS }}
  # fix:  DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs
  JUPYTER_PLATFORM_DIRS: "1"


jobs:
  test_snippets:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      #----------------------------------------------

      - name: Install the latest version of uv
        uses: astral-sh/setup-uv@v6
        # Note: https://github.com/marketplace/actions/astral-sh-setup-uv#activate-environment
        # with:
        #   activate-environment: true

      - name: Install poetry # poetry is not in the default image
        run: uv tool install poetry

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.11" # Replace with the Python version you're using


      - name: Install Python dependencies
        working-directory: ${{github.workspace}}
        run: |
          uv venv
          uv pip install -U -r pyproject.toml --extra stubber --extra test


      #----------------------------------------------
      # stubber clone
      # repos needed for tests
      #----------------------------------------------
      - name: stubber clone
        run: | 
          uv run stubber clone


    #   - name: update the stubs (not pushed) 
    #     continue-on-error: true
    #     run: |
    #       source .venv/bin/activate
    #       pwsh -file ./update-stubs.ps1

      - name: Test the snippets 
        continue-on-error: true
        run: |
          uv run pytest -m 'snippets' --cache-clear --junitxml=./results/results.xml


      - name: compare and update
        run: |
          uv run .github/workflows/compare_score.py


================================================
FILE: .github/workflows/update_docs.yml
================================================
# This will attempt to retrieve and add/update documentation

name: update_docs

on:
  workflow_dispatch:
  schedule:
    - cron: "0 5 * * *" # Run everyday at 05:00

env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1

jobs:
  # job prepare sets everything up
  update-docs:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest
    continue-on-error: true

    # Most scripts will be run from the stubs repo, set that as default
    defaults:
      run:
        shell: bash
        working-directory: ${{github.workspace}}
        # /micropython-stubs
    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      ######################################
      # Check out repo:
      # josverl/micropython-stubs
      ######################################

      - name: Checkout stubs repo
        uses: actions/checkout@v4
        # with:
        #   repository: josverl/micropython-stubs
        #   path: micropython-stubs

      # make Python work
      - name: Set up Python
        uses: actions/setup-python@v5
        # with:
        #   python-version: 3.13
        #   cache: "pip"

      - name: Install the latest version of uv
        uses: astral-sh/setup-uv@v6
        with:
          # Note: https://github.com/marketplace/actions/astral-sh-setup-uv#activate-environment
          activate-environment: true

      - name: Install Python dependencies (doc only)
        working-directory: ${{github.workspace}}
        run: |
          uv pip install -U -r pyproject.toml --extra docs

      ######################################
      # This is where the actual work starts
      ######################################

      - name: Update Documentation
        working-directory: ${{github.workspace}}/docs
        run: |
          python update_docs.py

      - name: commit
        uses: ./.github/actions/commit
        with:
          message: "Update stubs documentation"


================================================
FILE: .github/workflows/update_stubs.yml
================================================

# Check out repos in this structure
# micropython-stubs
# +-- stubs
# +-- repos
#     +-- micropython
#      -- micropython-lib
# repro structure needed to allow automatic PR creation to work
########################################################################################################################################
name: update_stubs

on:
  workflow_dispatch:
#  schedule:
#    - cron: "0 1 * * *" # Run every day at 01:00
env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1

jobs:
  ########################################################################################################################################
  build-stubs:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest
    steps:
      - name: Checkout stubs repo
        uses: actions/checkout@v4
      - name: Install Poetry
        run: pipx install poetry==1.3.1
      - run: |
          poetry config repositories.test-pypi https://test.pypi.org/legacy/
          poetry config --list
      - run: |
          pip install wheel
          pip install -U micropython-stubber --pre
      - run: |
          echo Running in folder $(pwd)
          stubber --version
          stubber clone --no-stubs

      - name: Run update-stubs.ps1
        run: |
          pwsh -File update-stubs.ps1

      - name: update all_modules.json
        run: |
          echo "Updating all_modules.json"
          # pip install tomli
          python3 update_all_modules.py

      - name: commit
        uses: ./.github/actions/commit
        with:
          message: "update stubs"


================================================
FILE: .github/workflows/weekly_automation.yml
================================================
# This workflow runs weekly automation tasks:
# - Updates all_modules.json
# - Updates documentation
# - Updates stub-packages.json from database

name: weekly_automation

on:
  workflow_dispatch:
  schedule:
    - cron: "0 2 * * 0" # Run every Sunday at 02:00

env:
  PIP_DISABLE_PIP_VERSION_CHECK: 1

jobs:
  weekly-update:
    runs-on: ubuntu-latest

    defaults:
      run:
        shell: bash
        working-directory: ${{github.workspace}}

    steps:
      ######################################
      # Check out repo
      ######################################
      - name: Checkout stubs repo
        uses: actions/checkout@v4

      ######################################
      # Set up Python and dependencies
      ######################################
      - name: Set up Python
        uses: actions/setup-python@v5

      - name: Install the latest version of uv
        uses: astral-sh/setup-uv@v6
        with:
          activate-environment: true

      - name: Install Python dependencies
        working-directory: ${{github.workspace}}
        run: |
          uv pip install -U -r pyproject.toml --extra docs
          uv pip install jsons packaging tomli

      ######################################
      # Run automation tasks
      ######################################
      - name: Update all_modules.json
        working-directory: ${{github.workspace}}
        run: |
          echo "Updating all_modules.json"
          python update_all_modules.py

      - name: Update Documentation
        working-directory: ${{github.workspace}}/docs
        run: |
          echo "Updating documentation"
          python update_docs.py

      - name: Update stub-packages.json
        working-directory: ${{github.workspace}}/data
        run: |
          echo "Updating stub-packages.json from database"
          python package_db_to_json.py

      ######################################
      # Commit changes
      ######################################
      - name: commit
        uses: ./.github/actions/commit
        with:
          message: "Weekly automation: update modules, docs, and package database"


================================================
FILE: .gitignore
================================================
# avoid including micropython-stubber in workflows.
micropython-stubber

# no pytest / mypy / .... caches
.*_cache
**/__pycache__

# No venv
.venv*

#no secrets
.secrets*

# no .* 
.playwright-mcp


# no documentation artefacts 
*/~*.pptx

# no test files from frozen stubs 
 stubs/**/*_test.p*

# exclude ulab/user module to allow this to be stubbed on a specific firmware
stubs/micropython-ulab/ulab/user/__init__.pyi
docs/_build

#no test results
results

# no scratch pad
scratch 

# no daughter repos
repos

# The lines below will influence the contents of the -stub packages created with poetry
# poetry will exlude all .ignored files from the project

# stub folders  that are copied to create the stub package 
# publish/*/**/*.*
!publish/*/*.toml
!publish/*/*.md
publish/*/modules.json

publish/**/dist
publish/*/*.dist-info/*
!publish/*/*.dist-info/METADATA
# no typings
typings
# no firmware images
firmware
# no node modules
node_modules
package*.json

coverage/snippet_score.json
**/__NOT__
publish/micropython-stdlib-stubs_100b1

# no test lock files
**/*_lock.file
tests/doc_test/micropython/
**/uv.lock

# build metadata
*.egg-info/

# No coverage reports
.coverage


================================================
FILE: .libcst.codemod.yaml
================================================
# String that LibCST should look for in code which indicates that the

# module is generated code.
generated_code_marker: '@generated'

# Command line and arguments for invoking a code formatter. Anything
# specified here must be capable of taking code via stdin and returning
# formatted code via stdout.
formatter: ['black', '-']

# List of regex patterns which LibCST will evaluate against filenames to
# determine if the module should be touched.
blacklist_patterns: []

# List of modules that contain codemods inside of them.
modules:

- 'stubber.codemod'
# - 'libcst.codemod.commands'

# Absolute or relative path of the repository root, used for providing
# full-repo metadata. Relative paths should be specified with this file
# location as the base.
repo_root: '.'



================================================
FILE: .mailmap
================================================
# merge different spelling / email addressess into one and the same 
Jos Verlinde <Josverl@users.noreply.github.com> Josverl <Josverl@users.noreply.github.com>
<Josverl@users.noreply.github.com> <jos_verlinde@hotmail.com> 
<Josverl@users.noreply.github.com> <jos.verlinde@hotmail.com> 
<Josverl@users.noreply.github.com> <Jos_Verlinde@hotmail.com> 
<Josverl@users.noreply.github.com> <Jos.Verlinde@Microsoft.com> 
<Josverl@users.noreply.github.com> <josverl@microsoft.com>


================================================
FILE: .readthedocs.yaml
================================================
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
  os: ubuntu-20.04
  tools:
    python: "3.9"
    
python:
  install:
    # install docs requirements
    - requirements: docs/requirements.txt
  # Install our python package before building the docs
    # - method: pip
    #   path: .

sphinx:
  configuration: docs/conf.py
  fail_on_warning: false
  # fail_on_warning: true
  
formats:
  - pdf


================================================
FILE: .vscode/all_packages_db.connection.json
================================================
{
  "id": "all_packages_db",
  "type": "sqlite",
  "description": "information on published packages and versions and hashes and sources for all MicroPython type stub packages",
  "options": { 
    "filename": "D:\\mypython\\micropython-stubs\\data\\all_packages.db",
    "mode": 6
  }
}


================================================
FILE: .vscode/board.connection.json
================================================
{
  "id": "micropython-board-comparison",
  "type": "sqlite",
  "description": "MicroPython stub explorer database used in pyscript webapp. Used for comparing API differences between boards and versions.",
  "options": { 
    "filename": "d:/mypython/micropython-stubs/tools/board_compare/frontend/board_comparison.db",
    "mode": 6
  }
}


================================================
FILE: .vscode/extensions.json
================================================
{
    "recommendations": [
        "cschleiden.vscode-github-actions",
        "bierner.markdown-mermaid",
        "ms-toolsai.jupyter-renderers",
        "ms-python.python",
        "gxl.git-graph-3"
    ]
}

================================================
FILE: .vscode/launch.json
================================================
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debugger: pytest",
            "type": "debugpy",
            "request": "launch",
            "module": "pytest",
            "args": [
                // "-p", 
                // "vscode_pytest", 
                "--rootdir=c:\\mypython\\micropython-stubs", 
                "c:\\mypython\\micropython-stubs\\tests\\quality_tests\\test_stdlib.py::test_typecheck_stdlib[pyright-snip_path0-local-stdlib---stdlib"
                
            ],
            "justMyCode": false
        },
        {
            "name": "Python: file as Module",
            "type": "debugpy",
            "request": "launch",
            "module": "stubber.${fileBasenameNoExtension}",
            "justMyCode": false
        },
        {
            "name": "Python: Current File from root",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "args": [
                "--publish", "--version", "1.26.0"
            ],
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}",
            "justMyCode": false
        },
        {
            "name": "Python: stubber - cmdline",
            "type": "debugpy",
            "request": "launch",
            "module": "stubber.stubber",
            "cwd": "${workspaceFolder}",
            "args": [
                // "-v",
                "merge",
                "--version",
                "v1.22.1",
                "--port",
                "esp32",
                // "get-frozen",
                // "preview",
                // "switch",
            ]
        },
        {
            "name": "Python: Debug Unit Tests",
            "type": "debugpy",
            "request": "launch",
            "purpose": [
                "debug-test"
            ],
            "console": "integratedTerminal",
            "justMyCode": false,
        }
    ]
}

================================================
FILE: .vscode/settings.json
================================================
{
    "workbench.colorCustomizations": {
        "activityBar.activeBorder": "#422c74",
        "activityBar.activeBackground": "#2f7c47",
        "activityBar.background": "#2f7c47",
        "activityBar.foreground": "#e7e7e7",
        "activityBar.inactiveForeground": "#e7e7e799",
        "activityBarBadge.background": "#422c74",
        "activityBarBadge.foreground": "#e7e7e7",
        "commandCenter.border": "#e7e7e799",
        "editorGroup.border": "#2f7c47",
        "panel.border": "#2f7c47",
        "sash.hoverBorder": "#2f7c47",
        "statusBar.background": "#215732",
        "statusBar.foreground": "#e7e7e7",
        "statusBarItem.hoverBackground": "#2f7c47",
        "statusBarItem.remoteBackground": "#215732",
        "statusBarItem.remoteForeground": "#e7e7e7",
        "tab.activeBorder": "#2f7c47",
        "titleBar.activeBackground": "#215732",
        "titleBar.activeForeground": "#e7e7e7",
        "titleBar.inactiveBackground": "#21573299",
        "titleBar.inactiveForeground": "#e7e7e799"
    },
    "peacock.color": "#215732",
    "peacock.remoteColor": "#67a179",
    // To ignore ALL CAPS in all files
    "cSpell.ignoreRegExpList": [
        "/\\b[A-Z]+\\b/g"
    ],
    "cSpell.words": [
        "ADAFRUIT",
        "builtins",
        "clearcache",
        "colorstubs",
        "contextlib",
        "cpython",
        "dataframe",
        "debugpy",
        "docstrings",
        "docstubs",
        "firmwares",
        "flatgithub",
        "flatview",
        "flowui",
        "GARATRONIC",
        "genindex",
        "josverl",
        "Loboris",
        "LOLIN",
        "LVGL",
        "maxdepth",
        "microbit",
        "micropico",
        "modindex",
        "modulename",
        "mpremote",
        "mypy",
        "MYPYPATH",
        "Pico",
        "PICOLIPO",
        "PIMORONI",
        "PSRAM",
        "pwsh",
        "PYBD",
        "pyboard",
        "PYBSTICK",
        "PYBV",
        "pycopy",
        "pylance",
        "pylint",
        "pylintrc",
        "pypi",
        "pyproject",
        "pyright",
        "pyrightconfig",
        "renesas",
        "SAMD",
        "SEEED",
        "spiram",
        "stdlib",
        "stinos",
        "stubgen",
        "TINYPICO",
        "toctree",
        "Traceback",
        "typeshed",
        "ulab",
        "unicore",
        "urequests",
        "venv",
        "virtualenv",
        "Webassembly",
        "WROVER"
    ],
    "peacock.affectEditorGroupBorder": true,
    "peacock.affectPanelBorder": true,
    "peacock.affectTabActiveBorder": true,
    "python.testing.unittestEnabled": false,
    "python.testing.pytestEnabled": true,
    "python.analysis.useLibraryCodeForTypes": false,
    "python.analysis.diagnosticMode": "openFilesOnly",
    "python.analysis.indexing": false,
    "python.analysis.exclude": [
        "repos/**",
        "stubs/**",
        "publish/**",
        "tests/**",
        "docs/**",
        "data/**",
        "statistics/**"
    ],
    "python.languageServer": "Pylance",
    "[python]": {
        "editor.defaultFormatter": "charliermarsh.ruff"
    },
    "python.formatting.provider": "none",
    "python.analysis.supportRestructuredText": true,
    "iis.configDir": "",
}

================================================
FILE: .vscode/tasks.json
================================================
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    // Activate .venv for windows
    // "windows": {
    //     "options": {
    //         "shell": {
    //             "executable": "pwsh.exe",
    //             "args": [
    //                 "-NoExit",
    //                 "-Command",
    //                 "${workspaceFolder}\\.venv\\Scripts\\Activate.ps1"
    //             ]
    //         }
    //     }
    // },
    "tasks": [
        {
            "label": "Sphinx: build documentation",
            "detail": "make html",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/docs"
            },
            "command": "${workspaceFolder}/.venv/Scripts/Activate.ps1;&./make.bat html",
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "Sphinx: clean build documentation",
            "detail": "make clean html",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/docs"
            },
            "command": "${workspaceFolder}/.venv/Scripts/Activate.ps1;&./make.bat clean;&./make.bat html",
            "problemMatcher": []
        },
        {
            "label": "Sphinx: get link info",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/docs"
            },
            "command": "${workspaceFolder}/.venv/Scripts/Activate.ps1;python -m sphinx.ext.intersphinx _build/html/objects.inv"
        },
        {
            "label": "act: publish-stubs",
            "detail": "act: build and then publish-stubs",
            "type": "shell",
            "command": "act",
            "args": [
                "--job",
                "publish-stubs"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [],
            "group": "build"
        }
    ]
}

================================================
FILE: LICENSE.md
================================================
MIT License

Copyright (c) 2020-2025 Jos Verlinde

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software and stubs.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: Manual stub build chain.ipynb
================================================
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# --------------------------------------------------------------------------\n",
    "# In order to run, this script needs the following 3rd party libraries\n",
    "# /// script\n",
    "# requires-python = \">=3.8\"\n",
    "# dependencies = [\n",
    "#   \"stubber>=1.24.0\",\n",
    "# ]\n",
    "# ///\n",
    "# PEP723: https://peps.python.org/pep-0723/\n",
    "# --------------------------------------------------------------------------"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import shutil\n",
    "from pathlib import Path\n",
    "from typing import Optional\n",
    "\n",
    "\n",
    "# version = \"v1.23.0\"\n",
    "# version = \"v1.24.1\"\n",
    "# version = \"preview\"\n",
    "version = \"stable\"\n",
    "\n",
    "# merge / build\n",
    "# fmt: off\n",
    "port = \"rp2\" ; board = \"RPI_PICO_W\" \n",
    "port = \"esp32\" ; board = \"ESP32_GENERIC\"\n",
    "port = \"esp32\" ; board = \"all\"\n",
    "port = \"all\" ; board = \"all\"\n",
    "# fmt: on\n",
    "\n",
    "if version == \"preview\":\n",
    "    flat_version = \"v1_27_0_preview\"\n",
    "else:\n",
    "    flat_version = version.replace(\".\", \"_\")\n",
    "\n",
    "docstubs = Path(f\"stubs/micropython-{flat_version}-docstubs\")\n",
    "reference = Path(\"reference/micropython\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!stubber switch {version}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ! cd d:\\mypython\\micropython-stubber\n",
    "!stubber -VVV docstubs --enrich \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "cwd = os.getcwd()\n",
    "os.chdir(\"./publish/micropython-stdlib-stubs\")\n",
    "\n",
    "%run build.py\n",
    "\n",
    "os.chdir(cwd)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!stubber frozen --version {version} --enrich"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!stubber merge  --port {port} --board {board} --version {version}\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# enrich the pyscript module\n",
    "if 0:\n",
    "    ! stubber enrich --source reference/pyscript --dest stubs/micropython-{flat_version}-webassembly-GENERIC-merged   --copy-params   --copy-docstr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!stubber build  --port {port} --board {board}  --version {version}\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "if 0:\n",
    "    !stubber publish --port {port} --board {board}  --version {version}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# version = \"v1.24.1\"\n",
    "\n",
    "# !stubber merge  --port esp32 --version {version}\n",
    "# !stubber build  --port esp32 --version {version}\n",
    "# !stubber merge  --port esp32 --board ESP32_GENERIC  --version {version}\n",
    "# !stubber merge  --port rp2   --board RPI_PICO_W     --version {version}\n",
    "# !stubber build  --port esp32 --board ESP32_GENERIC  --version {version}\n",
    "# !stubber build  --port rp2   --board RPI_PICO_W     --version {version}\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# invalidate the cached stubs to force a reload for testing\n",
    "import shutil\n",
    "\n",
    "shutil.rmtree(\".pytest_cache/\", ignore_errors=True)\n",
    "shutil.rmtree(\"repos/micropython-stubs/.pytest_cache/\", ignore_errors=True)\n",
    "shutil.rmtree(\"repos/micropython-stubs/tests/quality_tests/.pytest_cache\", ignore_errors=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22:04:18 | ℹ️ micropython-stubber 1.26.3\n",
      "22:04:18 | ℹ️ Publish micropython ['v1.25.0'] ['webassembly'] ['GENERIC'] to \n",
      "pypi\n",
      "22:04:19 | ℹ️ Publish: micropython-v1_25_0-webassembly-stubs\n",
      "22:04:22 | ℹ️ Build: micropython-v1_25_0-webassembly-stubs\n",
      "22:04:22 | ℹ️ Found changes to package sources: micropython-webassembly-stubs \n",
      "1.25.0.post1 \n",
      "\n",
      "                                Publish Results                                \n",
      "┌─────────────────┬─────────────────┬──────────────┬───────┬──────────────────┐\n",
      "│ result          │ name            │ version      │ error │ path             │\n",
      "├─────────────────┼─────────────────┼──────────────┼───────┼──────────────────┤\n",
      "│ Published to    │ micropython-we… │ 1.25.0.post1 │ None  │ publish/micropy… │\n",
      "│ PyPi            │                 │              │       │                  │\n",
      "└─────────────────┴─────────────────┴──────────────┴───────┴──────────────────┘\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using virtualenv: D:\\mypython\\micropython-stubs\\.venv\n",
      " - Uploading micropython_webassembly_stubs-1.25.0.post1-py2.py3-none-any.whl 0%\n",
      " - Uploading micropython_webassembly_stubs-1.25.0.post1-py2.py3-none-any.whl 18%\n",
      " - Uploading micropython_webassembly_stubs-1.25.0.post1-py2.py3-none-any.whl 100% - Uploading micropython_webassembly_stubs-1.25.0.post1.tar.gz 0%\n",
      " - Uploading micropython_webassembly_stubs-1.25.0.post1.tar.gz 100%\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22:04:33 | ℹ️ micropython-stubber 1.26.3\n",
      "22:04:33 | ℹ️ Publish micropython ['v1.25.0'] ['unix'] ['GENERIC'] to pypi\n",
      "22:04:35 | ℹ️ Publish: micropython-v1_25_0-unix-stubs\n",
      "22:04:37 | ℹ️ Build: micropython-v1_25_0-unix-stubs\n",
      "22:04:37 | ℹ️ Found changes to package sources: micropython-unix-stubs \n",
      "1.25.0.post1 \n",
      "\n",
      "                                Publish Results                                \n",
      "┌─────────────────┬─────────────────┬──────────────┬───────┬──────────────────┐\n",
      "│ result          │ name            │ version      │ error │ path             │\n",
      "├─────────────────┼─────────────────┼──────────────┼───────┼──────────────────┤\n",
      "│ Published to    │ micropython-un… │ 1.25.0.post1 │ None  │ publish/micropy… │\n",
      "│ PyPi            │                 │              │       │                  │\n",
      "└─────────────────┴─────────────────┴──────────────┴───────┴──────────────────┘\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using virtualenv: D:\\mypython\\micropython-stubs\\.venv\n",
      " - Uploading micropython_unix_stubs-1.25.0.post1-py2.py3-none-any.whl 0%\n",
      " - Uploading micropython_unix_stubs-1.25.0.post1-py2.py3-none-any.whl 22%\n",
      " - Uploading micropython_unix_stubs-1.25.0.post1-py2.py3-none-any.whl 100% - Uploading micropython_unix_stubs-1.25.0.post1.tar.gz 0%\n",
      " - Uploading micropython_unix_stubs-1.25.0.post1.tar.gz 100%\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22:04:48 | ℹ️ micropython-stubber 1.26.3\n",
      "22:04:48 | ℹ️ Publish micropython ['v1.25.0'] ['windows'] ['GENERIC'] to pypi\n",
      "22:04:48 | ℹ️ Publish: micropython-v1_25_0-windows-stubs\n",
      "22:04:50 | ℹ️ Build: micropython-v1_25_0-windows-stubs\n",
      "22:04:50 | ℹ️ Found changes to package sources: micropython-windows-stubs \n",
      "1.25.0.post1 \n",
      "\n",
      "                                Publish Results                                \n",
      "┌─────────────────┬─────────────────┬──────────────┬───────┬──────────────────┐\n",
      "│ result          │ name            │ version      │ error │ path             │\n",
      "├─────────────────┼─────────────────┼──────────────┼───────┼──────────────────┤\n",
      "│ Published to    │ micropython-wi… │ 1.25.0.post1 │ None  │ publish/micropy… │\n",
      "│ PyPi            │                 │              │       │                  │\n",
      "└─────────────────┴─────────────────┴──────────────┴───────┴──────────────────┘\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using virtualenv: D:\\mypython\\micropython-stubs\\.venv\n",
      " - Uploading micropython_windows_stubs-1.25.0.post1-py2.py3-none-any.whl 0%\n",
      " - Uploading micropython_windows_stubs-1.25.0.post1-py2.py3-none-any.whl 31%\n",
      " - Uploading micropython_windows_stubs-1.25.0.post1-py2.py3-none-any.whl 100% - Uploading micropython_windows_stubs-1.25.0.post1.tar.gz 0%\n",
      " - Uploading micropython_windows_stubs-1.25.0.post1.tar.gz 100%\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22:05:06 | ℹ️ micropython-stubber 1.26.3\n",
      "22:05:06 | ℹ️ Publish micropython ['v1.26.0'] ['webassembly'] ['GENERIC'] to \n",
      "pypi\n",
      "22:05:07 | ℹ️ Publish: micropython-v1_26_0-webassembly-stubs\n",
      "22:05:09 | ℹ️ Build: micropython-v1_26_0-webassembly-stubs\n",
      "22:05:10 | ℹ️ Found changes to package sources: micropython-webassembly-stubs \n",
      "1.26.0.post1 \n",
      "\n",
      "                                Publish Results                                \n",
      "┌─────────────────┬─────────────────┬──────────────┬───────┬──────────────────┐\n",
      "│ result          │ name            │ version      │ error │ path             │\n",
      "├─────────────────┼─────────────────┼──────────────┼───────┼──────────────────┤\n",
      "│ Published to    │ micropython-we… │ 1.26.0.post1 │ None  │ publish/micropy… │\n",
      "│ PyPi            │                 │              │       │                  │\n",
      "└─────────────────┴─────────────────┴──────────────┴───────┴──────────────────┘\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using virtualenv: D:\\mypython\\micropython-stubs\\.venv\n",
      " - Uploading micropython_webassembly_stubs-1.26.0.post1-py2.py3-none-any.whl 0%\n",
      " - Uploading micropython_webassembly_stubs-1.26.0.post1-py2.py3-none-any.whl 18%\n",
      " - Uploading micropython_webassembly_stubs-1.26.0.post1-py2.py3-none-any.whl 100% - Uploading micropython_webassembly_stubs-1.26.0.post1.tar.gz 0%\n",
      " - Uploading micropython_webassembly_stubs-1.26.0.post1.tar.gz 100%\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22:05:23 | ℹ️ micropython-stubber 1.26.3\n",
      "22:05:23 | ℹ️ Publish micropython ['v1.26.0'] ['unix'] ['GENERIC'] to pypi\n",
      "22:05:24 | ℹ️ Publish: micropython-v1_26_0-unix-stubs\n",
      "22:05:26 | ℹ️ Build: micropython-v1_26_0-unix-stubs\n",
      "22:05:26 | ℹ️ Found changes to package sources: micropython-unix-stubs \n",
      "1.26.0.post1 \n",
      "\n",
      "                                Publish Results                                \n",
      "┌─────────────────┬─────────────────┬──────────────┬───────┬──────────────────┐\n",
      "│ result          │ name            │ version      │ error │ path             │\n",
      "├─────────────────┼─────────────────┼──────────────┼───────┼──────────────────┤\n",
      "│ Published to    │ micropython-un… │ 1.26.0.post1 │ None  │ publish/micropy… │\n",
      "│ PyPi            │                 │              │       │                  │\n",
      "└─────────────────┴─────────────────┴──────────────┴───────┴──────────────────┘\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using virtualenv: D:\\mypython\\micropython-stubs\\.venv\n",
      " - Uploading micropython_unix_stubs-1.26.0.post1-py2.py3-none-any.whl 0%\n",
      " - Uploading micropython_unix_stubs-1.26.0.post1-py2.py3-none-any.whl 22%\n",
      " - Uploading micropython_unix_stubs-1.26.0.post1-py2.py3-none-any.whl 100% - Uploading micropython_unix_stubs-1.26.0.post1.tar.gz 0%\n",
      " - Uploading micropython_unix_stubs-1.26.0.post1.tar.gz 100%\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22:05:39 | ℹ️ micropython-stubber 1.26.3\n",
      "22:05:39 | ℹ️ Publish micropython ['v1.26.0'] ['windows'] ['GENERIC'] to pypi\n",
      "22:05:39 | ℹ️ Publish: micropython-v1_26_0-windows-stubs\n",
      "22:05:41 | ℹ️ Build: micropython-v1_26_0-windows-stubs\n",
      "22:05:42 | ℹ️ Found changes to package sources: micropython-windows-stubs \n",
      "1.26.0.post1 \n",
      "\n",
      "                                Publish Results                                \n",
      "┌─────────────────┬─────────────────┬──────────────┬───────┬──────────────────┐\n",
      "│ result          │ name            │ version      │ error │ path             │\n",
      "├─────────────────┼─────────────────┼──────────────┼───────┼──────────────────┤\n",
      "│ Published to    │ micropython-wi… │ 1.26.0.post1 │ None  │ publish/micropy… │\n",
      "│ PyPi            │                 │              │       │                  │\n",
      "└─────────────────┴─────────────────┴──────────────┴───────┴──────────────────┘\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using virtualenv: D:\\mypython\\micropython-stubs\\.venv\n",
      " - Uploading micropython_windows_stubs-1.26.0.post1-py2.py3-none-any.whl 0%\n",
      " - Uploading micropython_windows_stubs-1.26.0.post1-py2.py3-none-any.whl 31%\n",
      " - Uploading micropython_windows_stubs-1.26.0.post1-py2.py3-none-any.whl 100% - Uploading micropython_windows_stubs-1.26.0.post1.tar.gz 0%\n",
      " - Uploading micropython_windows_stubs-1.26.0.post1.tar.gz 100%\n"
     ]
    }
   ],
   "source": [
    "for version in [\"v1.25.0\", \"v1.26.0\"]:\n",
    "    for port in [\"webassembly\", \"unix\", \"windows\"]:\n",
    "        # !stubber build --port {port} --version {version}\n",
    "        !stubber publish --port {port} --version {version} --pypi"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "micropython-stubs",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}


================================================
FILE: README.md
================================================
# MicroPython Stubs: Enhance Your Development Experience

[![Documentation Status](https://readthedocs.org/projects/micropython-stubs/badge/?version=main)](https://micropython-stubs.readthedocs.io/en/latest/?badge=main "Document build status badge")
[![Star on GitHub](https://img.shields.io/github/stars/josverl/micropython-stubs.svg?style=social)](https://github.com/josverl/micropython-stubs/stargazers)
[![All Contributors](https://img.shields.io/badge/all_contributors-19-green.svg?style=flat-square)](#Contributions)
[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black "Black badge")
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Checked with pyright](https://microsoft.github.io/pyright/img/pyright_badge.svg)](https://microsoft.github.io/pyright/) 
<!-- [![Checked with pyright](https://github.com/Josverl/micropython-stubs/actions/workflows/test_stub_quality.yml/badge.svg?branch=main)](https://microsoft.github.io/pyright/) -->

Welcome to the MicroPython Stubs repository! 

Here, you’ll find a treasure trove of over 3,000 stub files generated by the MicroPython-Stubber tool. Whether you’re just starting out or a seasoned developer, these stubs are designed to supercharge your MicroPython development process.


Stubs are like cheat sheets for your code. They provide hints, auto-completion, and static type checking, making your life as a developer easier and more productive. Here’s what you can expect from these MicroPython stubs:

* Faster Coding: With stubs, you’ll write code more quickly and confidently. No more guessing function names or parameters!
* Fewer Errors: Stubs help catch mistakes early. If you provide incorrect arguments, you’ll get immediate feedback.
* Code Completion: Say goodbye to endless Bingling. Stubs provide context-aware auto-completion, even for board-specific features.
* Static Type Checking: By adding typing information, you’ll catch type-related bugs before they cause runtime issues.


<!-- <mark>DEMO NEEDS UPDATE</mark> -->

![demo](docs/img/demo.gif)

#### Installation

For installation instructions and configuration of your preferred IDE, please refer to the [documentation](https://micropython-stubs.readthedocs.io/en/main/)

## Integrations with IDEs and Tools

VSCode: 
 - https://github.com/paulober/MicroPico - A VSCode extension to simplify and speed up the development of MicroPython projects for the Raspberry Pi Pico and Pico W boards.

 PyCharm / IntelliJ:
 - https://github.com/lukaskremla/micropython-tools-jetbrains - MicroPython Tools Plugin for PyCharm, CLion, IntelliJ and other JetBrains IDEs

Thonny :
 -https://github.com/thonny/thonny - Thonny IDE has built-in support for MicroPython and  V5.beta includes the micropython-stubs.

Tooling:
 - https://github.com/standsi/MicropythonStubsFetchTypescript - A TypeScript tool to fetch and use MicroPython stubs for code completion and type checking in editors like VSCode.

## Explore Available Stubs

Curious about which versions, ports, and boards are covered, or the differences between different board  ? 

Try the beta version of the new [Stubs Explorer](https://josverl.github.io/micropython-stubs/board-explorer-mpy.html), an app written in MicroPython using PyScript to explore and compare MicroPython stubs for various boards.

Or check out the [online viewer](https://flatgithub.com/Josverl/micropython-stubs/?filename=all_modules.json) or search for [MicroPython stub packages on PyPI](https://pypi.org/search/?q=-stubs&o=&c=Programming+Language+%3A%3A+Python+%3A%3A+Implementation+%3A%3A+MicroPython).

For a comprehensive overview of all stubs, dive into the documentation on [the documentation on read the docs](https://micropython-stubs.readthedocs.io/en/main/firmware_grp.html).


## Sponsoring

In order to build accurate stubs I need access to a board to flash it with a specific version of MicroPython and run part of the stubbing software (createsubs.py) on the board.

You can help me by: 

- running the software and sharing a PR with the generated MCU stubs,

- sending me a spare board you may have,

- or by sponsoring me through Github

## Contributors

Thanks to everyone that has submitted stubs or other relevant pieces of code and information, or published relevant stubs on pypi or github.

<!-- 
To add via the cli run the following command:
npx all-contributors-cli add user thing,thing
npx all-contributors-cli generate

 - bug
 - tool
 - stubs
 - doc
 -->

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/Josverl"><img src="https://avatars2.githubusercontent.com/u/981654?v=4?s=100" width="100px;" alt="Jos Verlinde"/><br /><sub><b>Jos Verlinde</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/commits?author=josverl" title="Code">💻</a> <a href="#stubs-josverl" title="type-stubs">📝</a> <a href="#test-josverl" title="Test">✔</a> <a href="#tool-josverl" title="Tools">🔧</a> <a href="#research-josverl" title="Research">🔬</a> <a href="#example-josverl" title="Examples">💡</a> <a href="#data-josverl" title="Data">🔣</a> <a href="#platform-josverl" title="Packaging/porting to new platform">📦</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://micropython.org/"><img src="https://avatars1.githubusercontent.com/u/6298560?v=4?s=100" width="100px;" alt="MicroPython"/><br /><sub><b>MicroPython</b></sub></a><br /><a href="#data-micropython" title="Data">🔣</a> <a href="#stubs-micropython" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/loboris"><img src="https://avatars3.githubusercontent.com/u/6280349?v=4?s=100" width="100px;" alt="Boris Lovosevic"/><br /><sub><b>Boris Lovosevic</b></sub></a><br /><a href="#data-loboris" title="Data">🔣</a> <a href="#stubs-loboris" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/pfalcon"><img src="https://avatars3.githubusercontent.com/u/500451?v=4?s=100" width="100px;" alt="Paul Sokolovsky"/><br /><sub><b>Paul Sokolovsky</b></sub></a><br /><a href="#data-pfalcon" title="Data">🔣</a> <a href="#stubs-pfalcon" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/pycopy"><img src="https://avatars0.githubusercontent.com/u/67273174?v=4?s=100" width="100px;" alt="pycopy"/><br /><sub><b>pycopy</b></sub></a><br /><a href="#data-pycopy" title="Data">🔣</a> <a href="#stubs-pycopy" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/pycom"><img src="https://avatars2.githubusercontent.com/u/16415153?v=4?s=100" width="100px;" alt="Pycom"/><br /><sub><b>Pycom</b></sub></a><br /><a href="#infra-pycom" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/hlovatt"><img src="https://avatars.githubusercontent.com/u/8424169?v=4?s=100" width="100px;" alt="Howard Lovatt"/><br /><sub><b>Howard Lovatt</b></sub></a><br /><a href="#research-hlovatt" title="Research">🔬</a> <a href="#ideas-hlovatt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#stubs-hlovatt" title="type-stubs">📝</a> <a href="#example-hlovatt" title="Examples">💡</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/pfalcon"><img src="https://avatars3.githubusercontent.com/u/500451?v=4?s=100" width="100px;" alt="Paul Sokolovsky"/><br /><sub><b>Paul Sokolovsky</b></sub></a><br /><a href="#stubs-pfalcon" title="type-stubs">📝</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/cpwood"><img src="https://avatars.githubusercontent.com/u/13966104?v=4?s=100" width="100px;" alt="Chris Wood"/><br /><sub><b>Chris Wood</b></sub></a><br /><a href="#stubs-cpwood" title="type-stubs">📝</a> <a href="#tool-cpwood" title="Tools">🔧</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/dastultz"><img src="https://avatars3.githubusercontent.com/u/4334042?v=4?s=100" width="100px;" alt="Daryl Stultz"/><br /><sub><b>Daryl Stultz</b></sub></a><br /><a href="#stubs-dastultz" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/BradenM"><img src="https://avatars1.githubusercontent.com/u/5913808?v=4?s=100" width="100px;" alt="Braden Mars"/><br /><sub><b>Braden Mars</b></sub></a><br /><a href="#stubs-BradenM" title="type-stubs">📝</a> <a href="#test-BradenM" title="Test">✔</a> <a href="#tool-BradenM" title="Tools">🔧</a> <a href="#platform-BradenM" title="Packaging/porting to new platform">📦</a></td>
      <td align="center" valign="top" width="12.5%"><a href="http://patrickwalters.us/"><img src="https://avatars0.githubusercontent.com/u/4002194?v=4?s=100" width="100px;" alt="Patrick"/><br /><sub><b>Patrick</b></sub></a><br /><a href="#test-askpatrickw" title="Test">✔</a> <a href="#stubs-askpatrickw" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="http://comingsoon.tm/"><img src="https://avatars0.githubusercontent.com/u/13251689?v=4?s=100" width="100px;" alt="Callum Jacob Hays"/><br /><sub><b>Callum Jacob Hays</b></sub></a><br /><a href="#example-CallumJHays" title="Examples">💡</a> <a href="#research-CallumJHays" title="Research">🔬</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/RonaldHiemstra"><img src="https://avatars.githubusercontent.com/u/17012831?v=4?s=100" width="100px;" alt="Ronald Hiemstra"/><br /><sub><b>Ronald Hiemstra</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/commits?author=ronaldHiemstra" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/thingslu"><img src="https://avatars.githubusercontent.com/u/34967785?v=4?s=100" width="100px;" alt="thingslu"/><br /><sub><b>thingslu</b></sub></a><br /><a href="#stubs-thingslu" title="type-stubs">📝</a> <a href="#test-thingslu" title="Test">✔</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/WerdoxDev"><img src="https://avatars.githubusercontent.com/u/32638453?v=4?s=100" width="100px;" alt="Matin Tat"/><br /><sub><b>Matin Tat</b></sub></a><br /><a href="#test-WerdoxDev" title="Test">✔</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/robertoetcheverryr"><img src="https://avatars.githubusercontent.com/u/63941860?v=4?s=100" width="100px;" alt="Roberto Jose Etcheverry Romero"/><br /><sub><b>Roberto Jose Etcheverry Romero</b></sub></a><br /><a href="#test-robertoetcheverryr" title="Test">✔</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/jdsmith"><img src="https://avatars.githubusercontent.com/u/1379246?v=4?s=100" width="100px;" alt="jdsmith"/><br /><sub><b>jdsmith</b></sub></a><br /><a href="#test-jdsmith" title="Test">✔</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/mrkeuz"><img src="https://avatars.githubusercontent.com/u/6247921?v=4?s=100" width="100px;" alt="Mr Keuz"/><br /><sub><b>Mr Keuz</b></sub></a><br /><a href="#test-mrkeuz" title="Test">✔</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/mattytrentini"><img src="https://avatars.githubusercontent.com/u/194201?v=4?s=100" width="100px;" alt="Matt Trentini"/><br /><sub><b>Matt Trentini</b></sub></a><br /><a href="#stubs-mattytrentini" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://andrew-stclair.com/"><img src="https://avatars.githubusercontent.com/u/4944499?v=4?s=100" width="100px;" alt="Andrew St Clair"/><br /><sub><b>Andrew St Clair</b></sub></a><br /><a href="#stubs-andrew-stclair" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://gitlab.com/michal.moravec"><img src="https://avatars.githubusercontent.com/u/24276?v=4?s=100" width="100px;" alt="Michal Moravec"/><br /><sub><b>Michal Moravec</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3Amishal" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/paulober"><img src="https://avatars.githubusercontent.com/u/44974737?v=4?s=100" width="100px;" alt="Paul"/><br /><sub><b>Paul</b></sub></a><br /><a href="#platform-paulober" title="Packaging/porting to new platform">📦</a> <a href="#tool-paulober" title="Tools">🔧</a> <a href="#stubs-paulober" title="type-stubs">📝</a> <a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3Apaulober" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/samskiter"><img src="https://avatars.githubusercontent.com/u/1271643?v=4?s=100" width="100px;" alt="Sam Duke"/><br /><sub><b>Sam Duke</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3Asamskiter" title="Bug reports">🐛</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="12.5%"><a href="https://jimmo.id.au/"><img src="https://avatars.githubusercontent.com/u/5102768?v=4?s=100" width="100px;" alt="Jim Mussared"/><br /><sub><b>Jim Mussared</b></sub></a><br /><a href="#stubs-jimmo" title="type-stubs">📝</a> <a href="#platform-jimmo" title="Packaging/porting to new platform">📦</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/stinos"><img src="https://avatars.githubusercontent.com/u/1902997?v=4?s=100" width="100px;" alt="stinos"/><br /><sub><b>stinos</b></sub></a><br /><a href="#stubs-stinos" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://www.gitlab.com/alelec"><img src="https://avatars.githubusercontent.com/u/3318786?v=4?s=100" width="100px;" alt="Andrew Leech"/><br /><sub><b>Andrew Leech</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3Aandrewleech" title="Bug reports">🐛</a> <a href="#test-andrewleech" title="Test">✔</a> <a href="#stubs-andrewleech" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/maxi07"><img src="https://avatars.githubusercontent.com/u/7480270?v=4?s=100" width="100px;" alt="Maxi"/><br /><sub><b>Maxi</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3Amaxi07" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/DeflateAwning"><img src="https://avatars.githubusercontent.com/u/11021263?v=4?s=100" width="100px;" alt="DeflateAwning"/><br /><sub><b>DeflateAwning</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3ADeflateAwning" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/bixb922"><img src="https://avatars.githubusercontent.com/u/70152274?v=4?s=100" width="100px;" alt="bixb922"/><br /><sub><b>bixb922</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3Abixb922" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/Sylvain-BROCAS"><img src="https://avatars.githubusercontent.com/u/82153591?v=4?s=100" width="100px;" alt="Sylvain BROCAS"/><br /><sub><b>Sylvain BROCAS</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3ASylvain-BROCAS" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/victorallume"><img src="https://avatars.githubusercontent.com/u/97857677?v=4?s=100" width="100px;" alt="victorallume"/><br /><sub><b>victorallume</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3Avictorallume" title="Bug reports">🐛</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/Omid888"><img src="https://avatars.githubusercontent.com/u/30343035?v=4?s=100" width="100px;" alt="Omid Ataollahi"/><br /><sub><b>Omid Ataollahi</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3AOmid888" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://www.dribin.org/dave/"><img src="https://avatars.githubusercontent.com/u/20428?v=4?s=100" width="100px;" alt="Dave Dribin"/><br /><sub><b>Dave Dribin</b></sub></a><br /><a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3Addribin" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/peterhinch"><img src="https://avatars.githubusercontent.com/u/8437477?v=4?s=100" width="100px;" alt="Peter Hinch"/><br /><sub><b>Peter Hinch</b></sub></a><br /><a href="#example-peterhinch" title="Examples">💡</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/DavideRossi"><img src="https://avatars.githubusercontent.com/u/9553056?v=4?s=100" width="100px;" alt="morcilab"/><br /><sub><b>morcilab</b></sub></a><br /><a href="#test-DavideRossi" title="Test">✔</a> <a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3ADavideRossi" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://tinyu-zhao.github.io/"><img src="https://avatars.githubusercontent.com/u/44396641?v=4?s=100" width="100px;" alt="Tinyu"/><br /><sub><b>Tinyu</b></sub></a><br /><a href="#test-Tinyu-Zhao" title="Test">✔</a> <a href="https://github.com/Josverl/micropython-stubs/issues?q=author%3ATinyu-Zhao" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="12.5%"><a href="https://github.com/markusand"><img src="https://avatars.githubusercontent.com/u/12972543?v=4?s=100" width="100px;" alt="Marc Vilella"/><br /><sub><b>Marc Vilella</b></sub></a><br /><a href="#stubs-markusand" title="type-stubs">📝</a></td>
      <td align="center" valign="top" width="12.5%"><a href="http://www.ziesemer.com/"><img src="https://avatars.githubusercontent.com/u/1887649?v=4?s=100" width="100px;" alt="Mark A. Ziesemer"/><br /><sub><b>Mark A. Ziesemer</b></sub></a><br /><a href="#stubs-ziesemer" title="type-stubs">📝</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

I invite everyone that has generated stubs for a board or port not on the current list, or has another contribution, to submit the stubs via a pull request or by just zipping up your stubs and creating an issue. 

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. 

[Discussions]: https://github.com/orgs/micropython/discussions/categories/general



================================================
FILE: all_modules.json
================================================
[
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "__builtins__",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "66e54f2a"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "_onewire",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "e2df0f6a"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "binascii",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "26111927"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "cmath",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "d1252b4e"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "deflate",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "a87ca23d"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "dht",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "8ce731e1"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "errno",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "d7851e95"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "framebuf",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "e92e0146"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "gc",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "cd948b4d"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "hashlib",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "c418ee8b"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "heapq",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "b4047427"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "lcd160cr",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "1637f688"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "machine",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "cce10d73"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "math",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "0b46dfae"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "micropython",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "36d1d70a"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "network",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "86e12846"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "onewire",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "06e1bccd"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "platform",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "83b72962"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "pyb",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "7632291d"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "random",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "12acf3a0"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "select",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "1b813131"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "socket",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "86624992"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "stm",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "5cc04ad7"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "time",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "dd9ab658"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uarray",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "78a669c8"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uasyncio",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "9cd8b296"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "ubinascii",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "025f57a0"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "ubluetooth",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "12d64209"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "ucollections",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "ddddde41"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uctypes",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "eb4c1326"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uerrno",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "24d7de79"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uhashlib",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "0016e3be"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uheapq",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "04615310"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uio",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "d796c49d"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "ujson",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "3b5d030c"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "umachine",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "ed4ec2c8"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uos",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "a5f9f9da"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uplatform",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "f8be989a"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "urandom",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "99f9f193"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "ure",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "f797fa90"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uselect",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "39f34ad4"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "usocket",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "ba4c7431"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "ussl",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "2e832392"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "ustruct",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "b4bad502"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "usys",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "db6d394d"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "utime",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "6c27f811"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "uzlib",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "2e869bff"
    },
    {
        "family": "micropython",
        "version": "1.24.1",
        "mod_name": "vfs",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.24.1.post2",
        "hash": "e00468de"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "__builtins__",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "66e54f2a"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "_asyncio",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "ac7e0d12"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "_onewire",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "e2df0f6a"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "array",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "455d922f"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "asyncio/__init__",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "d66cdcaf"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "asyncio/core",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "d99a9c26"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "asyncio/event",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "4e648609"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "asyncio/funcs",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "bf9c875c"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "asyncio/lock",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "5477b2cb"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "asyncio/stream",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "384b7924"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "binascii",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "9b3d50d1"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "cmath",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "db41b65e"
    },
    {
        "family": "micropython",
        "version": "1.21.0",
        "mod_name": "deflate",
        "port": "stm32",
        "board": "GENERIC",
        "package": "micropython-stm32-stubs",
        "pkg_version": "1.21.0.post3",
        "hash": "4ea23e18"
    },
    {
        "family": "mi
Download .txt
Showing preview only (3,499K chars total). Download the full file or copy to clipboard to get everything.
gitextract__ge70o_7/

├── .actrc
├── .all-contributorsrc
├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .gitattributes
├── .github/
│   ├── FUNDING.yml
│   ├── actions/
│   │   ├── commit/
│   │   │   └── action.yml
│   │   ├── enhanced-diff/
│   │   │   ├── README.md
│   │   │   ├── action.yml
│   │   │   ├── check_changes.py
│   │   │   └── test_enhanced_diff.py
│   │   ├── get-mpversions/
│   │   │   ├── action.yml
│   │   │   └── list_versions.py
│   │   └── stub-diff/
│   │       ├── action.yml
│   │       └── git-diff.ps1
│   ├── agents/
│   │   ├── audit/
│   │   │   └── ralph-auditer-progress.md
│   │   ├── ralph-auditer-runner.agent.md
│   │   ├── ralph-auditer.agent.md
│   │   ├── stub-source-auditor.agent.md
│   │   └── stub-typing-specialist.agent.md
│   ├── copilot-instructions.md
│   ├── dependabot.yml
│   ├── not-active/
│   │   ├── action-test.yml
│   │   ├── codeql-analysis.yml
│   │   ├── get-loboris-frozen.yml
│   │   ├── mark-stale.yml
│   │   ├── matrix.yml
│   │   ├── publish.yml
│   │   └── testspace.yml
│   └── workflows/
│       ├── compare_score.py
│       ├── createstubs.yml
│       ├── get-all-frozen.yml
│       ├── get-doc-stubs.yml
│       ├── matrix-test.yml
│       ├── publish_explorer.yml
│       ├── selftest.yml
│       ├── test_runtime_typing.yml
│       ├── test_stub_quality.yml
│       ├── update_docs.yml
│       ├── update_stubs.yml
│       └── weekly_automation.yml
├── .gitignore
├── .libcst.codemod.yaml
├── .mailmap
├── .readthedocs.yaml
├── .vscode/
│   ├── all_packages_db.connection.json
│   ├── board.connection.json
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── LICENSE.md
├── Manual stub build chain.ipynb
├── README.md
├── all_modules.json
├── data/
│   ├── package_db_to_json.py
│   └── stub-packages.json
├── docs/
│   ├── .gitignore
│   ├── 10_introduction.md
│   ├── 11_install_stubs.md
│   ├── 20_install_detailed.md
│   ├── 22_static_type_checking.md
│   ├── 22_vscode.md
│   ├── 23_pyright_advanced.md
│   ├── 24_pycharm.md
│   ├── 26_pylint.md
│   ├── 27_micropico.md
│   ├── 28_mypy.md
│   ├── 29_ruff.md
│   ├── 32_rp2_asm.md
│   ├── 95_symlink.md
│   ├── Known_Limitations_v1.24.1.md
│   ├── Makefile
│   ├── RUFF_INTEGRATION.md
│   ├── conf.py
│   ├── definitions.md
│   ├── diagrams.pptx
│   ├── diy_stubs_files.md
│   ├── firmware_flat.md
│   ├── firmware_grp.md
│   ├── folder_naming.md
│   ├── index.md
│   ├── make.bat
│   ├── microbit_v2 type checking.md
│   ├── modules_git_body.md
│   ├── modules_pypi_body.md
│   ├── notes.txt
│   ├── package_flatview.md
│   ├── packages.md
│   ├── pyproject.md
│   ├── qa_testing.md
│   ├── report_pypi_modules.ipynb
│   ├── report_pypi_modules.py
│   ├── requirements.txt
│   ├── samples/
│   │   ├── .pylintrc
│   │   └── .vscode/
│   │       ├── extensions.json
│   │       ├── settings.json
│   │       └── tasks.json
│   ├── stub_locations.md
│   ├── stub_types.md
│   ├── templates/
│   │   ├── firmware_flat.j2
│   │   ├── firmware_grp.j2
│   │   ├── modules_git.md.j2
│   │   └── modules_pypi.md.j2
│   ├── typing_mpy.md
│   ├── update_docs.py
│   └── utils.py
├── downloads.md
├── examples/
│   └── src/
│       ├── example.py
│       ├── lib/
│       │   └── typing.mpy
│       ├── main.py
│       └── pyproject.toml
├── firmware_flat.md
├── firmware_grp.md
├── justfile
├── mip/
│   ├── readme.md
│   ├── typing.json
│   ├── typing.mpy
│   ├── typing.py
│   ├── typing_extensions.mpy
│   ├── typing_extensions.py
│   ├── typing_mpy.json
│   ├── x-compile.ps1
│   └── x-compile.sh
├── publish/
│   ├── micropython-stdlib-stubs/
│   │   ├── .gitignore
│   │   ├── LICENSE.md
│   │   ├── LICENSE_typeshed
│   │   ├── README.md
│   │   ├── build.py
│   │   ├── publish.ipynb
│   │   ├── pyproject.toml
│   │   ├── pyrightconfig.json
│   │   ├── reduce_stdlib.ipynb
│   │   ├── stdlib/
│   │   │   ├── VERSIONS
│   │   │   ├── __future__.pyi
│   │   │   ├── _ast.pyi
│   │   │   ├── _codecs.pyi
│   │   │   ├── _collections_abc.pyi
│   │   │   ├── _decimal.pyi
│   │   │   ├── _typeshed/
│   │   │   │   ├── __init__.pyi
│   │   │   │   ├── dbapi.pyi
│   │   │   │   ├── importlib.pyi
│   │   │   │   └── xml.pyi
│   │   │   ├── abc.pyi
│   │   │   ├── array.pyi
│   │   │   ├── asyncio/
│   │   │   │   ├── __init__.pyi
│   │   │   │   ├── base_events.pyi
│   │   │   │   ├── base_futures.pyi
│   │   │   │   ├── base_tasks.pyi
│   │   │   │   ├── constants.pyi
│   │   │   │   ├── coroutines.pyi
│   │   │   │   ├── events.pyi
│   │   │   │   ├── exceptions.pyi
│   │   │   │   ├── format_helpers.pyi
│   │   │   │   ├── futures.pyi
│   │   │   │   ├── locks.pyi
│   │   │   │   ├── log.pyi
│   │   │   │   ├── micropython.pyi
│   │   │   │   ├── mixins.pyi
│   │   │   │   ├── proactor_events.pyi
│   │   │   │   ├── protocols.pyi
│   │   │   │   ├── queues.pyi
│   │   │   │   ├── readme.md
│   │   │   │   ├── runners.pyi
│   │   │   │   ├── selector_events.pyi
│   │   │   │   ├── sslproto.pyi
│   │   │   │   ├── staggered.pyi
│   │   │   │   ├── streams.pyi
│   │   │   │   ├── tasks.pyi
│   │   │   │   ├── threads.pyi
│   │   │   │   ├── timeouts.pyi
│   │   │   │   ├── transports.pyi
│   │   │   │   └── trsock.pyi
│   │   │   ├── builtins.pyi
│   │   │   ├── collections/
│   │   │   │   ├── __init__.pyi
│   │   │   │   └── abc.pyi
│   │   │   ├── enum.pyi
│   │   │   ├── io.pyi
│   │   │   ├── json/
│   │   │   │   └── __init__.pyi
│   │   │   ├── os/
│   │   │   │   └── __init__.pyi
│   │   │   ├── re.pyi
│   │   │   ├── sre_compile.pyi
│   │   │   ├── sre_constants.pyi
│   │   │   ├── sre_parse.pyi
│   │   │   ├── ssl.pyi
│   │   │   ├── struct.pyi
│   │   │   ├── sys/
│   │   │   │   └── __init__.pyi
│   │   │   ├── types.pyi
│   │   │   ├── typing.pyi
│   │   │   └── typing_extensions.pyi
│   │   ├── stubs/
│   │   │   └── mypy-extensions/
│   │   │       └── mypy_extensions.pyi
│   │   └── typeshed_commit.txt
│   ├── micropython-v1_17-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp32_stubs-1.17.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.py
│   │   ├── upip_utarfile.py
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.py
│   │   ├── webrepl_setup.py
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_17-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp8266_stubs-1.17.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── port_diag.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequest.pyi
│   │   ├── urequests.pyi
│   │   ├── urllib/
│   │   │   └── urequest.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_17-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_rp2_stubs-1.17.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── rp2.py
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── ulab.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_17-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── lcd160cr_test.py
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_stm32_stubs-1.17.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_18-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp32_stubs-1.18.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.py
│   │   ├── upip_utarfile.py
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.py
│   │   ├── webrepl_setup.py
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_18-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp8266_stubs-1.18.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── port_diag.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequest.pyi
│   │   ├── urequests.pyi
│   │   ├── urllib/
│   │   │   └── urequest.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_18-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_rp2_stubs-1.18.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── re.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_18-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── lcd160cr_test.py
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_stm32_stubs-1.18.post1.dist-info/
│   │   │   └── METADATA
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.py
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp32-generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   ├── task.pyi
│   │   │   └── uasyncio/
│   │   │       ├── __init__.pyi
│   │   │       ├── core.pyi
│   │   │       ├── event.pyi
│   │   │       ├── funcs.pyi
│   │   │       ├── lock.pyi
│   │   │       └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp32-generic_spiram-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp32-s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.py
│   │   ├── _onewire.py
│   │   ├── _thread.py
│   │   ├── _uasyncio.py
│   │   ├── apa106.py
│   │   ├── array.py
│   │   ├── binascii.py
│   │   ├── bluetooth.py
│   │   ├── btree.py
│   │   ├── cmath.py
│   │   ├── collections.py
│   │   ├── cryptolib.py
│   │   ├── dht.py
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.py
│   │   ├── errno.py
│   │   ├── esp.py
│   │   ├── esp32.py
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.py
│   │   ├── framebuf.py
│   │   ├── gc.py
│   │   ├── hashlib.py
│   │   ├── heapq.py
│   │   ├── inisetup.py
│   │   ├── io.py
│   │   ├── json.py
│   │   ├── machine.py
│   │   ├── math.py
│   │   ├── micropython.pyi
│   │   ├── neopixel.py
│   │   ├── network.py
│   │   ├── ntptime.py
│   │   ├── onewire.py
│   │   ├── os.py
│   │   ├── platform.py
│   │   ├── pyproject.toml
│   │   ├── random.py
│   │   ├── select.py
│   │   ├── socket.py
│   │   ├── ssl.py
│   │   ├── struct.py
│   │   ├── sys.py
│   │   ├── time.py
│   │   ├── uarray.py
│   │   ├── uasyncio/
│   │   │   ├── __init__.py
│   │   │   ├── core.py
│   │   │   ├── event.py
│   │   │   ├── funcs.py
│   │   │   ├── lock.py
│   │   │   ├── stream.py
│   │   │   └── task.py
│   │   ├── ubinascii.py
│   │   ├── ubluetooth.py
│   │   ├── ucollections.py
│   │   ├── ucryptolib.py
│   │   ├── uctypes.py
│   │   ├── uerrno.py
│   │   ├── uhashlib.py
│   │   ├── uheapq.py
│   │   ├── uio.py
│   │   ├── ujson.py
│   │   ├── umachine.py
│   │   ├── uos.py
│   │   ├── upip.py
│   │   ├── upip_utarfile.py
│   │   ├── uplatform.py
│   │   ├── urandom.py
│   │   ├── ure.py
│   │   ├── uselect.py
│   │   ├── usocket.py
│   │   ├── ussl.py
│   │   ├── ustruct.py
│   │   ├── usys.py
│   │   ├── utime.py
│   │   ├── utimeq.py
│   │   ├── uwebsocket.py
│   │   ├── uzlib.py
│   │   ├── webrepl.py
│   │   ├── webrepl_setup.py
│   │   ├── websocket.py
│   │   ├── websocket_helper.py
│   │   └── zlib.py
│   ├── micropython-v1_19_1-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp32_stubs-1.19.1.post3.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp32-um_tinypico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── dotstar.pyi
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tinypico.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_esp8266_stubs-1.19.1.post2.dist-info/
│   │   │   └── METADATA
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── port_diag.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── upip.pyi
│   │   ├── upip_utarfile.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lsm6dsox.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── websocket.pyi
│   │   ├── websocket_helper.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_19_1-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── lcd160cr_test.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── micropython_stm32_stubs-1.19.1.post3.dist-info/
│   │   │   └── METADATA
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-generic_ota-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-ota-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── collections.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-rp2-pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-rp2-pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-adafruit_feather_m4_express-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-adafruit_itsybitsy_m4_express-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-minisam_m4-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-unix-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _thread.pyi
│   │   ├── _uasyncio.pyi
│   │   ├── argparse.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── ffi.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.py
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.py
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   ├── __init__.pyi
│   │   │   └── __main__.pyi
│   │   ├── os.py
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.py
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── websocket.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_20_0-windows-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   ├── stream.pyi
│   │   │   └── task.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── utimeq.pyi
│   │   ├── uzlib.pyi
│   │   └── zlib.pyi
│   ├── micropython-v1_21_0-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp32-esp32_generic_c3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp32-esp32_generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp8266-esp8266_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-unix-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _thread.pyi
│   │   ├── argparse.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── ffi.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   ├── __init__.pyi
│   │   │   └── __main__.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── requests.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_21_0-webassembly-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── array.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_21_0-windows-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.py
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── os.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.py
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.py
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.py
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.py
│   ├── micropython-v1_22_0-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_0-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_0-rp2-arduino_nano_rp2040_connect-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── lsm6dsox.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_0-rp2-pimoroni_picolipo_16mb-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_0-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_0-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_1-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_1-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_1-rp2-arduino_nano_rp2040_connect-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cbor2/
│   │   │   ├── __init__.pyi
│   │   │   ├── decoder.pyi
│   │   │   └── encoder.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── espflash.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── lsm6dsox.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── senml/
│   │   │   ├── __init__.pyi
│   │   │   ├── senml_base.pyi
│   │   │   ├── senml_pack.pyi
│   │   │   ├── senml_record.pyi
│   │   │   └── senml_unit.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_1-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_1-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_1-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_1-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_1-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── logging.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp32-esp32_generic_c3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp32-esp32_generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp8266-esp8266_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_22_2-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _boot_fat.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_22_2-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   └── utime.pyi
│   ├── micropython-v1_23_0-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp32-esp32_generic_c3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp32-esp32_generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── __mpy_types__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp8266-esp8266_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-rp2-rpi_pico-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-rp2-rpi_pico_w-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── aioble/
│   │   │   ├── __init__.pyi
│   │   │   ├── central.pyi
│   │   │   ├── client.pyi
│   │   │   ├── core.pyi
│   │   │   ├── device.pyi
│   │   │   ├── l2cap.pyi
│   │   │   ├── peripheral.pyi
│   │   │   ├── security.pyi
│   │   │   └── server.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── vfs.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_23_0-rp2-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── _rp2.pyi
│   │   ├── _thread.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── neopixel.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── rp2.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-samd-seeed_wio_terminal-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-samd-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── samd.pyi
│   │   ├── select.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-stm32-pybv11-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_23_0-stm32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _asyncio.pyi
│   │   ├── _onewire.pyi
│   │   ├── array.pyi
│   │   ├── asyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── binascii.pyi
│   │   ├── cmath.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── errno.pyi
│   │   ├── firmware_stubs.json
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── io.pyi
│   │   ├── json.pyi
│   │   ├── lcd160cr.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── network.pyi
│   │   ├── onewire.pyi
│   │   ├── os.pyi
│   │   ├── platform.pyi
│   │   ├── pyb.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── stm.pyi
│   │   ├── struct.pyi
│   │   ├── sys.pyi
│   │   ├── time.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio/
│   │   │   ├── __init__.pyi
│   │   │   ├── core.pyi
│   │   │   ├── event.pyi
│   │   │   ├── funcs.pyi
│   │   │   ├── lock.pyi
│   │   │   └── stream.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ucollections.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   └── vfs.pyi
│   ├── micropython-v1_24_1-esp32-esp32_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── removed.txt
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── vfs.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_24_1-esp32-esp32_generic_c6-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── removed.txt
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── vfs.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_24_1-esp32-esp32_generic_s3-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── removed.txt
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── vfs.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_24_1-esp32-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── _thread.pyi
│   │   ├── aioespnow.pyi
│   │   ├── apa106.pyi
│   │   ├── binascii.pyi
│   │   ├── bluetooth.pyi
│   │   ├── btree.pyi
│   │   ├── cmath.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── doc_stubs.json
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── esp32.pyi
│   │   ├── espnow.pyi
│   │   ├── firmware_stubs.json
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── removed.txt
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssl.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── __init__.pyi
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── upysh.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uwebsocket.pyi
│   │   ├── uzlib.pyi
│   │   ├── vfs.pyi
│   │   ├── webrepl.pyi
│   │   ├── webrepl_setup.pyi
│   │   └── websocket.pyi
│   ├── micropython-v1_24_1-esp8266-esp8266_generic-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflate.pyi
│   │   ├── dht.pyi
│   │   ├── ds18x20.pyi
│   │   ├── errno.pyi
│   │   ├── esp.pyi
│   │   ├── espnow.pyi
│   │   ├── flashbdev.pyi
│   │   ├── framebuf.pyi
│   │   ├── gc.pyi
│   │   ├── hashlib.pyi
│   │   ├── heapq.pyi
│   │   ├── inisetup.pyi
│   │   ├── lwip.pyi
│   │   ├── machine.pyi
│   │   ├── math.pyi
│   │   ├── micropython.pyi
│   │   ├── mip/
│   │   │   └── __init__.pyi
│   │   ├── neopixel.pyi
│   │   ├── network.pyi
│   │   ├── ntptime.pyi
│   │   ├── onewire.pyi
│   │   ├── platform.pyi
│   │   ├── port_diag.pyi
│   │   ├── pyproject.toml
│   │   ├── random.pyi
│   │   ├── requests/
│   │   │   └── __init__.pyi
│   │   ├── select.pyi
│   │   ├── socket.pyi
│   │   ├── ssd1306.pyi
│   │   ├── time.pyi
│   │   ├── tls.pyi
│   │   ├── uarray.pyi
│   │   ├── uasyncio.pyi
│   │   ├── ubinascii.pyi
│   │   ├── ubluetooth.pyi
│   │   ├── ucollections.pyi
│   │   ├── ucryptolib.pyi
│   │   ├── uctypes.pyi
│   │   ├── uerrno.pyi
│   │   ├── uhashlib.pyi
│   │   ├── uheapq.pyi
│   │   ├── uio.pyi
│   │   ├── ujson.pyi
│   │   ├── umachine.pyi
│   │   ├── umqtt/
│   │   │   ├── robust.pyi
│   │   │   └── simple.pyi
│   │   ├── uos.pyi
│   │   ├── uplatform.pyi
│   │   ├── urandom.pyi
│   │   ├── ure.pyi
│   │   ├── urequests.pyi
│   │   ├── uselect.pyi
│   │   ├── usocket.pyi
│   │   ├── ussl.pyi
│   │   ├── ustruct.pyi
│   │   ├── usys.pyi
│   │   ├── utime.pyi
│   │   ├── uzlib.pyi
│   │   ├── webrepl.pyi
│   │   └── webrepl_setup.pyi
│   ├── micropython-v1_24_1-esp8266-stubs/
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── __builtins__.pyi
│   │   ├── _boot.pyi
│   │   ├── _espnow.pyi
│   │   ├── _onewire.pyi
│   │   ├── apa102.pyi
│   │   ├── binascii.pyi
│   │   ├── btree.pyi
│   │   ├── cryptolib.pyi
│   │   ├── deflat
Copy disabled (too large) Download .txt
Showing preview only (26,693K chars total). Download the full file to get everything.
SYMBOL INDEX (350553 symbols across 19741 files)

FILE: .github/actions/enhanced-diff/check_changes.py
  function run_git_command (line 16) | def run_git_command(cmd):
  function get_changed_files (line 32) | def get_changed_files():
  function categorize_files (line 48) | def categorize_files(files):
  function set_github_output (line 62) | def set_github_output(key, value):
  function set_github_summary (line 72) | def set_github_summary(content):
  function main (line 80) | def main():

FILE: .github/actions/enhanced-diff/test_enhanced_diff.py
  function test_categorize_files (line 20) | def test_categorize_files():
  function simulate_git_status_scenarios (line 68) | def simulate_git_status_scenarios():

FILE: .github/actions/get-mpversions/list_versions.py
  function micropython_versions (line 23) | def micropython_versions(start="v1.10"):
  function major_minor (line 34) | def major_minor(versions):
  function main (line 47) | def main():

FILE: .github/workflows/compare_score.py
  function add_summary (line 30) | def add_summary(msg, current_scores: dict, new_scores: dict):
  function update_var (line 45) | def update_var(var_name: str, value: str):

FILE: docs/conf.py
  function setup (line 150) | def setup(app):

FILE: docs/report_pypi_modules.py
  function create_md (line 7) | def create_md():
  function report_to_md (line 25) | def report_to_md(df_pypi, template, dest_md):

FILE: docs/update_docs.py
  function read_manifests (line 8) | def read_manifests(workspace_root: Path):
  function update_firmware_docs (line 74) | def update_firmware_docs():

FILE: docs/utils.py
  function clean_version (line 4) | def clean_version(
  function git_branch (line 49) | def git_branch():

FILE: examples/src/example.py
  function foo (line 5) | def foo(a: int, b: int) -> Tuple[int, str]:

FILE: examples/src/main.py
  function morse_code (line 16) | def morse_code(text):

FILE: mip/typing.py
  function cast (line 4) | def cast(type, val):
  function get_origin (line 8) | def get_origin(type):
  function get_args (line 12) | def get_args(type):
  function no_type_check (line 16) | def no_type_check(func):
  function overload (line 20) | def overload(func):
  function override (line 24) | def override(func):
  class _AnyCall (line 28) | class _AnyCall:
    method __init__ (line 29) | def __init__(*args, **kwargs):
    method __call__ (line 32) | def __call__(*args, **kwargs):
    method __getitem__ (line 35) | def __getitem__(self, arg):
  class _SubscriptableType (line 42) | class _SubscriptableType:
    method __getitem__ (line 43) | def __getitem__(self, arg):
  function TypeVar (line 50) | def TypeVar(name, *types, bound: Any | None = None, covariant=False, con...
  function NewType (line 54) | def NewType(name, type):
  class Any (line 58) | class Any:
  class BinaryIO (line 62) | class BinaryIO:
  class ClassVar (line 66) | class ClassVar:
  class Final (line 70) | class Final:
  class Hashable (line 74) | class Hashable:
  class IO (line 78) | class IO:
  class NoReturn (line 82) | class NoReturn:
  class Sized (line 86) | class Sized:
  class SupportsInt (line 90) | class SupportsInt:
  class SupportsFloat (line 94) | class SupportsFloat:
  class SupportsComplex (line 98) | class SupportsComplex:
  class SupportsBytes (line 102) | class SupportsBytes:
  class SupportsIndex (line 106) | class SupportsIndex:
  class SupportsAbs (line 110) | class SupportsAbs:
  class SupportsRound (line 114) | class SupportsRound:
  class TextIO (line 118) | class TextIO:
  class Protocol (line 122) | class Protocol:

FILE: mip/typing_extensions.py
  function cast (line 4) | def cast(type, val):
  function get_origin (line 8) | def get_origin(type):
  function get_args (line 12) | def get_args(type):
  function no_type_check (line 16) | def no_type_check(func):
  function overload (line 20) | def overload(func):
  function override (line 24) | def override(func):
  class _AnyCall (line 28) | class _AnyCall:
    method __init__ (line 29) | def __init__(*args, **kwargs):
    method __call__ (line 32) | def __call__(*args, **kwargs):
    method __getitem__ (line 35) | def __getitem__(self, arg):
  class _SubscriptableType (line 42) | class _SubscriptableType:
    method __getitem__ (line 43) | def __getitem__(self, arg):
  function TypeVar (line 50) | def TypeVar(name, *types, bound: Any | None = None, covariant=False, con...
  function NewType (line 54) | def NewType(name, type):
  class Any (line 58) | class Any:
  class BinaryIO (line 62) | class BinaryIO:
  class ClassVar (line 66) | class ClassVar:
  class Final (line 70) | class Final:
  class Hashable (line 74) | class Hashable:
  class IO (line 78) | class IO:
  class NoReturn (line 82) | class NoReturn:
  class Sized (line 86) | class Sized:
  class SupportsInt (line 90) | class SupportsInt:
  class SupportsFloat (line 94) | class SupportsFloat:
  class SupportsComplex (line 98) | class SupportsComplex:
  class SupportsBytes (line 102) | class SupportsBytes:
  class SupportsIndex (line 106) | class SupportsIndex:
  class SupportsAbs (line 110) | class SupportsAbs:
  class SupportsRound (line 114) | class SupportsRound:
  class TextIO (line 118) | class TextIO:
  class Protocol (line 122) | class Protocol:

FILE: publish/micropython-stdlib-stubs/build.py
  class Boost (line 160) | class Boost:
    method __post_init__ (line 176) | def __post_init__(self):
  function find_toplevel_vars (line 187) | def find_toplevel_vars(module: Path) -> set:
  function update_module_vars (line 203) | def update_module_vars(module: Path, keep: set):
  function add_type_ignore (line 228) | def add_type_ignore(folder: Path):
  function comment_out_lines (line 252) | def comment_out_lines(folder: Path):
  function change_lines (line 275) | def change_lines(folder: Path):
  function update_typing_pyi (line 299) | def update_typing_pyi(
  function update_stdlib_from_typeshed (line 318) | def update_stdlib_from_typeshed(dist_stdlib_path: Path, typeshed_path: P...
  function merge_docstubs_into_stdlib (line 360) | def merge_docstubs_into_stdlib(
  function update_public_interface (line 431) | def update_public_interface(boost: Boost, module_path: Path):
  function update_mpy_shed (line 459) | def update_mpy_shed(reference_path: Path, dist_stdlib_path: Path):
  function update_asyncio_manual (line 472) | def update_asyncio_manual(reference_path: Path, dist_stdlib_path: Path):
  function update (line 512) | def update(

FILE: publish/micropython-stdlib-stubs/stdlib/__future__.pyi
  class _Feature (line 5) | class _Feature:
    method __init__ (line 6) | def __init__(self, optionalRelease: _VersionInfo, mandatoryRelease: _V...
    method getOptionalRelease (line 7) | def getOptionalRelease(self) -> _VersionInfo: ...
    method getMandatoryRelease (line 8) | def getMandatoryRelease(self) -> _VersionInfo | None: ...

FILE: publish/micropython-stdlib-stubs/stdlib/_codecs.pyi
  class _EncodingMap (line 9) | class _EncodingMap:
    method size (line 10) | def size(self) -> int: ...
  function register (line 16) | def register(search_function: _SearchFunction, /) -> None: ...
  function unregister (line 19) | def unregister(search_function: _SearchFunction, /) -> None: ...
  function register_error (line 21) | def register_error(errors: str, handler: _Handler, /) -> None: ...
  function lookup_error (line 22) | def lookup_error(name: str, /) -> _Handler: ...
  function encode (line 48) | def encode(obj: ReadableBuffer, encoding: _BytesToBytesEncoding, errors:...
  function encode (line 50) | def encode(obj: str, encoding: _StrToStrEncoding, errors: str = "strict"...
  function encode (line 52) | def encode(obj: str, encoding: str = "utf-8", errors: str = "strict") ->...
  function decode (line 54) | def decode(obj: ReadableBuffer, encoding: _BytesToBytesEncoding, errors:...
  function decode (line 56) | def decode(obj: str, encoding: _StrToStrEncoding, errors: str = "strict"...
  function decode (line 60) | def decode(
  function decode (line 68) | def decode(obj: str, encoding: Literal["hex", "hex_codec"], errors: str ...
  function decode (line 70) | def decode(obj: ReadableBuffer, encoding: str = "utf-8", errors: str = "...
  function lookup (line 71) | def lookup(encoding: str, /) -> codecs.CodecInfo: ...
  function charmap_build (line 72) | def charmap_build(map: str, /) -> _CharMap: ...
  function ascii_decode (line 73) | def ascii_decode(data: ReadableBuffer, errors: str | None = None, /) -> ...
  function ascii_encode (line 74) | def ascii_encode(str: str, errors: str | None = None, /) -> tuple[bytes,...
  function charmap_decode (line 75) | def charmap_decode(data: ReadableBuffer, errors: str | None = None, mapp...
  function charmap_encode (line 76) | def charmap_encode(str: str, errors: str | None = None, mapping: _CharMa...
  function escape_decode (line 77) | def escape_decode(data: str | ReadableBuffer, errors: str | None = None,...
  function escape_encode (line 78) | def escape_encode(data: bytes, errors: str | None = None, /) -> tuple[by...
  function latin_1_decode (line 79) | def latin_1_decode(data: ReadableBuffer, errors: str | None = None, /) -...
  function latin_1_encode (line 80) | def latin_1_encode(str: str, errors: str | None = None, /) -> tuple[byte...
  function raw_unicode_escape_decode (line 83) | def raw_unicode_escape_decode(data: str | ReadableBuffer, errors: str | ...
  function raw_unicode_escape_decode (line 86) | def raw_unicode_escape_decode(data: str | ReadableBuffer, errors: str | ...
  function raw_unicode_escape_encode (line 88) | def raw_unicode_escape_encode(str: str, errors: str | None = None, /) ->...
  function readbuffer_encode (line 89) | def readbuffer_encode(data: str | ReadableBuffer, errors: str | None = N...
  function unicode_escape_decode (line 92) | def unicode_escape_decode(data: str | ReadableBuffer, errors: str | None...
  function unicode_escape_decode (line 95) | def unicode_escape_decode(data: str | ReadableBuffer, errors: str | None...
  function unicode_escape_encode (line 97) | def unicode_escape_encode(str: str, errors: str | None = None, /) -> tup...
  function utf_16_be_decode (line 98) | def utf_16_be_decode(data: ReadableBuffer, errors: str | None = None, fi...
  function utf_16_be_encode (line 99) | def utf_16_be_encode(str: str, errors: str | None = None, /) -> tuple[by...
  function utf_16_decode (line 100) | def utf_16_decode(data: ReadableBuffer, errors: str | None = None, final...
  function utf_16_encode (line 101) | def utf_16_encode(str: str, errors: str | None = None, byteorder: int = ...
  function utf_16_ex_decode (line 102) | def utf_16_ex_decode(
  function utf_16_le_decode (line 105) | def utf_16_le_decode(data: ReadableBuffer, errors: str | None = None, fi...
  function utf_16_le_encode (line 106) | def utf_16_le_encode(str: str, errors: str | None = None, /) -> tuple[by...
  function utf_32_be_decode (line 107) | def utf_32_be_decode(data: ReadableBuffer, errors: str | None = None, fi...
  function utf_32_be_encode (line 108) | def utf_32_be_encode(str: str, errors: str | None = None, /) -> tuple[by...
  function utf_32_decode (line 109) | def utf_32_decode(data: ReadableBuffer, errors: str | None = None, final...
  function utf_32_encode (line 110) | def utf_32_encode(str: str, errors: str | None = None, byteorder: int = ...
  function utf_32_ex_decode (line 111) | def utf_32_ex_decode(
  function utf_32_le_decode (line 114) | def utf_32_le_decode(data: ReadableBuffer, errors: str | None = None, fi...
  function utf_32_le_encode (line 115) | def utf_32_le_encode(str: str, errors: str | None = None, /) -> tuple[by...
  function utf_7_decode (line 116) | def utf_7_decode(data: ReadableBuffer, errors: str | None = None, final:...
  function utf_7_encode (line 117) | def utf_7_encode(str: str, errors: str | None = None, /) -> tuple[bytes,...
  function utf_8_decode (line 118) | def utf_8_decode(data: ReadableBuffer, errors: str | None = None, final:...
  function utf_8_encode (line 119) | def utf_8_encode(str: str, errors: str | None = None, /) -> tuple[bytes,...
  function mbcs_decode (line 122) | def mbcs_decode(data: ReadableBuffer, errors: str | None = None, final: ...
  function mbcs_encode (line 123) | def mbcs_encode(str: str, errors: str | None = None, /) -> tuple[bytes, ...
  function code_page_decode (line 124) | def code_page_decode(codepage: int, data: ReadableBuffer, errors: str | ...
  function code_page_encode (line 125) | def code_page_encode(code_page: int, str: str, errors: str | None = None...
  function oem_decode (line 126) | def oem_decode(data: ReadableBuffer, errors: str | None = None, final: b...
  function oem_encode (line 127) | def oem_encode(str: str, errors: str | None = None, /) -> tuple[bytes, i...

FILE: publish/micropython-stdlib-stubs/stdlib/_collections_abc.pyi
  class dict_keys (line 74) | class dict_keys(KeysView[_KT_co], Generic[_KT_co, _VT_co]):  # undocumented
    method __eq__ (line 75) | def __eq__(self, value: object, /) -> bool: ...
    method isdisjoint (line 77) | def isdisjoint(self, other: Iterable[_KT_co], /) -> bool: ...
    method mapping (line 80) | def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...
  class dict_values (line 83) | class dict_values(ValuesView[_VT_co], Generic[_KT_co, _VT_co]):  # undoc...
    method mapping (line 86) | def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...
  class dict_items (line 89) | class dict_items(ItemsView[_KT_co, _VT_co]):  # undocumented
    method __eq__ (line 90) | def __eq__(self, value: object, /) -> bool: ...
    method isdisjoint (line 92) | def isdisjoint(self, other: Iterable[tuple[_KT_co, _VT_co]], /) -> boo...
    method mapping (line 95) | def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...
  class Buffer (line 99) | class Buffer(Protocol):
    method __buffer__ (line 101) | def __buffer__(self, flags: int, /) -> memoryview: ...

FILE: publish/micropython-stdlib-stubs/stdlib/_decimal.pyi
  class _ContextManager (line 27) | class _ContextManager:
    method __init__ (line 30) | def __init__(self, new_context: Context) -> None: ...
    method __enter__ (line 31) | def __enter__(self) -> Context: ...
    method __exit__ (line 32) | def __exit__(self, t: type[BaseException] | None, v: BaseException | N...
  function setcontext (line 52) | def setcontext(context: Context, /) -> None: ...
  function getcontext (line 53) | def getcontext() -> Context: ...
  function localcontext (line 56) | def localcontext(
  function localcontext (line 70) | def localcontext(ctx: Context | None = None) -> _ContextManager: ...

FILE: publish/micropython-stdlib-stubs/stdlib/_typeshed/__init__.pyi
  class IdentityFunction (line 74) | class IdentityFunction(Protocol):
    method __call__ (line 75) | def __call__(self, x: _T, /) -> _T: ...
  class SupportsNext (line 78) | class SupportsNext(Protocol[_T_co]):
    method __next__ (line 79) | def __next__(self) -> _T_co: ...
  class SupportsAnext (line 82) | class SupportsAnext(Protocol[_T_co]):
    method __anext__ (line 83) | def __anext__(self) -> Awaitable[_T_co]: ...
  class SupportsDunderLT (line 87) | class SupportsDunderLT(Protocol[_T_contra]):
    method __lt__ (line 88) | def __lt__(self, other: _T_contra, /) -> bool: ...
  class SupportsDunderGT (line 90) | class SupportsDunderGT(Protocol[_T_contra]):
    method __gt__ (line 91) | def __gt__(self, other: _T_contra, /) -> bool: ...
  class SupportsDunderLE (line 93) | class SupportsDunderLE(Protocol[_T_contra]):
    method __le__ (line 94) | def __le__(self, other: _T_contra, /) -> bool: ...
  class SupportsDunderGE (line 96) | class SupportsDunderGE(Protocol[_T_contra]):
    method __ge__ (line 97) | def __ge__(self, other: _T_contra, /) -> bool: ...
  class SupportsAllComparisons (line 99) | class SupportsAllComparisons(
  class SupportsAdd (line 108) | class SupportsAdd(Protocol[_T_contra, _T_co]):
    method __add__ (line 109) | def __add__(self, x: _T_contra, /) -> _T_co: ...
  class SupportsRAdd (line 111) | class SupportsRAdd(Protocol[_T_contra, _T_co]):
    method __radd__ (line 112) | def __radd__(self, x: _T_contra, /) -> _T_co: ...
  class SupportsSub (line 114) | class SupportsSub(Protocol[_T_contra, _T_co]):
    method __sub__ (line 115) | def __sub__(self, x: _T_contra, /) -> _T_co: ...
  class SupportsRSub (line 117) | class SupportsRSub(Protocol[_T_contra, _T_co]):
    method __rsub__ (line 118) | def __rsub__(self, x: _T_contra, /) -> _T_co: ...
  class SupportsDivMod (line 120) | class SupportsDivMod(Protocol[_T_contra, _T_co]):
    method __divmod__ (line 121) | def __divmod__(self, other: _T_contra, /) -> _T_co: ...
  class SupportsRDivMod (line 123) | class SupportsRDivMod(Protocol[_T_contra, _T_co]):
    method __rdivmod__ (line 124) | def __rdivmod__(self, other: _T_contra, /) -> _T_co: ...
  class SupportsIter (line 128) | class SupportsIter(Protocol[_T_co]):
    method __iter__ (line 129) | def __iter__(self) -> _T_co: ...
  class SupportsAiter (line 133) | class SupportsAiter(Protocol[_T_co]):
    method __aiter__ (line 134) | def __aiter__(self) -> _T_co: ...
  class SupportsLenAndGetItem (line 136) | class SupportsLenAndGetItem(Protocol[_T_co]):
    method __len__ (line 137) | def __len__(self) -> int: ...
    method __getitem__ (line 138) | def __getitem__(self, k: int, /) -> _T_co: ...
  class SupportsTrunc (line 140) | class SupportsTrunc(Protocol):
    method __trunc__ (line 141) | def __trunc__(self) -> int: ...
  class SupportsItems (line 146) | class SupportsItems(Protocol[_KT_co, _VT_co]):
    method items (line 147) | def items(self) -> AbstractSet[tuple[_KT_co, _VT_co]]: ...
  class SupportsKeysAndGetItem (line 150) | class SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):
    method keys (line 151) | def keys(self) -> Iterable[_KT]: ...
    method __getitem__ (line 152) | def __getitem__(self, key: _KT, /) -> _VT_co: ...
  class SupportsGetItem (line 157) | class SupportsGetItem(Protocol[_KT_contra, _VT_co]):
    method __contains__ (line 158) | def __contains__(self, x: Any, /) -> bool: ...
    method __getitem__ (line 159) | def __getitem__(self, key: _KT_contra, /) -> _VT_co: ...
  class SupportsContainsAndGetItem (line 162) | class SupportsContainsAndGetItem(Protocol[_KT_contra, _VT_co]):
    method __contains__ (line 163) | def __contains__(self, x: Any, /) -> bool: ...
    method __getitem__ (line 164) | def __getitem__(self, key: _KT_contra, /) -> _VT_co: ...
  class SupportsItemAccess (line 167) | class SupportsItemAccess(Protocol[_KT_contra, _VT]):
    method __contains__ (line 168) | def __contains__(self, x: Any, /) -> bool: ...
    method __getitem__ (line 169) | def __getitem__(self, key: _KT_contra, /) -> _VT: ...
    method __setitem__ (line 170) | def __setitem__(self, key: _KT_contra, value: _VT, /) -> None: ...
    method __delitem__ (line 171) | def __delitem__(self, key: _KT_contra, /) -> None: ...
  class HasFileno (line 246) | class HasFileno(Protocol):
    method fileno (line 247) | def fileno(self) -> int: ...
  class SupportsRead (line 254) | class SupportsRead(Protocol[_T_co]):
    method read (line 255) | def read(self, length: int = ..., /) -> _T_co: ...
  class SupportsReadline (line 258) | class SupportsReadline(Protocol[_T_co]):
    method readline (line 259) | def readline(self, length: int = ..., /) -> _T_co: ...
  class SupportsNoArgReadline (line 262) | class SupportsNoArgReadline(Protocol[_T_co]):
    method readline (line 263) | def readline(self) -> _T_co: ...
  class SupportsWrite (line 266) | class SupportsWrite(Protocol[_T_contra]):
    method write (line 267) | def write(self, s: _T_contra, /) -> object: ...
  class SupportsFlush (line 270) | class SupportsFlush(Protocol):
    method flush (line 271) | def flush(self) -> object: ...
  class SliceableBuffer (line 283) | class SliceableBuffer(Buffer, Protocol):
    method __getitem__ (line 284) | def __getitem__(self, slice: slice, /) -> Sequence[int]: ...
  class IndexableBuffer (line 286) | class IndexableBuffer(Buffer, Protocol):
    method __getitem__ (line 287) | def __getitem__(self, i: int, /) -> int: ...
  class SupportsGetItemBuffer (line 289) | class SupportsGetItemBuffer(SliceableBuffer, IndexableBuffer, Protocol):
    method __contains__ (line 290) | def __contains__(self, x: Any, /) -> bool: ...
    method __getitem__ (line 292) | def __getitem__(self, slice: slice, /) -> Sequence[int]: ...
    method __getitem__ (line 294) | def __getitem__(self, i: int, /) -> int: ...
  class SizedBuffer (line 296) | class SizedBuffer(Sized, Buffer, Protocol): ...
  class NoneType (line 310) | class NoneType:
    method __bool__ (line 311) | def __bool__(self) -> Literal[False]: ...
  class structseq (line 318) | class structseq(Generic[_T_co]):
    method __new__ (line 328) | def __new__(cls: type[Self], sequence: Iterable[_T_co], dict: dict[str...
    method __replace__ (line 330) | def __replace__(self: Self, **kwargs: Any) -> Self: ...
  class DataclassInstance (line 349) | class DataclassInstance(Protocol):
  class StrEnum (line 363) | class StrEnum(str, Enum): ...

FILE: publish/micropython-stdlib-stubs/stdlib/_typeshed/dbapi.pyi
  class DBAPIConnection (line 13) | class DBAPIConnection(Protocol):
    method close (line 14) | def close(self) -> object: ...
    method commit (line 15) | def commit(self) -> object: ...
    method cursor (line 18) | def cursor(self) -> DBAPICursor: ...
  class DBAPICursor (line 20) | class DBAPICursor(Protocol):
    method description (line 22) | def description(self) -> Sequence[DBAPIColumnDescription] | None: ...
    method rowcount (line 24) | def rowcount(self) -> int: ...
    method close (line 27) | def close(self) -> object: ...
    method execute (line 28) | def execute(self, operation: str, parameters: Sequence[Any] | Mapping[...
    method executemany (line 29) | def executemany(self, operation: str, seq_of_parameters: Sequence[Sequ...
    method fetchone (line 30) | def fetchone(self) -> Sequence[Any] | None: ...
    method fetchmany (line 31) | def fetchmany(self, size: int = ..., /) -> Sequence[Sequence[Any]]: ...
    method fetchall (line 32) | def fetchall(self) -> Sequence[Sequence[Any]]: ...
    method setinputsizes (line 36) | def setinputsizes(self, sizes: Sequence[DBAPITypeCode | int | None], /...
    method setoutputsize (line 37) | def setoutputsize(self, size: int, column: int = ..., /) -> object: ...

FILE: publish/micropython-stdlib-stubs/stdlib/_typeshed/importlib.pyi
  class LoaderProtocol (line 11) | class LoaderProtocol(Protocol):
    method load_module (line 12) | def load_module(self, fullname: str, /) -> ModuleType: ...
  class MetaPathFinderProtocol (line 14) | class MetaPathFinderProtocol(Protocol):
    method find_spec (line 15) | def find_spec(self, fullname: str, path: Sequence[str] | None, target:...
  class PathEntryFinderProtocol (line 17) | class PathEntryFinderProtocol(Protocol):
    method find_spec (line 18) | def find_spec(self, fullname: str, target: ModuleType | None = ..., /)...

FILE: publish/micropython-stdlib-stubs/stdlib/_typeshed/xml.pyi
  class DOMImplementation (line 6) | class DOMImplementation(Protocol):
    method hasFeature (line 7) | def hasFeature(self, feature: str, version: str | None, /) -> bool: ...
    method createDocument (line 8) | def createDocument(self, namespaceUri: str, qualifiedName: str, doctyp...
    method createDocumentType (line 9) | def createDocumentType(self, qualifiedName: str, publicId: str, system...

FILE: publish/micropython-stdlib-stubs/stdlib/abc.pyi
  class ABCMeta (line 14) | class ABCMeta(type):
    method __new__ (line 17) | def __new__(
    method __new__ (line 21) | def __new__(
    method __instancecheck__ (line 25) | def __instancecheck__(cls: ABCMeta, instance: Any) -> bool: ...
    method __subclasscheck__ (line 26) | def __subclasscheck__(cls: ABCMeta, subclass: type) -> bool: ...
    method _dump_registry (line 27) | def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = Non...
    method register (line 28) | def register(cls: ABCMeta, subclass: type[_T]) -> type[_T]: ...
  function abstractmethod (line 30) | def abstractmethod(funcobj: _FuncT) -> _FuncT: ...
  class abstractclassmethod (line 32) | class abstractclassmethod(classmethod[_T, _P, _R_co]):
    method __init__ (line 34) | def __init__(self, callable: Callable[Concatenate[type[_T], _P], _R_co...
  class abstractstaticmethod (line 37) | class abstractstaticmethod(staticmethod[_P, _R_co]):
    method __init__ (line 39) | def __init__(self, callable: Callable[_P, _R_co]) -> None: ...
  class abstractproperty (line 42) | class abstractproperty(property):
  class ABC (line 45) | class ABC(metaclass=ABCMeta):
  function get_cache_token (line 48) | def get_cache_token() -> object: ...
  function update_abstractmethods (line 51) | def update_abstractmethods(cls: type[_T]) -> type[_T]: ...

FILE: publish/micropython-stdlib-stubs/stdlib/array.pyi
  class array (line 34) | class array(MutableSequence[_T], Generic[_T]):
    method typecode (line 71) | def typecode(self) -> _TypeCode: ...
    method itemsize (line 73) | def itemsize(self) -> int: ...
    method __init__ (line 75) | def __init__(self: array[int], typecode: _IntTypeCode, initializer: by...
    method __init__ (line 77) | def __init__(self: array[float], typecode: _FloatTypeCode, initializer...
    method __init__ (line 79) | def __init__(self: array[str], typecode: _UnicodeTypeCode, initializer...
    method __init__ (line 81) | def __init__(self, typecode: str, initializer: Iterable[_T], /) -> Non...
    method __init__ (line 83) | def __init__(self, typecode: str, initializer: bytes | bytearray = ......
    method append (line 84) | def append(self, val: Any, /) -> None:
    method buffer_info (line 89) | def buffer_info(self) -> tuple[int, int]: ...
    method byteswap (line 90) | def byteswap(self) -> None: ...
    method count (line 91) | def count(self, v: _T, /) -> int: ...
    method extend (line 92) | def extend(self, iterable: Sequence[Any], /) -> None:
    method frombytes (line 98) | def frombytes(self, buffer: ReadableBuffer, /) -> None: ...
    method fromfile (line 99) | def fromfile(self, f: SupportsRead[bytes], n: int, /) -> None: ...
    method fromlist (line 100) | def fromlist(self, list: list[_T], /) -> None: ...
    method fromunicode (line 101) | def fromunicode(self, ustr: str, /) -> None: ...
    method index (line 103) | def index(self, v: _T, start: int = 0, stop: int = sys.maxsize, /) -> ...
    method index (line 105) | def index(self, v: _T, /) -> int: ...  # type: ignore[override]
    method insert (line 107) | def insert(self, i: int, v: _T, /) -> None: ...
    method pop (line 108) | def pop(self, i: int = -1, /) -> _T: ...
    method remove (line 109) | def remove(self, v: _T, /) -> None: ...
    method tobytes (line 110) | def tobytes(self) -> bytes: ...
    method tofile (line 111) | def tofile(self, f: SupportsWrite[bytes], /) -> None: ...
    method tolist (line 112) | def tolist(self) -> list[_T]: ...
    method tounicode (line 113) | def tounicode(self) -> str: ...
    method fromstring (line 115) | def fromstring(self, buffer: str | ReadableBuffer, /) -> None: ...
    method tostring (line 116) | def tostring(self) -> bytes: ...
    method __len__ (line 118) | def __len__(self) -> int:
    method __getitem__ (line 127) | def __getitem__(self, key: SupportsIndex, /) -> _T: ...
    method __getitem__ (line 129) | def __getitem__(self, key: slice, /) -> array[_T]: ...
    method __getitem__ (line 131) | def __getitem__(self, index: int) -> _T:
    method __getitem__ (line 143) | def __getitem__(self, sl: slice) -> array[_T]:
    method __setitem__ (line 154) | def __setitem__(self, key: SupportsIndex, value: _T, /) -> None: ...
    method __setitem__ (line 156) | def __setitem__(self, key: slice, value: array[_T], /) -> None: ...
    method __setitem__ (line 158) | def __setitem__(self, index: int, value: _T) -> None:
    method __setitem__ (line 169) | def __setitem__(self, sl: slice, values: array[_T]) -> None:
    method __delitem__ (line 178) | def __delitem__(self, key: SupportsIndex | slice, /) -> None: ...
    method __add__ (line 179) | def __add__(self, other: array[_T]) -> array[_T]:
    method __eq__ (line 188) | def __eq__(self, value: object, /) -> bool: ...
    method __ge__ (line 189) | def __ge__(self, value: array[_T], /) -> bool: ...
    method __gt__ (line 190) | def __gt__(self, value: array[_T], /) -> bool: ...
    method __iadd__ (line 191) | def __iadd__(self, other: array[_T]) -> Self:
    method __imul__ (line 200) | def __imul__(self, value: int, /) -> Self: ...
    method __le__ (line 201) | def __le__(self, value: array[_T], /) -> bool: ...
    method __lt__ (line 202) | def __lt__(self, value: array[_T], /) -> bool: ...
    method __mul__ (line 203) | def __mul__(self, value: int, /) -> array[_T]: ...
    method __rmul__ (line 204) | def __rmul__(self, value: int, /) -> array[_T]: ...
    method __copy__ (line 205) | def __copy__(self) -> array[_T]: ...
    method __deepcopy__ (line 206) | def __deepcopy__(self, unused: Any, /) -> array[_T]: ...
    method __buffer__ (line 207) | def __buffer__(self, flags: int, /) -> memoryview: ...
    method __release_buffer__ (line 208) | def __release_buffer__(self, buffer: memoryview, /) -> None: ...
    method __class_getitem__ (line 210) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/base_events.pyi
  class Server (line 29) | class Server(AbstractServer):
    method __init__ (line 31) | def __init__(
    method __init__ (line 42) | def __init__(
    method close_clients (line 53) | def close_clients(self) -> None: ...
    method abort_clients (line 54) | def abort_clients(self) -> None: ...
    method get_loop (line 56) | def get_loop(self) -> AbstractEventLoop: ...
    method is_serving (line 57) | def is_serving(self) -> bool: ...
    method start_serving (line 58) | async def start_serving(self) -> None: ...
    method serve_forever (line 59) | async def serve_forever(self) -> None: ...
    method sockets (line 61) | def sockets(self) -> tuple[socket, ...]: ...
    method close (line 62) | def close(self) -> None: ...
    method wait_closed (line 63) | async def wait_closed(self) -> None: ...
  class BaseEventLoop (line 65) | class BaseEventLoop(AbstractEventLoop):
    method run_forever (line 66) | def run_forever(self) -> None: ...
    method run_until_complete (line 67) | def run_until_complete(self, future: _AwaitableLike[_T]) -> _T: ...
    method stop (line 68) | def stop(self) -> None: ...
    method is_running (line 69) | def is_running(self) -> bool: ...
    method is_closed (line 70) | def is_closed(self) -> bool: ...
    method close (line 71) | def close(self) -> None: ...
    method shutdown_asyncgens (line 72) | async def shutdown_asyncgens(self) -> None: ...
    method call_soon (line 74) | def call_soon(self, callback: Callable[[Unpack[_Ts]], object], *args: ...
    method call_later (line 75) | def call_later(
    method call_at (line 82) | def call_at(
    method time (line 89) | def time(self) -> float: ...
    method create_future (line 91) | def create_future(self) -> Future[Any]: ...
    method create_task (line 94) | def create_task(self, coro: _CoroutineLike[_T], *, name: object = None...
    method create_task (line 96) | def create_task(self, coro: _CoroutineLike[_T], *, name: object = None...
    method set_task_factory (line 98) | def set_task_factory(self, factory: _TaskFactory | None) -> None: ...
    method get_task_factory (line 99) | def get_task_factory(self) -> _TaskFactory | None: ...
    method call_soon_threadsafe (line 101) | def call_soon_threadsafe(
    method run_in_executor (line 107) | def run_in_executor(self, executor: Any, func: Callable[[Unpack[_Ts]],...
    method set_default_executor (line 108) | def set_default_executor(self, executor: Any) -> None: ...
    method getaddrinfo (line 110) | async def getaddrinfo(
    method getnameinfo (line 120) | async def getnameinfo(self, sockaddr: tuple[str, int] | tuple[str, int...
    method create_connection (line 123) | async def create_connection(
    method create_connection (line 143) | async def create_connection(
    method create_connection (line 164) | async def create_connection(
    method create_connection (line 183) | async def create_connection(
    method create_connection (line 203) | async def create_connection(
    method create_connection (line 221) | async def create_connection(
    method create_server (line 242) | async def create_server(
    method create_server (line 261) | async def create_server(
    method create_server (line 281) | async def create_server(
    method create_server (line 299) | async def create_server(
    method create_server (line 318) | async def create_server(
    method create_server (line 335) | async def create_server(
    method start_tls (line 353) | async def start_tls(
    method connect_accepted_socket (line 364) | async def connect_accepted_socket(
    method start_tls (line 374) | async def start_tls(
    method connect_accepted_socket (line 384) | async def connect_accepted_socket(
    method sock_sendfile (line 393) | async def sock_sendfile(
    method sendfile (line 396) | async def sendfile(
    method create_datagram_endpoint (line 400) | async def create_datagram_endpoint(  # type: ignore[override]
    method create_datagram_endpoint (line 414) | async def create_datagram_endpoint(
    method connect_read_pipe (line 429) | async def connect_read_pipe(self, protocol_factory: Callable[[], _Prot...
    method connect_write_pipe (line 430) | async def connect_write_pipe(self, protocol_factory: Callable[[], _Pro...
    method subprocess_shell (line 431) | async def subprocess_shell(
    method subprocess_exec (line 447) | async def subprocess_exec(
    method add_reader (line 462) | def add_reader(self, fd: FileDescriptorLike, callback: Callable[[Unpac...
    method remove_reader (line 463) | def remove_reader(self, fd: FileDescriptorLike) -> bool: ...
    method add_writer (line 464) | def add_writer(self, fd: FileDescriptorLike, callback: Callable[[Unpac...
    method remove_writer (line 465) | def remove_writer(self, fd: FileDescriptorLike) -> bool: ...
    method sock_recv (line 468) | async def sock_recv(self, sock: socket, nbytes: int) -> bytes: ...
    method sock_recv_into (line 469) | async def sock_recv_into(self, sock: socket, buf: WriteableBuffer) -> ...
    method sock_sendall (line 470) | async def sock_sendall(self, sock: socket, data: ReadableBuffer) -> No...
    method sock_connect (line 471) | async def sock_connect(self, sock: socket, address: _Address) -> None:...
    method sock_accept (line 472) | async def sock_accept(self, sock: socket) -> tuple[socket, _RetAddress...
    method sock_recvfrom (line 474) | async def sock_recvfrom(self, sock: socket, bufsize: int) -> tuple[byt...
    method sock_recvfrom_into (line 475) | async def sock_recvfrom_into(self, sock: socket, buf: WriteableBuffer,...
    method sock_sendto (line 476) | async def sock_sendto(self, sock: socket, data: ReadableBuffer, addres...
    method add_signal_handler (line 478) | def add_signal_handler(self, sig: int, callback: Callable[[Unpack[_Ts]...
    method remove_signal_handler (line 479) | def remove_signal_handler(self, sig: int) -> bool: ...
    method set_exception_handler (line 481) | def set_exception_handler(self, handler: _ExceptionHandler | None) -> ...
    method get_exception_handler (line 482) | def get_exception_handler(self) -> _ExceptionHandler | None: ...
    method default_exception_handler (line 483) | def default_exception_handler(self, context: _Context) -> None: ...
    method call_exception_handler (line 484) | def call_exception_handler(self, context: _Context) -> None: ...
    method get_debug (line 486) | def get_debug(self) -> bool: ...
    method set_debug (line 487) | def set_debug(self, enabled: bool) -> None: ...
    method shutdown_default_executor (line 489) | async def shutdown_default_executor(self, timeout: float | None = None...
    method shutdown_default_executor (line 491) | async def shutdown_default_executor(self) -> None: ...
    method __del__ (line 493) | def __del__(self) -> None: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/base_futures.pyi
  function _format_callbacks (line 18) | def _format_callbacks(cb: Sequence[tuple[Callable[[futures.Future[Any]],...
  function _future_repr_info (line 19) | def _future_repr_info(future: futures.Future[Any]) -> list[str]: ...  # ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/base_tasks.pyi
  function _task_repr_info (line 7) | def _task_repr_info(task: tasks.Task[Any]) -> list[str]: ...  # undocume...
  function _task_get_stack (line 8) | def _task_get_stack(task: tasks.Task[Any], limit: int | None) -> list[Fr...
  function _task_print_stack (line 9) | def _task_print_stack(task: tasks.Task[Any], limit: int | None, file: St...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/constants.pyi
  class _SendfileMode (line 17) | class _SendfileMode(enum.Enum):

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/coroutines.pyi
  function coroutine (line 16) | def coroutine(func: _FunctionT) -> _FunctionT: ...
  function iscoroutinefunction (line 19) | def iscoroutinefunction(func: Callable[..., Coroutine[Any, Any, Any]]) -...
  function iscoroutinefunction (line 21) | def iscoroutinefunction(func: Callable[_P, Awaitable[_T]]) -> TypeGuard[...
  function iscoroutinefunction (line 23) | def iscoroutinefunction(func: Callable[_P, object]) -> TypeGuard[Callabl...
  function iscoroutinefunction (line 25) | def iscoroutinefunction(func: object) -> TypeGuard[Callable[..., Corouti...
  function iscoroutine (line 26) | def iscoroutine(obj: object) -> TypeIs[Coroutine[Any, Any, Any]]: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/events.pyi
  class _TaskFactory (line 68) | class _TaskFactory(Protocol):
    method __call__ (line 69) | def __call__(self, loop: AbstractEventLoop, factory: _CoroutineLike[_T...
  class Handle (line 71) | class Handle:
    method __init__ (line 74) | def __init__(
    method cancel (line 81) | def cancel(self) -> None: ...
    method _run (line 82) | def _run(self) -> None: ...
    method cancelled (line 83) | def cancelled(self) -> bool: ...
    method get_context (line 85) | def get_context(self) -> Context: ...
  class TimerHandle (line 87) | class TimerHandle(Handle):
    method __init__ (line 88) | def __init__(
    method __hash__ (line 96) | def __hash__(self) -> int: ...
    method when (line 97) | def when(self) -> float: ...
    method __lt__ (line 98) | def __lt__(self, other: TimerHandle) -> bool: ...
    method __le__ (line 99) | def __le__(self, other: TimerHandle) -> bool: ...
    method __gt__ (line 100) | def __gt__(self, other: TimerHandle) -> bool: ...
    method __ge__ (line 101) | def __ge__(self, other: TimerHandle) -> bool: ...
    method __eq__ (line 102) | def __eq__(self, other: object) -> bool: ...
  class AbstractServer (line 104) | class AbstractServer:
    method close (line 106) | def close(self) -> None: ...
    method close_clients (line 109) | def close_clients(self) -> None: ...
    method abort_clients (line 111) | def abort_clients(self) -> None: ...
    method __aenter__ (line 113) | async def __aenter__(self) -> Self: ...
    method __aexit__ (line 114) | async def __aexit__(self, *exc: Unused) -> None: ...
    method get_loop (line 116) | def get_loop(self) -> AbstractEventLoop: ...
    method is_serving (line 118) | def is_serving(self) -> bool: ...
    method start_serving (line 120) | async def start_serving(self) -> None: ...
    method serve_forever (line 122) | async def serve_forever(self) -> None: ...
    method wait_closed (line 124) | async def wait_closed(self) -> None: ...
  class AbstractEventLoop (line 126) | class AbstractEventLoop:
    method run_forever (line 129) | def run_forever(self) -> None: ...
    method run_until_complete (line 131) | def run_until_complete(self, future: _AwaitableLike[_T]) -> _T: ...
    method stop (line 133) | def stop(self) -> None: ...
    method is_running (line 135) | def is_running(self) -> bool: ...
    method is_closed (line 137) | def is_closed(self) -> bool: ...
    method close (line 139) | def close(self) -> None: ...
    method shutdown_asyncgens (line 141) | async def shutdown_asyncgens(self) -> None: ...
    method call_soon (line 145) | def call_soon(self, callback: Callable[[Unpack[_Ts]], object], *args: ...
    method call_later (line 147) | def call_later(
    method call_at (line 155) | def call_at(
    method call_soon (line 164) | def call_soon(self, callback: Callable[[Unpack[_Ts]], object], *args: ...
    method call_later (line 166) | def call_later(self, delay: float, callback: Callable[[Unpack[_Ts]], o...
    method call_at (line 168) | def call_at(self, when: float, callback: Callable[[Unpack[_Ts]], objec...
    method time (line 171) | def time(self) -> float: ...
    method create_future (line 174) | def create_future(self) -> Future[Any]: ...
    method create_task (line 178) | def create_task(self, coro: _CoroutineLike[_T], *, name: str | None = ...
    method create_task (line 181) | def create_task(self, coro: _CoroutineLike[_T], *, name: str | None = ...
    method set_task_factory (line 184) | def set_task_factory(self, factory: _TaskFactory | None) -> None: ...
    method get_task_factory (line 186) | def get_task_factory(self) -> _TaskFactory | None: ...
    method call_soon_threadsafe (line 190) | def call_soon_threadsafe(
    method call_soon_threadsafe (line 198) | def call_soon_threadsafe(self, callback: Callable[[Unpack[_Ts]], objec...
    method run_in_executor (line 201) | def run_in_executor(self, executor: Any, func: Callable[[Unpack[_Ts]],...
    method set_default_executor (line 203) | def set_default_executor(self, executor: Any) -> None: ...
    method getaddrinfo (line 206) | async def getaddrinfo(
    method getnameinfo (line 217) | async def getnameinfo(self, sockaddr: tuple[str, int] | tuple[str, int...
    method create_connection (line 221) | async def create_connection(
    method create_connection (line 241) | async def create_connection(
    method create_connection (line 262) | async def create_connection(
    method create_connection (line 281) | async def create_connection(
    method create_server (line 303) | async def create_server(
    method create_server (line 323) | async def create_server(
    method create_server (line 344) | async def create_server(
    method create_server (line 363) | async def create_server(
    method create_server (line 383) | async def create_server(
    method create_server (line 401) | async def create_server(
    method start_tls (line 420) | async def start_tls(
    method create_unix_server (line 431) | async def create_unix_server(
    method start_tls (line 445) | async def start_tls(
    method create_unix_server (line 455) | async def create_unix_server(
    method connect_accepted_socket (line 468) | async def connect_accepted_socket(
    method connect_accepted_socket (line 478) | async def connect_accepted_socket(
    method create_unix_connection (line 487) | async def create_unix_connection(
    method create_unix_connection (line 499) | async def create_unix_connection(
    method sock_sendfile (line 511) | async def sock_sendfile(
    method sendfile (line 515) | async def sendfile(
    method create_datagram_endpoint (line 519) | async def create_datagram_endpoint(
    method connect_read_pipe (line 535) | async def connect_read_pipe(self, protocol_factory: Callable[[], _Prot...
    method connect_write_pipe (line 537) | async def connect_write_pipe(self, protocol_factory: Callable[[], _Pro...
    method subprocess_shell (line 539) | async def subprocess_shell(
    method subprocess_exec (line 556) | async def subprocess_exec(
    method add_reader (line 572) | def add_reader(self, fd: FileDescriptorLike, callback: Callable[[Unpac...
    method remove_reader (line 574) | def remove_reader(self, fd: FileDescriptorLike) -> bool: ...
    method add_writer (line 576) | def add_writer(self, fd: FileDescriptorLike, callback: Callable[[Unpac...
    method remove_writer (line 578) | def remove_writer(self, fd: FileDescriptorLike) -> bool: ...
    method sock_recv (line 580) | async def sock_recv(self, sock: socket, nbytes: int) -> bytes: ...
    method sock_recv_into (line 582) | async def sock_recv_into(self, sock: socket, buf: WriteableBuffer) -> ...
    method sock_sendall (line 584) | async def sock_sendall(self, sock: socket, data: ReadableBuffer) -> No...
    method sock_connect (line 586) | async def sock_connect(self, sock: socket, address: _Address) -> None:...
    method sock_accept (line 588) | async def sock_accept(self, sock: socket) -> tuple[socket, _RetAddress...
    method sock_recvfrom (line 591) | async def sock_recvfrom(self, sock: socket, bufsize: int) -> tuple[byt...
    method sock_recvfrom_into (line 593) | async def sock_recvfrom_into(self, sock: socket, buf: WriteableBuffer,...
    method sock_sendto (line 595) | async def sock_sendto(self, sock: socket, data: ReadableBuffer, addres...
    method add_signal_handler (line 598) | def add_signal_handler(self, sig: int, callback: Callable[[Unpack[_Ts]...
    method remove_signal_handler (line 600) | def remove_signal_handler(self, sig: int) -> bool: ...
    method set_exception_handler (line 603) | def set_exception_handler(self, handler: _ExceptionHandler | None) -> ...
    method get_exception_handler (line 605) | def get_exception_handler(self) -> _ExceptionHandler | None: ...
    method default_exception_handler (line 607) | def default_exception_handler(self, context: _Context) -> None: ...
    method call_exception_handler (line 609) | def call_exception_handler(self, context: _Context) -> None: ...
    method get_debug (line 612) | def get_debug(self) -> bool: ...
    method set_debug (line 614) | def set_debug(self, enabled: bool) -> None: ...
    method shutdown_default_executor (line 617) | async def shutdown_default_executor(self) -> None: ...
  class AbstractEventLoopPolicy (line 619) | class AbstractEventLoopPolicy:
    method get_event_loop (line 621) | def get_event_loop(self) -> AbstractEventLoop: ...
    method set_event_loop (line 623) | def set_event_loop(self, loop: AbstractEventLoop | None) -> None: ...
    method new_event_loop (line 625) | def new_event_loop(self) -> AbstractEventLoop: ...
    method get_child_watcher (line 631) | def get_child_watcher(self) -> AbstractChildWatcher: ...
    method set_child_watcher (line 634) | def set_child_watcher(self, watcher: AbstractChildWatcher) -> None: ...
    method get_child_watcher (line 637) | def get_child_watcher(self) -> AbstractChildWatcher: ...
    method set_child_watcher (line 639) | def set_child_watcher(self, watcher: AbstractChildWatcher) -> None: ...
  class BaseDefaultEventLoopPolicy (line 641) | class BaseDefaultEventLoopPolicy(AbstractEventLoopPolicy, metaclass=ABCM...
    method get_event_loop (line 642) | def get_event_loop(self) -> AbstractEventLoop: ...
    method set_event_loop (line 643) | def set_event_loop(self, loop: AbstractEventLoop | None) -> None: ...
    method new_event_loop (line 644) | def new_event_loop(self) -> AbstractEventLoop: ...
  function get_event_loop_policy (line 646) | def get_event_loop_policy() -> AbstractEventLoopPolicy: ...
  function set_event_loop_policy (line 647) | def set_event_loop_policy(policy: AbstractEventLoopPolicy | None) -> Non...
  function set_event_loop (line 648) | def set_event_loop(loop: AbstractEventLoop | None) -> None: ...
  function new_event_loop (line 649) | def new_event_loop() -> AbstractEventLoop: ...
  function get_child_watcher (line 654) | def get_child_watcher() -> AbstractChildWatcher: ...
  function set_child_watcher (line 656) | def set_child_watcher(watcher: AbstractChildWatcher) -> None: ...
  function get_child_watcher (line 659) | def get_child_watcher() -> AbstractChildWatcher: ...
  function set_child_watcher (line 660) | def set_child_watcher(watcher: AbstractChildWatcher) -> None: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/exceptions.pyi
  class CancelledError (line 23) | class CancelledError(BaseException): ...
  class TimeoutError (line 28) | class TimeoutError(Exception): ...
  class InvalidStateError (line 30) | class InvalidStateError(Exception): ...
  class SendfileNotAvailableError (line 31) | class SendfileNotAvailableError(RuntimeError): ...
  class IncompleteReadError (line 33) | class IncompleteReadError(EOFError):
    method __init__ (line 36) | def __init__(self, partial: bytes, expected: int | None) -> None: ...
  class LimitOverrunError (line 38) | class LimitOverrunError(Exception):
    method __init__ (line 40) | def __init__(self, message: str, consumed: int) -> None: ...
  class BrokenBarrierError (line 43) | class BrokenBarrierError(RuntimeError): ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/format_helpers.pyi
  class _HasWrapper (line 9) | class _HasWrapper:
  function _get_function_source (line 15) | def _get_function_source(func: _FuncType) -> tuple[str, int]: ...
  function _get_function_source (line 17) | def _get_function_source(func: object) -> tuple[str, int] | None: ...
  function _format_callback_source (line 20) | def _format_callback_source(func: object, args: Iterable[Any], *, debug:...
  function _format_args_and_kwargs (line 21) | def _format_args_and_kwargs(args: Iterable[Any], kwargs: dict[str, Any],...
  function _format_callback (line 22) | def _format_callback(func: object, args: Iterable[Any], kwargs: dict[str...
  function _format_callback_source (line 25) | def _format_callback_source(func: object, args: Iterable[Any]) -> str: ...
  function _format_args_and_kwargs (line 26) | def _format_args_and_kwargs(args: Iterable[Any], kwargs: dict[str, Any])...
  function _format_callback (line 27) | def _format_callback(func: object, args: Iterable[Any], kwargs: dict[str...
  function extract_stack (line 29) | def extract_stack(f: FrameType | None = None, limit: int | None = None) ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/futures.pyi
  function isfuture (line 15) | def isfuture(obj: object) -> TypeIs[Future[Any]]: ...
  function wrap_future (line 16) | def wrap_future(future: _ConcurrentFuture[_T] | Future[_T], *, loop: Abs...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/locks.pyi
  class _ContextManagerMixin (line 26) | class _ContextManagerMixin:
    method __aenter__ (line 27) | async def __aenter__(self) -> None: ...
    method __aexit__ (line 28) | async def __aexit__(self, exc_type: type[BaseException] | None, exc: B...
    method __iter__ (line 40) | def __iter__(self) -> Generator[Any, None, _ContextManager]: ...
    method __await__ (line 41) | def __await__(self) -> Generator[Any, None, _ContextManager]: ...
    method __aenter__ (line 42) | async def __aenter__(self) -> None: ...
    method __aexit__ (line 43) | async def __aexit__(self, exc_type: type[BaseException] | None, exc: B...
  class _ContextManager (line 31) | class _ContextManager:
    method __init__ (line 32) | def __init__(self, lock: Lock | Semaphore) -> None: ...
    method __enter__ (line 33) | def __enter__(self) -> None: ...
    method __exit__ (line 34) | def __exit__(self, *args: Unused) -> None: ...
  class _ContextManagerMixin (line 36) | class _ContextManagerMixin:
    method __aenter__ (line 27) | async def __aenter__(self) -> None: ...
    method __aexit__ (line 28) | async def __aexit__(self, exc_type: type[BaseException] | None, exc: B...
    method __iter__ (line 40) | def __iter__(self) -> Generator[Any, None, _ContextManager]: ...
    method __await__ (line 41) | def __await__(self) -> Generator[Any, None, _ContextManager]: ...
    method __aenter__ (line 42) | async def __aenter__(self) -> None: ...
    method __aexit__ (line 43) | async def __aexit__(self, exc_type: type[BaseException] | None, exc: B...
  class Lock (line 45) | class Lock(_ContextManagerMixin, _LoopBoundMixin):
    method __init__ (line 48) | def __init__(self) -> None: ...
    method __init__ (line 50) | def __init__(self, *, loop: AbstractEventLoop | None = None) -> None: ...
    method locked (line 52) | def locked(self) -> bool: ...
    method acquire (line 53) | async def acquire(self) -> Literal[True]: ...
    method release (line 54) | def release(self) -> None: ...
  class Event (line 56) | class Event(_LoopBoundMixin):
    method __init__ (line 59) | def __init__(self) -> None: ...
    method __init__ (line 61) | def __init__(self, *, loop: AbstractEventLoop | None = None) -> None: ...
    method is_set (line 63) | def is_set(self) -> bool: ...
    method set (line 64) | def set(self) -> None: ...
    method clear (line 65) | def clear(self) -> None: ...
    method wait (line 66) | async def wait(self) -> Literal[True]: ...
  class Condition (line 68) | class Condition(_ContextManagerMixin, _LoopBoundMixin):
    method __init__ (line 71) | def __init__(self, lock: Lock | None = None) -> None: ...
    method __init__ (line 73) | def __init__(self, lock: Lock | None = None, *, loop: AbstractEventLoo...
    method locked (line 75) | def locked(self) -> bool: ...
    method acquire (line 76) | async def acquire(self) -> Literal[True]: ...
    method release (line 77) | def release(self) -> None: ...
    method wait (line 78) | async def wait(self) -> Literal[True]: ...
    method wait_for (line 79) | async def wait_for(self, predicate: Callable[[], _T]) -> _T: ...
    method notify (line 80) | def notify(self, n: int = 1) -> None: ...
    method notify_all (line 81) | def notify_all(self) -> None: ...
  class Semaphore (line 83) | class Semaphore(_ContextManagerMixin, _LoopBoundMixin):
    method __init__ (line 87) | def __init__(self, value: int = 1) -> None: ...
    method __init__ (line 89) | def __init__(self, value: int = 1, *, loop: AbstractEventLoop | None =...
    method locked (line 91) | def locked(self) -> bool: ...
    method acquire (line 92) | async def acquire(self) -> Literal[True]: ...
    method release (line 93) | def release(self) -> None: ...
    method _wake_up_next (line 94) | def _wake_up_next(self) -> None: ...
  class BoundedSemaphore (line 96) | class BoundedSemaphore(Semaphore): ...
  class _BarrierState (line 99) | class _BarrierState(enum.Enum):  # undocumented
  class Barrier (line 105) | class Barrier(_LoopBoundMixin):
    method __init__ (line 106) | def __init__(self, parties: int) -> None: ...
    method __aenter__ (line 107) | async def __aenter__(self) -> Self: ...
    method __aexit__ (line 108) | async def __aexit__(self, *args: Unused) -> None: ...
    method wait (line 109) | async def wait(self) -> int: ...
    method abort (line 110) | async def abort(self) -> None: ...
    method reset (line 111) | async def reset(self) -> None: ...
    method parties (line 113) | def parties(self) -> int: ...
    method n_waiting (line 115) | def n_waiting(self) -> int: ...
    method broken (line 117) | def broken(self) -> bool: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/micropython.pyi
  class ThreadSafeFlag (line 1) | class ThreadSafeFlag:
    method __init__ (line 8) | def __init__(self) -> None:
    method ioctl (line 15) | def ioctl(self, req, flags): ...
    method set (line 16) | def set(self) -> None:
    method clear (line 23) | def clear(self) -> None:
    method wait (line 30) | async def wait(self) -> Generator[Incomplete]:

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/mixins.pyi
  class _LoopBoundMixin (line 7) | class _LoopBoundMixin:
    method __init__ (line 9) | def __init__(self, *, loop: Never = ...) -> None: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/proactor_events.pyi
  class _ProactorBasePipeTransport (line 10) | class _ProactorBasePipeTransport(transports._FlowControlMixin, transport...
    method __init__ (line 11) | def __init__(
    method __del__ (line 20) | def __del__(self) -> None: ...
  class _ProactorReadPipeTransport (line 22) | class _ProactorReadPipeTransport(_ProactorBasePipeTransport, transports....
    method __init__ (line 24) | def __init__(
    method __init__ (line 35) | def __init__(
  class _ProactorBaseWritePipeTransport (line 45) | class _ProactorBaseWritePipeTransport(_ProactorBasePipeTransport, transp...
  class _ProactorWritePipeTransport (line 46) | class _ProactorWritePipeTransport(_ProactorBaseWritePipeTransport): ...
  class _ProactorDuplexPipeTransport (line 47) | class _ProactorDuplexPipeTransport(_ProactorReadPipeTransport, _Proactor...
  class _ProactorSocketTransport (line 49) | class _ProactorSocketTransport(_ProactorReadPipeTransport, _ProactorBase...
    method __init__ (line 51) | def __init__(
    method _set_extra (line 60) | def _set_extra(self, sock: socket) -> None: ...
    method can_write_eof (line 61) | def can_write_eof(self) -> Literal[True]: ...
  class BaseProactorEventLoop (line 63) | class BaseProactorEventLoop(base_events.BaseEventLoop):
    method __init__ (line 64) | def __init__(self, proactor: Any) -> None: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/protocols.pyi
  class BaseProtocol (line 7) | class BaseProtocol:
    method connection_made (line 8) | def connection_made(self, transport: transports.BaseTransport) -> None...
    method connection_lost (line 9) | def connection_lost(self, exc: Exception | None) -> None: ...
    method pause_writing (line 10) | def pause_writing(self) -> None: ...
    method resume_writing (line 11) | def resume_writing(self) -> None: ...
  class Protocol (line 13) | class Protocol(BaseProtocol):
    method data_received (line 14) | def data_received(self, data: bytes) -> None: ...
    method eof_received (line 15) | def eof_received(self) -> bool | None: ...
  class BufferedProtocol (line 17) | class BufferedProtocol(BaseProtocol):
    method get_buffer (line 18) | def get_buffer(self, sizehint: int) -> ReadableBuffer: ...
    method buffer_updated (line 19) | def buffer_updated(self, nbytes: int) -> None: ...
    method eof_received (line 20) | def eof_received(self) -> bool | None: ...
  class DatagramProtocol (line 22) | class DatagramProtocol(BaseProtocol):
    method connection_made (line 23) | def connection_made(self, transport: transports.DatagramTransport) -> ...
    method datagram_received (line 28) | def datagram_received(self, data: bytes, addr: tuple[str | Any, int]) ...
    method error_received (line 29) | def error_received(self, exc: Exception) -> None: ...
  class SubprocessProtocol (line 31) | class SubprocessProtocol(BaseProtocol):
    method pipe_data_received (line 32) | def pipe_data_received(self, fd: int, data: bytes) -> None: ...
    method pipe_connection_lost (line 33) | def pipe_connection_lost(self, fd: int, exc: Exception | None) -> None...
    method process_exited (line 34) | def process_exited(self) -> None: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/queues.pyi
  class QueueEmpty (line 13) | class QueueEmpty(Exception): ...
  class QueueFull (line 14) | class QueueFull(Exception): ...
  class QueueShutDown (line 25) | class QueueShutDown(Exception): ...
  class Queue (line 29) | class Queue(Generic[_T], _LoopBoundMixin):  # noqa: Y059
    method __init__ (line 31) | def __init__(self, maxsize: int = 0) -> None: ...
    method __init__ (line 33) | def __init__(self, maxsize: int = 0, *, loop: AbstractEventLoop | None...
    method _init (line 35) | def _init(self, maxsize: int) -> None: ...
    method _get (line 36) | def _get(self) -> _T: ...
    method _put (line 37) | def _put(self, item: _T) -> None: ...
    method _format (line 38) | def _format(self) -> str: ...
    method qsize (line 39) | def qsize(self) -> int: ...
    method maxsize (line 41) | def maxsize(self) -> int: ...
    method empty (line 42) | def empty(self) -> bool: ...
    method full (line 43) | def full(self) -> bool: ...
    method put (line 44) | async def put(self, item: _T) -> None: ...
    method put_nowait (line 45) | def put_nowait(self, item: _T) -> None: ...
    method get (line 46) | async def get(self) -> _T: ...
    method get_nowait (line 47) | def get_nowait(self) -> _T: ...
    method join (line 48) | async def join(self) -> None: ...
    method task_done (line 49) | def task_done(self) -> None: ...
    method __class_getitem__ (line 51) | def __class_getitem__(cls, type: Any, /) -> GenericAlias: ...
    method shutdown (line 53) | def shutdown(self, immediate: bool = False) -> None: ...
  class PriorityQueue (line 55) | class PriorityQueue(Queue[_T]): ...
  class LifoQueue (line 56) | class LifoQueue(Queue[_T]): ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/runners.pyi
  class Runner (line 18) | class Runner:
    method __init__ (line 19) | def __init__(self, *, debug: bool | None = None, loop_factory: Callabl...
    method __enter__ (line 20) | def __enter__(self) -> Self: ...
    method __exit__ (line 21) | def __exit__(self, exc_type: Unused, exc_val: Unused, exc_tb: Unused) ...
    method close (line 22) | def close(self) -> None: ...
    method get_loop (line 23) | def get_loop(self) -> AbstractEventLoop: ...
    method run (line 24) | def run(self, coro: Coroutine[Any, Any, _T], *, context: Context | Non...
  function run (line 27) | def run(
  function run (line 32) | def run(main: Coroutine[Any, Any, _T], *, debug: bool | None = None) -> ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/selector_events.pyi
  class BaseSelectorEventLoop (line 7) | class BaseSelectorEventLoop(base_events.BaseEventLoop):
    method __init__ (line 8) | def __init__(self, selector: selectors.BaseSelector | None = None) -> ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/sslproto.pyi
  function _create_transport_context (line 11) | def _create_transport_context(server_side: bool, server_hostname: str | ...
  class SSLProtocolState (line 16) | class SSLProtocolState(Enum):
  class AppProtocolState (line 23) | class AppProtocolState(Enum):
  function add_flowcontrol_defaults (line 29) | def add_flowcontrol_defaults(high: int | None, low: int | None, kb: int)...
  class _SSLPipe (line 38) | class _SSLPipe:
    method __init__ (line 51) | def __init__(self, context: ssl.SSLContext, server_side: bool, server_...
    method context (line 53) | def context(self) -> ssl.SSLContext: ...
    method ssl_object (line 55) | def ssl_object(self) -> ssl.SSLObject | None: ...
    method need_ssldata (line 57) | def need_ssldata(self) -> bool: ...
    method wrapped (line 59) | def wrapped(self) -> bool: ...
    method do_handshake (line 60) | def do_handshake(self, callback: Callable[[BaseException | None], obje...
    method shutdown (line 61) | def shutdown(self, callback: Callable[[], object] | None = None) -> li...
    method feed_eof (line 62) | def feed_eof(self) -> None: ...
    method feed_ssldata (line 63) | def feed_ssldata(self, data: bytes, only_handshake: bool = False) -> t...
    method feed_appdata (line 64) | def feed_appdata(self, data: bytes, offset: int = 0) -> tuple[list[byt...
  class _SSLProtocolTransport (line 66) | class _SSLProtocolTransport(transports._FlowControlMixin, transports.Tra...
    method __init__ (line 75) | def __init__(self, loop: events.AbstractEventLoop, ssl_protocol: SSLPr...
    method get_extra_info (line 76) | def get_extra_info(self, name: str, default: Any | None = None) -> dic...
    method _protocol_paused (line 78) | def _protocol_paused(self) -> bool: ...
    method write (line 79) | def write(self, data: bytes | bytearray | memoryview) -> None: ...
    method can_write_eof (line 80) | def can_write_eof(self) -> Literal[False]: ...
    method get_write_buffer_limits (line 82) | def get_write_buffer_limits(self) -> tuple[int, int]: ...
    method get_read_buffer_limits (line 83) | def get_read_buffer_limits(self) -> tuple[int, int]: ...
    method set_read_buffer_limits (line 84) | def set_read_buffer_limits(self, high: int | None = None, low: int | N...
    method get_read_buffer_size (line 85) | def get_read_buffer_size(self) -> int: ...
    method __del__ (line 87) | def __del__(self) -> None: ...
  class SSLProtocol (line 94) | class SSLProtocol(_SSLProtocolBase):
    method __init__ (line 119) | def __init__(
    method __init__ (line 132) | def __init__(
    method _set_app_protocol (line 144) | def _set_app_protocol(self, app_protocol: protocols.BaseProtocol) -> N...
    method _wakeup_waiter (line 145) | def _wakeup_waiter(self, exc: BaseException | None = None) -> None: ...
    method connection_lost (line 146) | def connection_lost(self, exc: BaseException | None) -> None: ...
    method eof_received (line 147) | def eof_received(self) -> None: ...
    method _get_extra_info (line 148) | def _get_extra_info(self, name: str, default: Any | None = None) -> An...
    method _start_shutdown (line 149) | def _start_shutdown(self) -> None: ...
    method _write_appdata (line 151) | def _write_appdata(self, list_of_data: list[bytes]) -> None: ...
    method _write_appdata (line 153) | def _write_appdata(self, data: bytes) -> None: ...
    method _start_handshake (line 155) | def _start_handshake(self) -> None: ...
    method _check_handshake_timeout (line 156) | def _check_handshake_timeout(self) -> None: ...
    method _on_handshake_complete (line 157) | def _on_handshake_complete(self, handshake_exc: BaseException | None) ...
    method _fatal_error (line 158) | def _fatal_error(self, exc: BaseException, message: str = "Fatal error...
    method _abort (line 160) | def _abort(self, exc: BaseException | None) -> None: ...
    method get_buffer (line 161) | def get_buffer(self, n: int) -> memoryview: ...
    method _abort (line 163) | def _abort(self) -> None: ...
    method _finalize (line 164) | def _finalize(self) -> None: ...
    method _process_write_backlog (line 165) | def _process_write_backlog(self) -> None: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/staggered.pyi
  function staggered_race (line 8) | async def staggered_race(

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/streams.pyi
  class _ReaduntilBuffer (line 34) | class _ReaduntilBuffer(ReadableBuffer, Sized, Protocol): ...
  function open_connection (line 37) | async def open_connection(
  function start_server (line 45) | async def start_server(
  function open_connection (line 58) | async def open_connection(
  function start_server (line 67) | async def start_server(
  function open_unix_connection (line 80) | async def open_unix_connection(
  function start_unix_server (line 83) | async def start_unix_server(
  function open_unix_connection (line 91) | async def open_unix_connection(
  function start_unix_server (line 98) | async def start_unix_server(
  class FlowControlMixin (line 107) | class FlowControlMixin(protocols.Protocol):
    method __init__ (line 108) | def __init__(self, loop: events.AbstractEventLoop | None = None) -> No...
  class StreamReaderProtocol (line 110) | class StreamReaderProtocol(FlowControlMixin, protocols.Protocol):
    method __init__ (line 111) | def __init__(
    method __del__ (line 117) | def __del__(self) -> None: ...
  class StreamWriter (line 119) | class StreamWriter:
    method __init__ (line 124) | def __init__(
    method transport (line 133) | def transport(self) -> transports.WriteTransport: ...
    method write (line 134) | def write(self, data: bytes | bytearray | memoryview | str) -> None: ...
    method awrite (line 135) | def awrite(self, data: bytes | bytearray | memoryview | str) -> Awaita...
    method writelines (line 136) | def writelines(self, data: Iterable[bytes | bytearray | memoryview]) -...
    method write_eof (line 137) | def write_eof(self) -> None: ...
    method can_write_eof (line 138) | def can_write_eof(self) -> bool: ...
    method close (line 139) | def close(self) -> None: ...
    method is_closing (line 140) | def is_closing(self) -> bool: ...
    method wait_closed (line 141) | async def wait_closed(self) -> None: ...
    method get_extra_info (line 142) | def get_extra_info(self, name: str, default: Any = None) -> Any: ...
    method drain (line 143) | async def drain(self) -> None: ...
    method start_tls (line 145) | async def start_tls(
    method start_tls (line 154) | async def start_tls(
    method __del__ (line 163) | def __del__(self, warnings: ModuleType = ...) -> None: ...
    method __del__ (line 165) | def __del__(self) -> None: ...
  class StreamReader (line 169) | class StreamReader:
    method __init__ (line 170) | def __init__(
    method readinto (line 177) | async def readinto(self, buf: bytearray | memoryview) -> int:
    method exception (line 185) | def exception(self) -> Exception: ...
    method set_exception (line 186) | def set_exception(self, exc: Exception) -> None: ...
    method set_transport (line 187) | def set_transport(self, transport: transports.BaseTransport) -> None: ...
    method feed_eof (line 188) | def feed_eof(self) -> None: ...
    method at_eof (line 189) | def at_eof(self) -> bool: ...
    method feed_data (line 190) | def feed_data(self, data: Iterable[SupportsIndex]) -> None: ...
    method readline (line 191) | async def readline(self) -> bytes: ...
    method readuntil (line 193) | async def readuntil(self, separator: _ReaduntilBuffer | tuple[_Readunt...
    method readuntil (line 195) | async def readuntil(self, separator: _ReaduntilBuffer = b"\n") -> byte...
    method read (line 197) | async def read(self, n: int = -1) -> bytes: ...
    method readexactly (line 198) | async def readexactly(self, n: int) -> bytes: ...
    method __aiter__ (line 199) | def __aiter__(self) -> Self: ...
    method __anext__ (line 200) | async def __anext__(self) -> bytes: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/tasks.pyi
  class _SyncAndAsyncIterator (line 92) | class _SyncAndAsyncIterator(Iterator[_T_co], AsyncIterator[_T_co], Proto...
  function as_completed (line 94) | def as_completed(fs: Iterable[_FutureLike[_T]], *, timeout: float | None...
  function as_completed (line 97) | def as_completed(fs: Iterable[_FutureLike[_T]], *, timeout: float | None...
  function as_completed (line 100) | def as_completed(
  function ensure_future (line 108) | def ensure_future(coro_or_future: _FT, *, loop: AbstractEventLoop | None...
  function ensure_future (line 110) | def ensure_future(coro_or_future: Awaitable[_T], *, loop: AbstractEventL...
  function gather (line 120) | def gather(coro_or_future1: _FutureLike[_T1], /, *, return_exceptions: L...
  function gather (line 122) | def gather(  # type: ignore[overload-overlap]
  function gather (line 130) | def gather(  # type: ignore[overload-overlap]
  function gather (line 139) | def gather(  # type: ignore[overload-overlap]
  function gather (line 149) | def gather(  # type: ignore[overload-overlap]
  function gather (line 160) | def gather(  # type: ignore[overload-overlap]
  function gather (line 172) | def gather(*coros_or_futures: _FutureLike[_T], return_exceptions: Litera...
  function gather (line 174) | def gather(coro_or_future1: _FutureLike[_T1], /, *, return_exceptions: b...
  function gather (line 176) | def gather(
  function gather (line 184) | def gather(
  function gather (line 193) | def gather(
  function gather (line 203) | def gather(
  function gather (line 222) | def gather(
  function gather (line 243) | def gather(*coros_or_futures: _FutureLike[_T], return_exceptions: bool) ...
  function gather (line 247) | def gather(  # type: ignore[overload-overlap]
  function gather (line 255) | def gather(  # type: ignore[overload-overlap]
  function gather (line 264) | def gather(  # type: ignore[overload-overlap]
  function gather (line 274) | def gather(  # type: ignore[overload-overlap]
  function gather (line 285) | def gather(  # type: ignore[overload-overlap]
  function gather (line 297) | def gather(  # type: ignore[overload-overlap]
  function gather (line 310) | def gather(  # type: ignore[overload-overlap]
  function gather (line 316) | def gather(  # type: ignore[overload-overlap]
  function gather (line 324) | def gather(  # type: ignore[overload-overlap]
  function gather (line 333) | def gather(  # type: ignore[overload-overlap]
  function gather (line 343) | def gather(  # type: ignore[overload-overlap]
  function gather (line 354) | def gather(  # type: ignore[overload-overlap]
  function gather (line 376) | def gather(
  function run_coroutine_threadsafe (line 382) | def run_coroutine_threadsafe(coro: _FutureLike[_T], loop: AbstractEventL...
  function shield (line 385) | def shield(arg: _FutureLike[_T]) -> Future[_T]: ...
  function sleep (line 387) | async def sleep(delay: float) -> None: ...
  function sleep (line 389) | async def sleep(delay: float, result: _T) -> _T: ...
  function wait_for (line 390) | async def wait_for(fut: _FutureLike[_T], timeout: float | None) -> _T: ...
  function sleep_ms (line 393) | async def sleep_ms(delay: float) -> None: ...
  function sleep_ms (line 395) | async def sleep_ms(delay: int) -> None: ...
  function wait_for_ms (line 397) | async def wait_for_ms(aw: _FutureLike[_T], timeout: int) -> _T: ...
  function shield (line 400) | def shield(arg: _FutureLike[_T], *, loop: AbstractEventLoop | None = Non...
  function sleep (line 402) | async def sleep(delay: float, *, loop: AbstractEventLoop | None = None) ...
  function sleep (line 404) | async def sleep(delay: float, result: _T, *, loop: AbstractEventLoop | N...
  function wait_for (line 405) | async def wait_for(fut: _FutureLike[_T], timeout: float | None, *, loop:...
  function sleep_ms (line 408) | async def sleep_ms(delay: float) -> None: ...
  function sleep_ms (line 410) | async def sleep_ms(delay: int) -> None: ...
  function wait_for_ms (line 412) | async def wait_for_ms(aw: _FutureLike[_T], timeout: int) -> _T: ...
  function wait (line 416) | async def wait(fs: Iterable[_FT], *, timeout: float | None = None, retur...
  function wait (line 418) | async def wait(
  function wait (line 424) | async def wait(  # type: ignore[overload-overlap]
  function wait (line 428) | async def wait(
  function wait (line 437) | async def wait(  # type: ignore[overload-overlap]
  function wait (line 445) | async def wait(
  function all_tasks (line 460) | def all_tasks(loop: AbstractEventLoop | None = None) -> set[Task[Any]]: ...
  function create_task (line 463) | def create_task(coro: _CoroutineLike[_T], *, name: str | None = None, co...
  function create_task (line 466) | def create_task(coro: _CoroutineLike[_T], *, name: str | None = None) ->...
  function current_task (line 471) | def current_task(loop: AbstractEventLoop | None = None) -> Task[Any] | N...
  class _CustomTaskConstructor (line 476) | class _CustomTaskConstructor(Protocol[_TaskT_co]):
    method __call__ (line 477) | def __call__(
  class _EagerTaskFactoryType (line 488) | class _EagerTaskFactoryType(Protocol[_TaskT_co]):
    method __call__ (line 489) | def __call__(
  function create_eager_task_factory (line 498) | def create_eager_task_factory(
  function eager_task_factory (line 501) | def eager_task_factory(

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/threads.pyi
  function to_thread (line 9) | async def to_thread(func: Callable[_P, _R], /, *args: _P.args, **kwargs:...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/timeouts.pyi
  class Timeout (line 8) | class Timeout:
    method __init__ (line 9) | def __init__(self, when: float | None) -> None: ...
    method when (line 10) | def when(self) -> float | None: ...
    method reschedule (line 11) | def reschedule(self, when: float | None) -> None: ...
    method expired (line 12) | def expired(self) -> bool: ...
    method __aenter__ (line 13) | async def __aenter__(self) -> Self: ...
    method __aexit__ (line 14) | async def __aexit__(
  function timeout (line 18) | def timeout(delay: float | None) -> Timeout: ...
  function timeout_at (line 19) | def timeout_at(when: float | None) -> Timeout: ...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/transports.pyi
  class BaseTransport (line 9) | class BaseTransport:
    method __init__ (line 10) | def __init__(self, extra: Mapping[str, Any] | None = None) -> None: ...
    method get_extra_info (line 11) | def get_extra_info(self, name: str, default: Any = None) -> Any: ...
    method is_closing (line 12) | def is_closing(self) -> bool: ...
    method close (line 13) | def close(self) -> None: ...
    method set_protocol (line 14) | def set_protocol(self, protocol: BaseProtocol) -> None: ...
    method get_protocol (line 15) | def get_protocol(self) -> BaseProtocol: ...
  class ReadTransport (line 17) | class ReadTransport(BaseTransport):
    method is_reading (line 18) | def is_reading(self) -> bool: ...
    method pause_reading (line 19) | def pause_reading(self) -> None: ...
    method resume_reading (line 20) | def resume_reading(self) -> None: ...
  class WriteTransport (line 22) | class WriteTransport(BaseTransport):
    method set_write_buffer_limits (line 23) | def set_write_buffer_limits(self, high: int | None = None, low: int | ...
    method get_write_buffer_size (line 24) | def get_write_buffer_size(self) -> int: ...
    method get_write_buffer_limits (line 25) | def get_write_buffer_limits(self) -> tuple[int, int]: ...
    method write (line 26) | def write(self, data: bytes | bytearray | memoryview) -> None: ...
    method writelines (line 27) | def writelines(self, list_of_data: Iterable[bytes | bytearray | memory...
    method write_eof (line 28) | def write_eof(self) -> None: ...
    method can_write_eof (line 29) | def can_write_eof(self) -> bool: ...
    method abort (line 30) | def abort(self) -> None: ...
  class Transport (line 32) | class Transport(ReadTransport, WriteTransport): ...
  class DatagramTransport (line 34) | class DatagramTransport(BaseTransport):
    method sendto (line 35) | def sendto(self, data: bytes | bytearray | memoryview, addr: _Address ...
    method abort (line 36) | def abort(self) -> None: ...
  class SubprocessTransport (line 38) | class SubprocessTransport(BaseTransport):
    method get_pid (line 39) | def get_pid(self) -> int: ...
    method get_returncode (line 40) | def get_returncode(self) -> int | None: ...
    method get_pipe_transport (line 41) | def get_pipe_transport(self, fd: int) -> BaseTransport | None: ...
    method send_signal (line 42) | def send_signal(self, signal: int) -> None: ...
    method terminate (line 43) | def terminate(self) -> None: ...
    method kill (line 44) | def kill(self) -> None: ...
  class _FlowControlMixin (line 46) | class _FlowControlMixin(Transport):
    method __init__ (line 47) | def __init__(self, extra: Mapping[str, Any] | None = None, loop: Abstr...

FILE: publish/micropython-stdlib-stubs/stdlib/asyncio/trsock.pyi
  class TransportSocket (line 16) | class TransportSocket:
    method __init__ (line 17) | def __init__(self, sock: socket.socket) -> None: ...
    method family (line 19) | def family(self) -> int: ...
    method type (line 21) | def type(self) -> int: ...
    method proto (line 23) | def proto(self) -> int: ...
    method __getstate__ (line 24) | def __getstate__(self) -> NoReturn: ...
    method fileno (line 25) | def fileno(self) -> int: ...
    method dup (line 26) | def dup(self) -> socket.socket: ...
    method get_inheritable (line 27) | def get_inheritable(self) -> bool: ...
    method shutdown (line 28) | def shutdown(self, how: int) -> None: ...
    method getsockopt (line 30) | def getsockopt(self, level: int, optname: int) -> int: ...
    method getsockopt (line 32) | def getsockopt(self, level: int, optname: int, buflen: int) -> bytes: ...
    method setsockopt (line 34) | def setsockopt(self, level: int, optname: int, value: int | ReadableBu...
    method setsockopt (line 36) | def setsockopt(self, level: int, optname: int, value: None, optlen: in...
    method getpeername (line 37) | def getpeername(self) -> _RetAddress: ...
    method getsockname (line 38) | def getsockname(self) -> _RetAddress: ...
    method getsockbyname (line 39) | def getsockbyname(self) -> NoReturn: ...  # This method doesn't exist ...
    method settimeout (line 40) | def settimeout(self, value: float | None) -> None: ...
    method gettimeout (line 41) | def gettimeout(self) -> float | None: ...
    method setblocking (line 42) | def setblocking(self, flag: bool) -> None: ...
    method _na (line 44) | def _na(self, what: str) -> None: ...
    method accept (line 45) | def accept(self) -> tuple[socket.socket, _RetAddress]: ...
    method connect (line 46) | def connect(self, address: _Address) -> None: ...
    method connect_ex (line 47) | def connect_ex(self, address: _Address) -> int: ...
    method bind (line 48) | def bind(self, address: _Address) -> None: ...
    method ioctl (line 50) | def ioctl(self, control: int, option: int | tuple[int, int, int] | boo...
    method ioctl (line 52) | def ioctl(self, control: int, option: int | tuple[int, int, int] | boo...
    method listen (line 54) | def listen(self, backlog: int = ..., /) -> None: ...
    method makefile (line 55) | def makefile(self) -> BinaryIO: ...
    method sendfile (line 56) | def sendfile(self, file: BinaryIO, offset: int = ..., count: int | Non...
    method close (line 57) | def close(self) -> None: ...
    method detach (line 58) | def detach(self) -> int: ...
    method sendmsg_afalg (line 60) | def sendmsg_afalg(
    method sendmsg_afalg (line 64) | def sendmsg_afalg(
    method sendmsg (line 68) | def sendmsg(
    method sendto (line 72) | def sendto(self, data: ReadableBuffer, address: _Address) -> int: ...
    method sendto (line 74) | def sendto(self, data: ReadableBuffer, flags: int, address: _Address) ...
    method send (line 75) | def send(self, data: ReadableBuffer, flags: int = ...) -> int: ...
    method sendall (line 76) | def sendall(self, data: ReadableBuffer, flags: int = ...) -> None: ...
    method set_inheritable (line 77) | def set_inheritable(self, inheritable: bool) -> None: ...
    method share (line 79) | def share(self, process_id: int) -> bytes: ...
    method share (line 81) | def share(self, process_id: int) -> NoReturn: ...
    method recv_into (line 83) | def recv_into(self, buffer: _WriteBuffer, nbytes: int = ..., flags: in...
    method recvfrom_into (line 84) | def recvfrom_into(self, buffer: _WriteBuffer, nbytes: int = ..., flags...
    method recvmsg_into (line 85) | def recvmsg_into(
    method recvmsg (line 88) | def recvmsg(self, bufsize: int, ancbufsize: int = ..., flags: int = .....
    method recvfrom (line 89) | def recvfrom(self, bufsize: int, flags: int = ...) -> tuple[bytes, _Re...
    method recv (line 90) | def recv(self, bufsize: int, flags: int = ...) -> bytes: ...
    method __enter__ (line 91) | def __enter__(self) -> socket.socket: ...
    method __exit__ (line 92) | def __exit__(self, exc_type: Type[BaseException] | None, exc_val: Base...

FILE: publish/micropython-stdlib-stubs/stdlib/builtins.pyi
  class object (line 102) | class object:
    method __class__ (line 108) | def __class__(self) -> type[Self]: ...
    method __class__ (line 110) | def __class__(self, type: type[object], /) -> None: ...
    method __init__ (line 111) | def __init__(self) -> None: ...
    method __new__ (line 112) | def __new__(cls) -> Self: ...
    method __setattr__ (line 115) | def __setattr__(self, name: str, value: Any, /) -> None: ...
    method __delattr__ (line 116) | def __delattr__(self, name: str, /) -> None: ...
    method __eq__ (line 117) | def __eq__(self, value: object, /) -> bool: ...
    method __ne__ (line 118) | def __ne__(self, value: object, /) -> bool: ...
    method __str__ (line 119) | def __str__(self) -> str: ...  # noqa: Y029
    method __repr__ (line 120) | def __repr__(self) -> str: ...  # noqa: Y029
    method __hash__ (line 121) | def __hash__(self) -> int: ...
    method __format__ (line 122) | def __format__(self, format_spec: str, /) -> str: ...
    method __getattribute__ (line 123) | def __getattribute__(self, name: str, /) -> Any: ...
    method __sizeof__ (line 124) | def __sizeof__(self) -> int: ...
    method __reduce__ (line 127) | def __reduce__(self) -> str | tuple[Any, ...]: ...
    method __reduce_ex__ (line 128) | def __reduce_ex__(self, protocol: SupportsIndex, /) -> str | tuple[Any...
    method __getstate__ (line 130) | def __getstate__(self) -> object: ...
    method __dir__ (line 132) | def __dir__(self) -> Iterable[str]: ...
    method __init_subclass__ (line 133) | def __init_subclass__(cls) -> None: ...
    method __subclasshook__ (line 135) | def __subclasshook__(cls, subclass: type, /) -> bool: ...
  class staticmethod (line 137) | class staticmethod(Generic[_P, _R_co]):
    method __func__ (line 139) | def __func__(self) -> Callable[_P, _R_co]: ...
    method __isabstractmethod__ (line 141) | def __isabstractmethod__(self) -> bool: ...
    method __init__ (line 142) | def __init__(self, f: Callable[_P, _R_co], /) -> None: ...
    method __get__ (line 144) | def __get__(self, instance: None, owner: type, /) -> Callable[_P, _R_c...
    method __get__ (line 146) | def __get__(self, instance: _T, owner: type[_T] | None = None, /) -> C...
    method __wrapped__ (line 151) | def __wrapped__(self) -> Callable[_P, _R_co]: ...
    method __call__ (line 152) | def __call__(self, *args: _P.args, **kwargs: _P.kwargs) -> _R_co: ...
  class classmethod (line 154) | class classmethod(Generic[_T, _P, _R_co]):
    method __func__ (line 156) | def __func__(self) -> Callable[Concatenate[type[_T], _P], _R_co]: ...
    method __isabstractmethod__ (line 158) | def __isabstractmethod__(self) -> bool: ...
    method __init__ (line 159) | def __init__(self, f: Callable[Concatenate[type[_T], _P], _R_co], /) -...
    method __get__ (line 161) | def __get__(self, instance: _T, owner: type[_T] | None = None, /) -> C...
    method __get__ (line 163) | def __get__(self, instance: None, owner: type[_T], /) -> Callable[_P, ...
    method __wrapped__ (line 168) | def __wrapped__(self) -> Callable[Concatenate[type[_T], _P], _R_co]: ...
  class type (line 170) | class type:
    method __base__ (line 173) | def __base__(self) -> type | None: ...
    method __basicsize__ (line 176) | def __basicsize__(self) -> int: ...
    method __dict__ (line 178) | def __dict__(self) -> types.MappingProxyType[str, Any]: ...  # type: i...
    method __dictoffset__ (line 180) | def __dictoffset__(self) -> int: ...
    method __flags__ (line 182) | def __flags__(self) -> int: ...
    method __itemsize__ (line 184) | def __itemsize__(self) -> int: ...
    method __mro__ (line 187) | def __mro__(self) -> tuple[type, ...]: ...
    method __text_signature__ (line 191) | def __text_signature__(self) -> str | None: ...
    method __weakrefoffset__ (line 193) | def __weakrefoffset__(self) -> int: ...
    method __init__ (line 195) | def __init__(self, o: object, /) -> None: ...
    method __init__ (line 197) | def __init__(self, name: str, bases: tuple[type, ...], dict: dict[str,...
    method __new__ (line 199) | def __new__(cls, o: object, /) -> type: ...
    method __new__ (line 201) | def __new__(
    method __call__ (line 204) | def __call__(self, *args: Any, **kwds: Any) -> Any: ...
    method __subclasses__ (line 205) | def __subclasses__(self: _typeshed.Self) -> list[_typeshed.Self]: ...
    method mro (line 208) | def mro(self) -> list[type]: ...
    method __instancecheck__ (line 209) | def __instancecheck__(self, instance: Any, /) -> bool: ...
    method __subclasscheck__ (line 210) | def __subclasscheck__(self, subclass: type, /) -> bool: ...
    method __prepare__ (line 212) | def __prepare__(metacls, name: str, bases: tuple[type, ...], /, **kwds...
    method __or__ (line 214) | def __or__(self, value: Any, /) -> types.UnionType: ...
    method __ror__ (line 215) | def __ror__(self, value: Any, /) -> types.UnionType: ...
  class super (line 219) | class super:
    method __init__ (line 221) | def __init__(self, t: Any, obj: Any, /) -> None: ...
    method __init__ (line 223) | def __init__(self, t: Any, /) -> None: ...
    method __init__ (line 225) | def __init__(self) -> None: ...
  class int (line 231) | class int:
    method __new__ (line 233) | def __new__(cls, x: ConvertibleToInt = ..., /) -> Self: ...
    method __new__ (line 235) | def __new__(cls, x: str | bytes | bytearray, /, base: SupportsIndex) -...
    method as_integer_ratio (line 236) | def as_integer_ratio(self) -> tuple[int, Literal[1]]: ...
    method real (line 238) | def real(self) -> int: ...
    method imag (line 240) | def imag(self) -> Literal[0]: ...
    method numerator (line 242) | def numerator(self) -> int: ...
    method denominator (line 244) | def denominator(self) -> Literal[1]: ...
    method conjugate (line 245) | def conjugate(self) -> int: ...
    method bit_length (line 246) | def bit_length(self) -> int: ...
    method bit_count (line 248) | def bit_count(self) -> int: ...
    method to_bytes (line 251) | def to_bytes(self, length: SupportsIndex = 1, byteorder: Literal["litt...
    method from_bytes (line 253) | def from_bytes(
    method to_bytes (line 261) | def to_bytes(self, length: SupportsIndex, byteorder: Literal["little",...
    method from_bytes (line 263) | def from_bytes(
    method is_integer (line 272) | def is_integer(self) -> Literal[True]: ...
    method __add__ (line 274) | def __add__(self, value: int, /) -> int: ...
    method __sub__ (line 275) | def __sub__(self, value: int, /) -> int: ...
    method __mul__ (line 276) | def __mul__(self, value: int, /) -> int: ...
    method __floordiv__ (line 277) | def __floordiv__(self, value: int, /) -> int: ...
    method __truediv__ (line 278) | def __truediv__(self, value: int, /) -> float: ...
    method __mod__ (line 279) | def __mod__(self, value: int, /) -> int: ...
    method __divmod__ (line 280) | def __divmod__(self, value: int, /) -> tuple[int, int]: ...
    method __radd__ (line 281) | def __radd__(self, value: int, /) -> int: ...
    method __rsub__ (line 282) | def __rsub__(self, value: int, /) -> int: ...
    method __rmul__ (line 283) | def __rmul__(self, value: int, /) -> int: ...
    method __rfloordiv__ (line 284) | def __rfloordiv__(self, value: int, /) -> int: ...
    method __rtruediv__ (line 285) | def __rtruediv__(self, value: int, /) -> float: ...
    method __rmod__ (line 286) | def __rmod__(self, value: int, /) -> int: ...
    method __rdivmod__ (line 287) | def __rdivmod__(self, value: int, /) -> tuple[int, int]: ...
    method __pow__ (line 289) | def __pow__(self, x: Literal[0], /) -> Literal[1]: ...
    method __pow__ (line 291) | def __pow__(self, value: Literal[0], mod: None, /) -> Literal[1]: ...
    method __pow__ (line 293) | def __pow__(self, value: _PositiveInteger, mod: None = None, /) -> int...
    method __pow__ (line 295) | def __pow__(self, value: _NegativeInteger, mod: None = None, /) -> flo...
    method __pow__ (line 299) | def __pow__(self, value: int, mod: None = None, /) -> Any: ...
    method __pow__ (line 301) | def __pow__(self, value: int, mod: int, /) -> int: ...
    method __rpow__ (line 302) | def __rpow__(self, value: int, mod: int | None = None, /) -> Any: ... ...
    method __and__ (line 303) | def __and__(self, value: int, /) -> int: ...
    method __or__ (line 304) | def __or__(self, value: int, /) -> int: ...
    method __xor__ (line 305) | def __xor__(self, value: int, /) -> int: ...
    method __lshift__ (line 306) | def __lshift__(self, value: int, /) -> int: ...
    method __rshift__ (line 307) | def __rshift__(self, value: int, /) -> int: ...
    method __rand__ (line 308) | def __rand__(self, value: int, /) -> int: ...
    method __ror__ (line 309) | def __ror__(self, value: int, /) -> int: ...
    method __rxor__ (line 310) | def __rxor__(self, value: int, /) -> int: ...
    method __rlshift__ (line 311) | def __rlshift__(self, value: int, /) -> int: ...
    method __rrshift__ (line 312) | def __rrshift__(self, value: int, /) -> int: ...
    method __neg__ (line 313) | def __neg__(self) -> int: ...
    method __pos__ (line 314) | def __pos__(self) -> int: ...
    method __invert__ (line 315) | def __invert__(self) -> int: ...
    method __trunc__ (line 316) | def __trunc__(self) -> int: ...
    method __ceil__ (line 317) | def __ceil__(self) -> int: ...
    method __floor__ (line 318) | def __floor__(self) -> int: ...
    method __round__ (line 319) | def __round__(self, ndigits: SupportsIndex = ..., /) -> int: ...
    method __getnewargs__ (line 320) | def __getnewargs__(self) -> tuple[int]: ...
    method __eq__ (line 321) | def __eq__(self, value: object, /) -> bool: ...
    method __ne__ (line 322) | def __ne__(self, value: object, /) -> bool: ...
    method __lt__ (line 323) | def __lt__(self, value: int, /) -> bool: ...
    method __le__ (line 324) | def __le__(self, value: int, /) -> bool: ...
    method __gt__ (line 325) | def __gt__(self, value: int, /) -> bool: ...
    method __ge__ (line 326) | def __ge__(self, value: int, /) -> bool: ...
    method __float__ (line 327) | def __float__(self) -> float: ...
    method __int__ (line 328) | def __int__(self) -> int: ...
    method __abs__ (line 329) | def __abs__(self) -> int: ...
    method __hash__ (line 330) | def __hash__(self) -> int: ...
    method __bool__ (line 331) | def __bool__(self) -> bool: ...
    method __index__ (line 332) | def __index__(self) -> int: ...
  class float (line 334) | class float:
    method __new__ (line 335) | def __new__(cls, x: ConvertibleToFloat = ..., /) -> Self: ...
    method as_integer_ratio (line 336) | def as_integer_ratio(self) -> tuple[int, int]: ...
    method hex (line 337) | def hex(self) -> str: ...
    method is_integer (line 338) | def is_integer(self) -> bool: ...
    method fromhex (line 340) | def fromhex(cls, string: str, /) -> Self: ...
    method real (line 342) | def real(self) -> float: ...
    method imag (line 344) | def imag(self) -> float: ...
    method conjugate (line 345) | def conjugate(self) -> float: ...
    method __add__ (line 346) | def __add__(self, value: float, /) -> float: ...
    method __sub__ (line 347) | def __sub__(self, value: float, /) -> float: ...
    method __mul__ (line 348) | def __mul__(self, value: float, /) -> float: ...
    method __floordiv__ (line 349) | def __floordiv__(self, value: float, /) -> float: ...
    method __truediv__ (line 350) | def __truediv__(self, value: float, /) -> float: ...
    method __mod__ (line 351) | def __mod__(self, value: float, /) -> float: ...
    method __divmod__ (line 352) | def __divmod__(self, value: float, /) -> tuple[float, float]: ...
    method __pow__ (line 354) | def __pow__(self, value: int, mod: None = None, /) -> float: ...
    method __pow__ (line 358) | def __pow__(self, value: float, mod: None = None, /) -> Any: ...
    method __radd__ (line 359) | def __radd__(self, value: float, /) -> float: ...
    method __rsub__ (line 360) | def __rsub__(self, value: float, /) -> float: ...
    method __rmul__ (line 361) | def __rmul__(self, value: float, /) -> float: ...
    method __rfloordiv__ (line 362) | def __rfloordiv__(self, value: float, /) -> float: ...
    method __rtruediv__ (line 363) | def __rtruediv__(self, value: float, /) -> float: ...
    method __rmod__ (line 364) | def __rmod__(self, value: float, /) -> float: ...
    method __rdivmod__ (line 365) | def __rdivmod__(self, value: float, /) -> tuple[float, float]: ...
    method __rpow__ (line 367) | def __rpow__(self, value: _PositiveInteger, mod: None = None, /) -> fl...
    method __rpow__ (line 369) | def __rpow__(self, value: _NegativeInteger, mod: None = None, /) -> co...
    method __rpow__ (line 372) | def __rpow__(self, value: float, mod: None = None, /) -> Any: ...
    method __getnewargs__ (line 373) | def __getnewargs__(self) -> tuple[float]: ...
    method __trunc__ (line 374) | def __trunc__(self) -> int: ...
    method __ceil__ (line 376) | def __ceil__(self) -> int: ...
    method __floor__ (line 377) | def __floor__(self) -> int: ...
    method __round__ (line 380) | def __round__(self, ndigits: None = None, /) -> int: ...
    method __round__ (line 382) | def __round__(self, ndigits: SupportsIndex, /) -> float: ...
    method __eq__ (line 383) | def __eq__(self, value: object, /) -> bool: ...
    method __ne__ (line 384) | def __ne__(self, value: object, /) -> bool: ...
    method __lt__ (line 385) | def __lt__(self, value: float, /) -> bool: ...
    method __le__ (line 386) | def __le__(self, value: float, /) -> bool: ...
    method __gt__ (line 387) | def __gt__(self, value: float, /) -> bool: ...
    method __ge__ (line 388) | def __ge__(self, value: float, /) -> bool: ...
    method __neg__ (line 389) | def __neg__(self) -> float: ...
    method __pos__ (line 390) | def __pos__(self) -> float: ...
    method __int__ (line 391) | def __int__(self) -> int: ...
    method __float__ (line 392) | def __float__(self) -> float: ...
    method __abs__ (line 393) | def __abs__(self) -> float: ...
    method __hash__ (line 394) | def __hash__(self) -> int: ...
    method __bool__ (line 395) | def __bool__(self) -> bool: ...
  class complex (line 397) | class complex:
    method __new__ (line 400) | def __new__(
    method __new__ (line 406) | def __new__(cls, real: str | SupportsComplex | SupportsFloat | Support...
    method real (line 408) | def real(self) -> float: ...
    method imag (line 410) | def imag(self) -> float: ...
    method conjugate (line 411) | def conjugate(self) -> complex: ...
    method __add__ (line 412) | def __add__(self, value: complex, /) -> complex: ...
    method __sub__ (line 413) | def __sub__(self, value: complex, /) -> complex: ...
    method __mul__ (line 414) | def __mul__(self, value: complex, /) -> complex: ...
    method __pow__ (line 415) | def __pow__(self, value: complex, mod: None = None, /) -> complex: ...
    method __truediv__ (line 416) | def __truediv__(self, value: complex, /) -> complex: ...
    method __radd__ (line 417) | def __radd__(self, value: complex, /) -> complex: ...
    method __rsub__ (line 418) | def __rsub__(self, value: complex, /) -> complex: ...
    method __rmul__ (line 419) | def __rmul__(self, value: complex, /) -> complex: ...
    method __rpow__ (line 420) | def __rpow__(self, value: complex, mod: None = None, /) -> complex: ...
    method __rtruediv__ (line 421) | def __rtruediv__(self, value: complex, /) -> complex: ...
    method __eq__ (line 422) | def __eq__(self, value: object, /) -> bool: ...
    method __ne__ (line 423) | def __ne__(self, value: object, /) -> bool: ...
    method __neg__ (line 424) | def __neg__(self) -> complex: ...
    method __pos__ (line 425) | def __pos__(self) -> complex: ...
    method __abs__ (line 426) | def __abs__(self) -> float: ...
    method __hash__ (line 427) | def __hash__(self) -> int: ...
    method __bool__ (line 428) | def __bool__(self) -> bool: ...
    method __complex__ (line 430) | def __complex__(self) -> complex: ...
  class _FormatMapMapping (line 432) | class _FormatMapMapping(Protocol):
    method __getitem__ (line 433) | def __getitem__(self, key: str, /) -> Any: ...
  class _TranslateTable (line 435) | class _TranslateTable(Protocol):
    method __getitem__ (line 436) | def __getitem__(self, key: int, /) -> str | int | None: ...
  class str (line 438) | class str(Sequence[str]):
    method __new__ (line 440) | def __new__(cls, object: object = ...) -> Self: ...
    method __new__ (line 442) | def __new__(cls, object: ReadableBuffer, encoding: str = ..., errors: ...
    method capitalize (line 444) | def capitalize(self: LiteralString) -> LiteralString: ...
    method capitalize (line 446) | def capitalize(self) -> str: ...  # type: ignore[misc]
    method casefold (line 448) | def casefold(self: LiteralString) -> LiteralString: ...
    method casefold (line 450) | def casefold(self) -> str: ...  # type: ignore[misc]
    method center (line 452) | def center(self: LiteralString, width: SupportsIndex, fillchar: Litera...
    method center (line 454) | def center(self, width: SupportsIndex, fillchar: str = " ", /) -> str:...
    method count (line 455) | def count(self, sub: str, start: SupportsIndex | None = ..., end: Supp...
    method encode (line 456) | def encode(self, encoding: str = "utf-8", errors: str = "strict") -> b...
    method endswith (line 457) | def endswith(self, suffix: str | tuple[str, ...], start: SupportsIndex...
    method expandtabs (line 459) | def expandtabs(self: LiteralString, tabsize: SupportsIndex = 8) -> Lit...
    method expandtabs (line 461) | def expandtabs(self, tabsize: SupportsIndex = 8) -> str: ...  # type: ...
    method find (line 462) | def find(self, sub: str, start: SupportsIndex | None = ..., end: Suppo...
    method format (line 464) | def format(self: LiteralString, *args: LiteralString, **kwargs: Litera...
    method format (line 466) | def format(self, *args: object, **kwargs: object) -> str: ...
    method format_map (line 467) | def format_map(self, mapping: _FormatMapMapping, /) -> str: ...
    method index (line 468) | def index(self, sub: str, start: SupportsIndex | None = ..., end: Supp...
    method isalnum (line 469) | def isalnum(self) -> bool: ...
    method isalpha (line 470) | def isalpha(self) -> bool: ...
    method isascii (line 471) | def isascii(self) -> bool: ...
    method isdecimal (line 472) | def isdecimal(self) -> bool: ...
    method isdigit (line 473) | def isdigit(self) -> bool: ...
    method isidentifier (line 474) | def isidentifier(self) -> bool: ...
    method islower (line 475) | def islower(self) -> bool: ...
    method isnumeric (line 476) | def isnumeric(self) -> bool: ...
    method isprintable (line 477) | def isprintable(self) -> bool: ...
    method isspace (line 478) | def isspace(self) -> bool: ...
    method istitle (line 479) | def istitle(self) -> bool: ...
    method isupper (line 480) | def isupper(self) -> bool: ...
    method join (line 482) | def join(self: LiteralString, iterable: Iterable[LiteralString], /) ->...
    method join (line 484) | def join(self, iterable: Iterable[str], /) -> str: ...  # type: ignore...
    method ljust (line 486) | def ljust(self: LiteralString, width: SupportsIndex, fillchar: Literal...
    method ljust (line 488) | def ljust(self, width: SupportsIndex, fillchar: str = " ", /) -> str: ...
    method lower (line 490) | def lower(self: LiteralString) -> LiteralString: ...
    method lower (line 492) | def lower(self) -> str: ...  # type: ignore[misc]
    method lstrip (line 494) | def lstrip(self: LiteralString, chars: LiteralString | None = None, /)...
    method lstrip (line 496) | def lstrip(self, chars: str | None = None, /) -> str: ...  # type: ign...
    method partition (line 498) | def partition(self: LiteralString, sep: LiteralString, /) -> tuple[Lit...
    method partition (line 500) | def partition(self, sep: str, /) -> tuple[str, str, str]: ...  # type:...
    method replace (line 503) | def replace(self: LiteralString, old: LiteralString, new: LiteralStrin...
    method replace (line 505) | def replace(self, old: str, new: str, /, count: SupportsIndex = -1) ->...
    method replace (line 508) | def replace(self: LiteralString, old: LiteralString, new: LiteralStrin...
    method replace (line 510) | def replace(self, old: str, new: str, count: SupportsIndex = -1, /) ->...
    method removeprefix (line 513) | def removeprefix(self: LiteralString, prefix: LiteralString, /) -> Lit...
    method removeprefix (line 515) | def removeprefix(self, prefix: str, /) -> str: ...  # type: ignore[misc]
    method removesuffix (line 517) | def removesuffix(self: LiteralString, suffix: LiteralString, /) -> Lit...
    method removesuffix (line 519) | def removesuffix(self, suffix: str, /) -> str: ...  # type: ignore[misc]
    method rfind (line 521) | def rfind(self, sub: str, start: SupportsIndex | None = ..., end: Supp...
    method rindex (line 522) | def rindex(self, sub: str, start: SupportsIndex | None = ..., end: Sup...
    method rjust (line 524) | def rjust(self: LiteralString, width: SupportsIndex, fillchar: Literal...
    method rjust (line 526) | def rjust(self, width: SupportsIndex, fillchar: str = " ", /) -> str: ...
    method rpartition (line 528) | def rpartition(self: LiteralString, sep: LiteralString, /) -> tuple[Li...
    method rpartition (line 530) | def rpartition(self, sep: str, /) -> tuple[str, str, str]: ...  # type...
    method rsplit (line 532) | def rsplit(self: LiteralString, sep: LiteralString | None = None, maxs...
    method rsplit (line 534) | def rsplit(self, sep: str | None = None, maxsplit: SupportsIndex = -1)...
    method rstrip (line 536) | def rstrip(self: LiteralString, chars: LiteralString | None = None, /)...
    method rstrip (line 538) | def rstrip(self, chars: str | None = None, /) -> str: ...  # type: ign...
    method split (line 540) | def split(self: LiteralString, sep: LiteralString | None = None, maxsp...
    method split (line 542) | def split(self, sep: str | None = None, maxsplit: SupportsIndex = -1) ...
    method splitlines (line 544) | def splitlines(self: LiteralString, keepends: bool = False) -> list[Li...
    method splitlines (line 546) | def splitlines(self, keepends: bool = False) -> list[str]: ...  # type...
    method startswith (line 547) | def startswith(self, prefix: str | tuple[str, ...], start: SupportsInd...
    method strip (line 549) | def strip(self: LiteralString, chars: LiteralString | None = None, /) ...
    method strip (line 551) | def strip(self, chars: str | None = None, /) -> str: ...  # type: igno...
    method swapcase (line 553) | def swapcase(self: LiteralString) -> LiteralString: ...
    method swapcase (line 555) | def swapcase(self) -> str: ...  # type: ignore[misc]
    method title (line 557) | def title(self: LiteralString) -> LiteralString: ...
    method title (line 559) | def title(self) -> str: ...  # type: ignore[misc]
    method translate (line 560) | def translate(self, table: _TranslateTable, /) -> str: ...
    method upper (line 562) | def upper(self: LiteralString) -> LiteralString: ...
    method upper (line 564) | def upper(self) -> str: ...  # type: ignore[misc]
    method zfill (line 566) | def zfill(self: LiteralString, width: SupportsIndex, /) -> LiteralStri...
    method zfill (line 568) | def zfill(self, width: SupportsIndex, /) -> str: ...  # type: ignore[m...
    method maketrans (line 571) | def maketrans(x: dict[int, _T] | dict[str, _T] | dict[str | int, _T], ...
    method maketrans (line 574) | def maketrans(x: str, y: str, /) -> dict[int, int]: ...
    method maketrans (line 577) | def maketrans(x: str, y: str, z: str, /) -> dict[int, int | None]: ...
    method __add__ (line 579) | def __add__(self: LiteralString, value: LiteralString, /) -> LiteralSt...
    method __add__ (line 581) | def __add__(self, value: str, /) -> str: ...  # type: ignore[misc]
    method __contains__ (line 583) | def __contains__(self, key: str, /) -> bool: ...  # type: ignore[overr...
    method __eq__ (line 584) | def __eq__(self, value: object, /) -> bool: ...
    method __ge__ (line 585) | def __ge__(self, value: str, /) -> bool: ...
    method __getitem__ (line 587) | def __getitem__(self: LiteralString, key: SupportsIndex | slice, /) ->...
    method __getitem__ (line 589) | def __getitem__(self, key: SupportsIndex | slice, /) -> str: ...  # ty...
    method __gt__ (line 590) | def __gt__(self, value: str, /) -> bool: ...
    method __hash__ (line 591) | def __hash__(self) -> int: ...
    method __iter__ (line 593) | def __iter__(self: LiteralString) -> Iterator[LiteralString]: ...
    method __iter__ (line 595) | def __iter__(self) -> Iterator[str]: ...  # type: ignore[misc]
    method __le__ (line 596) | def __le__(self, value: str, /) -> bool: ...
    method __len__ (line 597) | def __len__(self) -> int: ...
    method __lt__ (line 598) | def __lt__(self, value: str, /) -> bool: ...
    method __mod__ (line 600) | def __mod__(self: LiteralString, value: LiteralString | tuple[LiteralS...
    method __mod__ (line 602) | def __mod__(self, value: Any, /) -> str: ...
    method __mul__ (line 604) | def __mul__(self: LiteralString, value: SupportsIndex, /) -> LiteralSt...
    method __mul__ (line 606) | def __mul__(self, value: SupportsIndex, /) -> str: ...  # type: ignore...
    method __ne__ (line 607) | def __ne__(self, value: object, /) -> bool: ...
    method __rmul__ (line 609) | def __rmul__(self: LiteralString, value: SupportsIndex, /) -> LiteralS...
    method __rmul__ (line 611) | def __rmul__(self, value: SupportsIndex, /) -> str: ...  # type: ignor...
    method __getnewargs__ (line 612) | def __getnewargs__(self) -> tuple[str]: ...
  class bytes (line 614) | class bytes(Sequence[int]):
    method __new__ (line 616) | def __new__(cls, o: Iterable[SupportsIndex] | SupportsIndex | Supports...
    method __new__ (line 618) | def __new__(cls, string: str, /, encoding: str, errors: str = ...) -> ...
    method __new__ (line 620) | def __new__(cls) -> Self: ...
    method capitalize (line 621) | def capitalize(self) -> bytes: ...
    method center (line 622) | def center(self, width: SupportsIndex, fillchar: bytes = b" ", /) -> b...
    method count (line 623) | def count(self, sub: ReadableBuffer | SupportsIndex, start: SupportsIn...
    method decode (line 624) | def decode(self, encoding: str = "utf-8", errors: str = "strict") -> s...
    method endswith (line 625) | def endswith(
    method expandtabs (line 632) | def expandtabs(self, tabsize: SupportsIndex = 8) -> bytes: ...
    method find (line 633) | def find(self, sub: ReadableBuffer | SupportsIndex, start: SupportsInd...
    method hex (line 634) | def hex(self, sep: str | bytes = ..., bytes_per_sep: SupportsIndex = ....
    method index (line 635) | def index(self, sub: ReadableBuffer | SupportsIndex, start: SupportsIn...
    method isalnum (line 636) | def isalnum(self) -> bool: ...
    method isalpha (line 637) | def isalpha(self) -> bool: ...
    method isascii (line 638) | def isascii(self) -> bool: ...
    method isdigit (line 639) | def isdigit(self) -> bool: ...
    method islower (line 640) | def islower(self) -> bool: ...
    method isspace (line 641) | def isspace(self) -> bool: ...
    method istitle (line 642) | def istitle(self) -> bool: ...
    method isupper (line 643) | def isupper(self) -> bool: ...
    method join (line 644) | def join(self, iterable_of_bytes: Iterable[ReadableBuffer], /) -> byte...
    method ljust (line 645) | def ljust(self, width: SupportsIndex, fillchar: bytes | bytearray = b"...
    method lower (line 646) | def lower(self) -> bytes: ...
    method lstrip (line 647) | def lstrip(self, bytes: ReadableBuffer | None = None, /) -> bytes: ......
    method partition (line 648) | def partition(self, sep: ReadableBuffer, /) -> tuple[bytes, bytes, byt...
    method replace (line 649) | def replace(self, old: ReadableBuffer, new: ReadableBuffer, count: Sup...
    method removeprefix (line 651) | def removeprefix(self, prefix: ReadableBuffer, /) -> bytes: ...
    method removesuffix (line 652) | def removesuffix(self, suffix: ReadableBuffer, /) -> bytes: ...
    method rfind (line 654) | def rfind(self, sub: ReadableBuffer | SupportsIndex, start: SupportsIn...
    method rindex (line 655) | def rindex(self, sub: ReadableBuffer | SupportsIndex, start: SupportsI...
    method rjust (line 656) | def rjust(self, width: SupportsIndex, fillchar: bytes | bytearray = b"...
    method rpartition (line 657) | def rpartition(self, sep: ReadableBuffer, /) -> tuple[bytes, bytes, by...
    method rsplit (line 658) | def rsplit(self, sep: ReadableBuffer | None = None, maxsplit: Supports...
    method rstrip (line 659) | def rstrip(self, bytes: ReadableBuffer | None = None, /) -> bytes: ......
    method split (line 660) | def split(self, sep: ReadableBuffer | None = None, maxsplit: SupportsI...
    method splitlines (line 661) | def splitlines(self, keepends: bool = False) -> list[bytes]: ...  # ty...
    method startswith (line 662) | def startswith(
    method strip (line 669) | def strip(self, bytes: ReadableBuffer | None = None, /) -> bytes: ... ...
    method swapcase (line 670) | def swapcase(self) -> bytes: ...
    method title (line 671) | def title(self) -> bytes: ...
    method translate (line 672) | def translate(self, table: ReadableBuffer | None, /, delete: bytes = b...
    method upper (line 673) | def upper(self) -> bytes: ...
    method zfill (line 674) | def zfill(self, width: SupportsIndex, /) -> bytes: ...
    method fromhex (line 676) | def fromhex(cls, string: str, /) -> Self: ...
    method maketrans (line 678) | def maketrans(frm: ReadableBuffer, to: ReadableBuffer, /) -> bytes: ...
    method __len__ (line 679) | def __len__(self) -> int: ...
    method __iter__ (line 680) | def __iter__(self) -> Iterator[int]: ...
    method __hash__ (line 681) | def __hash__(self) -> int: ...
    method __getitem__ (line 683) | def __getitem__(self, key: SupportsIndex, /) -> int: ...
    method __getitem__ (line 685) | def __getitem__(self, key: slice, /) -> bytes: ...
    method __add__ (line 686) | def __add__(self, value: ReadableBuffer, /) -> bytes: ...
    method __mul__ (line 687) | def __mul__(self, value: SupportsIndex, /) -> bytes: ...
    method __rmul__ (line 688) | def __rmul__(self, value: SupportsIndex, /) -> bytes: ...
    method __mod__ (line 689) | def __mod__(self, value: Any, /) -> bytes: ...
    method __contains__ (line 691) | def __contains__(self, key: SupportsIndex | ReadableBuffer, /) -> bool...
    method __eq__ (line 692) | def __eq__(self, value: object, /) -> bool: ...
    method __ne__ (line 693) | def __ne__(self, value: object, /) -> bool: ...
    method __lt__ (line 694) | def __lt__(self, value: bytes, /) -> bool: ...
    method __le__ (line 695) | def __le__(self, value: bytes, /) -> bool: ...
    method __gt__ (line 696) | def __gt__(self, value: bytes, /) -> bool: ...
    method __ge__ (line 697) | def __ge__(self, value: bytes, /) -> bool: ...
    method __getnewargs__ (line 698) | def __getnewargs__(self) -> tuple[bytes]: ...
    method __bytes__ (line 700) | def __bytes__(self) -> bytes: ...
    method __buffer__ (line 702) | def __buffer__(self, flags: int, /) -> memoryview: ...
  class bytearray (line 704) | class bytearray(MutableSequence[int]):
    method __init__ (line 706) | def __init__(self) -> None: ...
    method __init__ (line 708) | def __init__(self, ints: Iterable[SupportsIndex] | SupportsIndex | Rea...
    method __init__ (line 710) | def __init__(self, string: str, /, encoding: str, errors: str = ...) -...
    method append (line 711) | def append(self, item: SupportsIndex, /) -> None: ...
    method capitalize (line 712) | def capitalize(self) -> bytearray: ...
    method center (line 713) | def center(self, width: SupportsIndex, fillchar: bytes = b" ", /) -> b...
    method count (line 714) | def count(self, sub: ReadableBuffer | SupportsIndex, start: SupportsIn...
    method copy (line 715) | def copy(self) -> bytearray: ...
    method decode (line 716) | def decode(self, encoding: str = "utf-8", errors: str = "strict") -> s...
    method endswith (line 717) | def endswith(
    method expandtabs (line 724) | def expandtabs(self, tabsize: SupportsIndex = 8) -> bytearray: ...
    method extend (line 725) | def extend(self, iterable_of_ints: Iterable[SupportsIndex], /) -> None...
    method find (line 726) | def find(self, sub: ReadableBuffer | SupportsIndex, start: SupportsInd...
    method hex (line 727) | def hex(self, sep: str | bytes = ..., bytes_per_sep: SupportsIndex = ....
    method index (line 728) | def index(self, sub: ReadableBuffer | SupportsIndex, start: SupportsIn...
    method insert (line 729) | def insert(self, index: SupportsIndex, item: SupportsIndex, /) -> None...
    method isalnum (line 730) | def isalnum(self) -> bool: ...
    method isalpha (line 731) | def isalpha(self) -> bool: ...
    method isascii (line 732) | def isascii(self) -> bool: ...
    method isdigit (line 733) | def isdigit(self) -> bool: ...
    method islower (line 734) | def islower(self) -> bool: ...
    method isspace (line 735) | def isspace(self) -> bool: ...
    method istitle (line 736) | def istitle(self) -> bool: ...
    method isupper (line 737) | def isupper(self) -> bool: ...
    method join (line 738) | def join(self, iterable_of_bytes: Iterable[ReadableBuffer], /) -> byte...
    method ljust (line 739) | def ljust(self, width: SupportsIndex, fillchar: bytes | bytearray = b"...
    method lower (line 740) | def lower(self) -> bytearray: ...
    method lstrip (line 741) | def lstrip(self, bytes: ReadableBuffer | None = None, /) -> bytearray:...
    method partition (line 742) | def partition(self, sep: ReadableBuffer, /) -> tuple[bytearray, bytear...
    method pop (line 743) | def pop(self, index: int = -1, /) -> int: ...  # type: ignore
    method remove (line 744) | def remove(self, value: int, /) -> None: ...
    method removeprefix (line 746) | def removeprefix(self, prefix: ReadableBuffer, /) -> bytearray: ...
    method removesuffix (line 747) | def removesuffix(self, suffix: ReadableBuffer, /) -> bytearray: ...
    method replace (line 749) | def replace(self, old: ReadableBuffer, new: ReadableBuffer, count: Sup...
    method rfind (line 750) | def rfind(self, sub: ReadableBuffer | SupportsIndex, start: SupportsIn...
    method rindex (line 751) | def rindex(self, sub: ReadableBuffer | SupportsIndex, start: SupportsI...
    method rjust (line 752) | def rjust(self, width: SupportsIndex, fillchar: bytes | bytearray = b"...
    method rpartition (line 753) | def rpartition(self, sep: ReadableBuffer, /) -> tuple[bytearray, bytea...
    method rsplit (line 754) | def rsplit(self, sep: ReadableBuffer | None = None, maxsplit: Supports...
    method rstrip (line 755) | def rstrip(self, bytes: ReadableBuffer | None = None, /) -> bytearray:...
    method split (line 756) | def split(self, sep: ReadableBuffer | None = None, maxsplit: SupportsI...
    method splitlines (line 757) | def splitlines(self, keepends: bool = False) -> list[bytearray]: ...  ...
    method startswith (line 758) | def startswith(
    method strip (line 765) | def strip(self, bytes: ReadableBuffer | None = None, /) -> bytearray: ...
    method swapcase (line 766) | def swapcase(self) -> bytearray: ...
    method title (line 767) | def title(self) -> bytearray: ...
    method translate (line 768) | def translate(self, table: ReadableBuffer | None, /, delete: bytes = b...
    method upper (line 769) | def upper(self) -> bytearray: ...
    method zfill (line 770) | def zfill(self, width: SupportsIndex, /) -> bytearray: ...
    method fromhex (line 772) | def fromhex(cls, string: str, /) -> Self: ...
    method maketrans (line 774) | def maketrans(frm: ReadableBuffer, to: ReadableBuffer, /) -> bytes: ...
    method __len__ (line 775) | def __len__(self) -> int: ...
    method __iter__ (line 776) | def __iter__(self) -> Iterator[int]: ...
    method __getitem__ (line 779) | def __getitem__(self, key: SupportsIndex, /) -> int: ...
    method __getitem__ (line 781) | def __getitem__(self, key: slice, /) -> bytearray: ...
    method __setitem__ (line 783) | def __setitem__(self, key: SupportsIndex, value: SupportsIndex, /) -> ...
    method __setitem__ (line 785) | def __setitem__(self, key: slice, value: Iterable[SupportsIndex] | byt...
    method __delitem__ (line 786) | def __delitem__(self, key: SupportsIndex | slice, /) -> None: ...
    method __add__ (line 787) | def __add__(self, value: ReadableBuffer, /) -> bytearray: ...
    method __iadd__ (line 789) | def __iadd__(self, value: ReadableBuffer, /) -> Self: ...  # type: ign...
    method __mul__ (line 790) | def __mul__(self, value: SupportsIndex, /) -> bytearray: ...
    method __rmul__ (line 791) | def __rmul__(self, value: SupportsIndex, /) -> bytearray: ...
    method __imul__ (line 792) | def __imul__(self, value: SupportsIndex, /) -> Self: ...
    method __mod__ (line 793) | def __mod__(self, value: Any, /) -> bytes: ...
    method __contains__ (line 795) | def __contains__(self, key: SupportsIndex | ReadableBuffer, /) -> bool...
    method __eq__ (line 796) | def __eq__(self, value: object, /) -> bool: ...
    method __ne__ (line 797) | def __ne__(self, value: object, /) -> bool: ...
    method __lt__ (line 798) | def __lt__(self, value: ReadableBuffer, /) -> bool: ...
    method __le__ (line 799) | def __le__(self, value: ReadableBuffer, /) -> bool: ...
    method __gt__ (line 800) | def __gt__(self, value: ReadableBuffer, /) -> bool: ...
    method __ge__ (line 801) | def __ge__(self, value: ReadableBuffer, /) -> bool: ...
    method __alloc__ (line 802) | def __alloc__(self) -> int: ...
    method __buffer__ (line 803) | def __buffer__(self, flags: int, /) -> memoryview: ...
    method __release_buffer__ (line 804) | def __release_buffer__(self, buffer: memoryview, /) -> None: ...
  class memoryview (line 811) | class memoryview(Sequence[_I]):
    method format (line 813) | def format(self) -> str: ...
    method itemsize (line 815) | def itemsize(self) -> int: ...
    method shape (line 817) | def shape(self) -> tuple[int, ...] | None: ...
    method strides (line 819) | def strides(self) -> tuple[int, ...] | None: ...
    method suboffsets (line 821) | def suboffsets(self) -> tuple[int, ...] | None: ...
    method readonly (line 823) | def readonly(self) -> bool: ...
    method ndim (line 825) | def ndim(self) -> int: ...
    method obj (line 827) | def obj(self) -> ReadableBuffer: ...
    method c_contiguous (line 829) | def c_contiguous(self) -> bool: ...
    method f_contiguous (line 831) | def f_contiguous(self) -> bool: ...
    method contiguous (line 833) | def contiguous(self) -> bool: ...
    method nbytes (line 835) | def nbytes(self) -> int: ...
    method __new__ (line 836) | def __new__(cls, obj: ReadableBuffer) -> Self: ...
    method __enter__ (line 837) | def __enter__(self) -> Self: ...
    method __exit__ (line 838) | def __exit__(self, exc_type: type[BaseException] | None, exc_val: Base...
    method cast (line 840) | def cast(self, format: Literal["c", "@c"], shape: list[int] | tuple[in...
    method cast (line 842) | def cast(self, format: Literal["f", "@f", "d", "@d"], shape: list[int]...
    method cast (line 844) | def cast(self, format: Literal["?"], shape: list[int] | tuple[int, ......
    method cast (line 846) | def cast(self, format: _IntegerFormats, shape: list[int] | tuple[int, ...
    method __getitem__ (line 848) | def __getitem__(self, key: SupportsIndex | tuple[SupportsIndex, ...], ...
    method __getitem__ (line 850) | def __getitem__(self, key: slice, /) -> memoryview[_I]: ...
    method __contains__ (line 851) | def __contains__(self, x: object, /) -> bool: ...
    method __iter__ (line 852) | def __iter__(self) -> Iterator[_I]: ...
    method __len__ (line 853) | def __len__(self) -> int: ...
    method __eq__ (line 854) | def __eq__(self, value: object, /) -> bool: ...
    method __hash__ (line 855) | def __hash__(self) -> int: ...
    method __setitem__ (line 857) | def __setitem__(self, key: slice, value: ReadableBuffer, /) -> None: ...
    method __setitem__ (line 859) | def __setitem__(self, key: SupportsIndex | tuple[SupportsIndex, ...], ...
    method tobytes (line 861) | def tobytes(self, order: Literal["C", "F", "A"] | None = "C") -> bytes...
    method tobytes (line 863) | def tobytes(self, order: Literal["C", "F", "A"] | None = None) -> byte...
    method tolist (line 865) | def tolist(self) -> list[int]: ...
    method toreadonly (line 866) | def toreadonly(self) -> memoryview: ...
    method release (line 867) | def release(self) -> None: ...
    method hex (line 868) | def hex(self, sep: str | bytes = ..., bytes_per_sep: SupportsIndex = ....
    method __buffer__ (line 869) | def __buffer__(self, flags: int, /) -> memoryview: ...
    method __release_buffer__ (line 870) | def __release_buffer__(self, buffer: memoryview, /) -> None: ...
  class bool (line 878) | class bool(int):
    method __new__ (line 879) | def __new__(cls, o: object = ..., /) -> Self: ...
    method __and__ (line 883) | def __and__(self, value: bool, /) -> bool: ...
    method __and__ (line 885) | def __and__(self, value: int, /) -> int: ...
    method __or__ (line 887) | def __or__(self, value: bool, /) -> bool: ...
    method __or__ (line 889) | def __or__(self, value: int, /) -> int: ...
    method __xor__ (line 891) | def __xor__(self, value: bool, /) -> bool: ...
    method __xor__ (line 893) | def __xor__(self, value: int, /) -> int: ...
    method __rand__ (line 895) | def __rand__(self, value: bool, /) -> bool: ...
    method __rand__ (line 897) | def __rand__(self, value: int, /) -> int: ...
    method __ror__ (line 899) | def __ror__(self, value: bool, /) -> bool: ...
    method __ror__ (line 901) | def __ror__(self, value: int, /) -> int: ...
    method __rxor__ (line 903) | def __rxor__(self, value: bool, /) -> bool: ...
    method __rxor__ (line 905) | def __rxor__(self, value: int, /) -> int: ...
    method __getnewargs__ (line 906) | def __getnewargs__(self) -> tuple[int]: ...
    method __invert__ (line 908) | def __invert__(self) -> int: ...
  class slice (line 911) | class slice(Generic[_StartT, _StopT, _StepT]):
    method start (line 913) | def start(self) -> _StartT: ...
    method step (line 915) | def step(self) -> _StepT: ...
    method stop (line 917) | def stop(self) -> _StopT: ...
    method __new__ (line 919) | def __new__(cls, stop: int | None, /) -> slice[int | MaybeNone, int | ...
    method __new__ (line 921) | def __new__(
    method __new__ (line 925) | def __new__(cls, stop: _T2, /) -> slice[Any, _T2, Any]: ...
    method __new__ (line 927) | def __new__(cls, start: _T1, stop: _T2, /) -> slice[_T1, _T2, Any]: ...
    method __new__ (line 929) | def __new__(cls, start: _T1, stop: _T2, step: _T3, /) -> slice[_T1, _T...
    method __eq__ (line 930) | def __eq__(self, value: object, /) -> bool: ...
    method __hash__ (line 932) | def __hash__(self) -> int: ...
    method indices (line 936) | def indices(self, len: SupportsIndex, /) -> tuple[int, int, int]: ...
  class tuple (line 938) | class tuple(Sequence[_T_co]):
    method __new__ (line 939) | def __new__(cls, iterable: Iterable[_T_co] = ..., /) -> Self: ...
    method __len__ (line 940) | def __len__(self) -> int: ...
    method __contains__ (line 941) | def __contains__(self, key: object, /) -> bool: ...
    method __getitem__ (line 943) | def __getitem__(self, key: SupportsIndex, /) -> _T_co: ...
    method __getitem__ (line 945) | def __getitem__(self, key: slice, /) -> tuple[_T_co, ...]: ...
    method __iter__ (line 946) | def __iter__(self) -> Iterator[_T_co]: ...
    method __lt__ (line 947) | def __lt__(self, value: tuple[_T_co, ...], /) -> bool: ...
    method __le__ (line 948) | def __le__(self, value: tuple[_T_co, ...], /) -> bool: ...
    method __gt__ (line 949) | def __gt__(self, value: tuple[_T_co, ...], /) -> bool: ...
    method __ge__ (line 950) | def __ge__(self, value: tuple[_T_co, ...], /) -> bool: ...
    method __eq__ (line 951) | def __eq__(self, value: object, /) -> bool: ...
    method __hash__ (line 952) | def __hash__(self) -> int: ...
    method __add__ (line 954) | def __add__(self, value: tuple[_T_co, ...], /) -> tuple[_T_co, ...]: ...
    method __add__ (line 956) | def __add__(self, value: tuple[_T, ...], /) -> tuple[_T_co | _T, ...]:...
    method __mul__ (line 957) | def __mul__(self, value: SupportsIndex, /) -> tuple[_T_co, ...]: ...
    method __rmul__ (line 958) | def __rmul__(self, value: SupportsIndex, /) -> tuple[_T_co, ...]: ...
    method count (line 959) | def count(self, value: Any, /) -> int: ...
    method index (line 960) | def index(self, value: Any, start: SupportsIndex = 0, stop: SupportsIn...
    method __class_getitem__ (line 962) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
  class function (line 969) | class function:
    method __closure__ (line 972) | def __closure__(self) -> tuple[CellType, ...] | None: ...
    method __globals__ (line 977) | def __globals__(self) -> dict[str, Any]: ...
    method __builtins__ (line 984) | def __builtins__(self) -> dict[str, Any]: ...
    method __get__ (line 990) | def __get__(self, instance: object, owner: type | None = None, /) -> A...
  class list (line 992) | class list(MutableSequence[_T]):
    method __init__ (line 994) | def __init__(self) -> None: ...
    method __init__ (line 996) | def __init__(self, iterable: Iterable[_T], /) -> None: ...
    method copy (line 997) | def copy(self) -> list[_T]: ...
    method append (line 998) | def append(self, object: _T, /) -> None: ...
    method extend (line 999) | def extend(self, iterable: Iterable[_T], /) -> None: ...
    method pop (line 1000) | def pop(self, index: SupportsIndex = -1, /) -> _T: ...
    method index (line 1003) | def index(self, value: _T, start: SupportsIndex = 0, stop: SupportsInd...
    method count (line 1004) | def count(self, value: _T, /) -> int: ...
    method insert (line 1005) | def insert(self, index: SupportsIndex, object: _T, /) -> None: ...
    method remove (line 1006) | def remove(self, value: _T, /) -> None: ...
    method sort (line 1013) | def sort(self: list[SupportsRichComparisonT], *, key: None = None, rev...
    method sort (line 1015) | def sort(self, *, key: Callable[[_T], SupportsRichComparison], reverse...
    method __len__ (line 1016) | def __len__(self) -> int: ...
    method __iter__ (line 1017) | def __iter__(self) -> Iterator[_T]: ...
    method __getitem__ (line 1020) | def __getitem__(self, i: SupportsIndex, /) -> _T: ...
    method __getitem__ (line 1022) | def __getitem__(self, s: slice, /) -> list[_T]: ...
    method __setitem__ (line 1024) | def __setitem__(self, key: SupportsIndex, value: _T, /) -> None: ...
    method __setitem__ (line 1026) | def __setitem__(self, key: slice, value: Iterable[_T], /) -> None: ...
    method __delitem__ (line 1027) | def __delitem__(self, key: SupportsIndex | slice, /) -> None: ...
    method __add__ (line 1030) | def __add__(self, value: list[_T], /) -> list[_T]: ...
    method __add__ (line 1032) | def __add__(self, value: list[_S], /) -> list[_S | _T]: ...
    method __iadd__ (line 1033) | def __iadd__(self, value: Iterable[_T], /) -> Self: ...  # type: ignor...
    method __mul__ (line 1034) | def __mul__(self, value: SupportsIndex, /) -> list[_T]: ...
    method __rmul__ (line 1035) | def __rmul__(self, value: SupportsIndex, /) -> list[_T]: ...
    method __imul__ (line 1036) | def __imul__(self, value: SupportsIndex, /) -> Self: ...
    method __contains__ (line 1037) | def __contains__(self, key: object, /) -> bool: ...
    method __reversed__ (line 1038) | def __reversed__(self) -> Iterator[_T]: ...
    method __gt__ (line 1039) | def __gt__(self, value: list[_T], /) -> bool: ...
    method __ge__ (line 1040) | def __ge__(self, value: list[_T], /) -> bool: ...
    method __lt__ (line 1041) | def __lt__(self, value: list[_T], /) -> bool: ...
    method __le__ (line 1042) | def __le__(self, value: list[_T], /) -> bool: ...
    method __eq__ (line 1043) | def __eq__(self, value: object, /) -> bool: ...
    method __class_getitem__ (line 1045) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
  class dict (line 1047) | class dict(MutableMapping[_KT, _VT]):
    method __init__ (line 1051) | def __init__(self) -> None: ...
    method __init__ (line 1053) | def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...  # pyri...
    method __init__ (line 1055) | def __init__(self, map: SupportsKeysAndGetItem[_KT, _VT], /) -> None: ...
    method __init__ (line 1057) | def __init__(
    method __init__ (line 1064) | def __init__(self, iterable: Iterable[tuple[_KT, _VT]], /) -> None: ...
    method __init__ (line 1066) | def __init__(
    method __init__ (line 1075) | def __init__(self: dict[str, str], iterable: Iterable[list[str]], /) -...
    method __init__ (line 1077) | def __init__(self: dict[bytes, bytes], iterable: Iterable[list[bytes]]...
    method __new__ (line 1078) | def __new__(cls, *args: Any, **kwargs: Any) -> Self: ...
    method copy (line 1079) | def copy(self) -> dict[_KT, _VT]: ...
    method keys (line 1080) | def keys(self) -> dict_keys[_KT, _VT]: ...
    method values (line 1081) | def values(self) -> dict_values[_KT, _VT]: ...
    method items (line 1082) | def items(self) -> dict_items[_KT, _VT]: ...
    method fromkeys (line 1089) | def fromkeys(cls, iterable: Iterable[_T], value: None = None, /) -> di...
    method fromkeys (line 1092) | def fromkeys(cls, iterable: Iterable[_T], value: _S, /) -> dict[_T, _S...
    method get (line 1095) | def get(self, key: _KT, /) -> _VT | None: ...
    method get (line 1097) | def get(self, key: _KT, default: _VT, /) -> _VT: ...
    method get (line 1099) | def get(self, key: _KT, default: _T, /) -> _VT | _T: ...
    method pop (line 1101) | def pop(self, key: _KT, /) -> _VT: ...
    method pop (line 1103) | def pop(self, key: _KT, default: _VT, /) -> _VT: ...
    method pop (line 1105) | def pop(self, key: _KT, default: _T, /) -> _VT | _T: ...
    method __len__ (line 1106) | def __len__(self) -> int: ...
    method __getitem__ (line 1107) | def __getitem__(self, key: _KT, /) -> _VT: ...
    method __setitem__ (line 1108) | def __setitem__(self, key: _KT, value: _VT, /) -> None: ...
    method __delitem__ (line 1109) | def __delitem__(self, key: _KT, /) -> None: ...
    method __iter__ (line 1110) | def __iter__(self) -> Iterator[_KT]: ...
    method __eq__ (line 1111) | def __eq__(self, value: object, /) -> bool: ...
    method __reversed__ (line 1112) | def __reversed__(self) -> Iterator[_KT]: ...
    method __class_getitem__ (line 1115) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
    method __or__ (line 1117) | def __or__(self, value: dict[_KT, _VT], /) -> dict[_KT, _VT]: ...
    method __or__ (line 1119) | def __or__(self, value: dict[_T1, _T2], /) -> dict[_KT | _T1, _VT | _T...
    method __ror__ (line 1121) | def __ror__(self, value: dict[_KT, _VT], /) -> dict[_KT, _VT]: ...
    method __ror__ (line 1123) | def __ror__(self, value: dict[_T1, _T2], /) -> dict[_KT | _T1, _VT | _...
    method __ior__ (line 1126) | def __ior__(self, value: SupportsKeysAndGetItem[_KT, _VT], /) -> Self:...
    method __ior__ (line 1128) | def __ior__(self, value: Iterable[tuple[_KT, _VT]], /) -> Self: ...
  class set (line 1130) | class set(MutableSet[_T]):
    method __init__ (line 1132) | def __init__(self) -> None: ...
    method __init__ (line 1134) | def __init__(self, iterable: Iterable[_T], /) -> None: ...
    method add (line 1135) | def add(self, element: _T, /) -> None: ...
    method copy (line 1136) | def copy(self) -> set[_T]: ...
    method difference (line 1137) | def difference(self, *s: Iterable[Any]) -> set[_T]: ...
    method difference_update (line 1138) | def difference_update(self, *s: Iterable[Any]) -> None: ...
    method discard (line 1139) | def discard(self, element: _T, /) -> None: ...
    method intersection (line 1140) | def intersection(self, *s: Iterable[Any]) -> set[_T]: ...
    method intersection_update (line 1141) | def intersection_update(self, *s: Iterable[Any]) -> None: ...
    method isdisjoint (line 1142) | def isdisjoint(self, s: Iterable[Any], /) -> bool: ...
    method issubset (line 1143) | def issubset(self, s: Iterable[Any], /) -> bool: ...
    method issuperset (line 1144) | def issuperset(self, s: Iterable[Any], /) -> bool: ...
    method remove (line 1145) | def remove(self, element: _T, /) -> None: ...
    method symmetric_difference (line 1146) | def symmetric_difference(self, s: Iterable[_T], /) -> set[_T]: ...
    method symmetric_difference_update (line 1147) | def symmetric_difference_update(self, s: Iterable[_T], /) -> None: ...
    method union (line 1148) | def union(self, *s: Iterable[_S]) -> set[_T | _S]: ...
    method update (line 1149) | def update(self, *s: Iterable[_T]) -> None: ...
    method __len__ (line 1150) | def __len__(self) -> int: ...
    method __contains__ (line 1151) | def __contains__(self, o: object, /) -> bool: ...
    method __iter__ (line 1152) | def __iter__(self) -> Iterator[_T]: ...
    method __and__ (line 1153) | def __and__(self, value: AbstractSet[object], /) -> set[_T]: ...
    method __iand__ (line 1154) | def __iand__(self, value: AbstractSet[object], /) -> Self: ...
    method __or__ (line 1155) | def __or__(self, value: AbstractSet[_S], /) -> set[_T | _S]: ...
    method __ior__ (line 1156) | def __ior__(self, value: AbstractSet[_T], /) -> Self: ...  # type: ign...
    method __sub__ (line 1157) | def __sub__(self, value: AbstractSet[_T | None], /) -> set[_T]: ...
    method __isub__ (line 1158) | def __isub__(self, value: AbstractSet[object], /) -> Self: ...
    method __xor__ (line 1159) | def __xor__(self, value: AbstractSet[_S], /) -> set[_T | _S]: ...
    method __ixor__ (line 1160) | def __ixor__(self, value: AbstractSet[_T], /) -> Self: ...  # type: ig...
    method __le__ (line 1161) | def __le__(self, value: AbstractSet[object], /) -> bool: ...
    method __lt__ (line 1162) | def __lt__(self, value: AbstractSet[object], /) -> bool: ...
    method __ge__ (line 1163) | def __ge__(self, value: AbstractSet[object], /) -> bool: ...
    method __gt__ (line 1164) | def __gt__(self, value: AbstractSet[object], /) -> bool: ...
    method __eq__ (line 1165) | def __eq__(self, value: object, /) -> bool: ...
    method __class_getitem__ (line 1168) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
  class frozenset (line 1170) | class frozenset(AbstractSet[_T_co]):
    method __new__ (line 1172) | def __new__(cls) -> Self: ...
    method __new__ (line 1174) | def __new__(cls, iterable: Iterable[_T_co], /) -> Self: ...
    method copy (line 1175) | def copy(self) -> frozenset[_T_co]: ...
    method difference (line 1176) | def difference(self, *s: Iterable[object]) -> frozenset[_T_co]: ...
    method intersection (line 1177) | def intersection(self, *s: Iterable[object]) -> frozenset[_T_co]: ...
    method isdisjoint (line 1178) | def isdisjoint(self, s: Iterable[_T_co], /) -> bool: ...
    method issubset (line 1179) | def issubset(self, s: Iterable[object], /) -> bool: ...
    method issuperset (line 1180) | def issuperset(self, s: Iterable[object], /) -> bool: ...
    method symmetric_difference (line 1181) | def symmetric_difference(self, s: Iterable[_T_co], /) -> frozenset[_T_...
    method union (line 1182) | def union(self, *s: Iterable[_S]) -> frozenset[_T_co | _S]: ...
    method __len__ (line 1183) | def __len__(self) -> int: ...
    method __contains__ (line 1184) | def __contains__(self, o: object, /) -> bool: ...
    method __iter__ (line 1185) | def __iter__(self) -> Iterator[_T_co]: ...
    method __and__ (line 1186) | def __and__(self, value: AbstractSet[_T_co], /) -> frozenset[_T_co]: ...
    method __or__ (line 1187) | def __or__(self, value: AbstractSet[_S], /) -> frozenset[_T_co | _S]: ...
    method __sub__ (line 1188) | def __sub__(self, value: AbstractSet[_T_co], /) -> frozenset[_T_co]: ...
    method __xor__ (line 1189) | def __xor__(self, value: AbstractSet[_S], /) -> frozenset[_T_co | _S]:...
    method __le__ (line 1190) | def __le__(self, value: AbstractSet[object], /) -> bool: ...
    method __lt__ (line 1191) | def __lt__(self, value: AbstractSet[object], /) -> bool: ...
    method __ge__ (line 1192) | def __ge__(self, value: AbstractSet[object], /) -> bool: ...
    method __gt__ (line 1193) | def __gt__(self, value: AbstractSet[object], /) -> bool: ...
    method __eq__ (line 1194) | def __eq__(self, value: object, /) -> bool: ...
    method __hash__ (line 1195) | def __hash__(self) -> int: ...
    method __class_getitem__ (line 1197) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
  class enumerate (line 1199) | class enumerate(Generic[_T]):
    method __new__ (line 1200) | def __new__(cls, iterable: Iterable[_T], start: int = 0) -> Self: ... ...
    method __iter__ (line 1201) | def __iter__(self) -> Self: ...
    method __next__ (line 1202) | def __next__(self) -> tuple[int, _T]: ...
    method __class_getitem__ (line 1204) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
  class range (line 1207) | class range(Sequence[int]):
    method start (line 1209) | def start(self) -> int: ...
    method stop (line 1211) | def stop(self) -> int: ...
    method step (line 1213) | def step(self) -> int: ...
    method __new__ (line 1215) | def __new__(cls, stop: SupportsIndex, /) -> Self: ...
    method __new__ (line 1217) | def __new__(cls, start: SupportsIndex, stop: SupportsIndex, step: Supp...
    method count (line 1218) | def count(self, value: int, /) -> int: ...
    method index (line 1219) | def index(self, value: int, /) -> int: ...  # type: ignore[override]
    method __len__ (line 1220) | def __len__(self) -> int: ...
    method __eq__ (line 1221) | def __eq__(self, value: object, /) -> bool: ...
    method __hash__ (line 1222) | def __hash__(self) -> int: ...
    method __contains__ (line 1223) | def __contains__(self, key: object, /) -> bool: ...
    method __iter__ (line 1224) | def __iter__(self) -> Iterator[int]: ...
    method __getitem__ (line 1226) | def __getitem__(self, key: SupportsIndex, /) -> int: ...
    method __getitem__ (line 1228) | def __getitem__(self, key: slice, /) -> range: ...
    method __reversed__ (line 1229) | def __reversed__(self) -> Iterator[int]: ...
  class property (line 1231) | class property:
    method __init__ (line 1239) | def __init__(
    method getter (line 1246) | def getter(self, fget: Callable[[Any], Any], /) -> property: ...
    method setter (line 1247) | def setter(self, fset: Callable[[Any, Any], None], /) -> property: ...
    method deleter (line 1248) | def deleter(self, fdel: Callable[[Any], None], /) -> property: ...
    method __get__ (line 1249) | def __get__(self, instance: Any, owner: type | None = None, /) -> Any:...
    method __set__ (line 1250) | def __set__(self, instance: Any, value: Any, /) -> None: ...
    method __delete__ (line 1251) | def __delete__(self, instance: Any, /) -> None: ...
  class _NotImplementedType (line 1254) | class _NotImplementedType(Any):
  function abs (line 1261) | def abs(x: SupportsAbs[_T], /) -> _T: ...
  function all (line 1262) | def all(iterable: Iterable[object], /) -> bool: ...
  function any (line 1263) | def any(iterable: Iterable[object], /) -> bool: ...
  function ascii (line 1264) | def ascii(obj: object, /) -> str: ...
  function bin (line 1265) | def bin(number: int | SupportsIndex, /) -> str: ...
  function breakpoint (line 1266) | def breakpoint(*args: Any, **kws: Any) -> None: ...
  function callable (line 1267) | def callable(obj: object, /) -> TypeIs[Callable[..., object]]: ...
  function chr (line 1268) | def chr(i: int, /) -> str: ...
  class _PathLike (line 1272) | class _PathLike(Protocol[AnyStr_co]):
    method __fspath__ (line 1273) | def __fspath__(self) -> AnyStr_co: ...
  function aiter (line 1276) | def aiter(async_iterable: SupportsAiter[_SupportsAnextT], /) -> _Support...
  class _SupportsSynchronousAnext (line 1278) | class _SupportsSynchronousAnext(Protocol[_AwaitableT_co]):
    method __anext__ (line 1279) | def __anext__(self) -> _AwaitableT_co: ...
  function anext (line 1285) | def anext(i: _SupportsSynchronousAnext[_AwaitableT], /) -> _AwaitableT: ...
  function anext (line 1287) | async def anext(i: SupportsAnext[_T], default: _VT, /) -> _T | _VT: ...
  function compile (line 1293) | def compile(
  function compile (line 1304) | def compile(
  function compile (line 1314) | def compile(
  function compile (line 1325) | def compile(
  function copyright (line 1335) | def copyright() -> None: ...
  function credits (line 1336) | def credits() -> None: ...
  function delattr (line 1337) | def delattr(obj: object, name: str, /) -> None: ...
  function dir (line 1338) | def dir(o: object = ..., /) -> list[str]: ...
  function divmod (line 1340) | def divmod(x: SupportsDivMod[_T_contra, _T_co], y: _T_contra, /) -> _T_c...
  function divmod (line 1342) | def divmod(x: _T_contra, y: SupportsRDivMod[_T_contra, _T_co], /) -> _T_...
  function eval (line 1347) | def eval(
  function eval (line 1355) | def eval(
  function exec (line 1364) | def exec(
  function exec (line 1374) | def exec(
  function exec (line 1384) | def exec(
  function exit (line 1391) | def exit(code: sys._ExitCode = None) -> NoReturn: ...
  class filter (line 1393) | class filter(Generic[_T]):
    method __new__ (line 1395) | def __new__(cls, function: None, iterable: Iterable[_T | None], /) -> ...
    method __new__ (line 1397) | def __new__(cls, function: Callable[[_S], TypeGuard[_T]], iterable: It...
    method __new__ (line 1399) | def __new__(cls, function: Callable[[_S], TypeIs[_T]], iterable: Itera...
    method __new__ (line 1401) | def __new__(cls, function: Callable[[_T], Any], iterable: Iterable[_T]...
    method __iter__ (line 1402) | def __iter__(self) -> Self: ...
    method __next__ (line 1403) | def __next__(self) -> _T: ...
  function format (line 1405) | def format(value: object, format_spec: str = "", /) -> str: ...  # type:...
  function getattr (line 1407) | def getattr(o: object, name: str, /) -> Any: ...
  function getattr (line 1413) | def getattr(o: object, name: str, default: None, /) -> Any | None: ...
  function getattr (line 1415) | def getattr(o: object, name: str, default: bool, /) -> Any | bool: ...
  function getattr (line 1417) | def getattr(o: object, name: str, default: list[Any], /) -> Any | list[A...
  function getattr (line 1419) | def getattr(o: object, name: str, default: dict[Any, Any], /) -> Any | d...
  function getattr (line 1421) | def getattr(o: object, name: str, default: _T, /) -> Any | _T: ...
  function globals (line 1422) | def globals() -> dict[str, Any]: ...
  function hasattr (line 1423) | def hasattr(obj: object, name: str, /) -> bool: ...
  function hash (line 1424) | def hash(obj: object, /) -> int: ...
  function help (line 1425) | def help(request: object = ...) -> None: ...
  function hex (line 1426) | def hex(number: int | SupportsIndex, /) -> str: ...
  function id (line 1427) | def id(obj: object, /) -> int: ...
  function input (line 1428) | def input(prompt: object = "", /) -> str: ...
  class _GetItemIterable (line 1430) | class _GetItemIterable(Protocol[_T_co]):
    method __getitem__ (line 1431) | def __getitem__(self, i: int, /) -> _T_co: ...
  function iter (line 1434) | def iter(object: SupportsIter[_SupportsNextT], /) -> _SupportsNextT: ...
  function iter (line 1436) | def iter(object: _GetItemIterable[_T], /) -> Iterator[_T]: ...
  function iter (line 1438) | def iter(object: Callable[[], _T | None], sentinel: None, /) -> Iterator...
  function iter (line 1440) | def iter(object: Callable[[], _T], sentinel: object, /) -> Iterator[_T]:...
  function isinstance (line 1448) | def isinstance(obj: object, class_or_tuple: _ClassInfo, /) -> bool: ...
  function issubclass (line 1449) | def issubclass(cls: type, class_or_tuple: _ClassInfo, /) -> bool: ...
  function len (line 1450) | def len(obj: Sized, /) -> int: ...
  function license (line 1451) | def license() -> None: ...
  function locals (line 1452) | def locals() -> dict[str, Any]: ...
  class map (line 1454) | class map(Generic[_S]):
    method __new__ (line 1456) | def __new__(cls, func: Callable[[_T1], _S], iter1: Iterable[_T1], /) -...
    method __new__ (line 1458) | def __new__(cls, func: Callable[[_T1, _T2], _S], iter1: Iterable[_T1],...
    method __new__ (line 1460) | def __new__(cls, func: Callable[[_T1, _T2, _T3], _S], iter1: Iterable[...
    method __new__ (line 1462) | def __new__(
    method __new__ (line 1472) | def __new__(
    method __new__ (line 1483) | def __new__(
    method __iter__ (line 1495) | def __iter__(self) -> Self: ...
    method __next__ (line 1496) | def __next__(self) -> _S: ...
  function max (line 1499) | def max(
  function max (line 1503) | def max(arg1: _T, arg2: _T, /, *_args: _T, key: Callable[[_T], SupportsR...
  function max (line 1505) | def max(iterable: Iterable[SupportsRichComparisonT], /, *, key: None = N...
  function max (line 1507) | def max(iterable: Iterable[_T], /, *, key: Callable[[_T], SupportsRichCo...
  function max (line 1509) | def max(iterable: Iterable[SupportsRichComparisonT], /, *, key: None = N...
  function max (line 1511) | def max(iterable: Iterable[_T1], /, *, key: Callable[[_T1], SupportsRich...
  function min (line 1513) | def min(
  function min (line 1517) | def min(arg1: _T, arg2: _T, /, *_args: _T, key: Callable[[_T], SupportsR...
  function min (line 1519) | def min(iterable: Iterable[SupportsRichComparisonT], /, *, key: None = N...
  function min (line 1521) | def min(iterable: Iterable[_T], /, *, key: Callable[[_T], SupportsRichCo...
  function min (line 1523) | def min(iterable: Iterable[SupportsRichComparisonT], /, *, key: None = N...
  function min (line 1525) | def min(iterable: Iterable[_T1], /, *, key: Callable[[_T1], SupportsRich...
  function next (line 1527) | def next(i: SupportsNext[_T], /) -> _T: ...
  function next (line 1529) | def next(i: SupportsNext[_T], default: _VT, /) -> _T | _VT: ...
  function oct (line 1530) | def oct(number: int | SupportsIndex, /) -> str: ...
  function open (line 1536) | def open(
  function open (line 1549) | def open(
  function open (line 1562) | def open(
  function open (line 1573) | def open(
  function open (line 1584) | def open(
  function open (line 1597) | def open(
  function open (line 1610) | def open(
  function ord (line 1620) | def ord(c: str | bytes | bytearray, /) -> int: ...
  class _SupportsWriteAndFlush (line 1622) | class _SupportsWriteAndFlush(SupportsWrite[_T_contra], SupportsFlush, Pr...
  function print (line 1625) | def print(
  function print (line 1633) | def print(
  class _SupportsPow2 (line 1640) | class _SupportsPow2(Protocol[_E, _T_co]):
    method __pow__ (line 1641) | def __pow__(self, other: _E, /) -> _T_co: ...
  class _SupportsPow3NoneOnly (line 1643) | class _SupportsPow3NoneOnly(Protocol[_E, _T_co]):
    method __pow__ (line 1644) | def __pow__(self, other: _E, modulo: None = None, /) -> _T_co: ...
  class _SupportsPow3 (line 1646) | class _SupportsPow3(Protocol[_E, _M, _T_co]):
    method __pow__ (line 1647) | def __pow__(self, other: _E, modulo: _M, /) -> _T_co: ...
  function pow (line 1656) | def pow(base: int, exp: int, mod: int) -> int: ...
  function pow (line 1658) | def pow(base: int, exp: Literal[0], mod: None = None) -> Literal[1]: ...
  function pow (line 1660) | def pow(base: int, exp: _PositiveInteger, mod: None = None) -> int: ...
  function pow (line 1662) | def pow(base: int, exp: _NegativeInteger, mod: None = None) -> float: ...
  function pow (line 1667) | def pow(base: int, exp: int, mod: None = None) -> Any: ...
  function pow (line 1669) | def pow(base: _PositiveInteger, exp: float, mod: None = None) -> float: ...
  function pow (line 1671) | def pow(base: _NegativeInteger, exp: float, mod: None = None) -> complex...
  function pow (line 1673) | def pow(base: float, exp: int, mod: None = None) -> float: ...
  function pow (line 1679) | def pow(base: float, exp: complex | _SupportsSomeKindOfPow, mod: None = ...
  function pow (line 1681) | def pow(base: complex, exp: complex | _SupportsSomeKindOfPow, mod: None ...
  function pow (line 1683) | def pow(base: _SupportsPow2[_E, _T_co], exp: _E, mod: None = None) -> _T...
  function pow (line 1685) | def pow(base: _SupportsPow3NoneOnly[_E, _T_co], exp: _E, mod: None = Non...
  function pow (line 1687) | def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...
  function pow (line 1689) | def pow(base: _SupportsSomeKindOfPow, exp: float, mod: None = None) -> A...
  function pow (line 1691) | def pow(base: _SupportsSomeKindOfPow, exp: complex, mod: None = None) ->...
  function quit (line 1692) | def quit(code: sys._ExitCode = None) -> NoReturn: ...
  class reversed (line 1694) | class reversed(Generic[_T]):
    method __new__ (line 1696) | def __new__(cls, sequence: Reversible[_T], /) -> Iterator[_T]: ...  # ...
    method __new__ (line 1698) | def __new__(cls, sequence: SupportsLenAndGetItem[_T], /) -> Iterator[_...
    method __iter__ (line 1699) | def __iter__(self) -> Self: ...
    method __next__ (line 1700) | def __next__(self) -> _T: ...
    method __length_hint__ (line 1701) | def __length_hint__(self) -> int: ...
  function repr (line 1703) | def repr(obj: object, /) -> str: ...
  class _SupportsRound1 (line 1709) | class _SupportsRound1(Protocol[_T_co]):
    method __round__ (line 1710) | def __round__(self) -> _T_co: ...
  class _SupportsRound2 (line 1712) | class _SupportsRound2(Protocol[_T_co]):
    method __round__ (line 1713) | def __round__(self, ndigits: int, /) -> _T_co: ...
  function round (line 1716) | def round(number: _SupportsRound1[_T], ndigits: None = None) -> _T: ...
  function round (line 1718) | def round(number: _SupportsRound2[_T], ndigits: SupportsIndex) -> _T: ...
  function setattr (line 1722) | def setattr(obj: object, name: str, value: Any, /) -> None: ...
  function sorted (line 1724) | def sorted(iterable: Iterable[SupportsRichComparisonT], /, *, key: None ...
  function sorted (line 1726) | def sorted(iterable: Iterable[_T], /, *, key: Callable[[_T], SupportsRic...
  class _SupportsSumWithNoDefaultGiven (line 1731) | class _SupportsSumWithNoDefaultGiven(SupportsAdd[Any, Any], SupportsRAdd...
  function sum (line 1740) | def sum(iterable: Iterable[bool | _LiteralInteger], /, start: int = 0) -...
  function sum (line 1742) | def sum(iterable: Iterable[_SupportsSumNoDefaultT], /) -> _SupportsSumNo...
  function sum (line 1744) | def sum(iterable: Iterable[_AddableT1], /, start: _AddableT2) -> _Addabl...
  function vars (line 1749) | def vars(object: type, /) -> types.MappingProxyType[str, Any]: ...
  function vars (line 1751) | def vars(object: Any = ..., /) -> dict[str, Any]: ...
  class zip (line 1753) | class zip(Generic[_T_co]):
    method __new__ (line 1756) | def __new__(cls, *, strict: bool = ...) -> zip[Any]: ...
    method __new__ (line 1758) | def __new__(cls, iter1: Iterable[_T1], /, *, strict: bool = ...) -> zi...
    method __new__ (line 1760) | def __new__(cls, iter1: Iterable[_T1], iter2: Iterable[_T2], /, *, str...
    method __new__ (line 1762) | def __new__(
    method __new__ (line 1766) | def __new__(
    method __new__ (line 1770) | def __new__(
    method __new__ (line 1782) | def __new__(
    method __new__ (line 1796) | def __new__(cls) -> zip[Any]: ...
    method __new__ (line 1798) | def __new__(cls, iter1: Iterable[_T1], /) -> zip[tuple[_T1]]: ...
    method __new__ (line 1800) | def __new__(cls, iter1: Iterable[_T1], iter2: Iterable[_T2], /) -> zip...
    method __new__ (line 1802) | def __new__(cls, iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: It...
    method __new__ (line 1804) | def __new__(
    method __new__ (line 1808) | def __new__(
    method __new__ (line 1812) | def __new__(
    method __iter__ (line 1824) | def __iter__(self) -> Self: ...
    method __next__ (line 1825) | def __next__(self) -> _T_co: ...
  function __import__ (line 1829) | def __import__(
  function __build_class__ (line 1836) | def __build_class__(func: Callable[[], CellType | Any], name: str, /, *b...
  class ellipsis (line 1852) | class ellipsis: ...
  class BaseException (line 1856) | class BaseException:
    method __init__ (line 1862) | def __init__(self, *args: object) -> None: ...
    method __new__ (line 1863) | def __new__(cls, *args: Any, **kwds: Any) -> Self: ...
    method __setstate__ (line 1864) | def __setstate__(self, state: dict[str, Any] | None, /) -> None: ...
    method with_traceback (line 1865) | def with_traceback(self, tb: TracebackType | None, /) -> Self: ...
    method add_note (line 1869) | def add_note(self, note: str, /) -> None: ...
  class GeneratorExit (line 1871) | class GeneratorExit(BaseException): ...
  class KeyboardInterrupt (line 1872) | class KeyboardInterrupt(BaseException): ...
  class SystemExit (line 1874) | class SystemExit(BaseException):
  class Exception (line 1877) | class Exception(BaseException): ...
  class StopIteration (line 1879) | class StopIteration(Exception):
  class OSError (line 1882) | class OSError(Exception):
  class ArithmeticError (line 1896) | class ArithmeticError(Exception): ...
  class AssertionError (line 1897) | class AssertionError(Exception): ...
  class AttributeError (line 1899) | class AttributeError(Exception):
    method __init__ (line 1901) | def __init__(self, *args: object, name: str | None = ..., obj: object ...
  class BufferError (line 1905) | class BufferError(Exception): ...
  class EOFError (line 1906) | class EOFError(Exception): ...
  class ImportError (line 1908) | class ImportError(Exception):
    method __init__ (line 1909) | def __init__(self, *args: object, name: str | None = ..., path: str | ...
  class LookupError (line 1916) | class LookupError(Exception): ...
  class MemoryError (line 1917) | class MemoryError(Exception): ...
  class NameError (line 1919) | class NameError(Exception):
    method __init__ (line 1921) | def __init__(self, *args: object, name: str | None = ...) -> None: ...
  class ReferenceError (line 1924) | class ReferenceError(Exception): ...
  class RuntimeError (line 1925) | class RuntimeError(Exception): ...
  class StopAsyncIteration (line 1927) | class StopAsyncIteration(Exception):
  class SyntaxError (line 1930) | class SyntaxError(Exception):
  class SystemError (line 1940) | class SystemError(Exception): ...
  class TypeError (line 1941) | class TypeError(Exception): ...
  class ValueError (line 1942) | class ValueError(Exception): ...
  class FloatingPointError (line 1943) | class FloatingPointError(ArithmeticError): ...
  class OverflowError (line 1944) | class OverflowError(ArithmeticError): ...
  class ZeroDivisionError (line 1945) | class ZeroDivisionError(ArithmeticError): ...
  class ModuleNotFoundError (line 1946) | class ModuleNotFoundError(ImportError): ...
  class IndexError (line 1947) | class IndexError(LookupError): ...
  class KeyError (line 1948) | class KeyError(LookupError): ...
  class UnboundLocalError (line 1949) | class UnboundLocalError(NameError): ...
  class BlockingIOError (line 1951) | class BlockingIOError(OSError):
  class ChildProcessError (line 1954) | class ChildProcessError(OSError): ...
  class ConnectionError (line 1955) | class ConnectionError(OSError): ...
  class BrokenPipeError (line 1956) | class BrokenPipeError(ConnectionError): ...
  class ConnectionAbortedError (line 1957) | class ConnectionAbortedError(ConnectionError): ...
  class ConnectionRefusedError (line 1958) | class ConnectionRefusedError(ConnectionError): ...
  class ConnectionResetError (line 1959) | class ConnectionResetError(ConnectionError): ...
  class FileExistsError (line 1960) | class FileExistsError(OSError): ...
  class FileNotFoundError (line 1961) | class FileNotFoundError(OSError): ...
  class InterruptedError (line 1962) | class InterruptedError(OSError): ...
  class IsADirectoryError (line 1963) | class IsADirectoryError(OSError): ...
  class NotADirectoryError (line 1964) | class NotADirectoryError(OSError): ...
  class PermissionError (line 1965) | class PermissionError(OSError): ...
  class ProcessLookupError (line 1966) | class ProcessLookupError(OSError): ...
  class TimeoutError (line 1967) | class TimeoutError(OSError): ...
  class NotImplementedError (line 1968) | class NotImplementedError(RuntimeError): ...
  class RecursionError (line 1969) | class RecursionError(RuntimeError): ...
  class IndentationError (line 1970) | class IndentationError(SyntaxError): ...
  class TabError (line 1971) | class TabError(IndentationError): ...
  class UnicodeError (line 1972) | class UnicodeError(ValueError): ...
  class UnicodeDecodeError (line 1974) | class UnicodeDecodeError(UnicodeError):
    method __init__ (line 1980) | def __init__(self, encoding: str, object: ReadableBuffer, start: int, ...
  class UnicodeEncodeError (line 1982) | class UnicodeEncodeError(UnicodeError):
    method __init__ (line 1988) | def __init__(self, encoding: str, object: str, start: int, end: int, r...
  class UnicodeTranslateError (line 1990) | class UnicodeTranslateError(UnicodeError):
    method __init__ (line 1996) | def __init__(self, object: str, start: int, end: int, reason: str, /) ...
  class Warning (line 1998) | class Warning(Exception): ...
  class UserWarning (line 1999) | class UserWarning(Warning): ...
  class DeprecationWarning (line 2000) | class DeprecationWarning(Warning): ...
  class SyntaxWarning (line 2001) | class SyntaxWarning(Warning): ...
  class RuntimeWarning (line 2002) | class RuntimeWarning(Warning): ...
  class FutureWarning (line 2003) | class FutureWarning(Warning): ...
  class PendingDeprecationWarning (line 2004) | class PendingDeprecationWarning(Warning): ...
  class ImportWarning (line 2005) | class ImportWarning(Warning): ...
  class UnicodeWarning (line 2006) | class UnicodeWarning(Warning): ...
  class BytesWarning (line 2007) | class BytesWarning(Warning): ...
  class ResourceWarning (line 2008) | class ResourceWarning(Warning): ...
  class EncodingWarning (line 2011) | class EncodingWarning(Warning): ...
  class BaseExceptionGroup (line 2020) | class BaseExceptionGroup(BaseException, Generic[_BaseExceptionT_co]):
    method __new__ (line 2021) | def __new__(cls, message: str, exceptions: Sequence[_BaseExceptionT_co...
    method __init__ (line 2022) | def __init__(self, message: str, exceptions: Sequence[_BaseExceptionT_...
    method message (line 2024) | def message(self) -> str: ...
    method exceptions (line 2026) | def exceptions(self) -> tuple[_BaseExceptionT_co | BaseExceptionGroup[...
    method subgroup (line 2028) | def subgroup(self, condition: type[_ExceptionT] | tuple[type[_Exceptio...
    method subgroup (line 2030) | def subgroup(
    method subgroup (line 2034) | def subgroup(self, condition: Callable[[_BaseExceptionT_co | Self], bo...
    method split (line 2036) | def split(
    method split (line 2040) | def split(
    method split (line 2044) | def split(
    method derive (line 2049) | def derive(self, excs: Sequence[_ExceptionT], /) -> ExceptionGroup[_Ex...
    method derive (line 2051) | def derive(self, excs: Sequence[_BaseExceptionT], /) -> BaseExceptionG...
    method __class_getitem__ (line 2052) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
  class ExceptionGroup (line 2054) | class ExceptionGroup(BaseExceptionGroup[_ExceptionT_co], Exception):
    method __new__ (line 2055) | def __new__(cls, message: str, exceptions: Sequence[_ExceptionT_co], /...
    method __init__ (line 2056) | def __init__(self, message: str, exceptions: Sequence[_ExceptionT_co],...
    method exceptions (line 2058) | def exceptions(self) -> tuple[_ExceptionT_co | ExceptionGroup[_Excepti...
    method subgroup (line 2061) | def subgroup(self, condition: type[_ExceptionT] | tuple[type[_Exceptio...
    method subgroup (line 2063) | def subgroup(self, condition: Callable[[_ExceptionT_co | Self], bool],...
    method split (line 2065) | def split(
    method split (line 2069) | def split(
  class PythonFinalizationError (line 2074) | class PythonFinalizationError(RuntimeError): ...

FILE: publish/micropython-stdlib-stubs/stdlib/collections/__init__.pyi
  function namedtuple (line 50) | def namedtuple(
  class UserDict (line 71) | class UserDict(MutableMapping[_KT, _VT]):  # type: ignore
    method __init__ (line 75) | def __init__(self, dict: None = None, /) -> None: ...
    method __init__ (line 77) | def __init__(
    method __init__ (line 81) | def __init__(self, dict: SupportsKeysAndGetItem[_KT, _VT], /) -> None:...
    method __init__ (line 83) | def __init__(
    method __init__ (line 90) | def __init__(self, iterable: Iterable[tuple[_KT, _VT]], /) -> None: .....
    method __init__ (line 92) | def __init__(
    method __init__ (line 99) | def __init__(self: UserDict[str, str], iterable: Iterable[list[str]], ...
    method __init__ (line 101) | def __init__(self: UserDict[bytes, bytes], iterable: Iterable[list[byt...
    method __len__ (line 102) | def __len__(self) -> int: ...
    method __getitem__ (line 103) | def __getitem__(self, key: _KT) -> _VT: ...  # type: ignore
    method __setitem__ (line 104) | def __setitem__(self, key: _KT, item: _VT) -> None: ...  # type: ignore
    method __delitem__ (line 105) | def __delitem__(self, key: _KT) -> None: ...
    method __iter__ (line 106) | def __iter__(self) -> Iterator[_KT]: ...  # type: ignore
    method __contains__ (line 107) | def __contains__(self, key: object) -> bool: ...
    method copy (line 108) | def copy(self) -> Self: ...
    method __copy__ (line 109) | def __copy__(self) -> Self: ...
    method fromkeys (line 116) | def fromkeys(cls, iterable: Iterable[_T], value: None = None) -> UserD...
    method fromkeys (line 119) | def fromkeys(cls, iterable: Iterable[_T], value: _S) -> UserDict[_T, _...
    method __or__ (line 122) | def __or__(self, other: UserDict[_KT, _VT] | dict[_KT, _VT]) -> Self: ...
    method __or__ (line 124) | def __or__(self, other: UserDict[_T1, _T2] | dict[_T1, _T2]) -> UserDi...
    method __ror__ (line 126) | def __ror__(self, other: UserDict[_KT, _VT] | dict[_KT, _VT]) -> Self:...
    method __ror__ (line 128) | def __ror__(self, other: UserDict[_T1, _T2] | dict[_T1, _T2]) -> UserD...
    method __ior__ (line 131) | def __ior__(self, other: SupportsKeysAndGetItem[_KT, _VT]) -> Self: .....
    method __ior__ (line 133) | def __ior__(self, other: Iterable[tuple[_KT, _VT]]) -> Self: ...  # ty...
    method get (line 136) | def get(self, key: _KT, default: None = None) -> _VT | None: ...  # ty...
    method get (line 138) | def get(self, key: _KT, default: _T) -> _VT | _T: ...  # type: ignore
  class UserList (line 140) | class UserList(MutableSequence[_T]):
    method __init__ (line 143) | def __init__(self, initlist: None = None) -> None: ...
    method __init__ (line 145) | def __init__(self, initlist: Iterable[_T]) -> None: ...
    method __lt__ (line 146) | def __lt__(self, other: list[_T] | UserList[_T]) -> bool: ...
    method __le__ (line 147) | def __le__(self, other: list[_T] | UserList[_T]) -> bool: ...
    method __gt__ (line 148) | def __gt__(self, other: list[_T] | UserList[_T]) -> bool: ...
    method __ge__ (line 149) | def __ge__(self, other: list[_T] | UserList[_T]) -> bool: ...
    method __eq__ (line 150) | def __eq__(self, other: object) -> bool: ...
    method __contains__ (line 151) | def __contains__(self, item: object) -> bool: ...
    method __len__ (line 152) | def __len__(self) -> int: ...
    method __getitem__ (line 154) | def __getitem__(self, i: SupportsIndex) -> _T: ...  # type: ignore
    method __getitem__ (line 156) | def __getitem__(self, i: slice) -> Self: ...
    method __setitem__ (line 158) | def __setitem__(self, i: SupportsIndex, item: _T) -> None: ...
    method __setitem__ (line 160) | def __setitem__(self, i: slice, item: Iterable[_T]) -> None: ...
    method __delitem__ (line 161) | def __delitem__(self, i: SupportsIndex | slice) -> None: ...
    method __add__ (line 162) | def __add__(self, other: Iterable[_T]) -> Self: ...
    method __radd__ (line 163) | def __radd__(self, other: Iterable[_T]) -> Self: ...
    method __iadd__ (line 164) | def __iadd__(self, other: Iterable[_T]) -> Self: ...
    method __mul__ (line 165) | def __mul__(self, n: int) -> Self: ...
    method __rmul__ (line 166) | def __rmul__(self, n: int) -> Self: ...
    method __imul__ (line 167) | def __imul__(self, n: int) -> Self: ...
    method append (line 168) | def append(self, item: _T) -> None: ...
    method insert (line 169) | def insert(self, i: int, item: _T) -> None: ...
    method pop (line 170) | def pop(self, i: int = -1) -> _T: ...  # type: ignore
    method remove (line 171) | def remove(self, item: _T) -> None: ...
    method copy (line 172) | def copy(self) -> Self: ...
    method __copy__ (line 173) | def __copy__(self) -> Self: ...
    method count (line 174) | def count(self, item: _T) -> int: ...
    method index (line 178) | def index(self, item: _T, start: SupportsIndex = 0, stop: SupportsInde...
    method sort (line 181) | def sort(self: UserList[SupportsRichComparisonT], *, key: None = None,...
    method sort (line 183) | def sort(self, *, key: Callable[[_T], SupportsRichComparison], reverse...
    method extend (line 184) | def extend(self, other: Iterable[_T]) -> None: ...
  class UserString (line 186) | class UserString(Sequence[UserString]):
    method __init__ (line 188) | def __init__(self, seq: object) -> None: ...
    method __int__ (line 189) | def __int__(self) -> int: ...
    method __float__ (line 190) | def __float__(self) -> float: ...
    method __complex__ (line 191) | def __complex__(self) -> complex: ...
    method __getnewargs__ (line 192) | def __getnewargs__(self) -> tuple[str]: ...
    method __lt__ (line 193) | def __lt__(self, string: str | UserString) -> bool: ...
    method __le__ (line 194) | def __le__(self, string: str | UserString) -> bool: ...
    method __gt__ (line 195) | def __gt__(self, string: str | UserString) -> bool: ...
    method __ge__ (line 196) | def __ge__(self, string: str | UserString) -> bool: ...
    method __eq__ (line 197) | def __eq__(self, string: object) -> bool: ...
    method __hash__ (line 198) | def __hash__(self) -> int: ...
    method __contains__ (line 199) | def __contains__(self, char: object) -> bool: ...
    method __len__ (line 200) | def __len__(self) -> int: ...
    method __getitem__ (line 201) | def __getitem__(self, index: SupportsIndex | slice) -> Self: ...
    method __iter__ (line 202) | def __iter__(self) -> Iterator[Self]: ...
    method __reversed__ (line 203) | def __reversed__(self) -> Iterator[Self]: ...
    method __add__ (line 204) | def __add__(self, other: object) -> Self: ...
    method __radd__ (line 205) | def __radd__(self, other: object) -> Self: ...
    method __mul__ (line 206) | def __mul__(self, n: int) -> Self: ...
    method __rmul__ (line 207) | def __rmul__(self, n: int) -> Self: ...
    method __mod__ (line 208) | def __mod__(self, args: Any) -> Self: ...
    method __rmod__ (line 209) | def __rmod__(self, template: object) -> Self: ...
    method capitalize (line 210) | def capitalize(self) -> Self: ...
    method casefold (line 211) | def casefold(self) -> Self: ...
    method center (line 212) | def center(self, width: int, *args: Any) -> Self: ...
    method count (line 213) | def count(self, sub: str | UserString, start: int = 0, end: int = sys....
    method encode (line 214) | def encode(self: UserString, encoding: str | None = "utf-8", errors: s...
    method endswith (line 215) | def endswith(self, suffix: str | tuple[str, ...], start: int | None = ...
    method expandtabs (line 216) | def expandtabs(self, tabsize: int = 8) -> Self: ...
    method find (line 217) | def find(self, sub: str | UserString, start: int = 0, end: int = sys.m...
    method format (line 218) | def format(self, *args: Any, **kwds: Any) -> str: ...
    method format_map (line 219) | def format_map(self, mapping: Mapping[str, Any]) -> str: ...
    method index (line 220) | def index(self, sub: str, start: int = 0, end: int = sys.maxsize) -> i...
    method isalpha (line 221) | def isalpha(self) -> bool: ...
    method isalnum (line 222) | def isalnum(self) -> bool: ...
    method isdecimal (line 223) | def isdecimal(self) -> bool: ...
    method isdigit (line 224) | def isdigit(self) -> bool: ...
    method isidentifier (line 225) | def isidentifier(self) -> bool: ...
    method islower (line 226) | def islower(self) -> bool: ...
    method isnumeric (line 227) | def isnumeric(self) -> bool: ...
    method isprintable (line 228) | def isprintable(self) -> bool: ...
    method isspace (line 229) | def isspace(self) -> bool: ...
    method istitle (line 230) | def istitle(self) -> bool: ...
    method isupper (line 231) | def isupper(self) -> bool: ...
    method isascii (line 232) | def isascii(self) -> bool: ...
    method join (line 233) | def join(self, seq: Iterable[str]) -> str: ...
    method ljust (line 234) | def ljust(self, width: int, *args: Any) -> Self: ...
    method lower (line 235) | def lower(self) -> Self: ...
    method lstrip (line 236) | def lstrip(self, chars: str | None = None) -> Self: ...
    method partition (line 238) | def partition(self, sep: str) -> tuple[str, str, str]: ...
    method removeprefix (line 240) | def removeprefix(self, prefix: str | UserString, /) -> Self: ...
    method removesuffix (line 241) | def removesuffix(self, suffix: str | UserString, /) -> Self: ...
    method replace (line 243) | def replace(self, old: str | UserString, new: str | UserString, maxspl...
    method rfind (line 244) | def rfind(self, sub: str | UserString, start: int = 0, end: int = sys....
    method rindex (line 245) | def rindex(self, sub: str | UserString, start: int = 0, end: int = sys...
    method rjust (line 246) | def rjust(self, width: int, *args: Any) -> Self: ...
    method rpartition (line 247) | def rpartition(self, sep: str) -> tuple[str, str, str]: ...
    method rstrip (line 248) | def rstrip(self, chars: str | None = None) -> Self: ...
    method split (line 249) | def split(self, sep: str | None = None, maxsplit: int = -1) -> list[st...
    method rsplit (line 250) | def rsplit(self, sep: str | None = None, maxsplit: int = -1) -> list[s...
    method splitlines (line 251) | def splitlines(self, keepends: bool = False) -> list[str]: ...
    method startswith (line 252) | def startswith(self, prefix: str | tuple[str, ...], start: int | None ...
    method strip (line 253) | def strip(self, chars: str | None = None) -> Self: ...
    method swapcase (line 254) | def swapcase(self) -> Self: ...
    method title (line 255) | def title(self) -> Self: ...
    method translate (line 256) | def translate(self, *args: Any) -> Self: ...
    method upper (line 257) | def upper(self) -> Self: ...
    method zfill (line 258) | def zfill(self, width: int) -> Self: ...
  class deque (line 260) | class deque(Generic[_T]):
    method maxlen (line 265) | def maxlen(self) -> int | None: ...
    method __init__ (line 267) | def __init__(self, *, maxlen: int | None = None) -> None: ...
    method __init__ (line 269) | def __init__(self, iterable: Iterable[_T], maxlen: int | None = None) ...
    method append (line 270) | def append(self, x: _T, /) -> None:  # type: ignore
    method appendleft (line 277) | def appendleft(self, x: _T, /) -> None:  # type: ignore
    method copy (line 284) | def copy(self) -> Self: ...
    method count (line 285) | def count(self, x: _T, /) -> int: ...  # type: ignore
    method extend (line 286) | def extend(self, iterable: Iterable[_T], /) -> None:
    method extendleft (line 294) | def extendleft(self, iterable: Iterable[_T], /) -> None: ...
    method insert (line 295) | def insert(self, i: int, x: _T, /) -> None: ...  # type: ignore
    method index (line 296) | def index(self, x: _T, start: int = 0, stop: int = ..., /) -> int: ......
    method pop (line 297) | def pop(self) -> _T:  # type: ignore
    method popleft (line 303) | def popleft(self) -> _T:  # type: ignore
    method remove (line 309) | def remove(self, value: _T, /) -> None: ...  # type: ignore
    method rotate (line 310) | def rotate(self, n: int = 1, /) -> None: ...
    method __copy__ (line 311) | def __copy__(self) -> Self: ...
    method __len__ (line 312) | def __len__(self) -> int: ...
    method __getitem__ (line 314) | def __getitem__(self, key: SupportsIndex, /) -> _T: ...  # type: ignor...
    method __setitem__ (line 315) | def __setitem__(self, key: SupportsIndex, value: _T, /) -> None: ...  ...
    method __delitem__ (line 316) | def __delitem__(self, key: SupportsIndex, /) -> None: ...  # type: ign...
    method __contains__ (line 317) | def __contains__(self, key: object, /) -> bool: ...
    method __reduce__ (line 318) | def __reduce__(self) -> tuple[type[Self], tuple[()], None, Iterator[_T...
    method __iadd__ (line 319) | def __iadd__(self, value: Iterable[_T], /) -> Self: ...
    method __add__ (line 320) | def __add__(self, value: Self, /) -> Self: ...
    method __mul__ (line 321) | def __mul__(self, value: int, /) -> Self: ...
    method __imul__ (line 322) | def __imul__(self, value: int, /) -> Self: ...
    method __lt__ (line 323) | def __lt__(self, value: deque[_T], /) -> bool: ...  # type: ignore
    method __le__ (line 324) | def __le__(self, value: deque[_T], /) -> bool: ...  # type: ignore
    method __gt__ (line 325) | def __gt__(self, value: deque[_T], /) -> bool: ...  # type: ignore
    method __ge__ (line 326) | def __ge__(self, value: deque[_T], /) -> bool: ...  # type: ignore
    method __eq__ (line 327) | def __eq__(self, value: object, /) -> bool: ...
    method __class_getitem__ (line 329) | def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
  class Counter (line 331) | class Counter(dict[_T, int], Generic[_T]):
    method __init__ (line 333) | def __init__(self, iterable: None = None, /) -> None: ...
    method __init__ (line 335) | def __init__(self: Counter[str], iterable: None = None, /, **kwargs: i...
    method __init__ (line 337) | def __init__(self, mapping: SupportsKeysAndGetItem[_T, int], /) -> Non...
    method __init__ (line 339) | def __init__(self, iterable: Iterable[_T], /) -> None: ...
    method copy (line 340) | def copy(self) -> Self: ...
    method elements (line 341) | def elements(self) -> Iterator[_T]: ...  # type: ignore
    method most_common (line 342) | def most_common(self, n: int | None = None) -> list[tuple[_T, int]]: ...
    method fromkeys (line 344) | def fromkeys(cls, iterable: Any, v: int | None = None) -> NoReturn: .....
    method subtract (line 346) | def subtract(self, iterable: None = None, /) -> None: ...
    method subtract (line 348) | def subtract(self, mapping: Mapping[_T, int], /) -> None: ...
    method subtract (line 350) | def subtract(self, iterable: Iterable[_T], /) -> None: ...
    method update (line 358) | def update(self, m: Mapping[_T, int], /, **kwargs: int) -> None: ...
    method update (line 360) | def update(self, iterable: Iterable[_T], /, **kwargs: int) -> None: ...
    method update (line 362) | def update(self, iterable: None = None, /, **kwargs: int) -> None: ...
    method __missing__ (line 363) | def __missing__(self, key: _T) -> int: ...
    method __delitem__ (line 364) | def __delitem__(self, elem: object) -> None: ...
    method __eq__ (line 366) | def __eq__(self, other: object) -> bool: ...
    method __ne__ (line 367) | def __ne__(self, other: object) -> bool: ...
    method __add__ (line 369) | def __add__(self, other: Counter[_S]) -> Counter[_T | _S]: ...
    method __sub__ (line 370) | def __sub__(self, other: Counter[_T]) -> Counter[_T]: ...
    method __and__ (line 371) | def __and__(self, other: Counter[_T]) -> Counter[_T]: ...
    method __or__ (line 372) | def __or__(self, other: Counter[_S]) -> Counter[_T | _S]: ...  # type:...
    method __pos__ (line 373) | def __pos__(self) -> Counter[_T]: ...
    method __neg__ (line 374) | def __neg__(self) -> Counter[_T]: ...
    method __iadd__ (line 376) | def __iadd__(self, other: SupportsItems[_T, int]) -> Self: ...  # type...
    method __isub__ (line 377) | def __isub__(self, other: SupportsItems[_T, int]) -> Self: ...
    method __iand__ (line 378) | def __iand__(self, other: SupportsItems[_T, int]) -> Self: ...
    method __ior__ (line 379) | def __ior__(self, other: SupportsItems[_T, int]) -> Self: ...  # type:...
    method total (line 381) | def total(self) -> int: ...
    method __le__ (line 382) | def __le__(self, other: Counter[Any]) -> bool: ...
    method __lt__ (line 383) | def __lt__(self, other: Counter[Any]) -> bool: ...
    method __ge__ (line 384) | def __ge__(self, other: Counter[Any]) -> bool: ...
    method __gt__ (line 385) | def __gt__(self, other: Counter[Any]) -> bool: ...
  class _OrderedDictKeysView (line 389) | class _OrderedDictKeysView(KeysView[_KT_co]):
    method __reversed__ (line 390) | def __reversed__(self) -> Iterator[_KT_co]: ...
  class _OrderedDictItemsView (line 392) | class _OrderedDictItemsView(ItemsView[_KT_co, _VT_co]):
    method __reversed__ (line 393) | def __reversed__(self) -> Iterator[tuple[_KT_co, _VT_co]]: ...
  class _OrderedDictValuesView (line 395) | class _OrderedDictValuesView(ValuesView[_VT_co]):
    method __reversed__ (line 396) | def __reversed__(self) -> Iterator[_VT_co]: ...
  class _odict_keys (line 403) | class _odict_keys(dict_keys[_KT_co, _VT_co]):  # type: ignore[misc]  # p...
    method __reversed__ (line 404) | def __reversed__(self) -> Iterator[_KT_co]: ...
  class _odict_items (line 407) | class _odict_items(dict_items[_KT_co, _VT_co]):  # type: ignore[misc]  #...
    method __reversed__ (line 408) | def __reversed__(self) -> Iterator[tuple[_KT_co, _VT_co]]: ...
  class _odict_values (line 411) | class _odict_values(dict_values[_KT_co, _VT_co]):  # type: ignore[misc] ...
    method __reversed__ (line 412) | def __reversed__(self) -> Iterator[_VT_co]: ...
  class OrderedDict (line 414) | class OrderedDict(Dict[_KT, _VT], Generic[_KT, _VT]):  # type: ignore
    method popitem (line 438) | def popitem(self) -> tuple[_KT, _VT]:  # type: ignore
    method move_to_end (line 455) | def move_to_end(self, key: _KT, last: bool = True) -> None: ...  # typ...
    method copy (line 456) | def copy(self) -> Self: ...
    method __reversed__ (line 457) | def __reversed__(self) -> Iterator[_KT]: ...  # type: ignore
    method keys (line 458) | def keys(self) -> _odict_keys[_KT, _VT]: ...  # type: ignore
    method items (line 459) | def items(self) -> _odict_items[_KT, _VT]: ...  # type: ignore
    method values (line 460) | def values(self) -> _odict_values[_KT, _VT]: ...  # type: ignore
    method fromkeys (line 466) | def fromkeys(cls, iterable: Iterable[_T], value: None = None) -> Order...
    method fromkeys (line 469) | def fromkeys(cls, iterable: Iterable[_T], value: _S) -> OrderedDict[_T...
    method setdefault (line 472) | def setdefault(self: OrderedDict[_KT, _T | None], key: _KT, default: N...
    method setdefault (line 474) | def setdefault(self, key: _KT, default: _VT) -> _VT: ...  # type: ignore
    method pop (line 477) | def pop(self, key: _KT) -> _VT: ...  # type: ignore
    method pop (line 479) | def pop(self, key: _KT, default: _VT) -> _VT: ...  # type: ignore
    method pop (line 481) | def pop(self, key: _KT, default: _T) -> _VT | _T: ...  # type: ignore
    method __eq__ (line 482) | def __eq__(self, value: object, /) -> bool: ...
    method __or__ (line 485) | def __or__(self, value: dict[_KT, _VT], /) -> Self: ...  # type: ignore
    method __or__ (line 487) | def __or__(self, value: dict[_T1, _T2], /) -> OrderedDict[_KT | _T1, _...
    method __ror__ (line 489) | def __ror__(self, value: dict[_KT, _VT], /) -> Self: ...  # type: ignore
    method __ror__ (line 491) | def __ror__(self, value: dict[_T1, _T2], /) -> OrderedDict[_KT | _T1, ...
  class defaultdict (line 493) | class defaultdict(dict[_KT, _VT]):  # type: ignore
    method __init__ (line 496) | def __init__(self) -> None: ...
    method __init__ (line 498) | def __init__(self: defaultdict[str, _VT], **kwargs: _VT) -> None: ... ...
    method __init__ (line 500) | def __init__(self, default_factory: Callable[[], _VT] | None, /) -> No...
    method __init__ (line 502) | def __init__(
    method __init__ (line 509) | def __init__(self, default_factory: Callable[[], _VT] | None, map: Sup...
    method __init__ (line 511) | def __init__(
    method __init__ (line 519) | def __init__(self, default_factory: Callable[[], _VT] | None, iterable...
    method __init__ (line 521) | def __init__(
    method __missing__ (line 528) | def __missing__(self, key: _KT, /) -> _VT: ...  # type: ignore
    method __copy__ (line 529) | def __copy__(self) -> Self: ...
    method copy (line 530) | def copy(self) -> Self: ...
    method __or__ (line 533) | def __or__(self, value: dict[_KT, _VT], /) -> Self: ...  # type: ignore
    method __or__ (line 535) | def __or__(self, value: dict[_T1, _T2], /) -> defaultdict[_KT | _T1, _...
    method __ror__ (line 537) | def __ror__(self, value: dict[_KT, _VT], /) -> Self: ...  # type: ignore
    method __ror__ (line 539) | def __ror__(self, value: dict[_T1, _T2], /) -> defaultdict[_KT | _T1, ...
  class ChainMap (line 541) | class ChainMap(MutableMapping[_KT, _VT]):  # type: ignore
    method __init__ (line 543) | def __init__(self, *maps: MutableMapping[_KT, _VT]) -> None: ...  # ty...
    method new_child (line 544) | def new_child(self, m: MutableMapping[_KT, _VT] | None = None) -> Self...
    method parents (line 546) | def parents(self) -> Self: ...
    method __setitem__ (line 547) | def __setitem__(self, key: _KT, value: _VT) -> None: ...  # type: ignore
    method __delitem__ (line 548) | def __delitem__(self, key: _KT) -> None: ...
    method __getitem__ (line 549) | def __getitem__(self, key: _KT) -> _VT: ...  # type: ignore
    method __iter__ (line 550) | def __iter__(self) -> Iterator[_KT]: ...  # type: ignore
    method __len__ (line 551) | def __len__(self) -> int: ...
    method __contains__ (line 552) | def __contains__(self, key: object) -> bool: ...
    method get (line 554) | def get(self, key: _KT, default: None = None) -> _VT | None: ...  # ty...
    method get (line 556) | def get(self, key: _KT, default: _T) -> _VT | _T: ...  # type: ignore
    method __missing__ (line 557) | def __missing__(self, key: _KT) -> _VT: ...  # undocumented  # type: i...
    method __bool__ (line 558) | def __bool__(self) -> bool: ...
    method setdefault (line 561) | def setdefault(self: ChainMap[_KT, _T | None], key: _KT, default: None...
    method setdefault (line 563) | def setdefault(self, key: _KT, default: _VT) -> _VT: ...  # type: ignore
    method pop (line 565) | def pop(self, key: _KT) -> _VT: ...  # type: ignore
    method pop (line 567) | def pop(self, key: _KT, default: _VT) -> _VT: ...  # type: ignore
    method pop (line 569) | def pop(self, key: _KT, default: _T) -> _VT | _T: ...  # type: ignore
    method copy (line 570) | def copy(self) -> Self: ...
    method fromkeys (line 576) | def fromkeys(cls, iterable: Iterable[_T]) -> ChainMap[_T, Any | None]:...
    method fromkeys (line 580) | def fromkeys(cls, iterable: Iterable[_T], value: None, /) -> ChainMap[...
    method fromkeys (line 583) | def fromkeys(cls, iterable: Iterable[_T], value: _S, /) -> ChainMap[_T...
    method __or__ (line 586) | def __or__(self, other: Mapping[_KT, _VT]) -> Self: ...  # type: ignore
    method __or__ (line 588) | def __or__(self, other: Mapping[_T1, _T2]) -> ChainMap[_KT | _T1, _VT ...
    method __ror__ (line 590) | def __ror__(self, other: Mapping[_KT, _VT]) -> Self: ...  # type: ignore
    method __ror__ (line 592) | def __ror__(self, other: Mapping[_T1, _T2]) -> ChainMap[_KT | _T1, _VT...
    method __ior__ (line 595) | def __ior__(self, other: SupportsKeysAndGetItem[_KT, _VT]) -> Self: .....
    method __ior__ (line 597) | def __ior__(self, other: Iterable[tuple[_KT, _VT]]) -> Self: ...  # ty...

FILE: publish/micropython-stdlib-stubs/stdlib/enum.pyi
  class nonmember (line 58) | class nonmember(Generic[_EnumMemberT]):
    method __init__ (line 60) | def __init__(self, value: _EnumMemberT) -> None: ...
  class member (line 62) | class member(Generic[_EnumMemberT]):
    method __init__ (line 64) | def __init__(self, value: _EnumMemberT) -> None: ...
  class _EnumDict (line 66) | class _EnumDict(dict[str, Any]):
    method __init__ (line 67) | def __init__(self) -> None: ...
    method __setitem__ (line 68) | def __setitem__(self, key: str, value: Any) -> None: ...
    method update (line 76) | def update(self, members: SupportsKeysAndGetItem[str, Any], **more_mem...
    method update (line 78) | def update(self, members: Iterable[tuple[str, Any]], **more_members: A...
    method member_names (line 81) | def member_names(self) -> list[str]: ...
  class EnumMeta (line 87) | class EnumMeta(type):
    method __new__ (line 89) | def __new__(
    method __new__ (line 100) | def __new__(
    method __new__ (line 104) | def __new__(metacls: type[_typeshed.Self], cls: str, bases: tuple[type...
    method __prepare__ (line 108) | def __prepare__(metacls, cls: str, bases: tuple[type, ...], **kwds: An...
    method __prepare__ (line 111) | def __prepare__(metacls, cls: str, bases: tuple[type, ...]) -> _EnumDi...
    method __iter__ (line 113) | def __iter__(self: type[_EnumMemberT]) -> Iterator[_EnumMemberT]: ...
    method __reversed__ (line 114) | def __reversed__(self: type[_EnumMemberT]) -> Iterator[_EnumMemberT]: ...
    method __contains__ (line 116) | def __contains__(self: type[Any], value: object) -> bool: ...
    method __contains__ (line 118) | def __contains__(self: type[Any], member: object) -> bool: ...
    method __contains__ (line 120) | def __contains__(self: type[Any], obj: object) -> bool: ...
    method __contains__ (line 122) | def __contains__(self: type[Any], member: object) -> bool: ...
    method __getitem__ (line 124) | def __getitem__(self: type[_EnumMemberT], name: str) -> _EnumMemberT: ...
    method __members__ (line 126) | def __members__(self: type[_EnumMemberT]) -> types.MappingProxyType[st...
    method __len__ (line 127) | def __len__(self) -> int: ...
    method __bool__ (line 128) | def __bool__(self) -> Literal[True]: ...
    method __dir__ (line 129) | def __dir__(self) -> list[str]: ...
    method __call__ (line 133) | def __call__(cls: type[_EnumMemberT], value: Any, names: None = None) ...
    method __call__ (line 138) | def __call__(
    method __call__ (line 151) | def __call__(
    method __call__ (line 171) | def __call__(cls: type[_EnumMemberT], value: Any, *values: Any) -> _En...
  class property (line 181) | class property(types.DynamicClassAttribute):
    method __set_name__ (line 182) | def __set_name__(self, ownerclass: type[Enum], name: str) -> None: ...
  class Enum (line 191) | class Enum(metaclass=EnumMeta):
    method name (line 193) | def name(self) -> str: ...
    method value (line 195) | def value(self) -> Any: ...
    method _missing_ (line 202) | def _missing_(cls, value: object) -> Any: ...
    method _generate_next_value_ (line 204) | def _generate_next_value_(name: str, start: int, count: int, last_valu...
    method __new__ (line 210) | def __new__(cls, value: object) -> Self: ...
    method __dir__ (line 211) | def __dir__(self) -> list[str]: ...
    method __hash__ (line 212) | def __hash__(self) -> int: ...
    method __format__ (line 213) | def __format__(self, format_spec: str) -> str: ...
    method __reduce_ex__ (line 214) | def __reduce_ex__(self, proto: Unused) -> tuple[Any, ...]: ...
    method __copy__ (line 216) | def __copy__(self) -> Self: ...
    method __deepcopy__ (line 217) | def __deepcopy__(self, memo: Any) -> Self: ...
    method __signature__ (line 220) | def __signature__(cls) -> str: ...
  class ReprEnum (line 223) | class ReprEnum(Enum): ...
  class IntEnum (line 230) | class IntEnum(int, _IntEnumBase):
    method value (line 233) | def value(self) -> int: ...
    method __new__ (line 234) | def __new__(cls, value: int) -> Self: ...
  function unique (line 236) | def unique(enumeration: _EnumerationT) -> _EnumerationT: ...
  class Flag (line 240) | class Flag(Enum):
    method name (line 244) | def name(self) -> str | None: ...  # type: ignore[override]
    method value (line 246) | def value(self) -> int: ...
    method __contains__ (line 247) | def __contains__(self, other: Self) -> bool: ...
    method __bool__ (line 248) | def __bool__(self) -> bool: ...
    method __or__ (line 249) | def __or__(self, other: Self) -> Self: ...
    method __and__ (line 250) | def __and__(self, other: Self) -> Self: ...
    method __xor__ (line 251) | def __xor__(self, other: Self) -> Self: ...
    method __invert__ (line 252) | def __invert__(self) -> Self: ...
    method __iter__ (line 254) | def __iter__(self) -> Iterator[Self]: ...
    method __len__ (line 255) | def __len__(self) -> int: ...
  class StrEnum (line 261) | class StrEnum(str, ReprEnum):
    method __new__ (line 262) | def __new__(cls, value: str) -> Self: ...
    method value (line 265) | def value(self) -> str: ...
    method _generate_next_value_ (line 267) | def _generate_next_value_(name: str, start: int, count: int, last_valu...
  class EnumCheck (line 269) | class EnumCheck(StrEnum):
  class verify (line 278) | class verify:
    method __init__ (line 279) | def __init__(self, *checks: EnumCheck) -> None: ...
    method __call__ (line 280) | def __call__(self, enumeration: _EnumerationT) -> _EnumerationT: ...
  class FlagBoundary (line 282) | class FlagBoundary(StrEnum):
  function global_str (line 293) | def global_str(self: Enum) -> str: ...
  function global_enum (line 294) | def global_enum(cls: _EnumerationT, update_str: bool = False) -> _Enumer...
  function global_enum_repr (line 295) | def global_enum_repr(self: Enum) -> str: ...
  function global_flag_repr (line 296) | def global_flag_repr(self: Flag) -> str: ...
  class IntFlag (line 300) | class IntFlag(int, ReprEnum, Flag, boundary=KEEP):  # type: ignore[misc]...
    method __new__ (line 301) | def __new__(cls, value: int) -> Self: ...
    method __or__ (line 302) | def __or__(self, other: int) -> Self: ...
    method __and__ (line 303) | def __and__(self, other: int) -> Self: ...
    method __xor__ (line 304) | def __xor__(self, other: int) -> Self: ...
    method __new__ (line 311) | def __new__(cls, value: int) -> Self: ...
    method __or__ (line 312) | def __or__(self, other: int) -> Self: ...
    method __and__ (line 313) | def __and__(self, other: int) -> Self: ...
    method __xor__ (line 314) | def __xor__(self, other: int) -> Self: ...
  class IntFlag (line 310) | class IntFlag(int, Flag):  # type: ignore[misc]  # complaints about inco...
    method __new__ (line 301) | def __new__(cls, value: int) -> Self: ...
    method __or__ (line 302) | def __or__(self, other: int) -> Self: ...
    method __and__ (line 303) | def __and__(self, other: int) -> Self: ...
    method __xor__ (line 304) | def __xor__(self, other: int) -> Self: ...
    method __new__ (line 311) | def __new__(cls, value: int) -> Self: ...
    method __or__ (line 312) | def __or__(self, other: int) -> Self: ...
    method __and__ (line 313) | def __and__(self, other: int) -> Self: ...
    method __xor__ (line 314) | def __xor__(self, other: int) -> Self: ...
  class auto (line 319) | class auto:
    method value (line 322) | def value(self) -> Any: ...
    method __new__ (line 323) | def __new__(cls) -> Self: ...
    method __or__ (line 330) | def __or__(self, other: int | Self) -> Self: ...
    method __and__ (line 331) | def __and__(self, other: int | Self) -> Self: ...
    method __xor__ (line 332) | def __xor__(self, other: int | Self) -> Self: ...
  function pickle_by_global_name (line 338) | def pickle_by_global_name(self: Enum, proto: int) -> str: ...
  function pickle_by_enum_name (line 339) | def pickle_by_enum_name(self: _EnumMemberT, proto: int) -> tuple[Callabl...

FILE: publish/micropython-stdlib-stubs/stdlib/io.pyi
  class UnsupportedOperation (line 143) | class UnsupportedOperation(OSError, ValueError): ...
  class IOBase (line 144) | class IOBase(_IOBase, metaclass=abc.ABCMeta): ...
  class RawIOBase (line 145) | class RawIOBase(_RawIOBase, IOBase): ...
  class BufferedIOBase (line 146) | class BufferedIOBase(_BufferedIOBase, IOBase): ...
  class TextIOBase (line 147) | class TextIOBase(_TextIOBase, IOBase): ...
  class StringIO (line 149) | class StringIO:
    method __init__ (line 151) | def __init__(self, string: str = "", /):
    method __init__ (line 172) | def __init__(self, alloc_size: int, /):
  class BytesIO (line 192) | class BytesIO:
    method __init__ (line 194) | def __init__(self, string: bytes = b"", /):
    method __init__ (line 221) | def __init__(self, alloc_size: int, /):
  function open (line 248) | def open(name: _OpenFile, /, **kwargs) -> TextIOWrapper:
  function open (line 256) | def open(name: _OpenFile, mode: _OpenTextModeWriting = ..., /, **kwargs)...
  function open (line 264) | def open(name: _OpenFile, mode: _OpenBinaryMode = ..., /, **kwargs) -> F...

FILE: publish/micropython-stdlib-stubs/stdlib/json/__init__.pyi
  function dumps (line 23) | def dumps(obj: Any) -> str:
  function dumps (line 32) | def dumps(obj: Any, separators: Tuple[str, str]) -> str:
  function dump (line 41) | def dump(obj: Any, stream: IOBase_mp | Incomplete, /) -> None:
  function dump (line 52) | def dump(obj: Any, stream: IOBase_mp | Incomplete, separators: Tuple[str...
  function loads (line 61) | def loads(
  function load (line 68) | def load(
  function detect_encoding (line 79) | def detect_encoding(b: bytes | bytearray) -> str: ...  # undocumented

FILE: publish/micropython-stdlib-stubs/stdlib/os/__init__.pyi
  class _Environ (line 251) | class _Environ(MutableMapping[AnyStr, AnyStr], Generic[AnyStr]):
    method __init__ (line 257) | def __init__(
    method __init__ (line 268) | def __init__(
    method setdefault (line 279) | def setdefault(self, key: AnyStr, value: AnyStr) -> AnyStr: ...
    method copy (line 280) | def copy(self) -> dict[AnyStr, AnyStr]: ...
    method __delitem__ (line 281) | def __delitem__(self, key: AnyStr) -> None: ...
    method __getitem__ (line 282) | def __getitem__(self, key: AnyStr) -> AnyStr: ...
    method __setitem__ (line 283) | def __setitem__(self, key: AnyStr, value: AnyStr) -> None: ...
    method __iter__ (line 284) | def __iter__(self) -> Iterator[AnyStr]: ...
    method __len__ (line 285) | def __len__(self) -> int: ...
    method __or__ (line 287) | def __or__(self, other: Mapping[_T1, _T2]) -> dict[AnyStr | _T1, AnySt...
    method __ror__ (line 288) | def __ror__(self, other: Mapping[_T1, _T2]) -> dict[AnyStr | _T1, AnyS...
    method __ior__ (line 293) | def __ior__(self, other: Mapping[AnyStr, AnyStr]) -> Self: ...
    method __ior__ (line 295) | def __ior__(self, other: Iterable[tuple[AnyStr, AnyStr]]) -> Self: ...
  class stat_result (line 346) | class stat_result(structseq[float], tuple[int, int, int, int, int, int, ...
    method st_mode (line 361) | def st_mode(self) -> int: ...  # protection bits,
    method st_ino (line 363) | def st_ino(self) -> int: ...  # inode number,
    method st_dev (line 365) | def st_dev(self) -> int: ...  # device,
    method st_nlink (line 367) | def st_nlink(self) -> int: ...  # number of hard links,
    method st_uid (line 369) | def st_uid(self) -> int: ...  # user id of owner,
    method st_gid (line 371) | def st_gid(self) -> int: ...  # group id of owner,
    method st_size (line 373) | def st_size(self) -> int: ...  # size of file, in bytes,
    method st_atime (line 375) | def st_atime(self) -> float: ...  # time of most recent access,
    method st_mtime (line 377) | def st_mtime(self) -> float: ...  # time of most recent content modifi...
    method st_ctime (line 386) | def st_ctime(self) -> float: ...
    method st_ctime (line 389) | def st_ctime(self) -> float: ...
    method st_atime_ns (line 392) | def st_atime_ns(self) -> int: ...  # time of most recent access, in na...
    method st_mtime_ns (line 394) | def st_mtime_ns(self) -> int: ...  # time of most recent content modif...
    method st_ctime_ns (line 397) | def st_ctime_ns(self) -> int: ...
    method st_file_attribu
Copy disabled (too large) Download .json
Condensed preview — 81438 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (111,735K chars).
[
  {
    "path": ".actrc",
    "chars": 422,
    "preview": "# set default options for running nekios act to run actions locally with docker\n# reus images to speed up builds and to "
  },
  {
    "path": ".all-contributorsrc",
    "chars": 10437,
    "preview": "{\n  \"files\": [\n    \"README.md\"\n  ],\n  \"types\": {\n    \"stubs\": {\n      \"symbol\": \"📝\",\n      \"description\": \"type-stubs\"\n "
  },
  {
    "path": ".devcontainer/Dockerfile",
    "chars": 1371,
    "preview": "# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.224.2/containers/python-3/.dev"
  },
  {
    "path": ".devcontainer/devcontainer.json",
    "chars": 2090,
    "preview": "// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:\n// https://github.co"
  },
  {
    "path": ".gitattributes",
    "chars": 68,
    "preview": "# These are binary so should never be modified by git.\n*.mpy binary\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 66,
    "preview": "# These are supported funding model platforms\n\ngithub: [josverl] \n"
  },
  {
    "path": ".github/actions/commit/action.yml",
    "chars": 1178,
    "preview": "name: \"commit changes\"\ndescription: \"\"\ninputs:\n  message:\n    description: \"commit message\"\n    required: true\n    defau"
  },
  {
    "path": ".github/actions/enhanced-diff/README.md",
    "chars": 2888,
    "preview": "# Enhanced Diff Action\n\nThis GitHub Action provides enhanced diff checking for the micropython-stubs workflow. It determ"
  },
  {
    "path": ".github/actions/enhanced-diff/action.yml",
    "chars": 1162,
    "preview": "name: \"enhanced-diff\"\ndescription: \"Enhanced diff check that determines commits based on non-JSON file changes\"\n\ninputs:"
  },
  {
    "path": ".github/actions/enhanced-diff/check_changes.py",
    "chars": 5472,
    "preview": "#!/usr/bin/env python3\n\"\"\"\nEnhanced diff checker for micropython-stubs workflow.\n\nThis script checks for changes in the "
  },
  {
    "path": ".github/actions/enhanced-diff/test_enhanced_diff.py",
    "chars": 4031,
    "preview": "#!/usr/bin/env python3\n\"\"\"\nTest script for the enhanced diff checker.\nThis script simulates different scenarios to verif"
  },
  {
    "path": ".github/actions/get-mpversions/action.yml",
    "chars": 751,
    "preview": "name: \"get-mpversions\"\ndescription: \"get the most recent 4 published versions of MicroPython\"\ninputs:\n  max:\n    descrip"
  },
  {
    "path": ".github/actions/get-mpversions/list_versions.py",
    "chars": 3140,
    "preview": "\"\"\"\nThis module retrieves the versions of Micropython from the Micropython repository on GitHub.\nIt is used to generate "
  },
  {
    "path": ".github/actions/stub-diff/action.yml",
    "chars": 807,
    "preview": "name: \"stub-diff\"\ndescription: \"determine if there are changes to the stubs\"\n# inputs:\n#   verbose:\n#     description: \""
  },
  {
    "path": ".github/actions/stub-diff/git-diff.ps1",
    "chars": 1004,
    "preview": "param(\n    $pattern = \".py\",\n    $verbose = \"true\"\n)\n# take string and booleans as input\ntry {\n    $verbose = [System.Co"
  },
  {
    "path": ".github/agents/audit/ralph-auditer-progress.md",
    "chars": 16336,
    "preview": "# Ralph Auditer Progress Ledger\n\nStatus values: pending | in_progress | done | skipped | blocked\n\n| Module | Status | Co"
  },
  {
    "path": ".github/agents/ralph-auditer-runner.agent.md",
    "chars": 1521,
    "preview": "---\nname: ralph-auditer-runner\ndescription: \"Use when you want unattended orchestration of ralph-auditer by auto-relaunc"
  },
  {
    "path": ".github/agents/ralph-auditer.agent.md",
    "chars": 8484,
    "preview": "---\nname: ralph-auditer\ndescription: \"Use when auditing and improving all stubs under reference/micropython by iterating"
  },
  {
    "path": ".github/agents/stub-source-auditor.agent.md",
    "chars": 4687,
    "preview": "---\nname: Stub Source Auditor\ndescription: \"Use when improving any MicroPython stub module by comparing stub definitions"
  },
  {
    "path": ".github/agents/stub-typing-specialist.agent.md",
    "chars": 4854,
    "preview": "---\ndescription: \"Use when working on Python type stubs (.pyi) or stub-only packages: authoring, refactoring, or auditin"
  },
  {
    "path": ".github/copilot-instructions.md",
    "chars": 10351,
    "preview": "# MicroPython-Stubs Repository Guide\n\n## Project Overview\n\nThis repository mostly contains **type stubs**, not executabl"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 796,
    "preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
  },
  {
    "path": ".github/not-active/action-test.yml",
    "chars": 1662,
    "preview": "########################################################################################################################"
  },
  {
    "path": ".github/not-active/codeql-analysis.yml",
    "chars": 2614,
    "preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
  },
  {
    "path": ".github/not-active/get-loboris-frozen.yml",
    "chars": 2018,
    "preview": "########################################################################################################################"
  },
  {
    "path": ".github/not-active/mark-stale.yml",
    "chars": 1798,
    "preview": "# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.\n#\n# You c"
  },
  {
    "path": ".github/not-active/matrix.yml",
    "chars": 1714,
    "preview": "name: matrix\non: push\njobs:\n  job10:\n    runs-on: ubuntu-latest\n    outputs:\n      matrix: ${{ steps.set-matrix.outputs."
  },
  {
    "path": ".github/not-active/publish.yml",
    "chars": 5459,
    "preview": "# workflow to build packages for PyPI\n##################################################################################"
  },
  {
    "path": ".github/not-active/testspace.yml",
    "chars": 2069,
    "preview": "name: test stub quality\non:\n  workflow_dispatch:\n  push:\n    paths-ignore:\n      - \"**.md\"\n      - \"docs/**\"\n  pull_requ"
  },
  {
    "path": ".github/workflows/compare_score.py",
    "chars": 2962,
    "preview": "import json\nimport os\n\nimport requests\nfrom dotenv import load_dotenv\n\ntry:\n\n    load_dotenv()  # load variables \n    lo"
  },
  {
    "path": ".github/workflows/createstubs.yml",
    "chars": 2942,
    "preview": "name: Create MCU stubs\n\non:\n    workflow_dispatch:\n    # schedule:\n    #    - cron: \"0 23 * * *\"\n    push:\n        # bra"
  },
  {
    "path": ".github/workflows/get-all-frozen.yml",
    "chars": 4501,
    "preview": "########################################################################################################################"
  },
  {
    "path": ".github/workflows/get-doc-stubs.yml",
    "chars": 3325,
    "preview": "########################################################################################################################"
  },
  {
    "path": ".github/workflows/matrix-test.yml",
    "chars": 4997,
    "preview": "name: matrix-test\non: \n    - workflow_dispatch\n#    - push\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref "
  },
  {
    "path": ".github/workflows/publish_explorer.yml",
    "chars": 799,
    "preview": "name: Publish explorer frontend to GitHub Pages\n\non:\n  workflow_dispatch:\n  push:\n    branches: [  copilot/create-databa"
  },
  {
    "path": ".github/workflows/selftest.yml",
    "chars": 1454,
    "preview": "name: selfhosted_test\n\non:\n    workflow_dispatch:\n    # schedule:\n    #     - cron: \"55 * * * *\"        \n    push:\n     "
  },
  {
    "path": ".github/workflows/test_runtime_typing.yml",
    "chars": 1096,
    "preview": "name: test_runtime_typing\non: \n  pull_request:\n  workflow_dispatch:\n  push:\n    paths:\n      - 'mip/**/*.py'\n\n\nenv:\n  # "
  },
  {
    "path": ".github/workflows/test_stub_quality.yml",
    "chars": 1936,
    "preview": "name: test_stub_quality\non: [ pull_request, workflow_dispatch] # Not on push to avoid wasting 15 mins CPU \n\nenv:\n  # Set"
  },
  {
    "path": ".github/workflows/update_docs.yml",
    "chars": 1949,
    "preview": "# This will attempt to retrieve and add/update documentation\n\nname: update_docs\n\non:\n  workflow_dispatch:\n  schedule:\n  "
  },
  {
    "path": ".github/workflows/update_stubs.yml",
    "chars": 1564,
    "preview": "\n# Check out repos in this structure\n# micropython-stubs\n# +-- stubs\n# +-- repos\n#     +-- micropython\n#      -- micropy"
  },
  {
    "path": ".github/workflows/weekly_automation.yml",
    "chars": 2145,
    "preview": "# This workflow runs weekly automation tasks:\n# - Updates all_modules.json\n# - Updates documentation\n# - Updates stub-pa"
  },
  {
    "path": ".gitignore",
    "chars": 1182,
    "preview": "# avoid including micropython-stubber in workflows.\nmicropython-stubber\n\n# no pytest / mypy / .... caches\n.*_cache\n**/__"
  },
  {
    "path": ".libcst.codemod.yaml",
    "chars": 775,
    "preview": "# String that LibCST should look for in code which indicates that the\n\n# module is generated code.\ngenerated_code_marker"
  },
  {
    "path": ".mailmap",
    "chars": 473,
    "preview": "# merge different spelling / email addressess into one and the same \nJos Verlinde <Josverl@users.noreply.github.com> Jos"
  },
  {
    "path": ".readthedocs.yaml",
    "chars": 567,
    "preview": "# .readthedocs.yaml\n# Read the Docs configuration file\n# See https://docs.readthedocs.io/en/stable/config-file/v2.html f"
  },
  {
    "path": ".vscode/all_packages_db.connection.json",
    "chars": 288,
    "preview": "{\n  \"id\": \"all_packages_db\",\n  \"type\": \"sqlite\",\n  \"description\": \"information on published packages and versions and ha"
  },
  {
    "path": ".vscode/board.connection.json",
    "chars": 340,
    "preview": "{\n  \"id\": \"micropython-board-comparison\",\n  \"type\": \"sqlite\",\n  \"description\": \"MicroPython stub explorer database used "
  },
  {
    "path": ".vscode/extensions.json",
    "chars": 208,
    "preview": "{\n    \"recommendations\": [\n        \"cschleiden.vscode-github-actions\",\n        \"bierner.markdown-mermaid\",\n        \"ms-t"
  },
  {
    "path": ".vscode/launch.json",
    "chars": 2167,
    "preview": "{\n    // Use IntelliSense to learn about possible attributes.\n    // Hover to view descriptions of existing attributes.\n"
  },
  {
    "path": ".vscode/settings.json",
    "chars": 3239,
    "preview": "{\n    \"workbench.colorCustomizations\": {\n        \"activityBar.activeBorder\": \"#422c74\",\n        \"activityBar.activeBackg"
  },
  {
    "path": ".vscode/tasks.json",
    "chars": 2111,
    "preview": "{\n    // See https://go.microsoft.com/fwlink/?LinkId=733558\n    // for the documentation about the tasks.json format\n   "
  },
  {
    "path": "LICENSE.md",
    "chars": 1084,
    "preview": "MIT License\n\nCopyright (c) 2020-2025 Jos Verlinde\n\nPermission is hereby granted, free of charge, to any person obtaining"
  },
  {
    "path": "Manual stub build chain.ipynb",
    "chars": 15259,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": "
  },
  {
    "path": "README.md",
    "chars": 19253,
    "preview": "# MicroPython Stubs: Enhance Your Development Experience\n\n[![Documentation Status](https://readthedocs.org/projects/micr"
  },
  {
    "path": "all_modules.json",
    "chars": 3838475,
    "preview": "[\n    {\n        \"family\": \"micropython\",\n        \"version\": \"1.24.1\",\n        \"mod_name\": \"__builtins__\",\n        \"port\""
  },
  {
    "path": "data/package_db_to_json.py",
    "chars": 1164,
    "preview": "\n# Configure logging to output to the notebook\nimport logging\nimport sqlite3\nfrom pathlib import Path\n\nimport jsons\n\nlog"
  },
  {
    "path": "data/stub-packages.json",
    "chars": 25755,
    "preview": "{\n    \"$schema\": \"https://raw.githubusercontent.com/Josverl/micropython-stubber/main/data/schema/packages-v1.0.0.json\",\n"
  },
  {
    "path": "docs/.gitignore",
    "chars": 2,
    "preview": "_*"
  },
  {
    "path": "docs/10_introduction.md",
    "chars": 3118,
    "preview": "(intro)=\n# Introduction to MicroPython Stubs\n\n![logo of pencil stubs](img/colorstubs.jpg){w=300px align=right}\nWelcome t"
  },
  {
    "path": "docs/11_install_stubs.md",
    "chars": 2492,
    "preview": "(install-stubs)=\n# Install the micropython-stubs\n\nThere are two main ways to install the stubs into your environment:\n\n\n"
  },
  {
    "path": "docs/20_install_detailed.md",
    "chars": 2255,
    "preview": "# Detailed Installation Guide\n\nThe following will help you install the MicroPython Stubs for your specific port and boar"
  },
  {
    "path": "docs/22_static_type_checking.md",
    "chars": 5211,
    "preview": "# Static Type Checking of MicroPython code\n\nStatic type checking in Python strikes a balance between early error detecti"
  },
  {
    "path": "docs/22_vscode.md",
    "chars": 8247,
    "preview": "(vscode_config)=\n(pylance_config)=\n(pyright_config)=\n# Configuring VSCode, Pylance or Pyright\n\nVSCode `can use multiple "
  },
  {
    "path": "docs/23_pyright_advanced.md",
    "chars": 1577,
    "preview": "(pyright_advanced)=\n(pylance_advanced)=\n# Pylance/Pyright Advanced configuration\n\nIn some projects there may be a need t"
  },
  {
    "path": "docs/24_pycharm.md",
    "chars": 1703,
    "preview": "(pycharm_config)=\n# PyCharm Configuration\n\n## Configure PyCharm to use the selected stub folders\n\nPyCharm supports Pytho"
  },
  {
    "path": "docs/26_pylint.md",
    "chars": 1952,
    "preview": "(pylint_config)=\n# Pylint Configuration\n\n\nUnfortunately Pylint does not (yet) support the use of stubs int the `.pyi` fo"
  },
  {
    "path": "docs/27_micropico.md",
    "chars": 1793,
    "preview": "(micropico)=\n# MicroPico Configuration [Pylance]\n\n[MicroPico](https://github.com/paulober/MicroPico) is a Visual Studio "
  },
  {
    "path": "docs/28_mypy.md",
    "chars": 1763,
    "preview": "(mypy_config)=\n# Type Checking with MyPy\n\nMypy is an optional static type checker for Python that aims to combine the be"
  },
  {
    "path": "docs/29_ruff.md",
    "chars": 3817,
    "preview": "(ruff_config)=\n# Linting with Ruff\n\nRuff is an extremely fast Python linter and code formatter written in Rust. It can r"
  },
  {
    "path": "docs/32_rp2_asm.md",
    "chars": 4566,
    "preview": "(rp2_asm)=\n# Type check PIO code using the @rp2_asm decorator  \n\n\n## enable type checking for RP2 PIO code\nThe @rp2.asm_"
  },
  {
    "path": "docs/95_symlink.md",
    "chars": 1919,
    "preview": "(create-symbolic-link)=\n\n# Create a symbolic link\n\nThis section is only relevant if you are using a local copy of the st"
  },
  {
    "path": "docs/Known_Limitations_v1.24.1.md",
    "chars": 12015,
    "preview": "# Known Limitations in v1.24.1 of the micropython-stubs\n\nThis is a list of known limitations in the v1.24.1 the micropyt"
  },
  {
    "path": "docs/Makefile",
    "chars": 634,
    "preview": "# Minimal makefile for Sphinx documentation\n#\n\n# You can set these variables from the command line, and also\n# from the "
  },
  {
    "path": "docs/RUFF_INTEGRATION.md",
    "chars": 2989,
    "preview": "# Ruff Linter Integration Summary\n\n## Overview\nThis implementation adds Ruff as a third linter for checking MicroPython "
  },
  {
    "path": "docs/conf.py",
    "chars": 5254,
    "preview": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common op"
  },
  {
    "path": "docs/definitions.md",
    "chars": 4394,
    "preview": "# Terms and Definitions\n\n*MicroPython Specific Terms*\n\n(micropython_port)=\nMicroPython *port*\n:   A \"port\" in MicroPytho"
  },
  {
    "path": "docs/diy_stubs_files.md",
    "chars": 3218,
    "preview": "# DIY Stub file creation for MicroPython\n\n\n\nTo create stubs for your MicroPython board, you can use the `micropython-stu"
  },
  {
    "path": "docs/firmware_flat.md",
    "chars": 282123,
    "preview": "\n# All stubs by type\n\nThis page provides an overview of all collected and generated module stubs by type.\n\n|Type|family|"
  },
  {
    "path": "docs/firmware_grp.md",
    "chars": 281837,
    "preview": "(all-stubs)=\n\n# Stubs by family and version\n\n(micropython-stubs)=\n## Micropython \n|family | version | type    |port |boa"
  },
  {
    "path": "docs/folder_naming.md",
    "chars": 61,
    "preview": "\n(naming_conventions)=\n```{include} ../publish/readme.md\n```\n"
  },
  {
    "path": "docs/index.md",
    "chars": 801,
    "preview": "# MicroPython Stubs: Enhance Your Development Experience\n\n```{toctree}\n:caption: 'Overview:'\n:maxdepth: 2\n\n10_introducti"
  },
  {
    "path": "docs/make.bat",
    "chars": 873,
    "preview": "@ECHO OFF\n\npushd %~dp0\n\nREM Command file for Sphinx documentation\n\nif \"%SPHINXBUILD%\" == \"\" (\n\tset SPHINXBUILD=sphinx-bu"
  },
  {
    "path": "docs/microbit_v2 type checking.md",
    "chars": 1796,
    "preview": "# How to use the Micro:bit v2 stubs\n\n\nThe [micro:bit type stubs](https://github.com/microbit-foundation/micropython-micr"
  },
  {
    "path": "docs/modules_git_body.md",
    "chars": 3805,
    "preview": "\n### MicroPython v1.25.0-preview\n\n| Port | Board | Package | pip install |\n|------|-------|---------| ------------|\n| es"
  },
  {
    "path": "docs/modules_pypi_body.md",
    "chars": 13905,
    "preview": "\n### MicroPython v1.24.1\n\n| Port | Board | Package | pip install |\n|------|-------|---------| ------------|\n| esp32 | ES"
  },
  {
    "path": "docs/notes.txt",
    "chars": 180,
    "preview": "sphinx-build -b linkcheck . _build\n\n python -m sphinx.ext.intersphinx https://docs.python.org/3/objects.inv\n python -m s"
  },
  {
    "path": "docs/package_flatview.md",
    "chars": 1051,
    "preview": "(flatview)=\n# Overview of all modules\n\nA simple way to discover if stubs for a specific module have been published is to"
  },
  {
    "path": "docs/packages.md",
    "chars": 1605,
    "preview": "(mp_packages)=\n# List of available packages\n\n## Packages on PyPi\n\nOverview of the published ports and boards.\n\n```{inclu"
  },
  {
    "path": "docs/pyproject.md",
    "chars": 1328,
    "preview": "(pyproject-config)=\n# Configuration using pyproject.toml\n\n\n## Configuration using pyproject.toml with stubs in a `typing"
  },
  {
    "path": "docs/qa_testing.md",
    "chars": 63,
    "preview": "(qa_testing)=\n```{include} ../tests/quality_tests/readme.md\n```"
  },
  {
    "path": "docs/report_pypi_modules.ipynb",
    "chars": 5905,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n "
  },
  {
    "path": "docs/report_pypi_modules.py",
    "chars": 1538,
    "preview": "import pandas as pd\nimport jinja2 as j2\n\ntemplate_env = j2.Environment(loader=j2.FileSystemLoader(\"./templates\"))\n\n\ndef "
  },
  {
    "path": "docs/requirements.txt",
    "chars": 216,
    "preview": "Sphinx                      >= 4\nmyst-parser                 >= 0.15\nsphinxcontrib-mermaid\nsphinx_rtd_theme\nsphinx-autoa"
  },
  {
    "path": "docs/samples/.pylintrc",
    "chars": 1315,
    "preview": "[MASTER]\ninit-hook='import sys;sys.path[1:1] = [\"src/lib\", \"all-stubs/cpython_core-pycopy\", \"all-stubs/micropython-v1_17"
  },
  {
    "path": "docs/samples/.vscode/extensions.json",
    "chars": 361,
    "preview": "{\n    // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.\n    // Extension i"
  },
  {
    "path": "docs/samples/.vscode/settings.json",
    "chars": 366,
    "preview": "{\n    \"python.languageServer\": \"Pylance\",\n    \"python.autoComplete.extraPaths\": [\n        \"src/lib\",\n        \"all-stubs/"
  },
  {
    "path": "docs/samples/.vscode/tasks.json",
    "chars": 1008,
    "preview": "{\n    // See https://go.microsoft.com/fwlink/?LinkId=733558\n    // for the documentation about the tasks.json format\n   "
  },
  {
    "path": "docs/stub_locations.md",
    "chars": 1462,
    "preview": "# Stub Locations\n\n## Using / mixing different ports or boards\n\nYou should be aware that the stubs for different boards a"
  },
  {
    "path": "docs/stub_types.md",
    "chars": 4317,
    "preview": "# Micropython-Stubs\n\nThe installable stub packages are created by merging and assembling different types of stubs that a"
  },
  {
    "path": "docs/templates/firmware_flat.j2",
    "chars": 627,
    "preview": "\n# All stubs by type\n\nThis page provides an overview of all collected and generated module stubs by type.\n\n|Type|family|"
  },
  {
    "path": "docs/templates/firmware_grp.j2",
    "chars": 1532,
    "preview": "(all-stubs)=\n\n# Stubs by family and version\n\n{# Same section repeats twice with a filter #}\n{# only micropython #}\n{% fo"
  },
  {
    "path": "docs/templates/modules_git.md.j2",
    "chars": 466,
    "preview": "\n### MicroPython v{{ version }}-preview\n\n| Port | Board | Package | pip install |\n|------|-------|---------| -----------"
  },
  {
    "path": "docs/templates/modules_pypi.md.j2",
    "chars": 327,
    "preview": "\n### MicroPython v{{ version }}\n\n| Port | Board | Package | pip install |\n|------|-------|---------| ------------|\n{% fo"
  },
  {
    "path": "docs/typing_mpy.md",
    "chars": 55,
    "preview": "(typing_module)=    \n```{include} ../mip/readme.md\n```\n"
  },
  {
    "path": "docs/update_docs.py",
    "chars": 3862,
    "preview": "from pathlib import Path\nimport json\nfrom collections import defaultdict\nfrom utils import clean_version, git_branch\nfro"
  },
  {
    "path": "docs/utils.py",
    "chars": 2415,
    "preview": "LATEST = \"Latest\"\n\n\ndef clean_version(\n    version: str,\n    *,\n    build: bool = False,\n    patch: bool = False,\n    co"
  },
  {
    "path": "downloads.md",
    "chars": 799,
    "preview": "Some Download Statistics\n\nThe following graph shows the number of downloads of the stubs from PyPi over time.\nI'm not su"
  },
  {
    "path": "examples/src/example.py",
    "chars": 200,
    "preview": "\"\"\"Example typed Micropython module.\"\"\"\nfrom typing import TYPE_CHECKING, Tuple\n\n\ndef foo(a: int, b: int) -> Tuple[int, "
  },
  {
    "path": "examples/src/main.py",
    "chars": 746,
    "preview": "from machine import Pin\nimport time\n\nled = Pin(2, Pin.OUT)\nMORSE_CODE_DICT = {\n    \"H\": \"....\",\n    \"E\": \".\",\n    \"L\": \""
  },
  {
    "path": "examples/src/pyproject.toml",
    "chars": 1013,
    "preview": "\n# ###################################################################\n# pyright options:\n\n[tool.pyright]\ninclude = [\".\""
  },
  {
    "path": "firmware_flat.md",
    "chars": 6517,
    "preview": "|fam|version|type|-|firmware.release|port|f \n|-|-|-|-|-|-|-\n|loboris | v3.2.24 | board| . |ESP32_LoBo_v3.2.24 on 2018-09"
  },
  {
    "path": "firmware_grp.md",
    "chars": 6671,
    "preview": "(all-stubs)=\n\n# Overview of stubs by family and version\n\n(micropython-stubs)=\n## Micropython \n|family | version | type  "
  },
  {
    "path": "justfile",
    "chars": 1501,
    "preview": "# https://just.systems\n\n# Set shell for Windows OSs:\nset windows-shell := [\"pwsh.exe\", \"-NoLogo\", \"-Command\"]\n# use uv\ns"
  },
  {
    "path": "mip/readme.md",
    "chars": 6371,
    "preview": "# MicroPython's `typing.mpy` module\n\nWhy you may need typing.[m]py or typing_extensions.[m]py.\n\nWhen making use of stati"
  },
  {
    "path": "mip/typing.json",
    "chars": 458,
    "preview": "{\n  \"readme\": \"https://github.com/Josverl/micropython-stubs/blob/main/mip/readme.md\",\n  \"license\": \"MIT\",\n  \"authors\": ["
  },
  {
    "path": "mip/typing.py",
    "chars": 2304,
    "preview": "__version__ = \"1.27.0\"\n\n\ndef cast(type, val):\n    return val\n\n\ndef get_origin(type):\n    return None\n\n\ndef get_args(type"
  },
  {
    "path": "mip/typing_extensions.py",
    "chars": 2304,
    "preview": "__version__ = \"1.27.0\"\n\n\ndef cast(type, val):\n    return val\n\n\ndef get_origin(type):\n    return None\n\n\ndef get_args(type"
  },
  {
    "path": "mip/typing_mpy.json",
    "chars": 458,
    "preview": "{\n  \"readme\": \"https://github.com/Josverl/micropython-stubs/blob/main/mip/readme.md\",\n  \"license\": \"MIT\",\n  \"authors\": ["
  },
  {
    "path": "mip/x-compile.ps1",
    "chars": 356,
    "preview": "# Save current directory and change to script location\n$savedDir = Get-Location\nSet-Location $PSScriptRoot\n\n# Run mpy-cr"
  },
  {
    "path": "mip/x-compile.sh",
    "chars": 354,
    "preview": "#!/bin/bash\n\n# Save current directory and change to script location\nsavedDir=\"$(pwd)\"\ncd \"$(dirname \"$0\")\"\n\n# Run mpy-cr"
  },
  {
    "path": "publish/micropython-stdlib-stubs/.gitignore",
    "chars": 54,
    "preview": "# avoid checking in _mpy_shed in two places\n_mpy_shed\n"
  },
  {
    "path": "publish/micropython-stdlib-stubs/LICENSE.md",
    "chars": 12828,
    "preview": "MIT License\n\nCopyright (c) 2023 Jos Verlinde\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
  },
  {
    "path": "publish/micropython-stdlib-stubs/LICENSE_typeshed",
    "chars": 12657,
    "preview": "The \"typeshed\" project is licensed under the terms of the Apache license, as\nreproduced below.\n\n= = = = =\n\nApache Licens"
  },
  {
    "path": "publish/micropython-stdlib-stubs/README.md",
    "chars": 2398,
    "preview": "# micropython-stdlib-stubs\nA limited size copy of typesheds stdlib directory. \nhttps://github.com/python/typeshed/tree/m"
  },
  {
    "path": "publish/micropython-stdlib-stubs/build.py",
    "chars": 22220,
    "preview": "\"\"\"\nUpdate the micropython-stlib-stubs\n- based on typeshed\n- merged with (some) micropython documentation.`\n\n\"\"\"\n\nimport"
  },
  {
    "path": "publish/micropython-stdlib-stubs/publish.ipynb",
    "chars": 3229,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Publish micropython-stdlib-stubs to"
  },
  {
    "path": "publish/micropython-stdlib-stubs/pyproject.toml",
    "chars": 1421,
    "preview": "[project]\nname = \"micropython-stdlib-stubs\"\nversion = \"1.28.0.post4\"\ndescription = \"Micropython stdlib is a reduced and "
  },
  {
    "path": "publish/micropython-stdlib-stubs/pyrightconfig.json",
    "chars": 827,
    "preview": "{\n    \"include\": [\n        \"stdlib\"\n    ],\n    \"ignore\": [\n        \"typings\"\n    ],\n    \"exclude\": [\n        \"typings\"\n "
  },
  {
    "path": "publish/micropython-stdlib-stubs/reduce_stdlib.ipynb",
    "chars": 5141,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Remove top level module variables f"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/VERSIONS",
    "chars": 5995,
    "preview": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contai"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/__future__.pyi",
    "chars": 915,
    "preview": "from typing_extensions import TypeAlias\n\n_VersionInfo: TypeAlias = tuple[int, int, int, str, int]\n\nclass _Feature:\n    d"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/_ast.pyi",
    "chars": 3466,
    "preview": "import sys\nfrom ast import (\n    AST as AST,\n    Add as Add,\n    And as And,\n    AnnAssign as AnnAssign,\n    Assert as A"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/_codecs.pyi",
    "chars": 6919,
    "preview": "import codecs\nimport sys\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Callable\nfrom typing import Li"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/_collections_abc.pyi",
    "chars": 2778,
    "preview": "import sys\nfrom abc import abstractmethod\nfrom types import MappingProxyType\nfrom typing import (  # noqa: Y022,Y038\n   "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/_decimal.pyi",
    "chars": 2105,
    "preview": "import sys\nfrom decimal import (\n    Clamped as Clamped,\n    Context as Context,\n    ConversionSyntax as ConversionSynta"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/_typeshed/__init__.pyi",
    "chars": 12208,
    "preview": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport sys\nfrom collect"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/_typeshed/dbapi.pyi",
    "chars": 1636,
    "preview": "# PEP 249 Database API 2.0 Types\n# https://www.python.org/dev/peps/pep-0249/\n\nfrom collections.abc import Mapping, Seque"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/_typeshed/importlib.pyi",
    "chars": 727,
    "preview": "# Implicit protocols used in importlib.\n# We intentionally omit deprecated and optional methods.\n\nfrom collections.abc i"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/_typeshed/xml.pyi",
    "chars": 499,
    "preview": "# See the README.md file in this directory for more information.\n\nfrom typing import Any, Protocol\n\n# As defined https:/"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/abc.pyi",
    "chars": 1987,
    "preview": "import _typeshed\nimport sys\nfrom _typeshed import SupportsWrite\nfrom collections.abc import Callable\nfrom typing import "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/array.pyi",
    "chars": 10528,
    "preview": "\"\"\"\nEfficient arrays of numeric data.\n\nMicroPython module: https://docs.micropython.org/en/v1.28.0/library/array.html\n\nC"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/__init__.pyi",
    "chars": 1338,
    "preview": "import sys\nfrom collections.abc import Awaitable, Coroutine, Generator\nfrom typing import Any, TypeVar\nfrom typing_exten"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/base_events.pyi",
    "chars": 19595,
    "preview": "import ssl\nimport sys\nfrom _typeshed import FileDescriptorLike, ReadableBuffer, WriteableBuffer\nfrom asyncio import _Awa"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/base_futures.pyi",
    "chars": 730,
    "preview": "from collections.abc import Callable, Sequence\nfrom contextvars import Context  # type: ignore\nfrom typing import Any, F"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/base_tasks.pyi",
    "chars": 404,
    "preview": "from _typeshed import StrOrBytesPath\nfrom types import FrameType\nfrom typing import Any\n\nfrom . import tasks\n\ndef _task_"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/constants.pyi",
    "chars": 556,
    "preview": "import enum\nimport sys\nfrom typing import Final\n\nLOG_THRESHOLD_FOR_CONNLOST_WRITES: Final = 5\nACCEPT_RETRY_DELAY: Final "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/coroutines.pyi",
    "chars": 1036,
    "preview": "import sys\nfrom collections.abc import Awaitable, Callable, Coroutine\nfrom typing import Any, TypeVar, overload\nfrom typ"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/events.pyi",
    "chars": 24712,
    "preview": "import ssl\nimport sys\nfrom _asyncio import (\n    _get_running_loop as _get_running_loop,\n    _set_running_loop as _set_r"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/exceptions.pyi",
    "chars": 1099,
    "preview": "import sys\n\nif sys.version_info >= (3, 11):\n    __all__ = (\n        \"BrokenBarrierError\",\n        \"CancelledError\",\n    "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/format_helpers.pyi",
    "chars": 1305,
    "preview": "import functools\nimport sys\nimport traceback\nfrom collections.abc import Iterable\nfrom types import FrameType, FunctionT"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/futures.pyi",
    "chars": 637,
    "preview": "from _asyncio import Future as Future\nfrom concurrent.futures._base import Future as _ConcurrentFuture\nfrom typing impor"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/locks.pyi",
    "chars": 4274,
    "preview": "import enum\nimport sys\nfrom _typeshed import Unused\nfrom collections import deque\nfrom collections.abc import Callable, "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/log.pyi",
    "chars": 39,
    "preview": "import logging\n\nlogger: logging.Logger\n"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/micropython.pyi",
    "chars": 1114,
    "preview": "class ThreadSafeFlag:\n    \"\"\"\n    class ThreadSafeFlag\n    --------------------\n    \"\"\"\n\n    state: int\n    def __init__"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/mixins.pyi",
    "chars": 215,
    "preview": "import sys\nimport threading\nfrom typing_extensions import Never\n\n_global_lock: threading.Lock\n\nclass _LoopBoundMixin:\n  "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/proactor_events.pyi",
    "chars": 2532,
    "preview": "import sys\nfrom collections.abc import Mapping\nfrom socket import socket\nfrom typing import Any, ClassVar, Literal\n\nfrom"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/protocols.pyi",
    "chars": 1631,
    "preview": "from _typeshed import ReadableBuffer\nfrom asyncio import transports\nfrom typing import Any\n\n__all__ = (\"BaseProtocol\", \""
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/queues.pyi",
    "chars": 1862,
    "preview": "import sys\nfrom asyncio.events import AbstractEventLoop\nfrom typing import Any, Generic, TypeVar\n\nif sys.version_info >="
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/readme.md",
    "chars": 350,
    "preview": "# micropython-stdlib asyncio\n\nThis is a hand edited version of the [asyncio](https://docs.python.org/3/library/asyncio.h"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/runners.pyi",
    "chars": 1173,
    "preview": "import sys\nfrom _typeshed import Unused\nfrom collections.abc import Callable, Coroutine\nfrom contextvars import Context "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/selector_events.pyi",
    "chars": 223,
    "preview": "import selectors\n\nfrom . import base_events\n\n__all__ = (\"BaseSelectorEventLoop\",)\n\nclass BaseSelectorEventLoop(base_even"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/sslproto.pyi",
    "chars": 6450,
    "preview": "import ssl\nimport sys\nfrom collections import deque\nfrom collections.abc import Callable\nfrom enum import Enum\nfrom typi"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/staggered.pyi",
    "chars": 341,
    "preview": "from collections.abc import Awaitable, Callable, Iterable\nfrom typing import Any\n\nfrom . import events\n\n__all__ = (\"stag"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/streams.pyi",
    "chars": 7103,
    "preview": "import ssl\nimport sys\nfrom collections.abc import Awaitable, Callable, Iterable, Sequence, Sized\nfrom types import Modul"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/tasks.pyi",
    "chars": 17538,
    "preview": "import concurrent.futures\nimport sys\nfrom _asyncio import (\n    Task as Task,\n    _enter_task as _enter_task,\n    _leave"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/threads.pyi",
    "chars": 266,
    "preview": "from collections.abc import Callable\nfrom typing import TypeVar\nfrom typing_extensions import ParamSpec\n\n__all__ = (\"to_"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/timeouts.pyi",
    "chars": 653,
    "preview": "from types import TracebackType\nfrom typing import final\nfrom typing_extensions import Self\n\n__all__ = (\"Timeout\", \"time"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/transports.pyi",
    "chars": 2040,
    "preview": "from asyncio.events import AbstractEventLoop\nfrom asyncio.protocols import BaseProtocol\nfrom collections.abc import Iter"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/asyncio/trsock.pyi",
    "chars": 4622,
    "preview": "import socket\nimport sys\nfrom _typeshed import ReadableBuffer\nfrom builtins import type as Type  # alias to avoid name c"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/builtins.pyi",
    "chars": 89684,
    "preview": "# ruff: noqa: PYI036 # This is the module declaring BaseException\nimport _ast\nimport _typeshed\nimport sys\nimport types\nf"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/collections/__init__.pyi",
    "chars": 28129,
    "preview": "\"\"\"\nCollection and container types.\n\nMicroPython module: https://docs.micropython.org/en/v1.28.0/library/collections.htm"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/collections/abc.pyi",
    "chars": 79,
    "preview": "from _collections_abc import *\nfrom _collections_abc import __all__ as __all__\n"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/enum.pyi",
    "chars": 12074,
    "preview": "import _typeshed\nimport sys\nimport types\nfrom _typeshed import SupportsKeysAndGetItem, Unused\nfrom builtins import prope"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/io.pyi",
    "chars": 11563,
    "preview": "\"\"\"\nInput/output streams.\n\nMicroPython module: https://docs.micropython.org/en/v1.28.0/library/io.html\n\nCPython module: "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/json/__init__.pyi",
    "chars": 2627,
    "preview": "\"\"\"\nJSON encoding and decoding.\n\nMicroPython module: https://docs.micropython.org/en/v1.28.0/library/json.html\n\nCPython "
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/os/__init__.pyi",
    "chars": 49533,
    "preview": "\"\"\"\nBasic \"operating system\" services.\n\nMicroPython module: https://docs.micropython.org/en/v1.28.0/library/os.html\n\nCPy"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/re.pyi",
    "chars": 11784,
    "preview": "import enum\nimport sre_compile\nimport sre_constants\nimport sys\nfrom _typeshed import MaybeNone, ReadableBuffer\nfrom coll"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/sre_compile.pyi",
    "chars": 304,
    "preview": "from re import Pattern\nfrom sre_constants import _NamedIntConstant\nfrom sre_parse import SubPattern\nfrom typing import A"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/sre_constants.pyi",
    "chars": 3794,
    "preview": "import sys\nfrom typing import Any\nfrom typing_extensions import Self\n\nMAXGROUPS: int\n\nMAGIC: int\n\nclass _NamedIntConstan"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/sre_parse.pyi",
    "chars": 3790,
    "preview": "import sys\nfrom collections.abc import Iterable\nfrom re import Match, Pattern as _Pattern\nfrom sre_constants import *\nfr"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/ssl.pyi",
    "chars": 25524,
    "preview": "\"\"\"\nTLS/SSL wrapper for socket objects.\n\nMicroPython module: https://docs.micropython.org/en/v1.28.0/library/ssl.html\n\nC"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/struct.pyi",
    "chars": 5459,
    "preview": "\"\"\"\nPack and unpack primitive data types.\n\nMicroPython module: https://docs.micropython.org/en/v1.28.0/library/struct.ht"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/sys/__init__.pyi",
    "chars": 19612,
    "preview": "\"\"\"\nSystem specific functions.\n\nMicroPython module: https://docs.micropython.org/en/v1.28.0/library/sys.html\n\nCPython mo"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/types.pyi",
    "chars": 21898,
    "preview": "import sys\nfrom _typeshed import MaybeNone, SupportsKeysAndGetItem\nfrom _typeshed.importlib import LoaderProtocol\nfrom c"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/typing.pyi",
    "chars": 37628,
    "preview": "# Since this module defines \"overload\" it is not recognized by Ruff as typing.overload\n# ruff: noqa: F811\n# TODO: The co"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stdlib/typing_extensions.pyi",
    "chars": 16296,
    "preview": "import abc\nimport sys\nimport typing\nfrom _collections_abc import dict_items, dict_keys, dict_values\nfrom _typeshed impor"
  },
  {
    "path": "publish/micropython-stdlib-stubs/stubs/mypy-extensions/mypy_extensions.pyi",
    "chars": 8888,
    "preview": "# These stubs are forked from typeshed, since we use some definitions that only make\n# sense in the context of mypy/mypy"
  },
  {
    "path": "publish/micropython-stdlib-stubs/typeshed_commit.txt",
    "chars": 202,
    "preview": "# This file contains the commit hash of typeshed used to generate the stubs\n# https://github.com/python/typeshed/tree/d2"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/LICENSE.md",
    "chars": 1070,
    "preview": "MIT License\n\nCopyright (c) 2022 Jos Verlinde\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/README.md",
    "chars": 2025,
    "preview": "# micropython-esp32-stubs\n\n\nThis is a stub-only package for MicroPython.\nIt is intended to be installed in a projects vi"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/_boot.py",
    "chars": 174,
    "preview": "import gc\nimport uos\nfrom flashbdev import bdev\n\ntry:\n    if bdev:\n        uos.mount(bdev, \"/\")\nexcept OSError:\n    impo"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/_onewire.pyi",
    "chars": 269,
    "preview": "from typing import Any\n\ndef crc8(*args, **kwargs) -> Any: ...\ndef readbit(*args, **kwargs) -> Any: ...\ndef readbyte(*arg"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/_thread.pyi",
    "chars": 823,
    "preview": "\"\"\"\nmultithreading support. See: https://docs.micropython.org/en/v1.17/library/_thread.html\n\n|see_cpython_module| :mod:`"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/_uasyncio.pyi",
    "chars": 418,
    "preview": "from typing import Any\n\nclass Task:\n    def __init__(self, *argv, **kwargs) -> None: ...\n\nclass TaskQueue:\n    def __ini"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/apa106.pyi",
    "chars": 389,
    "preview": "from typing import Any\n\nclass NeoPixel:\n    def __init__(self, *argv, **kwargs) -> None: ...\n    def write(self, *args, "
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/array.pyi",
    "chars": 1015,
    "preview": "\"\"\"\nefficient arrays of numeric data. See: https://docs.micropython.org/en/v1.17/library/array.html\n\n|see_cpython_module"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/binascii.pyi",
    "chars": 1327,
    "preview": "\"\"\"\nbinary/ASCII conversions. See: https://docs.micropython.org/en/v1.17/library/binascii.html\n\n|see_cpython_module| :mo"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/btree.pyi",
    "chars": 3668,
    "preview": "\"\"\"\nsimple BTree database. See: https://docs.micropython.org/en/v1.17/library/btree.html\n\nThe ``btree`` module implement"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/cmath.pyi",
    "chars": 1384,
    "preview": "\"\"\"\nmathematical functions for complex numbers. See: https://docs.micropython.org/en/v1.17/library/cmath.html\n\n|see_cpyt"
  },
  {
    "path": "publish/micropython-v1_17-esp32-stubs/collections.pyi",
    "chars": 3537,
    "preview": "\"\"\"\ncollection and container types. See: https://docs.micropython.org/en/v1.17/library/collections.html\n\n|see_cpython_mo"
  }
]

// ... and 81238 more files (download for full content)

About this extraction

This page contains the full source code of the Josverl/micropython-stubs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 81438 files (257.0 MB), approximately 30.7M tokens, and a symbol index with 350553 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!