Micropython 1.20.0 : MIP - MicroPython Install Package Manager

 Depuis Avril 2023, MicroPython V1.20.0 est disponible.

L'un de ses éléments les plus importants pourrait passer presque inaperçu... c'est MIP (MicroPython Install Package).

MicroPython Install Package

Qu'est ce que MIP ?

MIP est un nouveau gestionnaire de paquet (package manager) capable de fonctionner:

  1. directement sur les plateformes MicroPython connectées (WiFi)
  2. sur PC via l'outil MPRemote pour les plateformes MicroPython non connectées.

Par exemple, le pilote de l'encodeur rotatif I2C (U0135 de M5Stack) peut être installé depuis une plateforme MicroPython WiFi avec:

>>> import mip
>>> mip.install("github:mchobby/esp8266-upy/m5stack-u135")

Ou à l'aide de l'outil MPRemote pour une plateforme non WiFi.

mpremote mip install github:mchobby/esp8266-upy/m5stack-u135

Dans les deux cas, la bibliothèque i2cenc.py est installée dans le répertoire /lib de la plateforme MicroPython.

Fonctionnalités de MIP

Cela signifie que, MIP, ce nouveau gestionnaire de paquet allégé permet de télécharger et installer facilement des bibliothèques MicroPython sur une plateforme cible. 

Le protocole de MIP est basé sur la lecture d'un fichier json stocké dans le dépôt de la bibliothèque (voir cet exemple sur micropython-mlx90640 ou cet autre exemple du m5stack-u135 ).

Le fichier json décrit les opérations de copie à réaliser pour installer la bibliothèque dans le répertoire /lib de la plateforme MicroPython.

MIP est optimisé pour les fonctionner sur/avec les plateformes embarquées.

MIP permet également de télécharger des bibliothèques pure-Python stockées dans le dépôt MicroPython-Lib (les bibliothèques pure-Python anciennement stockées dans le dépôt MicroPython ont étés déplacés dans le nouveau dépôt MicroPython-Lib).

Par exemple, il est possible d'installer la dépendance collection-defaultdict stocké dans la micropython-lib/pyhton-stdlib/.

MIP remplace uPIP

uPIP est une version de l'outil PIP Python adapté pour MicroPython.
PIP est le gestionnaire de paquet pour Python... mais PIP, comme uPIP, est peut-être un peu trop contraignant pour des environnements embarqués.

MIP est quelque-chose de nouveau, spécialement conçu pour les projets MicroPython.
Le but de MIP est de faciliter la gestion des dépendances et des paquets que l'approche précédente.

Plus d'information

MIP est une excellente idée, le dépôt esp8266-upy et autres projets MicroPython vont progressivement migrer pour intégrer le gestionnaire de package mip.


Aucun commentaire