GitHub MIP packages

August 14, 2026 · View on GitHub

Install source .py files directly from the pydevices-examples GitHub repository using MicroPython's mip module.

Core libraries (displaydev, eventsys, multimer, pygraphics, palettes, pdwidgets) are not published as packages/*.json here — use the PyDevices MIP index instead. Desktop usdl2 comes with the pydevices MIP desktop board package (or pydevices-desktop on TestPyPI), not as a core MIP package.

What remains on GitHub MIP

import mip
mip.install("github:PyDevices/pydevices-examples/packages/examples.json", target=".")
mip.install("github:PyDevices/pydevices-examples/packages/utils.json", target="./utils")

With mpremote:

mpremote mip install --target "." "github:PyDevices/pydevices-examples/packages/examples.json"
mpremote mip install --target "./utils" "github:PyDevices/pydevices-examples/packages/utils.json"

Individual packages

Manifests live in the packages/ directory:

PackageManifest
utilspackages/utils.json
examplespackages/examples.json
Per-demo bundlespackages/<example>.json (PyScript ?manifests=)
Hinch GUI mirrorspackages/micropython-{nano-gui,micro-gui,touch}.json

Example:

mip.install("github:PyDevices/pydevices-examples/packages/utils.json", target="./utils")

Bus / touch / chip-helper MIP packages (spibus, i80bus, i2cbus, tt21100, …) and portable helpers (byteswap, mip, viper_tools, keypins, wifi, frame_recorder) live in pydevices/packages/ (utils.json is a dependency of pydevices-examples packages/utils.json).

Board configs

Each board directory includes a package.json that installs board_config.py, required drivers, and bus drivers:

mip.install("github:PyDevices/pydevices/board_configs/busdisplay/i80/wt32sc01-plus")

See the board config index for all paths.

Single files

mip can fetch any file from the repo by URL path:

mip.install("github:PyDevices/pydevices-examples/lib/utils/path.py", target=".")
mip.install("github:PyDevices/pydevices/drivers/display/st7789.py", target="./drivers/display")

Notes

  • Packages use source .py files (not .mpy bytecode).
  • spibus and i80bus (in pydevices) use @micropython.viper and are only available via GitHub, not mip.
  • After install, see Utils path setup when environment variables are unavailable or not set as recommended. Skip this if everything lives flat under /lib.