BradenM / micropy-cli

Micropython Project Management Tool with VSCode support, Linting, Intellisense, Dependency Management, and more!
https://micropy-cli.readthedocs.io
MIT License
311 stars 25 forks source link

MicroPy-CLI Crashing during stubs creation #342

Closed sethstenzel closed 1 year ago

sethstenzel commented 1 year ago

When running near the end of the create process I'm getting an StopIteration error. It almost seems to me like everything is successful, just that the upload process is failing, and I'm unsure if this means the stubbing process completed correctly and just an upload failed, or what, the error seems ambiguous to me.

Stubs folder is empty. I'm not sure where to go from here, the common denominator is the ESP32 Itself, but it seems fully functional in everyway to me.

File "/home/sstenzel/.local/lib/python3.10/site-packages/micropy/stubs/stubs.py", line 328, in from_stubber
    mod_file = next(_path.rglob("modules.json"))
StopIteration

Expected Behavior Should finish running and not crash.

Current Behavior Seems to be failing near the end of the process.

Steps to Reproduce

  1. Install Linux
  2. pip install micropy-cli
  3. pip install micropy-cli[create_stubs]
  4. micropy stubs create /dev/ttyUSB0

Logs micropy.log

BradenM commented 1 year ago

Hi @seth-c-stenzel, thanks for the report.

Micropy Version: MicroPython v1.19.1-645-g451ded8d7

While this is useful to know, what version of micropy-cli were you using when this happened? Thanks.

JayPalm commented 1 year ago

I am having the exact same issue, using micropy-cli v4 (installed via pip, and using pyenv):

Traceback (most recent call last):
  File "/Users/<USER_HOME>/.pyenv/versions/mpy/bin/micropy", line 8, in <module>
    sys.exit(cli())
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/micropy/cli.py", line 276, in create
    return mpy.create_stubs(port, verbose=verbose)
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/micropy/main.py", line 132, in create_stubs
    stub_path = self.stubs.from_stubber(stub_path, out_dir)
  File "/Users/<USER_HOME>/.pyenv/versions/3.10.8/envs/mpy/lib/python3.10/site-packages/micropy/stubs/stubs.py", line 328, in from_stubber
    mod_file = next(_path.rglob("modules.json"))
StopIteration

What's somewhat strange is that I was previously able to generate stubs for the Lobo micropython fork, but I've since moved to building my own firmware from the latest official commit.

BradenM commented 1 year ago

@seth-c-stenzel @JayPalm Hi, I suspect this issue should be resolved with a more recent release of micropy. Please let me know if otherwise. Thanks!

ThatOtherAndrew commented 3 months ago

Latest version of micropy-cli (4.2.2), I'm having the same StopIteration error. Full logs provided below:

❯ micropy stubs create COM3

MicroPy  Connecting to Pyboard @ COM3
MicroPy  ✔ Connected!
2024-05-12 01:55:20.373 | DEBUG    | stubber.minify:minify_script:253 - Original length : 26905
2024-05-12 01:55:20.375 | INFO     | stubber.minify:minify_script:254 - Minified length : 11631
2024-05-12 01:55:20.375 | INFO     | stubber.minify:minify_script:255 - Reduced by      : 15274
2024-05-12 01:55:52.302 | DEBUG    | stubber.minify:cross_compile:328 - mpy-cross compiled to    : mpy_cross_9dxwiuiu.mpy
MicroPy  Executing stubber on pyboard...
MicroPy  Pyboard  Writing /createstubs.mpy: 100%|████████████████████████████████████████████| [10.4k/10.4k @ 2.34kB/s]
MicroPy  Pyboard  Port: rp2
MicroPy  Pyboard  Board: Pimoroni_Badger2040W_2MB_with_RP2040
MicroPy  Pyboard  Clean/remove files in folder: /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040
MicroPy  Pyboard  Stub module: _boot_fat                 to file: _boot_fat.py
                 mem:138880
MicroPy  Pyboard  Stub module: _onewire                  to file: _onewire.py
                 mem:140160
MicroPy  Pyboard  Stub module: _rp2                      to file: _rp2.py
                 mem:139776
MicroPy  Pyboard  Stub module: _thread                   to file: _thread.py
                 mem:139648
MicroPy  Pyboard  Stub module: adcfft                    to file: adcfft.py
                 mem:139504
MicroPy  Pyboard  Stub module: aioble.__init__           to file: __init__.py
                 mem:133424
MicroPy  Pyboard  Stub module: aioble.central            to file: central.py
                 mem:133696
MicroPy  Pyboard  Stub module: aioble.client             to file: client.py
                 mem:131184
MicroPy  Pyboard  Stub module: aioble.core               to file: core.py
                 mem:131456
MicroPy  Pyboard  Stub module: aioble.device             to file: device.py
                 mem:131280
MicroPy  Pyboard  Stub module: aioble.l2cap              to file: l2cap.py
                 mem:128304
MicroPy  Pyboard  Stub module: aioble.peripheral         to file: peripheral.py
                 mem:128192
MicroPy  Pyboard  Stub module: aioble.security           to file: security.py
                 mem:127472
MicroPy  Pyboard  Stub module: aioble.server             to file: server.py
                 mem:127488
MicroPy  Pyboard  Stub module: array                     to file: array.py
                 mem:127344
MicroPy  Pyboard  Stub module: binascii                  to file: binascii.py
                 mem:127200
MicroPy  Pyboard  Stub module: bluetooth                 to file: bluetooth.py
                 mem:127056
MicroPy  Pyboard  Stub module: breakout_as7262           to file: breakout_as7262.py
                 mem:126832
MicroPy  Pyboard  Stub module: breakout_bh1745           to file: breakout_bh1745.py
                 mem:126672
MicroPy  Pyboard  Stub module: breakout_bme280           to file: breakout_bme280.py
                 mem:126512
MicroPy  Pyboard  Stub module: breakout_bme68x           to file: breakout_bme68x.py
                 mem:126352
MicroPy  Pyboard  Stub module: breakout_bmp280           to file: breakout_bmp280.py
                 mem:126192
MicroPy  Pyboard  Stub module: breakout_dotmatrix        to file: breakout_dotmatrix.py
                 mem:126032
MicroPy  Pyboard  Stub module: breakout_encoder          to file: breakout_encoder.py
                 mem:125872
MicroPy  Pyboard  Stub module: breakout_icp10125         to file: breakout_icp10125.py
                 mem:125712
MicroPy  Pyboard  Stub module: breakout_ioexpander       to file: breakout_ioexpander.py
                 mem:125536
MicroPy  Pyboard  Stub module: breakout_ltr559           to file: breakout_ltr559.py
                 mem:125392
MicroPy  Pyboard  Stub module: breakout_matrix11x7       to file: breakout_matrix11x7.py
                 mem:125216
MicroPy  Pyboard  Stub module: breakout_mics6814         to file: breakout_mics6814.py
                 mem:125072
MicroPy  Pyboard  Stub module: breakout_msa301           to file: breakout_msa301.py
                 mem:124912
MicroPy  Pyboard  Stub module: breakout_paa5100          to file: breakout_paa5100.py
                 mem:124752
MicroPy  Pyboard  Stub module: breakout_pmw3901          to file: breakout_pmw3901.py
                 mem:124592
MicroPy  Pyboard  Stub module: breakout_potentiometer    to file: breakout_potentiometer.py
                 mem:124416
MicroPy  Pyboard  Stub module: breakout_rgbmatrix5x5     to file: breakout_rgbmatrix5x5.py
                 mem:124112
MicroPy  Pyboard  Stub module: breakout_rtc              to file: breakout_rtc.py
                 mem:123968
MicroPy  Pyboard  Stub module: breakout_scd41            to file: breakout_scd41.py
                 mem:123808
MicroPy  Pyboard  Stub module: breakout_sgp30            to file: breakout_sgp30.py
                 mem:123648
MicroPy  Pyboard  Stub module: breakout_trackball        to file: breakout_trackball.py
                 mem:123488
MicroPy  Pyboard  Stub module: breakout_vl53l5cx         to file: breakout_vl53l5cx.py
                 mem:123328
MicroPy  Pyboard  Stub module: cmath                     to file: cmath.py
                 mem:123184
MicroPy  Pyboard  Stub module: collections               to file: collections.py
                 mem:123040
MicroPy  Pyboard  Stub module: cryptolib                 to file: cryptolib.py
                 mem:122896
MicroPy  Pyboard  Stub module: dht                       to file: dht.py
                 mem:122144
MicroPy  Pyboard  Stub module: ds18x20                   to file: ds18x20.py
                 mem:122288
MicroPy  Pyboard  Stub module: encoder                   to file: encoder.py
                 mem:122480
MicroPy  Pyboard  Stub module: errno                     to file: errno.py
                 mem:122336
MicroPy  Pyboard  Stub module: framebuf                  to file: framebuf.py
                 mem:122192
MicroPy  Pyboard  Stub module: gc                        to file: gc.py
                 mem:122064
MicroPy  Pyboard  Stub module: hashlib                   to file: hashlib.py
                 mem:121920
MicroPy  Pyboard  Stub module: heapq                     to file: heapq.py
                 mem:121776
MicroPy  Pyboard  Stub module: io                        to file: io.py
                 mem:121648
MicroPy  Pyboard  Stub module: jpegdec                   to file: jpegdec.py
                 mem:121504
MicroPy  Pyboard  Stub module: json                      to file: json.py
                 mem:121360
MicroPy  Pyboard  Stub module: lwip                      to file: lwip.py
                 mem:121232
MicroPy  Pyboard  Stub module: machine                   to file: machine.py
                 mem:121104
MicroPy  Pyboard  Stub module: math                      to file: math.py
                 mem:121104
MicroPy  Pyboard  Stub module: micropython               to file: micropython.py
                 mem:120976
MicroPy  Pyboard  Stub module: mip                       to file: mip.py
                 mem:119808
MicroPy  Pyboard  Stub module: motor                     to file: motor.py
                 mem:119968
MicroPy  Pyboard  Stub module: neopixel                  to file: neopixel.py
                 mem:119584
MicroPy  Pyboard  Stub module: network                   to file: network.py
                 mem:119616
MicroPy  Pyboard  Stub module: ntptime                   to file: ntptime.py
                 mem:119488
MicroPy  Pyboard  Stub module: onewire                   to file: onewire.py
                 mem:118816
MicroPy  Pyboard  Stub module: os                        to file: os.py
                 mem:118880
MicroPy  Pyboard  Stub module: pcf85063a                 to file: pcf85063a.py
                 mem:118864
MicroPy  Pyboard  Stub module: picographics              to file: picographics.py
                 mem:118864
MicroPy  Pyboard  Stub module: pimoroni_bus              to file: pimoroni_bus.py
                 mem:118864
MicroPy  Pyboard  Stub module: pimoroni_i2c              to file: pimoroni_i2c.py
                 mem:118864
MicroPy  Pyboard  Stub module: plasma                    to file: plasma.py
                 mem:118864
MicroPy  Pyboard  Stub module: platform                  to file: platform.py
                 mem:118864
MicroPy  Pyboard  Stub module: qrcode                    to file: qrcode.py
                 mem:118864
MicroPy  Pyboard  Stub module: random                    to file: random.py
                 mem:118864
MicroPy  Pyboard  Stub module: requests                  to file: requests.py
                 mem:118864
MicroPy  Pyboard  Stub module: rp2                       to file: rp2.py
                 mem:118896
MicroPy  Pyboard  Stub module: select                    to file: select.py
                 mem:118864
MicroPy  Pyboard  Stub module: servo                     to file: servo.py
                 mem:118864
MicroPy  Pyboard  Stub module: socket                    to file: socket.py
                 mem:118864
MicroPy  Pyboard  Stub module: ssl                       to file: ssl.py
                 mem:118864
MicroPy  Pyboard  Stub module: struct                    to file: struct.py
                 mem:118864
MicroPy  Pyboard  Stub module: sys                       to file: sys.py
                 mem:118864
MicroPy  Pyboard  Stub module: time                      to file: time.py
                 mem:118864
MicroPy  Pyboard  Stub module: uarray                    to file: uarray.py
                 mem:118864
MicroPy  Pyboard  Stub module: uasyncio.__init__         to file: __init__.py
                 mem:114816
MicroPy  Pyboard  failed to create folder /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040/uasyncio
MicroPy  Pyboard  Stub module: uasyncio.core             to file: core.py
                 mem:114720
MicroPy  Pyboard  failed to create folder /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040/uasyncio
MicroPy  Pyboard  Stub module: uasyncio.event            to file: event.py
                 mem:113936
MicroPy  Pyboard  failed to create folder /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040/uasyncio
MicroPy  Pyboard  Stub module: uasyncio.funcs            to file: funcs.py
                 mem:113520
MicroPy  Pyboard  failed to create folder /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040/uasyncio
MicroPy  Pyboard  Stub module: uasyncio.lock             to file: lock.py
                 mem:113232
MicroPy  Pyboard  failed to create folder /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040/uasyncio
MicroPy  Pyboard  Stub module: uasyncio.stream           to file: stream.py
                 mem:112256
MicroPy  Pyboard  failed to create folder /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040/uasyncio
MicroPy  Pyboard  Stub module: ubinascii                 to file: ubinascii.py
                 mem:112432
MicroPy  Pyboard  Stub module: ubluetooth                to file: ubluetooth.py
                 mem:112432
MicroPy  Pyboard  Stub module: ucollections              to file: ucollections.py
                 mem:112432
MicroPy  Pyboard  Stub module: ucryptolib                to file: ucryptolib.py
                 mem:112432
MicroPy  Pyboard  Stub module: uctypes                   to file: uctypes.py
                 mem:112432
MicroPy  Pyboard  Stub module: uerrno                    to file: uerrno.py
                 mem:112432
MicroPy  Pyboard  Stub module: uhashlib                  to file: uhashlib.py
                 mem:112432
MicroPy  Pyboard  Stub module: uheapq                    to file: uheapq.py
                 mem:112432
MicroPy  Pyboard  Stub module: uio                       to file: uio.py
                 mem:112432
MicroPy  Pyboard  Stub module: ujson                     to file: ujson.py
                 mem:112432
MicroPy  Pyboard  Stub module: umachine                  to file: umachine.py
                 mem:112432
MicroPy  Pyboard  Stub module: umqtt.simple              to file: simple.py
                 mem:111264
MicroPy  Pyboard  failed to create folder /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040/umqtt
MicroPy  Pyboard  Stub module: uos                       to file: uos.py
                 mem:111488
MicroPy  Pyboard  Stub module: uplatform                 to file: uplatform.py
                 mem:111488
MicroPy  Pyboard  Stub module: urandom                   to file: urandom.py
                 mem:111488
MicroPy  Pyboard  Stub module: ure                       to file: ure.py
                 mem:111488
MicroPy  Pyboard  Stub module: urequests                 to file: urequests.py
                 mem:111424
MicroPy  Pyboard  Stub module: urllib.urequest           to file: urequest.py
                 mem:111040
MicroPy  Pyboard  failed to create folder /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040/urllib
MicroPy  Pyboard  Stub module: uselect                   to file: uselect.py
                 mem:111152
MicroPy  Pyboard  Stub module: usocket                   to file: usocket.py
                 mem:111152
MicroPy  Pyboard  Stub module: ussl                      to file: ussl.py
                 mem:111152
MicroPy  Pyboard  Stub module: ustruct                   to file: ustruct.py
                 mem:111152
MicroPy  Pyboard  Stub module: usys                      to file: usys.py
                 mem:111152
MicroPy  Pyboard  Stub module: utime                     to file: utime.py
                 mem:111152
MicroPy  Pyboard  Stub module: uwebsocket                to file: uwebsocket.py
                 mem:111152
MicroPy  Pyboard  Stub module: version                   to file: version.py
                 mem:111088
MicroPy  Pyboard  Stub module: websocket                 to file: websocket.py
                 mem:111072
MicroPy  Pyboard  Created stubs for 54 modules on board micropython-v1.21.0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040
MicroPy  Pyboard  Path: /stubs/micropython-v1_21_0-dirty-rp2-Pimoroni_Badger2040W_2MB_with_RP2040
MicroPy  Pyboard  Failed to create the report.
MicroPy  ✔ Done!
MicroPy  Copying stubs...
MicroPy  Pyboard  Reading _boot_fat.py (xsize: 4096): 100%|██████████████████████████████████████| [364/364 @ 1.79kB/s]
MicroPy  Pyboard  Verified integrity: _boot_fat.py
MicroPy  Pyboard  Reading _onewire.py (xsize: 4096): 100%|███████████████████████████████████████| [638/638 @ 3.06kB/s]
MicroPy  Pyboard  Verified integrity: _onewire.py
MicroPy  Pyboard  Reading _rp2.py (xsize: 4096): 100%|███████████████████████████████████████| [1.99k/1.99k @ 9.95kB/s]
MicroPy  Pyboard  Verified integrity: _rp2.py
MicroPy  Pyboard  Reading _thread.py (xsize: 4096): 100%|████████████████████████████████████████| [869/869 @ 4.28kB/s]
MicroPy  Pyboard  Verified integrity: _thread.py
MicroPy  Pyboard  Reading adcfft.py (xsize: 4096): 100%|█████████████████████████████████████████| [562/562 @ 2.74kB/s]
MicroPy  Pyboard  Verified integrity: adcfft.py
MicroPy  Pyboard  Reading __init__.py (xsize: 4096): 100%|███████████████████████████████████| [1.65k/1.65k @ 8.23kB/s]
MicroPy  Pyboard  Verified integrity: __init__.py
MicroPy  Pyboard  Reading central.py (xsize: 4096): 100%|████████████████████████████████████| [2.06k/2.06k @ 10.4kB/s]
MicroPy  Pyboard  Verified integrity: central.py
MicroPy  Pyboard  Reading client.py (xsize: 4096): 100%|█████████████████████████████████████| [2.61k/2.61k @ 13.2kB/s]
MicroPy  Pyboard  Verified integrity: client.py
MicroPy  Pyboard  Reading core.py (xsize: 4096): 100%|███████████████████████████████████████████| [851/851 @ 4.20kB/s]
MicroPy  Pyboard  Verified integrity: core.py
MicroPy  Pyboard  Reading device.py (xsize: 4096): 100%|█████████████████████████████████████| [1.40k/1.40k @ 7.07kB/s]
MicroPy  Pyboard  Verified integrity: device.py
MicroPy  Pyboard  Reading l2cap.py (xsize: 4096): 100%|██████████████████████████████████████████| [992/992 @ 4.89kB/s]
MicroPy  Pyboard  Verified integrity: l2cap.py
MicroPy  Pyboard  Reading peripheral.py (xsize: 4096): 100%|█████████████████████████████████| [1.74k/1.74k @ 8.78kB/s]
MicroPy  Pyboard  Verified integrity: peripheral.py
MicroPy  Pyboard  Reading security.py (xsize: 4096): 100%|███████████████████████████████████| [1.45k/1.45k @ 7.37kB/s]
MicroPy  Pyboard  Verified integrity: security.py
MicroPy  Pyboard  Reading server.py (xsize: 4096): 100%|█████████████████████████████████████| [3.24k/3.24k @ 16.3kB/s]
MicroPy  Pyboard  Verified integrity: server.py
MicroPy  Pyboard  Reading array.py (xsize: 4096): 100%|██████████████████████████████████████████| [556/556 @ 2.72kB/s]
MicroPy  Pyboard  Verified integrity: array.py
MicroPy  Pyboard  Reading binascii.py (xsize: 4096): 100%|███████████████████████████████████████| [599/599 @ 2.94kB/s]
MicroPy  Pyboard  Verified integrity: binascii.py
MicroPy  Pyboard  Reading bluetooth.py (xsize: 4096): 100%|██████████████████████████████████| [1.90k/1.90k @ 9.53kB/s]
MicroPy  Pyboard  Verified integrity: bluetooth.py
MicroPy  Pyboard  Reading breakout_as7262.py (xsize: 4096): 100%|████████████████████████████| [1.63k/1.63k @ 8.10kB/s]
MicroPy  Pyboard  Verified integrity: breakout_as7262.py
MicroPy  Pyboard  Reading breakout_bh1745.py (xsize: 4096): 100%|████████████████████████████| [1.01k/1.01k @ 5.10kB/s]
MicroPy  Pyboard  Verified integrity: breakout_bh1745.py
MicroPy  Pyboard  Reading breakout_bme280.py (xsize: 4096): 100%|████████████████████████████| [1.27k/1.27k @ 6.39kB/s]
MicroPy  Pyboard  Verified integrity: breakout_bme280.py
MicroPy  Pyboard  Reading breakout_bme68x.py (xsize: 4096): 100%|████████████████████████████| [1.46k/1.46k @ 7.32kB/s]
MicroPy  Pyboard  Verified integrity: breakout_bme68x.py
MicroPy  Pyboard  Reading breakout_bmp280.py (xsize: 4096): 100%|████████████████████████████| [1.27k/1.27k @ 6.39kB/s]
MicroPy  Pyboard  Verified integrity: breakout_bmp280.py
MicroPy  Pyboard  Reading breakout_dotmatrix.py (xsize: 4096): 100%|█████████████████████████████| [953/953 @ 4.67kB/s]
MicroPy  Pyboard  Verified integrity: breakout_dotmatrix.py
MicroPy  Pyboard  Reading breakout_encoder.py (xsize: 4096): 100%|███████████████████████████| [1.14k/1.14k @ 5.74kB/s]
MicroPy  Pyboard  Verified integrity: breakout_encoder.py
MicroPy  Pyboard  Reading breakout_icp10125.py (xsize: 4096): 100%|██████████████████████████████| [789/789 @ 3.87kB/s]
MicroPy  Pyboard  Verified integrity: breakout_icp10125.py
MicroPy  Pyboard  Reading breakout_ioexpander.py (xsize: 4096): 100%|████████████████████████| [2.16k/2.16k @ 10.8kB/s]
MicroPy  Pyboard  Verified integrity: breakout_ioexpander.py
MicroPy  Pyboard  Reading breakout_ltr559.py (xsize: 4096): 100%|████████████████████████████| [1.50k/1.50k @ 7.50kB/s]
MicroPy  Pyboard  Verified integrity: breakout_ltr559.py
MicroPy  Pyboard  Reading breakout_matrix11x7.py (xsize: 4096): 100%|████████████████████████████| [698/698 @ 3.39kB/s]
MicroPy  Pyboard  Verified integrity: breakout_matrix11x7.py
MicroPy  Pyboard  Reading breakout_mics6814.py (xsize: 4096): 100%|██████████████████████████| [1.55k/1.55k @ 7.83kB/s]
MicroPy  Pyboard  Verified integrity: breakout_mics6814.py
MicroPy  Pyboard  Reading breakout_msa301.py (xsize: 4096): 100%|████████████████████████████| [2.51k/2.51k @ 12.7kB/s]
MicroPy  Pyboard  Verified integrity: breakout_msa301.py
MicroPy  Pyboard  Reading breakout_paa5100.py (xsize: 4096): 100%|███████████████████████████| [1.08k/1.08k @ 5.48kB/s]
MicroPy  Pyboard  Verified integrity: breakout_paa5100.py
MicroPy  Pyboard  Reading breakout_pmw3901.py (xsize: 4096): 100%|███████████████████████████| [1.08k/1.08k @ 5.37kB/s]
MicroPy  Pyboard  Verified integrity: breakout_pmw3901.py
MicroPy  Pyboard  Reading breakout_potentiometer.py (xsize: 4096): 100%|█████████████████████| [1.08k/1.08k @ 5.44kB/s]
MicroPy  Pyboard  Verified integrity: breakout_potentiometer.py
MicroPy  Pyboard  Reading breakout_rgbmatrix5x5.py (xsize: 4096): 100%|██████████████████████████| [701/701 @ 3.43kB/s]
MicroPy  Pyboard  Verified integrity: breakout_rgbmatrix5x5.py
MicroPy  Pyboard  Reading breakout_rtc.py (xsize: 4096): 100%|███████████████████████████████| [4.27k/4.27k @ 10.7kB/s]
MicroPy  Pyboard  Verified integrity: breakout_rtc.py
MicroPy  Pyboard  Reading breakout_scd41.py (xsize: 4096): 100%|█████████████████████████████████| [828/828 @ 4.06kB/s]
MicroPy  Pyboard  Verified integrity: breakout_scd41.py
MicroPy  Pyboard  Reading breakout_sgp30.py (xsize: 4096): 100%|█████████████████████████████| [1.13k/1.13k @ 5.70kB/s]
MicroPy  Pyboard  Verified integrity: breakout_sgp30.py
MicroPy  Pyboard  Reading breakout_trackball.py (xsize: 4096): 100%|█████████████████████████| [1.16k/1.16k @ 5.81kB/s]
MicroPy  Pyboard  Verified integrity: breakout_trackball.py
MicroPy  Pyboard  Reading breakout_vl53l5cx.py (xsize: 4096): 100%|██████████████████████████| [1.67k/1.67k @ 8.31kB/s]
MicroPy  Pyboard  Verified integrity: breakout_vl53l5cx.py
MicroPy  Pyboard  Reading cmath.py (xsize: 4096): 100%|██████████████████████████████████████████| [801/801 @ 3.90kB/s]
MicroPy  Pyboard  Verified integrity: cmath.py
MicroPy  Pyboard  Reading collections.py (xsize: 4096): 100%|████████████████████████████████| [1.32k/1.32k @ 6.62kB/s]
MicroPy  Pyboard  Verified integrity: collections.py
MicroPy  Pyboard  Reading cryptolib.py (xsize: 4096): 100%|██████████████████████████████████████| [560/560 @ 2.77kB/s]
MicroPy  Pyboard  Verified integrity: cryptolib.py
MicroPy  Pyboard  Reading dht.py (xsize: 4096): 100%|████████████████████████████████████████| [1.05k/1.05k @ 5.28kB/s]
MicroPy  Pyboard  Verified integrity: dht.py
MicroPy  Pyboard  Reading ds18x20.py (xsize: 4096): 100%|████████████████████████████████████████| [801/801 @ 3.92kB/s]
MicroPy  Pyboard  Verified integrity: ds18x20.py
MicroPy  Pyboard  Reading encoder.py (xsize: 4096): 100%|████████████████████████████████████| [1.30k/1.30k @ 6.56kB/s]
MicroPy  Pyboard  Verified integrity: encoder.py
MicroPy  Pyboard  Reading errno.py (xsize: 4096): 100%|██████████████████████████████████████████| [959/959 @ 4.71kB/s]
MicroPy  Pyboard  Verified integrity: errno.py
MicroPy  Pyboard  Reading framebuf.py (xsize: 4096): 100%|███████████████████████████████████| [1.36k/1.36k @ 6.81kB/s]
MicroPy  Pyboard  Verified integrity: framebuf.py
MicroPy  Pyboard  Reading gc.py (xsize: 4096): 100%|█████████████████████████████████████████████| [685/685 @ 3.33kB/s]
MicroPy  Pyboard  Verified integrity: gc.py
MicroPy  Pyboard  Reading hashlib.py (xsize: 4096): 100%|████████████████████████████████████████| [754/754 @ 3.71kB/s]
MicroPy  Pyboard  Verified integrity: hashlib.py
MicroPy  Pyboard  Reading heapq.py (xsize: 4096): 100%|██████████████████████████████████████████| [499/499 @ 2.46kB/s]
MicroPy  Pyboard  Verified integrity: heapq.py
MicroPy  Pyboard  Reading io.py (xsize: 4096): 100%|█████████████████████████████████████████| [1.66k/1.66k @ 8.34kB/s]
MicroPy  Pyboard  Verified integrity: io.py
MicroPy  Pyboard  Reading jpegdec.py (xsize: 4096): 100%|████████████████████████████████████████| [879/879 @ 4.31kB/s]
MicroPy  Pyboard  Verified integrity: jpegdec.py
MicroPy  Pyboard  Reading json.py (xsize: 4096): 100%|███████████████████████████████████████████| [533/533 @ 2.60kB/s]
MicroPy  Pyboard  Verified integrity: json.py
MicroPy  Pyboard  Reading lwip.py (xsize: 4096): 100%|███████████████████████████████████████| [1.97k/1.97k @ 9.92kB/s]
MicroPy  Pyboard  Verified integrity: lwip.py
MicroPy  Pyboard  Reading machine.py (xsize: 4096): 100%|████████████████████████████████████| [1.00k/1.00k @ 5.04kB/s]
MicroPy  Pyboard  Verified integrity: machine.py
MicroPy  Pyboard  Reading math.py (xsize: 4096): |                                                 | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: math.py
MicroPy  Pyboard  Reading micropython.py (xsize: 4096): |                                          | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: micropython.py
MicroPy  Pyboard  Reading mip.py (xsize: 4096): |                                                  | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: mip.py
MicroPy  Pyboard  Reading motor.py (xsize: 4096): |                                                | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: motor.py
MicroPy  Pyboard  Reading neopixel.py (xsize: 4096): |                                             | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: neopixel.py
MicroPy  Pyboard  Reading network.py (xsize: 4096): |                                              | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: network.py
MicroPy  Pyboard  Reading ntptime.py (xsize: 4096): |                                              | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: ntptime.py
MicroPy  Pyboard  Reading onewire.py (xsize: 4096): |                                              | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: onewire.py
MicroPy  Pyboard  Reading os.py (xsize: 4096): |                                                   | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: os.py
MicroPy  Pyboard  Reading pcf85063a.py (xsize: 4096): |                                            | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: pcf85063a.py
MicroPy  Pyboard  Reading plasma.py (xsize: 4096): |                                               | [0.00/0.00 @ ?B/s]
MicroPy  Pyboard  Verified integrity: plasma.py
MicroPy  Copied Stubs: stubs
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ C:\Users\Andrew\AppData\Local\Programs\Python\Python311\Lib\site-packages\micropy\app\stubs.py:1 │
│ 97 in stubs_create                                                                               │
│                                                                                                  │
│   194 │   │   out_dir = Path(tmpdir)                                                             │
│   195 │   │   stub_path = next(out_dir.iterdir())                                                │
│   196 │   │   log.info(f"Copied Stubs: $[{stub_path.name}]")                                     │
│ ❱ 197 │   │   stub_path = mp.stubs.from_stubber(stub_path, out_dir)                              │
│   198 │   │   stub = mp.stubs.add(str(stub_path))                                                │
│   199 │   pyb.remove(dev_path)                                                                   │
│   200 │   pyb.disconnect()                                                                       │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │        _get_desc = <function stubs_create.<locals>._get_desc at 0x00000233712B4FE0>          │ │
│ │          backend = <CreateBackend.upydevice: 'upydevice'>                                    │ │
│ │          compile = True                                                                      │ │
│ │     create_stubs = <_io.BytesIO object at 0x00000233719169D0>                                │ │
│ │              ctx = <click.core.Context object at 0x000002336F86FAD0>                         │ │
│ │         dev_path = 'createstubs.mpy'                                                         │ │
│ │          exclude = []                                                                        │ │
│ │ exclude_defaults = True                                                                      │ │
│ │              log = <micropy.logger.ServiceLog object at 0x000002336F90C790>                  │ │
│ │  message_handler = MessageHandlers(                                                          │ │
│ │                    │   on_message=<function stubs_create.<locals>.<lambda> at                │ │
│ │                    0x00000233712B4F40>,                                                      │ │
│ │                    )                                                                         │ │
│ │           module = []                                                                        │ │
│ │  module_defaults = True                                                                      │ │
│ │               mp = <micropy.main.MicroPy object at 0x0000023370429890>                       │ │
│ │          out_dir = WindowsPath('C:/Users/Andrew/AppData/Local/Temp/tmpo1mrr16m')             │ │
│ │             port = 'COM3'                                                                    │ │
│ │              pyb = <micropy.pyd.pydevice.PyDevice object at 0x000002337130B5D0>              │ │
│ │          pyb_log = <micropy.logger.ServiceLog object at 0x00000233712472D0>                  │ │
│ │        stub_path = WindowsPath('C:/Users/Andrew/AppData/Local/Temp/tmpo1mrr16m/stubs')       │ │
│ │           tmpdir = 'C:\\Users\\Andrew\\AppData\\Local\\Temp\\tmpo1mrr16m'                    │ │
│ │          variant = <CreateStubsVariant.BASE: 'base'>                                         │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ C:\Users\Andrew\AppData\Local\Programs\Python\Python311\Lib\site-packages\micropy\stubs\stubs.py │
│ :355 in from_stubber                                                                             │
│                                                                                                  │
│   352 │   │   """                                                                                │
│   353 │   │   _path = Path(path).resolve()                                                       │
│   354 │   │   dest = Path(dest).resolve()                                                        │
│ ❱ 355 │   │   mod_file = next(_path.rglob("modules.json"))                                       │
│   356 │   │   path = mod_file.parent                                                             │
│   357 │   │   mod_data = json.load(mod_file.open())                                              │
│   358 │   │   dev_fware = mod_data["firmware"]                                                   │
│                                                                                                  │
│ ╭────────────────────────────────── locals ───────────────────────────────────╮                  │
│ │ _path = WindowsPath('C:/Users/Andrew/AppData/Local/Temp/tmpo1mrr16m/stubs') │                  │
│ │  dest = WindowsPath('C:/Users/Andrew/AppData/Local/Temp/tmpo1mrr16m')       │                  │
│ │  path = WindowsPath('C:/Users/Andrew/AppData/Local/Temp/tmpo1mrr16m/stubs') │                  │
│ │  self = <micropy.stubs.stubs.StubManager object at 0x000002336F86C810>      │                  │
│ ╰─────────────────────────────────────────────────────────────────────────────╯                  │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
StopIteration