micropython-stubber 1.19.0__py3-none-any.whl → 1.20.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. {micropython_stubber-1.19.0.dist-info → micropython_stubber-1.20.0.dist-info}/METADATA +1 -1
  2. {micropython_stubber-1.19.0.dist-info → micropython_stubber-1.20.0.dist-info}/RECORD +28 -32
  3. mpflash/mpflash/cli_flash.py +9 -4
  4. mpflash/mpflash/cli_group.py +1 -1
  5. mpflash/mpflash/flash_uf2.py +1 -1
  6. mpflash/mpflash/list.py +27 -11
  7. mpflash/mpflash/mpremoteboard/__init__.py +6 -5
  8. mpflash/mpflash/worklist.py +1 -1
  9. mpflash/poetry.lock +84 -83
  10. mpflash/pyproject.toml +1 -1
  11. stubber/__init__.py +1 -1
  12. stubber/board/createstubs.py +2 -1
  13. stubber/board/createstubs_db.py +2 -2
  14. stubber/board/createstubs_db_min.py +1 -1
  15. stubber/board/createstubs_db_mpy.mpy +0 -0
  16. stubber/board/createstubs_mem.py +2 -2
  17. stubber/board/createstubs_mem_min.py +1 -1
  18. stubber/board/createstubs_mem_mpy.mpy +0 -0
  19. stubber/board/createstubs_min.py +2 -2
  20. stubber/board/createstubs_mpy.mpy +0 -0
  21. stubber/board/modulelist.txt +1 -0
  22. stubber/commands/{mcu_cmd.py → get_mcu_cmd.py} +20 -3
  23. stubber/stubber.py +1 -9
  24. stubber/update_fallback.py +104 -104
  25. stubber/utils/config.py +6 -0
  26. stubber/commands/get_lobo_cmd.py +0 -58
  27. stubber/commands/minify_cmd.py +0 -60
  28. stubber/commands/upd_fallback_cmd.py +0 -36
  29. stubber/commands/upd_module_list_cmd.py +0 -18
  30. {micropython_stubber-1.19.0.dist-info → micropython_stubber-1.20.0.dist-info}/LICENSE +0 -0
  31. {micropython_stubber-1.19.0.dist-info → micropython_stubber-1.20.0.dist-info}/WHEEL +0 -0
  32. {micropython_stubber-1.19.0.dist-info → micropython_stubber-1.20.0.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micropython-stubber
3
- Version: 1.19.0
3
+ Version: 1.20.0
4
4
  Summary: Tooling to create and maintain stubs for MicroPython
5
5
  Home-page: https://github.com/Josverl/micropython-stubber#readme
6
6
  License: MIT
@@ -2,8 +2,8 @@ mpflash/libusb_flash.ipynb,sha256=sw5MVQvPmH-DJy9kOdXyO80BSjEPMEXf_GJsGk3usrc,64
2
2
  mpflash/mpflash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  mpflash/mpflash/ask_input.py,sha256=NGjCcOx49gW8xuDZK1BQXNOMPy7fUQ5pQamasez1wHI,7793
4
4
  mpflash/mpflash/cli_download.py,sha256=9Rxwo-j7h9_rwMeAgITmfkdiNVi-Wunr1vpx2VjjUNM,3090
5
- mpflash/mpflash/cli_flash.py,sha256=bp2AXHYqusVQbIOt12gqkbC4OoVMVV2gsY1fI-Js63M,5482
6
- mpflash/mpflash/cli_group.py,sha256=hdyFrxkA_ye5r5bAsOnPr99KV2pfzgDoNXGPjTvEpW0,1946
5
+ mpflash/mpflash/cli_flash.py,sha256=Hld8SGNTJWKB0CTjfG8wGZh8RaC7CtVxhw4--LKTkig,5760
6
+ mpflash/mpflash/cli_group.py,sha256=nL3H06PHm_XUDlMuRyjgmTYeLnkrLa9mKDdahYw-KRo,1967
7
7
  mpflash/mpflash/cli_list.py,sha256=uxTRPdjFWv5ev4E_pz1JYv8DSFLOtZvTKmVmCiRpEC4,1005
8
8
  mpflash/mpflash/cli_main.py,sha256=VxIpmvk3-2Sr1uB1AMT5bRa0TlrbY28ZaYd6NGZnEe0,632
9
9
  mpflash/mpflash/common.py,sha256=lucFGMLl03qz-5Ic2XVv4g5XVt6hloUU6N5v0tSaUYE,1049
@@ -16,48 +16,48 @@ mpflash/mpflash/flash_esp.py,sha256=TjBOk2y1eLrcE8T3iYGypsiskPX7BFNfxYmCuUo_3v4,
16
16
  mpflash/mpflash/flash_stm32.py,sha256=d4BoQl3a9Tchnvn2ZTuq2MpYBB4MTaRukwtEncI95k0,823
17
17
  mpflash/mpflash/flash_stm32_cube.py,sha256=w7aGWjReeWUKl0Q3ZjXH8BRqNO1Tk9AO7gtRNUg1c9Y,3970
18
18
  mpflash/mpflash/flash_stm32_dfu.py,sha256=G70EZodWb-aRi507Jxbys-VEwbBGU1oZacow3_nq-d4,2972
19
- mpflash/mpflash/flash_uf2.py,sha256=nTbp8MbSZeNVPWPPsQxN1ppTtBGESXMfwZ_qL4Bwkv0,2029
19
+ mpflash/mpflash/flash_uf2.py,sha256=KvNPk1zDwQexJfPI5MlIoR7zTD0u-pQQwSHuFQjuMXg,2093
20
20
  mpflash/mpflash/flash_uf2_boardid.py,sha256=WZKucGu_hJ8ymb236uuZbiR6pD6AA_l4LA-7LwtQhq8,414
21
21
  mpflash/mpflash/flash_uf2_linux.py,sha256=LAGkzTImVq-wKo7LGUNlwkUHv1L4rGO7igR5dwxY07o,4298
22
22
  mpflash/mpflash/flash_uf2_windows.py,sha256=dcmA-koavH7duOuNwI0n2aDDbhF1_5ZZ-mXFAXgj8z4,1072
23
- mpflash/mpflash/list.py,sha256=7-yW_J-TDGMvRrRfz7clJseiMy4uEgcwyhOaiw5fj1w,2248
23
+ mpflash/mpflash/list.py,sha256=G35Pjc8Aw3qqY4dCi-0QtRRZEiJF5EPwyuU7Jx5S63Q,3186
24
24
  mpflash/mpflash/logger.py,sha256=dI_H_a7EOdQJyvoeRHQuYeZuTKYVUS3DUPTLhE9rkdM,1098
25
25
  mpflash/mpflash/mpboard_id/__init__.py,sha256=JYGe7VwpBV4ig2M9a6vJUQrMtgdNjZKHt_Z5N13Ycrs,3509
26
26
  mpflash/mpflash/mpboard_id/board_id.py,sha256=NjKkIUv3sw6X60qy--mieQWrle3WNKw5NwAepMenTHI,2230
27
27
  mpflash/mpflash/mpboard_id/board_info.csv,sha256=KPWDo-zHWfrPGQn9oInsDH-5IdCzhBCs6K_YAmqqSpQ,96983
28
28
  mpflash/mpflash/mpboard_id/board_info.json,sha256=JtVyOMIO1O7vLKzJ0hyXQ4JSxXiQBJyay2hjdNLnZM0,674442
29
- mpflash/mpflash/mpremoteboard/__init__.py,sha256=NSp71Qynz3hYqLLy0foVqdkURbNxfjUjiQBmaxKFF64,6951
29
+ mpflash/mpflash/mpremoteboard/__init__.py,sha256=DxlO_7LiyWDz5hNRI77fzp3sI3fZQ9Sd23dnGLx4Zl0,7017
30
30
  mpflash/mpflash/mpremoteboard/mpy_fw_info.py,sha256=6AQbN3jtQgllqWQYl4e-63KeEtV08EXk8_JnM6XBkvo,4554
31
31
  mpflash/mpflash/mpremoteboard/runner.py,sha256=H3W_xGJvjz7TLtlkDQrCLibgegRWGfsaBOABNbAfP_U,4783
32
32
  mpflash/mpflash/vendor/dfu.py,sha256=oK_MRSOyDJrUuS6D24IMIsfL7oLcrvUq0yp_h4WIY2U,5739
33
33
  mpflash/mpflash/vendor/pydfu.py,sha256=_MdBRo1EeNeKDqFPSTB5tNL1jGSBJgsVeVjE5e7Pb8s,20542
34
34
  mpflash/mpflash/vendor/readme.md,sha256=iIIZxuLUIGHQ0KODzYVtMezsztvyxCXcNJp_AzwTIPk,86
35
35
  mpflash/mpflash/vendor/versions.py,sha256=ooRZjeeYepQHwp12hMu2m0p8nZXQ5s942w5mGkKmgeI,3629
36
- mpflash/mpflash/worklist.py,sha256=TGVFugEyWn83WKr0wahBBimcfsHMWGo8_QTu4g3ao-0,5266
37
- mpflash/poetry.lock,sha256=aLNhsSYBArek4FRGBNKgug8CaczPp5HQMpp-72HUIjI,120374
38
- mpflash/pyproject.toml,sha256=nW8qSejU4Xcre0Hea8VdaHmNkgJIz7Jfa8eritQqvWE,1628
36
+ mpflash/mpflash/worklist.py,sha256=qZsqF3Lf5Bl7QQ31ZLVHewP6WC8fmwQPMbyNgbG7LB4,5299
37
+ mpflash/poetry.lock,sha256=IFlzAMe4-gKB5OJHkbm7vnGBmJGBI3vcasHkQmiNz7I,120389
38
+ mpflash/pyproject.toml,sha256=Pv5rFYNPI8K6vH9Fd9JwOi6B-07To0uKPijmTh-bLmc,1628
39
39
  mpflash/README.md,sha256=q_vVktLk3C_3L5nZT6SfiKs7l4zOSYG03zXrHinOLig,12253
40
40
  mpflash/stm32_udev_rules.md,sha256=uxvC8FvU7K0R1QQUqCIvVfW9yfWYlIHhIVtirAjQVHE,2684
41
- stubber/__init__.py,sha256=pDZjJLA29xrsqkB2umvOEbD9Y4Ocr_ZtfLvGnbkt5PQ,49
41
+ stubber/__init__.py,sha256=o1qcasRklnxYGOP3EFPV2_p14ofWGqNiABgcOKra5-8,49
42
42
  stubber/basicgit.py,sha256=sflgCv7apLbV2w8F6gmhc-3kuqDnnS4tdGol6JT2uTM,9545
43
43
  stubber/board/board_info.csv,sha256=K2VSmfR013fN-oJWkQUmiQ19w09dVwJHDquPy6QmMhY,8627
44
44
  stubber/board/boot.py,sha256=XjWlKErU5nI1HJSugXIP_3hlwgRQboE6sJrpcbSygnk,1120
45
- stubber/board/createstubs.py,sha256=wkLy_1FtoO8dz-LExDjfg6nPvlXEWmS3El9LXw7vwak,32707
46
- stubber/board/createstubs_db.py,sha256=nkGOgznP5eaXLi_HXYbKFym-9Xiqpp2Z5gLtkwFVODQ,30445
47
- stubber/board/createstubs_db_min.py,sha256=X2I9C2ksaUGd18cWJwITdD4FYWfdkz5ec1Hg0TWC3iU,11473
48
- stubber/board/createstubs_db_mpy.mpy,sha256=A-3Ihjd11hf_mV-RgFhcTiLqyAFD2r4x27SHAvoFB9E,9536
45
+ stubber/board/createstubs.py,sha256=UEsqCBrXA9ipSjwI7FMr2nsZ0HtNBW2LN1kfSnK1bEw,32723
46
+ stubber/board/createstubs_db.py,sha256=BTaGBSVVIz1SzeRCFGgMeShYd6SdtBV3J8ZHi8iy_Zw,30445
47
+ stubber/board/createstubs_db_min.py,sha256=Gm1tcNzQ9zcPRt_bHYrUoKLXicHWxUxsOsqHI3TqjPk,11473
48
+ stubber/board/createstubs_db_mpy.mpy,sha256=0P0crBWixxVHvpPwB2C1kXTK6g7KuEtzE_4EYJDs1M4,9536
49
49
  stubber/board/createstubs_lvgl.py,sha256=CTe7eq1ACRK_JJxavaqDD8znn29nSWJiHHTZ_ps6EhM,27217
50
50
  stubber/board/createstubs_lvgl_min.py,sha256=jLkWYmeboI2A8feMC7pT7cYWttLejQTuX7WAEZCylhw,27207
51
51
  stubber/board/createstubs_lvgl_mpy.mpy,sha256=ex-nlq2V5e8anQBJvRWEEc-FzU7nlwg5NSrZ8vOadIA,9267
52
- stubber/board/createstubs_mem.py,sha256=r7m6jICvEsCyAkbZ1NfM8J1VizSc7w41QYxI10IaQNo,28779
53
- stubber/board/createstubs_mem_min.py,sha256=xsfwYmfUUGtND9J9O9_Eud3hB0EcN2HC1j3a67GkDGk,11019
54
- stubber/board/createstubs_mem_mpy.mpy,sha256=QDxiy1nvDJIfj-H40u2WK9DUc4k96Y3efGcqWFhWN7s,9118
55
- stubber/board/createstubs_min.py,sha256=6q_4X7j9xpv-rFoGv78TGuhw2CZ-HjEBxccxFbI54V4,13558
56
- stubber/board/createstubs_mpy.mpy,sha256=FY3GCxDIa125XAO_wufL3Nx680TY4Npc16t-WMEyp6c,12220
52
+ stubber/board/createstubs_mem.py,sha256=2DKVzQEt2qyh9s6iS_mo3u5YZ1htS0xn5ycCFIjQWLQ,28779
53
+ stubber/board/createstubs_mem_min.py,sha256=mMxSu3TYPmsh_olGJ83b_OBojwwxDeFbVm96H4nJ8WM,11019
54
+ stubber/board/createstubs_mem_mpy.mpy,sha256=KdYmiWuaqzPMFpOirTpE7uJTyk1k384f87MQtTaL0NM,9118
55
+ stubber/board/createstubs_min.py,sha256=n5IQQLlxt8AIUplS3onjuekm2H4WAlU2fmYMldpf-rc,13564
56
+ stubber/board/createstubs_mpy.mpy,sha256=QBmLdLJnPDJJBRZrR27ss6slwUGzredY1f_HrA17f9g,12228
57
57
  stubber/board/fw_info.py,sha256=6AQbN3jtQgllqWQYl4e-63KeEtV08EXk8_JnM6XBkvo,4554
58
58
  stubber/board/info.py,sha256=b7SOPZHVsVhaayKCwVkFZlYu0BW-UFI7LuG1Eop9480,5629
59
59
  stubber/board/main.py,sha256=f6V3tdt6sPZVLuwemT-NLuK9GySfW2c2J6PJMOOWQQw,413
60
- stubber/board/modulelist.txt,sha256=UrhmJUkrDaT3-URvVlAoXqOGT7KxfN9BXCM2EcEvpn0,2770
60
+ stubber/board/modulelist.txt,sha256=LrFH2H7tHZCA960yIa5-6mHItwI5N2LwQZ_IveDoyYs,2775
61
61
  stubber/board/pyrightconfig.json,sha256=6oHS4aDOfwKBAFeUPsCGJzEXpUgBZsPaF0M4P-N26D4,1376
62
62
  stubber/bulk/mcu_stubber.py,sha256=_1z0LUzcMbEIXIYInMJcAJZbBPTI8yCHgd1-1nlMscM,16379
63
63
  stubber/codemod/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -81,15 +81,11 @@ stubber/commands/enrich_folder_cmd.py,sha256=aGkydAsjyM9LHB99bcjxz_jyDGgOmisZyys
81
81
  stubber/commands/get_core_cmd.py,sha256=oxiDb_r1Ao9N2maeV0EBKosI4nRDNJkDk52xNunYICM,2226
82
82
  stubber/commands/get_docstubs_cmd.py,sha256=xTkuc7k7Od7LUtt_ZohoHaRuE6qhQ80ST0b0ZHKMJrM,2824
83
83
  stubber/commands/get_frozen_cmd.py,sha256=LhtWUL6l2kPUcRQBz19ChwTsdzjai4ryf0UBe52Fu48,3812
84
- stubber/commands/get_lobo_cmd.py,sha256=ss-MEeaDAAqQhBsvnSPjhQVd9adeJpe-EVR-Xt9iWjU,1516
85
- stubber/commands/mcu_cmd.py,sha256=ZwYmqGlm-oiivxRGzE8xjmvW0ChYq4jcArSnCoyae8I,1672
84
+ stubber/commands/get_mcu_cmd.py,sha256=uDodn57wdc9rHt7WSmHCFI-zTT1XrebPEaWN-G43E2Y,2015
86
85
  stubber/commands/merge_cmd.py,sha256=2gQYxqapVGD8WMBsqRES7xjIS8acu4hTyutr1OANpAo,1673
87
- stubber/commands/minify_cmd.py,sha256=HOLZxiGnSXIu_5scstZZJJ1Kwjugk0Jf1bfXPen9Td8,2267
88
86
  stubber/commands/publish_cmd.py,sha256=myvgP7Y-pb-nyrMVMelNmIVHbxeK4g1ZXmQtxASblkk,2910
89
87
  stubber/commands/stub_cmd.py,sha256=St3UlrVdbkddXystDG2NmKLq_1RbE-gNxlE7ShwQwaw,1186
90
88
  stubber/commands/switch_cmd.py,sha256=DM73QU4Vo3ifr01rv-xSmlxp36T20josOt9-cyUWUDU,1796
91
- stubber/commands/upd_fallback_cmd.py,sha256=5d6lIFa1mTo-2O-gDZKwHOZAo5bvX5mp4iaTIfBSaQc,1056
92
- stubber/commands/upd_module_list_cmd.py,sha256=drtjqS2aMd0aM-JJdnyl4jcnbq135lfSVcgK_6eovBk,499
93
89
  stubber/commands/variants_cmd.py,sha256=QDm-KtDFIa9_Jl21vjArrW7OrToR8VfwK22pRo0e6CE,1284
94
90
  stubber/cst_transformer.py,sha256=XbvGTUmhhFWW_Ig8Pu6lFdkBS_NCEmJ1oQQm4H1XSrM,6479
95
91
  stubber/data/board_info.csv,sha256=K2VSmfR013fN-oJWkQUmiQ19w09dVwJHDquPy6QmMhY,8627
@@ -127,15 +123,15 @@ stubber/rst/output_dict.py,sha256=cpBXRtUD-uh0EgjWIBiRrMLBmIAEXjoJFSOAg-qJQiU,14
127
123
  stubber/rst/reader.py,sha256=ZR2vrB0xup7qY2zAC6HKKytaiQjlUdr-gxFGamkSfHQ,33382
128
124
  stubber/rst/report_return.py,sha256=WZJSbgjsjxFeCeY-vLms56gv_x3TubaGXGQ8--d8RqI,2814
129
125
  stubber/rst/rst_utils.py,sha256=q4MCmhCeI0fnx6KNVdgz1nE4_hAK4T-F7oAMBnmwZ4w,17817
130
- stubber/stubber.py,sha256=OAGcdE_Mcftx5VHN8ZeuZCgpghI1_CxPMoFSIQiijcg,2081
126
+ stubber/stubber.py,sha256=41zvyaDQt25Y8IRsMvcQR68LxDZrTz_iVJpEQ5D3VWc,1634
131
127
  stubber/stubs_from_docs.py,sha256=34hHae5zWjlFyO0lXhEjyV2IyuX4akwO1VNb01ylcLY,2833
132
128
  stubber/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
129
  stubber/tools/manifestfile.py,sha256=D5Plwj5LRDe6zq5m-ETKfum0vFAykka70WXSEHl83a4,23721
134
130
  stubber/tools/readme.md,sha256=kH7dA2Rs4BLCXa2ILoTDIj3sJHcGYtDPntyxVIOXvtI,199
135
- stubber/update_fallback.py,sha256=TMmNr9fGUaxOfgDNPm2iq6wcLpa-m8ijrpnRohbudPI,4713
131
+ stubber/update_fallback.py,sha256=NUxp1sN1-8BLPd0rpExTcYBppUXYWPP8dOcjNeLY2Zo,4921
136
132
  stubber/update_module_list.py,sha256=QJ-c2K1Wf2SQdpMeGvlVabasKqsN9ZQV4ye5PbSpsWE,4640
137
133
  stubber/utils/__init__.py,sha256=nV9FsOZsJ_hXsyUv4j0Qqp-PKycxyIktU9IoLs4kQmQ,225
138
- stubber/utils/config.py,sha256=bDdpGsKKrEq0vaoxeGiCWgim7m7-lJVK4jbdsWiG890,4676
134
+ stubber/utils/config.py,sha256=Jg4eHhgKim4uP4IqZRWykRNiX1r-SXC2xSrbsVprGAA,4859
139
135
  stubber/utils/makeversionhdr.py,sha256=ZRpClirIzNK4saZHPaDuEpXhBRI_Ow_yZOxeNM3D_Ro,1908
140
136
  stubber/utils/manifest.py,sha256=XBYCkxtYVAdUcch1784eHPAXlXfyfjco4WnRXxBHZYA,3273
141
137
  stubber/utils/post.py,sha256=oSFZdoP6JwEeAOvsBo3kTk7l8ff_AVtL2Y4VIjzujlE,2837
@@ -144,8 +140,8 @@ stubber/utils/stubmaker.py,sha256=qld_Wfm9f4EuzedXlX1Ky0i0BJdR75oOOTha13_ekz0,52
144
140
  stubber/utils/typed_config_toml.py,sha256=ikifCIZGNhS_uqsfp6IwIpxdtZqbLtywprjWG_Q0y8o,2629
145
141
  stubber/utils/versions.py,sha256=R65PAlUCAs9uvTxA6Frco2tHx6ADZCn59JOWI59ZhOo,3790
146
142
  stubber/variants.py,sha256=-o4TgotbKaCcYBdXkutPaBSR1JdxWmOAiuNT1UlahYc,3784
147
- micropython_stubber-1.19.0.dist-info/entry_points.txt,sha256=NQi_M36fgq5k6giSuASas3LrpF6CVdkzfvJC0ja73_g,55
148
- micropython_stubber-1.19.0.dist-info/LICENSE,sha256=Fx9qrL45ayRXgH6QzttboqZEjKXms0w1t_b_nkOqYCU,1572
149
- micropython_stubber-1.19.0.dist-info/METADATA,sha256=d4x2LP901BiDUdVHd4g2B7mqF-HgY3gH6qCmbpOkZxA,19096
150
- micropython_stubber-1.19.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
151
- micropython_stubber-1.19.0.dist-info/RECORD,,
143
+ micropython_stubber-1.20.0.dist-info/entry_points.txt,sha256=NQi_M36fgq5k6giSuASas3LrpF6CVdkzfvJC0ja73_g,55
144
+ micropython_stubber-1.20.0.dist-info/LICENSE,sha256=Fx9qrL45ayRXgH6QzttboqZEjKXms0w1t_b_nkOqYCU,1572
145
+ micropython_stubber-1.20.0.dist-info/METADATA,sha256=Ca3hFC3I3QZKJaG2DPXrLXTNv8LB3f2BFJgpuRfhK4k,19096
146
+ micropython_stubber-1.20.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
147
+ micropython_stubber-1.20.0.dist-info/RECORD,,
@@ -13,7 +13,7 @@ from .cli_group import cli
13
13
  from .cli_list import show_mcus
14
14
  from .config import config
15
15
  from .flash import flash_list
16
- from .worklist import WorkList, full_auto_worklist, manual_worklist, single_auto_worklist
16
+ from .worklist import MPRemoteBoard, WorkList, full_auto_worklist, manual_worklist, single_auto_worklist
17
17
 
18
18
  # #########################################################################################################
19
19
  # CLI
@@ -104,6 +104,11 @@ def cli_flash_board(**kwargs):
104
104
  if not params.boards or params.boards == []:
105
105
  # nothing specified - detect connected boards
106
106
  params.ports, params.boards = connected_ports_boards()
107
+ if params.boards == []:
108
+ # No MicroPython boards detected, but it could be unflashed or not in bootloader mode
109
+ # Ask for serial port and board_id to flash
110
+ params.serial = "?"
111
+ params.boards = ["?"]
107
112
  else:
108
113
  for board_id in params.boards:
109
114
  if board_id == "":
@@ -130,9 +135,9 @@ def cli_flash_board(**kwargs):
130
135
  if len(params.versions) > 1:
131
136
  log.error(f"Only one version can be flashed at a time, not {params.versions}")
132
137
  raise MPFlashError("Only one version can be flashed at a time")
133
- if len(params.boards) > 1:
134
- log.error(f"Only one board can be flashed at a time, not {params.boards}")
135
- raise MPFlashError("Only one board can be flashed at a time")
138
+ # if len(params.boards) > 1:
139
+ # log.error(f"Only one board can be flashed at a time, not {params.boards}")
140
+ # raise MPFlashError("Only one board can be flashed at a time")
136
141
 
137
142
  params.versions = [clean_version(v) for v in params.versions]
138
143
  worklist: WorkList = []
@@ -11,7 +11,7 @@ from .logger import make_quiet, set_loglevel
11
11
 
12
12
  def cb_verbose(ctx, param, value):
13
13
  """Callback to set the log level to DEBUG if verbose is set"""
14
- if value:
14
+ if value and not config.quiet:
15
15
  set_loglevel("DEBUG")
16
16
  config.verbose = True
17
17
  else:
@@ -56,6 +56,6 @@ def flash_uf2(mcu: MPRemoteBoard, fw_file: Path, erase: bool) -> Optional[MPRemo
56
56
  log.success("Done copying, resetting the board and wait for it to restart")
57
57
  if sys.platform in ["linux", "darwin"]:
58
58
  dismount_uf2()
59
- for _ in track(range(5 + 2)):
59
+ for _ in track(range(5 + 2), description="Waiting for the board to restart", transient=True):
60
60
  time.sleep(1) # 5 secs to short on linux
61
61
  return mcu
mpflash/mpflash/list.py CHANGED
@@ -1,14 +1,18 @@
1
1
  from typing import List
2
2
 
3
3
  from rich import print
4
- from rich.progress import track
5
- from rich.table import Table
4
+ from rich.progress import BarColumn, Progress, SpinnerColumn, TextColumn, TimeElapsedColumn, track
5
+ from rich.table import Column, Table
6
6
 
7
7
  from mpflash.mpremoteboard import MPRemoteBoard
8
8
 
9
9
  from .config import config
10
10
  from .logger import console
11
11
 
12
+ rp_spinner = SpinnerColumn(finished_text="✅")
13
+ rp_text = TextColumn("{task.description} {task.fields[device]}", table_column=Column())
14
+ rp_bar = BarColumn(bar_width=None, table_column=Column())
15
+
12
16
 
13
17
  def list_mcus(bluetooth: bool = False):
14
18
  """
@@ -21,12 +25,24 @@ def list_mcus(bluetooth: bool = False):
21
25
  """
22
26
  conn_mcus = [MPRemoteBoard(sp) for sp in MPRemoteBoard.connected_boards(bluetooth) if sp not in config.ignore_ports]
23
27
 
24
- for mcu in track(conn_mcus, description="Getting board info", transient=True, update_period=0.1):
28
+ # a lot of boilerplate to show a progress bar with the comport currenlty scanned
29
+ with Progress(rp_spinner, rp_text, rp_bar, TimeElapsedColumn()) as progress:
30
+ tsk_scan = progress.add_task("[green]Scanning", visible=False, total=None)
31
+ progress.tasks[tsk_scan].fields["device"] = "..."
32
+ progress.tasks[tsk_scan].visible = True
33
+ progress.start_task(tsk_scan)
25
34
  try:
26
- mcu.get_mcu_info()
27
- except ConnectionError as e:
28
- print(f"Error: {e}")
29
- continue
35
+ for mcu in conn_mcus:
36
+ progress.update(tsk_scan, device=mcu.serialport.replace("/dev/", ""))
37
+ try:
38
+ mcu.get_mcu_info()
39
+ except ConnectionError as e:
40
+ print(f"Error: {e}")
41
+ continue
42
+ finally:
43
+ # transient
44
+ progress.stop_task(tsk_scan)
45
+ progress.tasks[tsk_scan].visible = False
30
46
  return conn_mcus
31
47
 
32
48
 
@@ -38,11 +54,10 @@ def show_mcus(
38
54
  """Show the list of connected boards in a nice table"""
39
55
  table = Table(
40
56
  title=title,
41
- title_style="bold",
42
- header_style="bold blue",
57
+ title_style="magenta",
58
+ header_style="bold magenta",
43
59
  collapse_padding=True,
44
60
  width=110,
45
- row_styles=["blue", "yellow"],
46
61
  )
47
62
  table.add_column("Serial", overflow="fold")
48
63
  table.add_column("Family")
@@ -59,11 +74,12 @@ def show_mcus(
59
74
  mcu.get_mcu_info()
60
75
  except ConnectionError:
61
76
  continue
77
+ description = f"[italic bright_cyan]{mcu.description}" if mcu.description else ""
62
78
  table.add_row(
63
79
  mcu.serialport.replace("/dev/", ""),
64
80
  mcu.family,
65
81
  mcu.port,
66
- f"{mcu.board}\n{mcu.description}".strip(),
82
+ f"{mcu.board}\n{description}".strip(),
67
83
  # mcu.variant,
68
84
  mcu.cpu,
69
85
  mcu.version,
@@ -65,8 +65,9 @@ class MPRemoteBoard:
65
65
 
66
66
  @staticmethod
67
67
  def connected_boards(bluetooth: bool = False) -> List[str]:
68
+ # TODO: rename to connected_comports
68
69
  """
69
- Get a list of connected boards.
70
+ Get a list of connected comports.
70
71
 
71
72
  Parameters:
72
73
  - bluetooth (bool): Whether to include Bluetooth ports. Default is False.
@@ -74,14 +75,14 @@ class MPRemoteBoard:
74
75
  Returns:
75
76
  - List[str]: A list of connected board ports.
76
77
  """
77
- ports = serial.tools.list_ports.comports()
78
+ comports = serial.tools.list_ports.comports()
78
79
 
79
80
  if not bluetooth:
80
81
  # filter out bluetooth ports
81
- ports = [p for p in ports if "bluetooth" not in p.description.lower()]
82
- ports = [p for p in ports if "BTHENUM" not in p.hwid]
82
+ comports = [p for p in comports if "bluetooth" not in p.description.lower()]
83
+ comports = [p for p in comports if "BTHENUM" not in p.hwid]
83
84
 
84
- return sorted([p.device for p in ports])
85
+ return sorted([p.device for p in comports])
85
86
 
86
87
  @retry(stop=stop_after_attempt(RETRIES), wait=wait_fixed(1), reraise=True) # type: ignore ## retry_error_cls=ConnectionError,
87
88
  def get_mcu_info(self, timeout: int = 2):
@@ -24,7 +24,7 @@ def auto_update(
24
24
  *,
25
25
  selector: Optional[Dict[str, str]] = None,
26
26
  ) -> WorkList:
27
- """Builds a list of boards to update based on the connected boards and the firmware available
27
+ """Builds a list of boards to update based on the connected boards and the firmwares available locally in the firmware folder.
28
28
 
29
29
  Args:
30
30
  conn_boards (List[MPRemoteBoard]): List of connected boards
mpflash/poetry.lock CHANGED
@@ -211,17 +211,17 @@ files = [
211
211
 
212
212
  [[package]]
213
213
  name = "bitstring"
214
- version = "4.1.4"
214
+ version = "4.2.1"
215
215
  description = "Simple construction, analysis and modification of binary data."
216
216
  optional = false
217
- python-versions = ">=3.7"
217
+ python-versions = ">=3.8"
218
218
  files = [
219
- {file = "bitstring-4.1.4-py3-none-any.whl", hash = "sha256:da46c4d6f8f3fb75a85566fdd33d5083ba8b8f268ed76f34eefe5a00da426192"},
220
- {file = "bitstring-4.1.4.tar.gz", hash = "sha256:94f3f1c45383ebe8fd4a359424ffeb75c2f290760ae8fcac421b44f89ac85213"},
219
+ {file = "bitstring-4.2.1-py3-none-any.whl", hash = "sha256:9ae5d89072b065d640d645d37c0efcd27284b2f79f1c48cc1cd38b54e1932b4f"},
220
+ {file = "bitstring-4.2.1.tar.gz", hash = "sha256:8abb5a661588c764bacf1a23d64c7bb57517d2841e3e6f54fb8c057119e0540d"},
221
221
  ]
222
222
 
223
223
  [package.dependencies]
224
- bitarray = ">=2.8.0,<3.0.0"
224
+ bitarray = ">=2.9.0,<3.0.0"
225
225
 
226
226
  [[package]]
227
227
  name = "blessed"
@@ -450,63 +450,63 @@ files = [
450
450
 
451
451
  [[package]]
452
452
  name = "coverage"
453
- version = "7.4.4"
453
+ version = "7.5.0"
454
454
  description = "Code coverage measurement for Python"
455
455
  optional = false
456
456
  python-versions = ">=3.8"
457
457
  files = [
458
- {file = "coverage-7.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0be5efd5127542ef31f165de269f77560d6cdef525fffa446de6f7e9186cfb2"},
459
- {file = "coverage-7.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ccd341521be3d1b3daeb41960ae94a5e87abe2f46f17224ba5d6f2b8398016cf"},
460
- {file = "coverage-7.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fa497a8ab37784fbb20ab699c246053ac294d13fc7eb40ec007a5043ec91f8"},
461
- {file = "coverage-7.4.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b1a93009cb80730c9bca5d6d4665494b725b6e8e157c1cb7f2db5b4b122ea562"},
462
- {file = "coverage-7.4.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:690db6517f09336559dc0b5f55342df62370a48f5469fabf502db2c6d1cffcd2"},
463
- {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:09c3255458533cb76ef55da8cc49ffab9e33f083739c8bd4f58e79fecfe288f7"},
464
- {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8ce1415194b4a6bd0cdcc3a1dfbf58b63f910dcb7330fe15bdff542c56949f87"},
465
- {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b91cbc4b195444e7e258ba27ac33769c41b94967919f10037e6355e998af255c"},
466
- {file = "coverage-7.4.4-cp310-cp310-win32.whl", hash = "sha256:598825b51b81c808cb6f078dcb972f96af96b078faa47af7dfcdf282835baa8d"},
467
- {file = "coverage-7.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:09ef9199ed6653989ebbcaacc9b62b514bb63ea2f90256e71fea3ed74bd8ff6f"},
468
- {file = "coverage-7.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f9f50e7ef2a71e2fae92774c99170eb8304e3fdf9c8c3c7ae9bab3e7229c5cf"},
469
- {file = "coverage-7.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:623512f8ba53c422fcfb2ce68362c97945095b864cda94a92edbaf5994201083"},
470
- {file = "coverage-7.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0513b9508b93da4e1716744ef6ebc507aff016ba115ffe8ecff744d1322a7b63"},
471
- {file = "coverage-7.4.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40209e141059b9370a2657c9b15607815359ab3ef9918f0196b6fccce8d3230f"},
472
- {file = "coverage-7.4.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a2b2b78c78293782fd3767d53e6474582f62443d0504b1554370bde86cc8227"},
473
- {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:73bfb9c09951125d06ee473bed216e2c3742f530fc5acc1383883125de76d9cd"},
474
- {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f384c3cc76aeedce208643697fb3e8437604b512255de6d18dae3f27655a384"},
475
- {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:54eb8d1bf7cacfbf2a3186019bcf01d11c666bd495ed18717162f7eb1e9dd00b"},
476
- {file = "coverage-7.4.4-cp311-cp311-win32.whl", hash = "sha256:cac99918c7bba15302a2d81f0312c08054a3359eaa1929c7e4b26ebe41e9b286"},
477
- {file = "coverage-7.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:b14706df8b2de49869ae03a5ccbc211f4041750cd4a66f698df89d44f4bd30ec"},
478
- {file = "coverage-7.4.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:201bef2eea65e0e9c56343115ba3814e896afe6d36ffd37bab783261db430f76"},
479
- {file = "coverage-7.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41c9c5f3de16b903b610d09650e5e27adbfa7f500302718c9ffd1c12cf9d6818"},
480
- {file = "coverage-7.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d898fe162d26929b5960e4e138651f7427048e72c853607f2b200909794ed978"},
481
- {file = "coverage-7.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ea79bb50e805cd6ac058dfa3b5c8f6c040cb87fe83de10845857f5535d1db70"},
482
- {file = "coverage-7.4.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce4b94265ca988c3f8e479e741693d143026632672e3ff924f25fab50518dd51"},
483
- {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:00838a35b882694afda09f85e469c96367daa3f3f2b097d846a7216993d37f4c"},
484
- {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fdfafb32984684eb03c2d83e1e51f64f0906b11e64482df3c5db936ce3839d48"},
485
- {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:69eb372f7e2ece89f14751fbcbe470295d73ed41ecd37ca36ed2eb47512a6ab9"},
486
- {file = "coverage-7.4.4-cp312-cp312-win32.whl", hash = "sha256:137eb07173141545e07403cca94ab625cc1cc6bc4c1e97b6e3846270e7e1fea0"},
487
- {file = "coverage-7.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:d71eec7d83298f1af3326ce0ff1d0ea83c7cb98f72b577097f9083b20bdaf05e"},
488
- {file = "coverage-7.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d5ae728ff3b5401cc320d792866987e7e7e880e6ebd24433b70a33b643bb0384"},
489
- {file = "coverage-7.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cc4f1358cb0c78edef3ed237ef2c86056206bb8d9140e73b6b89fbcfcbdd40e1"},
490
- {file = "coverage-7.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8130a2aa2acb8788e0b56938786c33c7c98562697bf9f4c7d6e8e5e3a0501e4a"},
491
- {file = "coverage-7.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf271892d13e43bc2b51e6908ec9a6a5094a4df1d8af0bfc360088ee6c684409"},
492
- {file = "coverage-7.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4cdc86d54b5da0df6d3d3a2f0b710949286094c3a6700c21e9015932b81447e"},
493
- {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ae71e7ddb7a413dd60052e90528f2f65270aad4b509563af6d03d53e979feafd"},
494
- {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:38dd60d7bf242c4ed5b38e094baf6401faa114fc09e9e6632374388a404f98e7"},
495
- {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa5b1c1bfc28384f1f53b69a023d789f72b2e0ab1b3787aae16992a7ca21056c"},
496
- {file = "coverage-7.4.4-cp38-cp38-win32.whl", hash = "sha256:dfa8fe35a0bb90382837b238fff375de15f0dcdb9ae68ff85f7a63649c98527e"},
497
- {file = "coverage-7.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:b2991665420a803495e0b90a79233c1433d6ed77ef282e8e152a324bbbc5e0c8"},
498
- {file = "coverage-7.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3b799445b9f7ee8bf299cfaed6f5b226c0037b74886a4e11515e569b36fe310d"},
499
- {file = "coverage-7.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b4d33f418f46362995f1e9d4f3a35a1b6322cb959c31d88ae56b0298e1c22357"},
500
- {file = "coverage-7.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aadacf9a2f407a4688d700e4ebab33a7e2e408f2ca04dbf4aef17585389eff3e"},
501
- {file = "coverage-7.4.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c95949560050d04d46b919301826525597f07b33beba6187d04fa64d47ac82e"},
502
- {file = "coverage-7.4.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff7687ca3d7028d8a5f0ebae95a6e4827c5616b31a4ee1192bdfde697db110d4"},
503
- {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5fc1de20b2d4a061b3df27ab9b7c7111e9a710f10dc2b84d33a4ab25065994ec"},
504
- {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c74880fc64d4958159fbd537a091d2a585448a8f8508bf248d72112723974cbd"},
505
- {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:742a76a12aa45b44d236815d282b03cfb1de3b4323f3e4ec933acfae08e54ade"},
506
- {file = "coverage-7.4.4-cp39-cp39-win32.whl", hash = "sha256:d89d7b2974cae412400e88f35d86af72208e1ede1a541954af5d944a8ba46c57"},
507
- {file = "coverage-7.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:9ca28a302acb19b6af89e90f33ee3e1906961f94b54ea37de6737b7ca9d8827c"},
508
- {file = "coverage-7.4.4-pp38.pp39.pp310-none-any.whl", hash = "sha256:b2c5edc4ac10a7ef6605a966c58929ec6c1bd0917fb8c15cb3363f65aa40e677"},
509
- {file = "coverage-7.4.4.tar.gz", hash = "sha256:c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49"},
458
+ {file = "coverage-7.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:432949a32c3e3f820af808db1833d6d1631664d53dd3ce487aa25d574e18ad1c"},
459
+ {file = "coverage-7.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2bd7065249703cbeb6d4ce679c734bef0ee69baa7bff9724361ada04a15b7e3b"},
460
+ {file = "coverage-7.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbfe6389c5522b99768a93d89aca52ef92310a96b99782973b9d11e80511f932"},
461
+ {file = "coverage-7.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:39793731182c4be939b4be0cdecde074b833f6171313cf53481f869937129ed3"},
462
+ {file = "coverage-7.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85a5dbe1ba1bf38d6c63b6d2c42132d45cbee6d9f0c51b52c59aa4afba057517"},
463
+ {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:357754dcdfd811462a725e7501a9b4556388e8ecf66e79df6f4b988fa3d0b39a"},
464
+ {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a81eb64feded34f40c8986869a2f764f0fe2db58c0530d3a4afbcde50f314880"},
465
+ {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:51431d0abbed3a868e967f8257c5faf283d41ec882f58413cf295a389bb22e58"},
466
+ {file = "coverage-7.5.0-cp310-cp310-win32.whl", hash = "sha256:f609ebcb0242d84b7adeee2b06c11a2ddaec5464d21888b2c8255f5fd6a98ae4"},
467
+ {file = "coverage-7.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:6782cd6216fab5a83216cc39f13ebe30adfac2fa72688c5a4d8d180cd52e8f6a"},
468
+ {file = "coverage-7.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e768d870801f68c74c2b669fc909839660180c366501d4cc4b87efd6b0eee375"},
469
+ {file = "coverage-7.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:84921b10aeb2dd453247fd10de22907984eaf80901b578a5cf0bb1e279a587cb"},
470
+ {file = "coverage-7.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:710c62b6e35a9a766b99b15cdc56d5aeda0914edae8bb467e9c355f75d14ee95"},
471
+ {file = "coverage-7.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c379cdd3efc0658e652a14112d51a7668f6bfca7445c5a10dee7eabecabba19d"},
472
+ {file = "coverage-7.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fea9d3ca80bcf17edb2c08a4704259dadac196fe5e9274067e7a20511fad1743"},
473
+ {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:41327143c5b1d715f5f98a397608f90ab9ebba606ae4e6f3389c2145410c52b1"},
474
+ {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:565b2e82d0968c977e0b0f7cbf25fd06d78d4856289abc79694c8edcce6eb2de"},
475
+ {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cf3539007202ebfe03923128fedfdd245db5860a36810136ad95a564a2fdffff"},
476
+ {file = "coverage-7.5.0-cp311-cp311-win32.whl", hash = "sha256:bf0b4b8d9caa8d64df838e0f8dcf68fb570c5733b726d1494b87f3da85db3a2d"},
477
+ {file = "coverage-7.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c6384cc90e37cfb60435bbbe0488444e54b98700f727f16f64d8bfda0b84656"},
478
+ {file = "coverage-7.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fed7a72d54bd52f4aeb6c6e951f363903bd7d70bc1cad64dd1f087980d309ab9"},
479
+ {file = "coverage-7.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cbe6581fcff7c8e262eb574244f81f5faaea539e712a058e6707a9d272fe5b64"},
480
+ {file = "coverage-7.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad97ec0da94b378e593ef532b980c15e377df9b9608c7c6da3506953182398af"},
481
+ {file = "coverage-7.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd4bacd62aa2f1a1627352fe68885d6ee694bdaebb16038b6e680f2924a9b2cc"},
482
+ {file = "coverage-7.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adf032b6c105881f9d77fa17d9eebe0ad1f9bfb2ad25777811f97c5362aa07f2"},
483
+ {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ba01d9ba112b55bfa4b24808ec431197bb34f09f66f7cb4fd0258ff9d3711b1"},
484
+ {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:f0bfe42523893c188e9616d853c47685e1c575fe25f737adf473d0405dcfa7eb"},
485
+ {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a9a7ef30a1b02547c1b23fa9a5564f03c9982fc71eb2ecb7f98c96d7a0db5cf2"},
486
+ {file = "coverage-7.5.0-cp312-cp312-win32.whl", hash = "sha256:3c2b77f295edb9fcdb6a250f83e6481c679335ca7e6e4a955e4290350f2d22a4"},
487
+ {file = "coverage-7.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:427e1e627b0963ac02d7c8730ca6d935df10280d230508c0ba059505e9233475"},
488
+ {file = "coverage-7.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9dd88fce54abbdbf4c42fb1fea0e498973d07816f24c0e27a1ecaf91883ce69e"},
489
+ {file = "coverage-7.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a898c11dca8f8c97b467138004a30133974aacd572818c383596f8d5b2eb04a9"},
490
+ {file = "coverage-7.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07dfdd492d645eea1bd70fb1d6febdcf47db178b0d99161d8e4eed18e7f62fe7"},
491
+ {file = "coverage-7.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3d117890b6eee85887b1eed41eefe2e598ad6e40523d9f94c4c4b213258e4a4"},
492
+ {file = "coverage-7.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6afd2e84e7da40fe23ca588379f815fb6dbbb1b757c883935ed11647205111cb"},
493
+ {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a9960dd1891b2ddf13a7fe45339cd59ecee3abb6b8326d8b932d0c5da208104f"},
494
+ {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ced268e82af993d7801a9db2dbc1d2322e786c5dc76295d8e89473d46c6b84d4"},
495
+ {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7c211f25777746d468d76f11719e64acb40eed410d81c26cefac641975beb88"},
496
+ {file = "coverage-7.5.0-cp38-cp38-win32.whl", hash = "sha256:262fffc1f6c1a26125d5d573e1ec379285a3723363f3bd9c83923c9593a2ac25"},
497
+ {file = "coverage-7.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:eed462b4541c540d63ab57b3fc69e7d8c84d5957668854ee4e408b50e92ce26a"},
498
+ {file = "coverage-7.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0194d654e360b3e6cc9b774e83235bae6b9b2cac3be09040880bb0e8a88f4a1"},
499
+ {file = "coverage-7.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:33c020d3322662e74bc507fb11488773a96894aa82a622c35a5a28673c0c26f5"},
500
+ {file = "coverage-7.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbdf2cae14a06827bec50bd58e49249452d211d9caddd8bd80e35b53cb04631"},
501
+ {file = "coverage-7.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3235d7c781232e525b0761730e052388a01548bd7f67d0067a253887c6e8df46"},
502
+ {file = "coverage-7.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2de4e546f0ec4b2787d625e0b16b78e99c3e21bc1722b4977c0dddf11ca84e"},
503
+ {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0e206259b73af35c4ec1319fd04003776e11e859936658cb6ceffdeba0f5be"},
504
+ {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2055c4fb9a6ff624253d432aa471a37202cd8f458c033d6d989be4499aed037b"},
505
+ {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:075299460948cd12722a970c7eae43d25d37989da682997687b34ae6b87c0ef0"},
506
+ {file = "coverage-7.5.0-cp39-cp39-win32.whl", hash = "sha256:280132aada3bc2f0fac939a5771db4fbb84f245cb35b94fae4994d4c1f80dae7"},
507
+ {file = "coverage-7.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:c58536f6892559e030e6924896a44098bc1290663ea12532c78cef71d0df8493"},
508
+ {file = "coverage-7.5.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:2b57780b51084d5223eee7b59f0d4911c31c16ee5aa12737c7a02455829ff067"},
509
+ {file = "coverage-7.5.0.tar.gz", hash = "sha256:cf62d17310f34084c59c01e027259076479128d11e4661bb6c9acb38c5e19bb8"},
510
510
  ]
511
511
 
512
512
  [package.extras]
@@ -596,13 +596,13 @@ files = [
596
596
 
597
597
  [[package]]
598
598
  name = "ecdsa"
599
- version = "0.18.0"
599
+ version = "0.19.0"
600
600
  description = "ECDSA cryptographic signature library (pure python)"
601
601
  optional = false
602
- python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
602
+ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.6"
603
603
  files = [
604
- {file = "ecdsa-0.18.0-py2.py3-none-any.whl", hash = "sha256:80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd"},
605
- {file = "ecdsa-0.18.0.tar.gz", hash = "sha256:190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49"},
604
+ {file = "ecdsa-0.19.0-py2.py3-none-any.whl", hash = "sha256:2cea9b88407fdac7bbeca0833b189e4c9c53f2ef1e1eaa29f6224dbc809b707a"},
605
+ {file = "ecdsa-0.19.0.tar.gz", hash = "sha256:60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8"},
606
606
  ]
607
607
 
608
608
  [package.dependencies]
@@ -652,13 +652,13 @@ hsm = ["python-pkcs11"]
652
652
 
653
653
  [[package]]
654
654
  name = "exceptiongroup"
655
- version = "1.2.0"
655
+ version = "1.2.1"
656
656
  description = "Backport of PEP 654 (exception groups)"
657
657
  optional = false
658
658
  python-versions = ">=3.7"
659
659
  files = [
660
- {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"},
661
- {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"},
660
+ {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"},
661
+ {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"},
662
662
  ]
663
663
 
664
664
  [package.extras]
@@ -691,13 +691,13 @@ pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_ve
691
691
 
692
692
  [[package]]
693
693
  name = "idna"
694
- version = "3.6"
694
+ version = "3.7"
695
695
  description = "Internationalized Domain Names in Applications (IDNA)"
696
696
  optional = false
697
697
  python-versions = ">=3.5"
698
698
  files = [
699
- {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"},
700
- {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"},
699
+ {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
700
+ {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
701
701
  ]
702
702
 
703
703
  [[package]]
@@ -921,28 +921,29 @@ test = ["deepdiff (>=6.7.1)", "rich (>=13.7.0)"]
921
921
 
922
922
  [[package]]
923
923
  name = "platformdirs"
924
- version = "4.2.0"
925
- description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
924
+ version = "4.2.1"
925
+ description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
926
926
  optional = false
927
927
  python-versions = ">=3.8"
928
928
  files = [
929
- {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"},
930
- {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"},
929
+ {file = "platformdirs-4.2.1-py3-none-any.whl", hash = "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"},
930
+ {file = "platformdirs-4.2.1.tar.gz", hash = "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf"},
931
931
  ]
932
932
 
933
933
  [package.extras]
934
934
  docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
935
935
  test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"]
936
+ type = ["mypy (>=1.8)"]
936
937
 
937
938
  [[package]]
938
939
  name = "pluggy"
939
- version = "1.4.0"
940
+ version = "1.5.0"
940
941
  description = "plugin and hook calling mechanisms for python"
941
942
  optional = false
942
943
  python-versions = ">=3.8"
943
944
  files = [
944
- {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"},
945
- {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"},
945
+ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"},
946
+ {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"},
946
947
  ]
947
948
 
948
949
  [package.extras]
@@ -1360,18 +1361,18 @@ xmod = "*"
1360
1361
 
1361
1362
  [[package]]
1362
1363
  name = "setuptools"
1363
- version = "69.2.0"
1364
+ version = "69.5.1"
1364
1365
  description = "Easily download, build, install, upgrade, and uninstall Python packages"
1365
1366
  optional = false
1366
1367
  python-versions = ">=3.8"
1367
1368
  files = [
1368
- {file = "setuptools-69.2.0-py3-none-any.whl", hash = "sha256:c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c"},
1369
- {file = "setuptools-69.2.0.tar.gz", hash = "sha256:0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e"},
1369
+ {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"},
1370
+ {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"},
1370
1371
  ]
1371
1372
 
1372
1373
  [package.extras]
1373
- docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
1374
- testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
1374
+ docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
1375
+ testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
1375
1376
  testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
1376
1377
 
1377
1378
  [[package]]
@@ -1434,13 +1435,13 @@ files = [
1434
1435
 
1435
1436
  [[package]]
1436
1437
  name = "typing-extensions"
1437
- version = "4.10.0"
1438
+ version = "4.11.0"
1438
1439
  description = "Backported and Experimental Type Hints for Python 3.8+"
1439
1440
  optional = false
1440
1441
  python-versions = ">=3.8"
1441
1442
  files = [
1442
- {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"},
1443
- {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"},
1443
+ {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"},
1444
+ {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"},
1444
1445
  ]
1445
1446
 
1446
1447
  [[package]]
mpflash/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "mpflash"
3
- version = "0.6.0"
3
+ version = "0.7.0"
4
4
  description = "Flash and download tool for MicroPython firmwares"
5
5
  authors = ["Jos Verlinde <jos_verlinde@hotmail.com>"]
6
6
  license = "MIT"