mpflash 1.25.0.post1__py3-none-any.whl → 1.25.0.post3__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 (52) hide show
  1. mpflash/add_firmware.py +43 -16
  2. mpflash/ask_input.py +4 -4
  3. mpflash/basicgit.py +1 -1
  4. mpflash/bootloader/manual.py +1 -1
  5. mpflash/cli_download.py +8 -5
  6. mpflash/cli_flash.py +31 -35
  7. mpflash/cli_group.py +3 -0
  8. mpflash/cli_list.py +8 -3
  9. mpflash/cli_main.py +4 -0
  10. mpflash/common.py +2 -38
  11. mpflash/config.py +21 -0
  12. mpflash/db/__init__.py +2 -0
  13. mpflash/db/core.py +61 -0
  14. mpflash/db/gather_boards.py +112 -0
  15. mpflash/db/loader.py +122 -0
  16. mpflash/db/meta.py +78 -0
  17. mpflash/db/micropython_boards.zip +0 -0
  18. mpflash/db/models.py +93 -0
  19. mpflash/db/tools.py +27 -0
  20. mpflash/download/__init__.py +46 -64
  21. mpflash/download/from_web.py +26 -36
  22. mpflash/download/fwinfo.py +41 -0
  23. mpflash/download/jid.py +56 -0
  24. mpflash/downloaded.py +79 -93
  25. mpflash/flash/__init__.py +7 -3
  26. mpflash/flash/esp.py +2 -1
  27. mpflash/flash/stm32.py +1 -1
  28. mpflash/flash/uf2/windows.py +3 -1
  29. mpflash/flash/worklist.py +16 -28
  30. mpflash/list.py +3 -3
  31. mpflash/logger.py +43 -9
  32. mpflash/mpboard_id/__init__.py +3 -9
  33. mpflash/mpboard_id/alternate.py +56 -0
  34. mpflash/mpboard_id/board_id.py +11 -94
  35. mpflash/mpboard_id/known.py +45 -57
  36. mpflash/mpboard_id/resolve.py +19 -0
  37. mpflash/mpremoteboard/__init__.py +3 -2
  38. mpflash/mpremoteboard/mpy_fw_info.py +1 -0
  39. mpflash/mpremoteboard/runner.py +5 -2
  40. mpflash/vendor/pydfu.py +33 -6
  41. mpflash/versions.py +3 -0
  42. {mpflash-1.25.0.post1.dist-info → mpflash-1.25.0.post3.dist-info}/METADATA +56 -12
  43. mpflash-1.25.0.post3.dist-info/RECORD +69 -0
  44. mpflash/db/boards.py +0 -63
  45. mpflash/db/downloads.py +0 -87
  46. mpflash/mpboard_id/add_boards.py +0 -260
  47. mpflash/mpboard_id/board.py +0 -40
  48. mpflash/mpboard_id/store.py +0 -47
  49. mpflash-1.25.0.post1.dist-info/RECORD +0 -62
  50. {mpflash-1.25.0.post1.dist-info → mpflash-1.25.0.post3.dist-info}/LICENSE +0 -0
  51. {mpflash-1.25.0.post1.dist-info → mpflash-1.25.0.post3.dist-info}/WHEEL +0 -0
  52. {mpflash-1.25.0.post1.dist-info → mpflash-1.25.0.post3.dist-info}/entry_points.txt +0 -0
@@ -1,47 +0,0 @@
1
- import functools
2
- import zipfile
3
- from pathlib import Path
4
- from typing import Final, List, Optional
5
- from mpflash.logger import log
6
-
7
- import jsons
8
-
9
- from mpflash.mpboard_id.board import Board
10
-
11
- ###############################################################################################
12
- HERE: Final = Path(__file__).parent
13
- ###############################################################################################
14
-
15
-
16
- def write_boardinfo_json(board_list: List[Board], *, folder: Optional[Path] = None):
17
- """Writes the board information to a JSON file.
18
-
19
- Args:
20
- board_list (List[Board]): The list of Board objects.
21
- folder (Path): The folder where the compressed JSON file will be saved.
22
- """
23
-
24
- if not folder:
25
- folder = HERE
26
- # create a zip file with the json file
27
- with zipfile.ZipFile(folder / "board_info.zip", "w", compression=zipfile.ZIP_DEFLATED) as zipf:
28
- # write the list to json file inside the zip
29
- with zipf.open("board_info.json", "w") as fp:
30
- fp.write(jsons.dumps(board_list, jdkwargs={"indent": 4}).encode())
31
-
32
-
33
- @functools.lru_cache(maxsize=20)
34
- def read_known_boardinfo(board_info: Optional[Path] = None) -> List[Board]:
35
- """Reads the board information from a JSON file in a zip file."""
36
- log.warning("read_known_boardinfo() is deprecated")
37
-
38
- if not board_info:
39
- board_info = HERE / "board_info.zip"
40
- if not board_info.exists():
41
- raise FileNotFoundError(f"Board info file not found: {board_info}")
42
-
43
- with zipfile.ZipFile(board_info, "r") as zf:
44
- with zf.open("board_info.json", "r") as file:
45
- info = jsons.loads(file.read().decode(encoding="utf-8"), List[Board])
46
-
47
- return info
@@ -1,62 +0,0 @@
1
- mpflash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- mpflash/add_firmware.py,sha256=1h0HsA-EVi3HXLmoEvzwY_a-GuWYzPwulTYHHBB8THg,3428
3
- mpflash/ask_input.py,sha256=piwMuW7QlYsIvDdJFN1lVCkCGsmsSyyMaUOtvf_S330,8885
4
- mpflash/basicgit.py,sha256=AGqFZeEHjb_o7QtZyJ_M9aOXHN-JEGvUi6W01fpOGzc,9676
5
- mpflash/bootloader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- mpflash/bootloader/activate.py,sha256=orQOw4XTkXVZI-rMInRb0T5Wp3qA_BlzbJUA2gyBToU,2361
7
- mpflash/bootloader/detect.py,sha256=OagP2QVWeLLWkZt2paqEF6r4_x3QDcBGNCPOWfMy9NQ,2686
8
- mpflash/bootloader/manual.py,sha256=C3PVLW3lwz66zG2mOekAJdwXD8PZcIyI3VuLEkusMpI,3168
9
- mpflash/bootloader/micropython.py,sha256=v_kZkvg0uWZDbMrT78gmiYHbD83QLdnrctvEClI8iRg,529
10
- mpflash/bootloader/touch1200.py,sha256=VND7_YniS9Vx6WEaAxjI72RZZ6WBOwmBTsKJkbuaAHk,1105
11
- mpflash/cli_download.py,sha256=6p83u0Iqyq-V6zS_zQbngSgnCnE0thNPR02r_12_d_Y,3660
12
- mpflash/cli_flash.py,sha256=6ZOHChF1cUyQEDzUpgJKko8EX__55Ol-fQkZNfTJpB8,8337
13
- mpflash/cli_group.py,sha256=_Wj4EvRkmPri6wyJWT8cQ0WRMwrj9xtCDLaxFJs7ssM,2617
14
- mpflash/cli_list.py,sha256=U4lrlE7O6o1BamHD0K_cJhuINanKNgXkg-WTU5RetF4,2354
15
- mpflash/cli_main.py,sha256=aVlsA-ZHBKJyuGwSCbpO2Ky0X52wPeOOGumvuPPTFzQ,1136
16
- mpflash/common.py,sha256=1mEsilJd3HpL7wFPsJ0EScYoJj7JqGFWDjSFEKJdjeU,7488
17
- mpflash/config.py,sha256=GMuqhrof3lkG7x_CxitYRkm4mxHEYZ_uPFNO3QxSJCY,2166
18
- mpflash/connected.py,sha256=oxZdk1o-AfNPhJsSxr3KrMH_gdYfrjqc_IpT6J8Ng9k,3496
19
- mpflash/db/boards.py,sha256=KvpJ45oPwoxuXCzNpAPIyMOiXOpO72LBJowQ4QBJPiU,1960
20
- mpflash/db/downloads.py,sha256=sHJzKLf5cYFftIcweoBfCqMY0MPJMmFYVRT7mprspvU,2975
21
- mpflash/download/__init__.py,sha256=kI9zYSjFUO2vVbRofJmQw44ftlM5r1HnjmkdZenzo2c,8451
22
- mpflash/download/from_web.py,sha256=ddUd7MZJj19e_nR9Iw79v3UuCPwvkWwQtuBEyu-XsbY,7860
23
- mpflash/downloaded.py,sha256=kfUt07vDARZYw64TToXLxA-UlP7zFTGRjnBzIEDL5cU,4163
24
- mpflash/errors.py,sha256=IAidY3qkZsXy6Pm1rdmVFmGyg81ywHhse3itaPctA2w,247
25
- mpflash/flash/__init__.py,sha256=V--YRwDGtCCLVfCe9p9SGV1Cbi0FNd9zenKlIb-HFw0,2820
26
- mpflash/flash/esp.py,sha256=N71fPMYhYexEF3YeJGJ74B3GtceXa-FdGqiBpa2qboI,3225
27
- mpflash/flash/stm32.py,sha256=dqp9BZ4Vr-6GlQcF12TSmRf-5TXkov9qvCpMgeUJc7Y,574
28
- mpflash/flash/stm32_dfu.py,sha256=W-3JsRQyf3DduoIRXDmGZ35RogqtjQgcJnk-GOtQoLE,3090
29
- mpflash/flash/uf2/__init__.py,sha256=haL84hP2p1ZjKF6dXJJHAB_NTf7jT91MuZvmvg9SpIA,3617
30
- mpflash/flash/uf2/boardid.py,sha256=U5wGM8VA3wEpUxQCMtuXpMZZomdVH8J_Zd5_GekUMuU,423
31
- mpflash/flash/uf2/linux.py,sha256=uTgqyS7C7xfQ25RrTcSUkt-m2u2Ks_o7bPLzIecPoC8,4355
32
- mpflash/flash/uf2/macos.py,sha256=JTaIpqnR_0k4oSEvzs9amhmK-PMxUJyZLnZ_wZwxa-0,1228
33
- mpflash/flash/uf2/uf2disk.py,sha256=4_P2l-kedM7VSliA2u706LQLxvu3xWSod1-lj-xjZis,298
34
- mpflash/flash/uf2/windows.py,sha256=S---sVjVrC00ZcnpOewtJIBfSCj2cr7FGQwEm_ZEDnY,1334
35
- mpflash/flash/worklist.py,sha256=eOD7BigUEshwcc5p7SaSeegpSpIOX1zE_6HuOzssrqM,6083
36
- mpflash/list.py,sha256=AjsVTWWTcfUhoT2lYJf2KvcOgMen9MgXY6fDYJvd0Mc,4014
37
- mpflash/logger.py,sha256=D6S-KDhXTLl7bYMKfu71iVO1YlpGSd0BcHvkVFOCW5c,1080
38
- mpflash/mpboard_id/__init__.py,sha256=i-HxDi4UPvQu2zFhWK5HENr_HmTdsnaqkLfNyxjOelg,515
39
- mpflash/mpboard_id/add_boards.py,sha256=XCSyZC9v-B5gzW4dIWdqQVIiE8JviKx0GpyGEQ64dm8,9949
40
- mpflash/mpboard_id/board.py,sha256=hzP_SNyigjRQsP3FmTCvuCDtPPalfkL5IfjrnATlVS0,1367
41
- mpflash/mpboard_id/board_id.py,sha256=mJqVW_D8uHnuON7xpKBRRs2e3ExQGNYC2bSA2ItZBKY,5439
42
- mpflash/mpboard_id/board_info.json,sha256=A3ZIt38KvAy2NMB5srHorSBd3Q3wOZIXufWiIs3XLrs,1019745
43
- mpflash/mpboard_id/board_info.zip,sha256=-2bnQGRsIQuJUfz-7_-GQ8pMWJ1evhCez6yfjhXocNw,23213
44
- mpflash/mpboard_id/known.py,sha256=ySTOVDFjqhoeVcGtJcpaY6Cy2blTbLovD5z-IsdZhco,3769
45
- mpflash/mpboard_id/store.py,sha256=UR5nWwywqSPY_2DBP2w8td3b7N6iS-B5rMcyh-s2JOQ,1750
46
- mpflash/mpremoteboard/__init__.py,sha256=jj4FVK237BmQ1-N4ANePWEJFY7yyhbb0XvJx8n00vuc,11993
47
- mpflash/mpremoteboard/mpy_fw_info.py,sha256=xhEjifU7pAUpey5T23k6x_1bhuS2XcVbSM21ZynWDdM,5148
48
- mpflash/mpremoteboard/runner.py,sha256=-PgzAeBGbyXaAUlwyiw4mcINsP2U1XRRjP1_QdBrxpg,4786
49
- mpflash/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- mpflash/vendor/board_database.py,sha256=Cb8fEhJaZ2siMkLPW5rPwV9yzBsTtKGOqWUd9TxNgFM,8763
51
- mpflash/vendor/click_aliases.py,sha256=adLhqLxNpJEPjSCIRSTkR-QzSgavGFKT0cwRbjxpzRU,5395
52
- mpflash/vendor/dfu.py,sha256=6rqGCBS8mTxxaLtkdzJ8O6nc74kFk8jrkmKvxw-x-u8,5693
53
- mpflash/vendor/pico-universal-flash-nuke/LICENSE.txt,sha256=Zkc2iTNbib2NCMwtLjMEz0vFCPglgvaw6Mj7QiWldpQ,1484
54
- mpflash/vendor/pico-universal-flash-nuke/universal_flash_nuke.uf2,sha256=QuPMppqHMVOt3vDVU0bikHRLsTiDRQYNUcGQ_OLRFGI,28160
55
- mpflash/vendor/pydfu.py,sha256=uD0esm1iPHap7T93M_fli1LlXwn8RxKDFRnt8inxJu8,20389
56
- mpflash/vendor/readme.md,sha256=BQ7Uxf8joeYMjTUuSLLBG49ob6a9MgFPIEwuc72-Mfw,415
57
- mpflash/versions.py,sha256=zDAUEMae0hvB8CFmVnf_VWtnVIpAiMGXKpvk2FgnWcg,4878
58
- mpflash-1.25.0.post1.dist-info/entry_points.txt,sha256=Jk_visOhYOsZIcSP2Ms9hKqfKy1iorR-6dYltSoWCpY,52
59
- mpflash-1.25.0.post1.dist-info/LICENSE,sha256=mWpNhsIxWzetYNnTpr4eb3HtgsxGIC8KcYWxXEcxQvE,1077
60
- mpflash-1.25.0.post1.dist-info/METADATA,sha256=JvqTGcAdnDOMzvMK3JVqNqE8OKtBcV986kDTdtTG-KY,23936
61
- mpflash-1.25.0.post1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
62
- mpflash-1.25.0.post1.dist-info/RECORD,,