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:
| Package | Manifest |
|---|---|
| utils | packages/utils.json |
| examples | packages/examples.json |
| Per-demo bundles | packages/<example>.json (PyScript ?manifests=) |
| Hinch GUI mirrors | packages/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
.pyfiles (not.mpybytecode). spibusandi80bus(in pydevices) use@micropython.viperand 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.