[MicroPython] Add urllib.parse to base firmware to enable web services

  • I am currently playing around with some web services and libraries, it mostly fails because most of those MicroPython programs require urllib.parse to be installed, mostly for urlencode().

    It would be great to get urllib.parse and its dependencies into the base firmware image.


  • Adding upip to the firmware image would make developer's live much easier.

    How to manually install the urllib.parse library.

    Create folder /upip and add files upip.py and upip_utarfile.py manually.

    Install the library with upip:

    %cd /flash/upip
    import upip
    upip.install("micropython-urllib.parse", "/flash/lib")

    To get it working, remove re.py and ffilib.py from lib. Hat-tip to Andreas.

    Finally you can encode URL parameters for GET requests:

    %cd /flash/lib
    import urllib.parse
    urllib.parse.urlencode({"a":1, "b": 2})
    => 'a=1&b=2'