micropython-stubber 1.20.6__py3-none-any.whl → 1.23.1__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 (89) hide show
  1. {micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/METADATA +4 -3
  2. micropython_stubber-1.23.1.dist-info/RECORD +159 -0
  3. mpflash/README.md +14 -4
  4. mpflash/mpflash/add_firmware.py +1 -1
  5. mpflash/mpflash/ask_input.py +1 -1
  6. {stubber → mpflash/mpflash}/basicgit.py +3 -13
  7. mpflash/mpflash/bootloader/__init__.py +2 -37
  8. mpflash/mpflash/bootloader/activate.py +60 -0
  9. mpflash/mpflash/bootloader/detect.py +82 -0
  10. mpflash/mpflash/bootloader/manual.py +10 -11
  11. mpflash/mpflash/bootloader/micropython.py +2 -0
  12. mpflash/mpflash/bootloader/touch1200.py +13 -22
  13. mpflash/mpflash/cli_download.py +1 -1
  14. mpflash/mpflash/cli_flash.py +4 -4
  15. mpflash/mpflash/cli_group.py +18 -5
  16. mpflash/mpflash/cli_main.py +3 -5
  17. mpflash/mpflash/common.py +1 -0
  18. mpflash/mpflash/config.py +6 -9
  19. mpflash/mpflash/connected.py +9 -5
  20. mpflash/mpflash/download.py +9 -5
  21. mpflash/mpflash/downloaded.py +4 -3
  22. mpflash/mpflash/{flash.py → flash/__init__.py} +20 -17
  23. mpflash/mpflash/{flash_esp.py → flash/esp.py} +1 -1
  24. mpflash/mpflash/flash/stm32.py +19 -0
  25. mpflash/mpflash/{flash_stm32_dfu.py → flash/stm32_dfu.py} +4 -1
  26. mpflash/mpflash/{flash_uf2.py → flash/uf2/__init__.py} +44 -23
  27. mpflash/mpflash/{flash_uf2_linux.py → flash/uf2/linux.py} +15 -8
  28. mpflash/mpflash/{flash_uf2_macos.py → flash/uf2/macos.py} +13 -5
  29. mpflash/mpflash/{flash_uf2_windows.py → flash/uf2/windows.py} +16 -7
  30. mpflash/mpflash/{worklist.py → flash/worklist.py} +9 -9
  31. mpflash/mpflash/list.py +13 -3
  32. mpflash/mpflash/mpboard_id/__init__.py +1 -1
  33. mpflash/mpflash/mpboard_id/add_boards.py +3 -7
  34. mpflash/mpflash/mpboard_id/board_id.py +1 -1
  35. mpflash/mpflash/mpremoteboard/__init__.py +5 -4
  36. {stubber/utils → mpflash/mpflash}/versions.py +31 -24
  37. mpflash/poetry.lock +16 -5
  38. mpflash/pyproject.toml +8 -3
  39. stubber/__init__.py +1 -1
  40. stubber/board/createstubs.py +4 -4
  41. stubber/board/createstubs_db.py +5 -5
  42. stubber/board/createstubs_db_min.py +1 -1
  43. stubber/board/createstubs_db_mpy.mpy +0 -0
  44. stubber/board/createstubs_mem.py +5 -5
  45. stubber/board/createstubs_mem_min.py +1 -1
  46. stubber/board/createstubs_mem_mpy.mpy +0 -0
  47. stubber/board/createstubs_min.py +1 -1
  48. stubber/board/createstubs_mpy.mpy +0 -0
  49. stubber/codemod/utils.py +2 -3
  50. stubber/commands/build_cmd.py +1 -1
  51. stubber/commands/cli.py +8 -4
  52. stubber/commands/clone_cmd.py +16 -4
  53. stubber/commands/enrich_folder_cmd.py +2 -1
  54. stubber/commands/get_core_cmd.py +5 -3
  55. stubber/commands/get_docstubs_cmd.py +6 -4
  56. stubber/commands/get_frozen_cmd.py +5 -3
  57. stubber/commands/get_mcu_cmd.py +9 -4
  58. stubber/commands/merge_cmd.py +3 -3
  59. stubber/commands/publish_cmd.py +2 -3
  60. stubber/commands/stub_cmd.py +2 -1
  61. stubber/commands/switch_cmd.py +14 -6
  62. stubber/commands/variants_cmd.py +3 -3
  63. stubber/freeze/get_frozen.py +1 -1
  64. stubber/minify.py +4 -3
  65. stubber/publish/candidates.py +4 -10
  66. stubber/publish/defaults.py +4 -9
  67. stubber/publish/missing_class_methods.py +1 -1
  68. stubber/publish/package.py +1 -1
  69. stubber/publish/pathnames.py +1 -1
  70. stubber/publish/publish.py +1 -1
  71. stubber/publish/stubpackage.py +3 -5
  72. stubber/rst/reader.py +5 -13
  73. stubber/tools/manifestfile.py +71 -27
  74. stubber/tools/readme.md +3 -2
  75. stubber/update_fallback.py +1 -1
  76. stubber/utils/__init__.py +2 -1
  77. stubber/utils/config.py +3 -5
  78. stubber/utils/manifest.py +2 -4
  79. stubber/utils/repos.py +5 -12
  80. micropython_stubber-1.20.6.dist-info/RECORD +0 -159
  81. mpflash/mpflash/flash_stm32.py +0 -24
  82. mpflash/mpflash/flash_stm32_cube.py +0 -111
  83. mpflash/mpflash/vendor/versions.py +0 -119
  84. {micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/LICENSE +0 -0
  85. {micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/WHEEL +0 -0
  86. {micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/entry_points.txt +0 -0
  87. /mpflash/{mpflash/vendor/basicgit.py → basicgit.py} +0 -0
  88. /mpflash/mpflash/{flash_uf2_boardid.py → flash/uf2/boardid.py} +0 -0
  89. /mpflash/mpflash/{uf2disk.py → flash/uf2/uf2disk.py} +0 -0
stubber/utils/manifest.py CHANGED
@@ -6,7 +6,7 @@ from pathlib import Path
6
6
  from typing import Optional
7
7
 
8
8
  from .. import __version__
9
- from .versions import clean_version
9
+ from mpflash.versions import clean_version
10
10
 
11
11
  # # log = logging.getLogger(__name__)
12
12
  # # logging.basicConfig(level=logging.INFO)
@@ -65,9 +65,7 @@ def make_manifest(folder: Path, family: str, port: str, version: str, release: s
65
65
  mod_manifest = manifest(family=family, port=port, machine=board, sysname=family, version=version, release=release, stubtype=stubtype)
66
66
  try:
67
67
  # list all *.py files, not strictly modules but decent enough for documentation
68
- files = list(folder.glob("**/*.py"))
69
- if not files:
70
- files = list(folder.glob("**/*.pyi"))
68
+ files = list(folder.glob("**/*.py")) or list(folder.glob("**/*.pyi"))
71
69
 
72
70
  # sort the list
73
71
  for file in sorted(files):
stubber/utils/repos.py CHANGED
@@ -11,10 +11,9 @@ from typing import Tuple
11
11
  from loguru import logger as log
12
12
  from packaging.version import Version
13
13
 
14
- import stubber.basicgit as git
15
- from mpflash.vendor.versions import get_stable_mp_version
14
+ import mpflash.basicgit as git
15
+ from mpflash.versions import SET_PREVIEW, V_PREVIEW, get_stable_mp_version
16
16
  from stubber.utils.config import CONFIG
17
- from stubber.utils.versions import SET_PREVIEW, V_PREVIEW
18
17
 
19
18
  # # log = logging.getLogger(__name__)
20
19
 
@@ -64,11 +63,7 @@ def read_micropython_lib_commits(filename: str = "data/micropython_tags.csv"):
64
63
  reader = csv.DictReader(ntf.file, skipinitialspace=True) # dialect="excel",
65
64
  rows = list(reader)
66
65
  # create a dict version --> commit_hash
67
- version_commit = {
68
- row["version"].split("/")[-1]: row["lib_commit_hash"]
69
- for row in rows
70
- if row["version"].startswith("refs/tags/")
71
- }
66
+ version_commit = {row["version"].split("/")[-1]: row["lib_commit_hash"] for row in rows if row["version"].startswith("refs/tags/")}
72
67
  # add default
73
68
  version_commit = defaultdict(lambda: "master", version_commit)
74
69
  return version_commit
@@ -96,9 +91,7 @@ def match_lib_with_mpy(version_tag: str, mpy_path: Path, lib_path: Path) -> bool
96
91
  return False
97
92
  return git.sync_submodules(mpy_path)
98
93
  else:
99
- log.info(
100
- f"Matching repo's: Micropython {version_tag} needs micropython-lib:{micropython_lib_commits[version_tag]}"
101
- )
94
+ log.info(f"Matching repo's: Micropython {version_tag} needs micropython-lib:{micropython_lib_commits[version_tag]}")
102
95
  return git.checkout_commit(micropython_lib_commits[version_tag], lib_path)
103
96
 
104
97
 
@@ -120,7 +113,7 @@ def fetch_repos(tag: str, mpy_path: Path, mpy_lib_path: Path):
120
113
  git.switch_branch(repo=mpy_path, branch="master")
121
114
  else:
122
115
  if tag == "stable":
123
- tag = get_stable_mp_version()
116
+ tag = get_stable_mp_version()
124
117
  git.switch_tag(tag, repo=mpy_path)
125
118
  result = match_lib_with_mpy(version_tag=tag, mpy_path=mpy_path, lib_path=mpy_lib_path)
126
119
 
@@ -1,159 +0,0 @@
1
- mpflash/README.md,sha256=hV89fJ3UfE-6CpugGT_SI7I_V6vtCf5GVfzUK3POjd4,13496
2
- mpflash/libusb_flash.ipynb,sha256=sw5MVQvPmH-DJy9kOdXyO80BSjEPMEXf_GJsGk3usrc,6428
3
- mpflash/mpflash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- mpflash/mpflash/add_firmware.py,sha256=QXk9P1UC0xvDlWhJ3Kj-Acy2wuxxK7R0L61KKiAjk1U,3337
5
- mpflash/mpflash/ask_input.py,sha256=GGyOOlzpvhYmxyILVuNSj7hJlAvpPFXpP95erinTyCs,8717
6
- mpflash/mpflash/bootloader/__init__.py,sha256=AbZJVbubvgcV0bQtItS9PEAvvPOKWLZpgi8DX5a5f5A,1282
7
- mpflash/mpflash/bootloader/manual.py,sha256=tebIE2YBYvsWx2YmAcUcWnTnSjCqR1AwkXKVHJvnQkA,3002
8
- mpflash/mpflash/bootloader/micropython.py,sha256=of9OuCchiGoczXPi6i0NT9LZHB9FgvigtZxWWvAcb2Q,399
9
- mpflash/mpflash/bootloader/touch1200.py,sha256=D9yB1n2bSR-nyQDdQXJtCsNknSfHhI6hRziBqOv_HJI,1466
10
- mpflash/mpflash/cli_download.py,sha256=qKZzHmuHazw5fhj_EGDu4DsqYCan41BK99nk1YWELFE,3527
11
- mpflash/mpflash/cli_flash.py,sha256=9udC74150-T96duaJzBUyzmxVANJBFCcVzLIpvfaDgk,7135
12
- mpflash/mpflash/cli_group.py,sha256=s180-nyUVNEwA5bPlkIum4mZPEW0Udf6oBAElnrjsvQ,2236
13
- mpflash/mpflash/cli_list.py,sha256=AvYq5_Z7l0Z4rkbr23TwFNzstuZsQgopFpdcrTLwUvs,1965
14
- mpflash/mpflash/cli_main.py,sha256=nFe30fOZZoz4zl3VkLUNoGv478etVtEEN-ccBmok9Tk,1093
15
- mpflash/mpflash/common.py,sha256=ZfJR8dKKUy4VDZUgnDTILzuaem2o1Ix2haLxHQ47Z0o,5765
16
- mpflash/mpflash/config.py,sha256=PsP-VzZkFOYcxyI_FiNyvlRyTOeHteO8n4oMQnCHm_8,1119
17
- mpflash/mpflash/connected.py,sha256=vzQ6heV7w5Mnu76nR2dr9FiQ7Ja1x1Q_k0TGgdV1lT8,2955
18
- mpflash/mpflash/download.py,sha256=EL17R88QO4TaiX-80GjjlEd6CNZ0vDOcWPuwewZ0_zs,13875
19
- mpflash/mpflash/downloaded.py,sha256=j662_mCvGqiLnSQv6RuKxuPQ2KTp7t8GOfRMXzKHh0A,4741
20
- mpflash/mpflash/errors.py,sha256=6lUhVtECY3syV2bBGKzegGH4pPKXhevvhYQZd74sy6o,238
21
- mpflash/mpflash/flash.py,sha256=C9lrtJBQnkVojJ-W6vnkR16S6zhPEwdRR7GEbYbnd1E,1875
22
- mpflash/mpflash/flash_esp.py,sha256=j-VdSAKzNQZRVVO7oM9NcRAJWPDHsUianOien8rnYE8,2252
23
- mpflash/mpflash/flash_stm32.py,sha256=x80yyLSe29YuPMZ0KyykPWUr0_DiuVxDVttMM-0M3LQ,799
24
- mpflash/mpflash/flash_stm32_cube.py,sha256=TnLNqmJcdwRXWj_t0W4o-NmwBjd3z94qpjuyz77oP9o,3859
25
- mpflash/mpflash/flash_stm32_dfu.py,sha256=oag6eTnhmztKqskmEm7MAjXW_tS854ALvZqc4C2RXgY,2871
26
- mpflash/mpflash/flash_uf2.py,sha256=VxUruch2pz8JgIbrOylA6gBCyx9C3Z4hoPMPaRQNN4g,2396
27
- mpflash/mpflash/flash_uf2_boardid.py,sha256=2s4K3QiKWK5HKFKWYsDV3hI8alfWSxEOMeurER3eZtM,408
28
- mpflash/mpflash/flash_uf2_linux.py,sha256=Aj9qTEvZvJK-RBccvTBHMRwydMl29D6ynuBHHJXdfa4,3932
29
- mpflash/mpflash/flash_uf2_macos.py,sha256=4O-7S96vxnjRB2R3IwwA8ZsD-L_IPh0Mmb-949vi9bQ,953
30
- mpflash/mpflash/flash_uf2_windows.py,sha256=2K7R2uhfsdgFFmWAqFATQCljPQmBW56lsbDsHyk27J0,991
31
- mpflash/mpflash/list.py,sha256=pSV9WJozObPSnW-oYs2JPdmh2PtCPJUNgvrozclpnU4,2874
32
- mpflash/mpflash/logger.py,sha256=BAVrSXMGZLfSDRFbtVBtvb7Rl0sTJxooCgBS5t-6bXo,1057
33
- mpflash/mpflash/mpboard_id/__init__.py,sha256=yeSWAP1YJWYWB2i8KZlBK1l8loJRcDo-xdymuCv92nU,3723
34
- mpflash/mpflash/mpboard_id/add_boards.py,sha256=JgSXbK9aKtrSWQMIMYYW9OivuWXb1LLTIAmRthi1FC8,9429
35
- mpflash/mpflash/mpboard_id/board.py,sha256=yQ8IDHQS09AelvTvmPhpmsL4oX3L7IXGqHorkxDOkoE,1114
36
- mpflash/mpflash/mpboard_id/board_id.py,sha256=G5s-kMKAD-LGUAuU5eYnq25-MGIQPyB-zJojjcGawa4,2878
37
- mpflash/mpflash/mpboard_id/board_info.zip,sha256=F6YowS96DAqjten4ySe4MXgZwPtE-saZOUfY5OQkqKk,19759
38
- mpflash/mpflash/mpboard_id/store.py,sha256=lQQgHSxcaM_ZURcfZNSUv3-ZJjUKMC_xEOOSdpzVvBU,1493
39
- mpflash/mpflash/mpremoteboard/__init__.py,sha256=b4XMG8YU5exQK3cFQy2EPsnycvP63YpgbeMdW64MXZ4,7462
40
- mpflash/mpflash/mpremoteboard/mpy_fw_info.py,sha256=BTupe4rZDTs3UHRqvs429XqWHCchSpwa05yACOiOt5U,4413
41
- mpflash/mpflash/mpremoteboard/runner.py,sha256=YUmo5Y0aOgMaww8CXSdNdgXD-wRKncILuMZ0OB_2qRU,4646
42
- mpflash/mpflash/uf2disk.py,sha256=dQ8_U6e3qkFOyfXZDpWAsvEBIlMr-ZzLkzTDD8SADqM,286
43
- mpflash/mpflash/vendor/basicgit.py,sha256=b6-gdK_DT0dmW3jEY9T0cjKR-TSEQOSl9U9sRcJh538,9257
44
- mpflash/mpflash/vendor/click_aliases.py,sha256=K98inhtze8td1dw312kexJS7OX_0ojlptPQ5Z0SHxJY,3065
45
- mpflash/mpflash/vendor/dfu.py,sha256=jGsiD3lbSV1Ar9qJubhoY_hy-L8FI-K55aow8vgwoYQ,5590
46
- mpflash/mpflash/vendor/pydfu.py,sha256=1ObubGsPFrQ7T9M3JRlIPNIG2xx8uYffaEe0Y6bdf_g,19937
47
- mpflash/mpflash/vendor/readme.md,sha256=ZVg7kuUYyXcWcrWkaSJ0CunwebCqu2SiS2sqDadwrT8,84
48
- mpflash/mpflash/vendor/versions.py,sha256=osv5yFyg47_BZ85k3LRrzjyPu6T4psx56rgBN3YXMyM,3885
49
- mpflash/mpflash/worklist.py,sha256=WtVcofHXeJEZZ3sucGh9vi2CeY8brpRKbhz6N3hqmgo,5792
50
- mpflash/poetry.lock,sha256=gxYwn52qLpMBy571ewPzeF4rvOnLzaCQZ2zvRhA7-dU,117989
51
- mpflash/pyproject.toml,sha256=AEKGF6Bv7MFjKFdELYoOaYthneX4ARDUioar5A_WJF0,1591
52
- mpflash/stm32_udev_rules.md,sha256=LJelvFFA8w9mBcEUDA02SZ4yzNKfUFL_NWLNUb6geWY,2622
53
- stubber/__init__.py,sha256=6iAf7REDZo8COEqYZ36DsEwpMsN3U8Ev0gLoPo6VEwU,46
54
- stubber/basicgit.py,sha256=CkS4YrAP1pLwfoihUZB5Y39uQjkQu_n4ukyrvbrlExs,9440
55
- stubber/board/board_info.csv,sha256=3BBwHOtKfq_U0Xl8iWgNsN3akhbNMjb-TIeusDwtTXQ,8434
56
- stubber/board/boot.py,sha256=TEBSaKXY_TYJy9YrTRWv22m8jZRefaRNiwM8xNAlH5M,1086
57
- stubber/board/createstubs.py,sha256=7AxKv4qVCU4lGkMf97Je_-f0mi-LCaw_veqmq4M5B8k,31936
58
- stubber/board/createstubs_db.py,sha256=rOcUDj8mq7sCzm5aPhXvAa0jkANmAmxD5Od5IU4sfCA,29558
59
- stubber/board/createstubs_db_min.py,sha256=FJmKLWduxWEljchZoQ3OTn_uVV5hSzGNQSsYWk62e-A,11142
60
- stubber/board/createstubs_db_mpy.mpy,sha256=bsSpyY6Vt0Lz_KUrIUkmotUuJwPIDWgOEc5-6sXmbC4,9536
61
- stubber/board/createstubs_lvgl.py,sha256=LDlY2AxT5S_IZ5twi2wK9gm3SnHsDt9inrpCLOYmZIk,26476
62
- stubber/board/createstubs_lvgl_min.py,sha256=9L9JsZUCY0E5x4F_Uyckkd8GjiB_49guU6DN-u7XhgU,26466
63
- stubber/board/createstubs_lvgl_mpy.mpy,sha256=ex-nlq2V5e8anQBJvRWEEc-FzU7nlwg5NSrZ8vOadIA,9267
64
- stubber/board/createstubs_mem.py,sha256=Q_zhrIHuPM44tmYBrmsIxVubq3AMo-I5_aMItfjZVgY,27953
65
- stubber/board/createstubs_mem_min.py,sha256=PosLj1D2mpoCm-KHhPJOIWqXlmpSf3ooFosz_v9GWFY,10713
66
- stubber/board/createstubs_mem_mpy.mpy,sha256=2UrnFQ2Rvs392k8eGXoP56q1sxYf20quKYvVHaHefe0,9118
67
- stubber/board/createstubs_min.py,sha256=L4he4S-NQt8Z7UbS6cykt76opAJdgz15wW1sepBqqUM,13405
68
- stubber/board/createstubs_mpy.mpy,sha256=XzBpYMh6v6QZw_675VDLnBJxx6szI-pRRasbUtHtM-k,12388
69
- stubber/board/fw_info.py,sha256=BTupe4rZDTs3UHRqvs429XqWHCchSpwa05yACOiOt5U,4413
70
- stubber/board/info.py,sha256=0FCQZ5J3KFDbYe0D5iOuwhmZUUBVASPU7-L6fA7ZRGc,5446
71
- stubber/board/main.py,sha256=l-5RCT-MMV93SkVwXh3guzx_kxFIJciSEgH1e4UrqT8,394
72
- stubber/board/modulelist.txt,sha256=LH3tz0w9MxZEAoYRl0JPmVSrYlbsrhkHd9lBP9z2h88,2653
73
- stubber/board/pyrightconfig.json,sha256=4jEkjN3pTfa8Ok5wxW0_W2mAOWIjKZPq5GRsk8oTBN4,1342
74
- stubber/bulk/mcu_stubber.py,sha256=_iv2G3QaiGxe7L7W40KahNGyOoKTGw_yyyejMHY6O7Q,15893
75
- stubber/codemod/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
- stubber/codemod/_partials/__init__.py,sha256=SKt5UKja7SGdJ2PIQLp7-CURTQ-EimrswhW-ZTaRBEk,1382
77
- stubber/codemod/_partials/db_main.py,sha256=yvl1ydyiWJDhNmuH7P_5b85Crfrh2CAroA_i_8aCqIw,3856
78
- stubber/codemod/_partials/lvgl_main.py,sha256=ANMJr4XpWyLHhk3ZHsR0YnGe8fNtIi58YOdN6TLay1o,1887
79
- stubber/codemod/_partials/modules_reader.py,sha256=kIYUxrCNtR7K1D0NVxePuNjhPoPkOx9qbjh-mdW1IVs,1966
80
- stubber/codemod/add_comment.py,sha256=qGaa-sF3WyeLZwa5FPyT_Yp-ARFruKlBIIe0tayUiTk,1912
81
- stubber/codemod/add_method.py,sha256=AbHmfwjgTYWes3XrqPGk0-FjKxnGQuDLXbE5APhApF4,2544
82
- stubber/codemod/board.py,sha256=WVeUbVOV8MlDAyr5JLhOLdlmyFdlOpdRunjdzM_ULsM,11564
83
- stubber/codemod/enrich.py,sha256=9hb2__De3eNkF8WKg0CLwYs0lngIDJ0M3nmx2yyuGCU,5293
84
- stubber/codemod/merge_docstub.py,sha256=-F2P9UAD98Xt8ArsNqQJ-AM6bz9H9V9E3S2d17Jk5xg,12397
85
- stubber/codemod/modify_list.py,sha256=_YTj3E44dwb7QaRqKaIq0IWg-BzH69AZRqTr3QMkFnY,2064
86
- stubber/codemod/utils.py,sha256=mE4Ks7-lqnxXbjQcftO_OkJGJDZyCOR4soNJSWRtMek,2402
87
- stubber/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
- stubber/commands/build_cmd.py,sha256=nH7rBmeLpyOLUmUDJVich1blH8TTb1yvJN4Xrzu-UDw,2367
89
- stubber/commands/cli.py,sha256=4CRoeLfE3JKykdoBhdciBebJBvuvqo_NTGSQ0A0_-kg,1799
90
- stubber/commands/clone_cmd.py,sha256=xLzr0Vcswpb3Lo-b46hLBluJKxhV5bsJKlxqa3TnGNM,2607
91
- stubber/commands/config_cmd.py,sha256=CMFe0IngKPJYrb3kcZ6BObBOh4dW_0Wf7etAuJthB18,964
92
- stubber/commands/enrich_folder_cmd.py,sha256=f7UpS9IGjyCVu8LVtSSvkw3BgK0qzsQQyAhXDZ6X5Iw,1783
93
- stubber/commands/get_core_cmd.py,sha256=gsRKc_7OW8Wl9EXqyhrFzu7MqsDy2Ca8Zv2nNyf4eEc,2208
94
- stubber/commands/get_docstubs_cmd.py,sha256=O891GWA1CqYg6tHVBWOOmEELUcn6Z_NMaMDNibcimgg,2914
95
- stubber/commands/get_frozen_cmd.py,sha256=s7HnV8xT6AMjcJXThgFFV72u1V-gs6U5n2qdSvBcfZs,3829
96
- stubber/commands/get_mcu_cmd.py,sha256=xO38GuHqzNJIrg3rawN4ajmyv3DCk4au8d3PFg2o7bY,1959
97
- stubber/commands/merge_cmd.py,sha256=xAye4pibQfvnWBG8TegoDLGGngo6wMxJ1Z4bH7RpFTs,1607
98
- stubber/commands/publish_cmd.py,sha256=26PkYALwO7YyWD4JHIi30t24QzrtCf5XcA8ljlOJLSk,2791
99
- stubber/commands/stub_cmd.py,sha256=aObVfSiZq9jRJYYrtbiF44GoFNW8glNHvTjMK3gOz0U,1156
100
- stubber/commands/switch_cmd.py,sha256=IYzhsl_KO05LP7GUhPjUUgmyWsPmZGnbHb1DErX7ZKM,1762
101
- stubber/commands/variants_cmd.py,sha256=DTFjZ1MkawhJ_7bGfnMZfy9y_ZAKDFzIuphGcuiYW58,1236
102
- stubber/cst_transformer.py,sha256=Er9kww4hgdeQ9dARMx8lB5PLIvPaKjtKJMe8BofKOzY,6301
103
- stubber/data/board_info.csv,sha256=3BBwHOtKfq_U0Xl8iWgNsN3akhbNMjb-TIeusDwtTXQ,8434
104
- stubber/data/board_info.json,sha256=LbyNo3qeij8bY_PRTxWoS5nFuDv6VyaRTKGiXC_-zRQ,57210
105
- stubber/data/micropython_tags.csv,sha256=95Y4zBefqi65QNvQy5bJXr7Fw8sVHmspeo2rnyLZECQ,1894
106
- stubber/data/requirements-core-micropython.txt,sha256=mRQ8Sj-PqYP74lVgpWWXSYkVJilSKVsjijoLARQNAwY,1279
107
- stubber/data/requirements-core-pycopy.txt,sha256=UKZooNXL7GbojDwmaiBTxHEQzzd-H8kI6l5eJCX-oyk,1012
108
- stubber/downloader.py,sha256=TwvdzSdep1jtCpjocqFJdi7c-I5bZSc3dhfDE5zX-ps,1170
109
- stubber/freeze/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
- stubber/freeze/common.py,sha256=gY0JSlXmwZqnoosb91M7W3wy3Ej6w48dTdJP8gKOg-U,2571
111
- stubber/freeze/freeze_folder.py,sha256=-n1w9jxzLjL1Sg-f9VHqHaxsBKDiPGHqBNgeY68pqq8,2422
112
- stubber/freeze/freeze_manifest_2.py,sha256=uogLPLb4bAah5ULkKzhWWadvu0CswGI3TygRqOb5XYc,3948
113
- stubber/freeze/get_frozen.py,sha256=9NItdnzfNjx0yC5q1EDgw1TQ39d58kBnIRTGRPIfjbs,5163
114
- stubber/get_cpython.py,sha256=PEiDn2STECuKeRBSyWx7WuexUpSsyZ-76jQrBvWZY4U,3683
115
- stubber/get_lobo.py,sha256=I6bVpcGX7TaD4CI9UID8R9brOG-bBdeL07j1WsTXQH4,1717
116
- stubber/minify.py,sha256=QEYCqN-ApJSpZvgx0fiLi4A-jZMnMI19B-JmNqI79Us,14618
117
- stubber/publish/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
- stubber/publish/bump.py,sha256=M9ePaH-K1lbh-OVyPNAv6uxumDtHe3cOD2rXeAMWDqY,3176
119
- stubber/publish/candidates.py,sha256=MGU1FKabawjcruMxyvgJnZHG-ZO2YU0Vl_Oz10GFUX8,10410
120
- stubber/publish/database.py,sha256=fH_-Zjd_JHTEaW2Yf8kEB6DQduKrmZl9R-67mNYE3HI,605
121
- stubber/publish/defaults.py,sha256=W37MT9NW3tucLk0oDNKeGBQEtzHORu_iut_s4x1QeQA,1591
122
- stubber/publish/enums.py,sha256=BRzoSjLxYPLcEHySaFprY1ndLLdUetqRjYJmi5CW7xU,756
123
- stubber/publish/helpers.py,sha256=XRN9KZgPtIEgVW6NSmZunvTiT0UqP_rr63lM69hcqbs,687
124
- stubber/publish/merge_docstubs.py,sha256=nQJVloB_iHnsEiILCHIJrS2dgR1bP06LtiXYyaJi4Sc,5189
125
- stubber/publish/missing_class_methods.py,sha256=TTXOid0gAhUHokLUL2SJ1Fy-YVlHWwqTPqBjVpZioEA,1774
126
- stubber/publish/package.py,sha256=GGNUgSNsJ9yX2km-MEVx8xf8jQ3qCQanK8dVCSOjVqQ,5128
127
- stubber/publish/pathnames.py,sha256=wfImW4HLftZ3gSV3zjOzSbxvhTdMFWOl9DDY8Uilvmc,1760
128
- stubber/publish/publish.py,sha256=8nC7yl4R1p8A0_7yYij8Cot-Ew7O0r84vSFiSYpJvrA,3833
129
- stubber/publish/pypi.py,sha256=fuxpVFOvvCXXjdTgEB2vWqMjhwUDDQMiHJ6N98C_JdM,1202
130
- stubber/publish/stubpackage.py,sha256=3uDhsx5LVsgrKQC7BwiorJw14QWdN6KvIBO500PhNnw,43702
131
- stubber/rst/__init__.py,sha256=8KUzMFNdDU9X6U1VMU1q5bGu_KGxB1XNcJhzNg7tF98,284
132
- stubber/rst/classsort.py,sha256=jofWVYPQQUzUhN-t2qFJT6381DH46Pjy0fTp5ek5JJU,2578
133
- stubber/rst/lookup.py,sha256=QIX0_xbXydfXgD-7ctni3QJo2hFN7BzsGz-5Bq1owKQ,19656
134
- stubber/rst/output_dict.py,sha256=tH_32ZTNj7BndvY2YcZCa1uB-lLeyJUeltoEkTT_Np8,14354
135
- stubber/rst/reader.py,sha256=JUcfMs-lu_Fg95bCAnLS70RSjOTIAk15nVMzjEPH8aU,32878
136
- stubber/rst/report_return.py,sha256=r6WeysP2VygcBM-nk1Jo_iItcxsl6sWgWg6myHTjBFY,2745
137
- stubber/rst/rst_utils.py,sha256=8wfodql00CnO57x8VeNh1yoz7yx_ONa330kWuR1JFoE,17277
138
- stubber/stubber.py,sha256=sScRIAq7vvUZUS9Mzh4Ne6ny0qpsReGNqo0u8vtZXEc,1596
139
- stubber/stubs_from_docs.py,sha256=jcNdbNFQ6qZiVOVzdD8nfBNTubD-jviL_KJDPqOfTxo,2743
140
- stubber/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
- stubber/tools/manifestfile.py,sha256=OzDIryJgZEZ-kutskbxogPJY13wpsnDscOFPkzNZbH0,23111
142
- stubber/tools/readme.md,sha256=VLcozbfszPiMbYe1bHhh-FXtEZ263TbeLSdSCwdTe5o,194
143
- stubber/update_fallback.py,sha256=Wi0dj5dly1UFmjpzh7dksb-RuHsSRC0i-E9H-dZ5AQo,4804
144
- stubber/update_module_list.py,sha256=smeu-xSeFgtr1piJNR1JqLzHd3HZ1K5_iaKNRea6dzk,3886
145
- stubber/utils/__init__.py,sha256=i2OXAFcw6X1xSEwh2X355lGrM0xgmZZow9z9zRwtV5A,220
146
- stubber/utils/config.py,sha256=Xjnno__D3DEUAGmjFyECuv0cibJpCnbpFvA_fRJX3sM,4732
147
- stubber/utils/makeversionhdr.py,sha256=65VXDavYQU5GnR8OfbFAXAq6RCAtLdbEM-a7a3UiLxc,1899
148
- stubber/utils/manifest.py,sha256=frHSaZs_ZYLdjUl9tDSnRm6OOHjR1W7IrKMABYKaUIY,3181
149
- stubber/utils/post.py,sha256=qoN-XiNBNMExUdHeXbkjlsvllkG2jKB-ptuApe4kjpc,2758
150
- stubber/utils/repos.py,sha256=cQhpk_u1ZzlGdaoL3Xq7A8M7V1eyxyX1Ledp8M11gqE,5784
151
- stubber/utils/stubmaker.py,sha256=1eMNpZZ-BWBtxLwBO-kz4CywjUe0JexN6QSyAVNICxM,5099
152
- stubber/utils/typed_config_toml.py,sha256=6nlFgHwdCcK_0MJICsstCFgm9M6TblvF-l0_2cpw_cY,2552
153
- stubber/utils/versions.py,sha256=56UhB49F2647jY9eWtkjjRuYYfJLEjC9daQFhgckgZM,4161
154
- stubber/variants.py,sha256=iS3sv8cT7czdI9x4KqzTCPT6hX1CKQ-bIlWnDG6gyoU,3688
155
- micropython_stubber-1.20.6.dist-info/LICENSE,sha256=2zsOXlYgl9W7_XGXcncAXIYfvSVlyNcVBycC6hhlKhA,1542
156
- micropython_stubber-1.20.6.dist-info/METADATA,sha256=4r0sxERw7TcA4axNn-IUzxWIl6sc-upxa7iU5Mf-j_A,19158
157
- micropython_stubber-1.20.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
158
- micropython_stubber-1.20.6.dist-info/entry_points.txt,sha256=NQi_M36fgq5k6giSuASas3LrpF6CVdkzfvJC0ja73_g,55
159
- micropython_stubber-1.20.6.dist-info/RECORD,,
@@ -1,24 +0,0 @@
1
- """Flash STM32 boards using either STM32CubeProgrammer CLI or dfu-util"""
2
-
3
- from pathlib import Path
4
-
5
- from loguru import logger as log
6
-
7
- # from .flash_stm32_cube import flash_stm32_cubecli
8
- from .flash_stm32_dfu import dfu_init, flash_stm32_dfu
9
- from mpflash.mpremoteboard import MPRemoteBoard
10
-
11
-
12
- def flash_stm32(mcu: MPRemoteBoard, fw_file: Path, *, erase: bool, stm32_dfu: bool = True):
13
- # sourcery skip: lift-return-into-if
14
- log.info("Using dfu-util")
15
- dfu_init()
16
- updated = flash_stm32_dfu(mcu, fw_file=fw_file, erase=erase)
17
- # if stm32_dfu:
18
- # else:
19
- # log.info("Using STM32CubeProgrammer CLI")
20
- # updated = flash_stm32_cubecli(mcu, fw_file=fw_file, erase=erase)
21
-
22
- mcu.wait_for_restart()
23
- log.success(f"Flashed {mcu.version} to {mcu.board}")
24
- return updated
@@ -1,111 +0,0 @@
1
- # """
2
- # Flash STM32 using STM32CubeProgrammer
3
- # needs to be installed independenty from https://www.st.com/en/development-tools/stm32cubeprog.html
4
-
5
- # On Linux needs to be run with sudo - unless udev rules are set to allow access to the device as a regular user
6
- # """
7
-
8
- # import subprocess
9
- # import sys
10
- # import time
11
- # from pathlib import Path
12
- # from typing import Optional
13
-
14
- # import bincopy
15
- # from loguru import logger as log
16
- # from rich.progress import track
17
- # from strip_ansi import strip_ansi
18
-
19
- # from .mpremoteboard.mpremoteboard import MPRemoteBoard
20
-
21
- # STM32_CLI_WIN = "C:\\Program Files\\STMicroelectronics\\STM32Cube\\STM32CubeProgrammer\\bin\\STM32_Programmer_CLI.exe"
22
- # STM32_CLI_LINUX = "~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI"
23
-
24
-
25
- # def get_stm32_start_address(fw_file: Path):
26
- # """
27
- # Get the start address of the firmware file, to allow automatic restart from that address after flashing
28
- # """
29
- # try:
30
- # fw_hex = bincopy.BinFile(str(fw_file))
31
- # return f"0x{fw_hex.execution_start_address:08X}"
32
- # except Exception:
33
-
34
- # return ""
35
-
36
-
37
- # def flash_stm32_cubecli(mcu: MPRemoteBoard, fw_file: Path, *, erase: bool = True) -> Optional[MPRemoteBoard]:
38
- # """
39
- # Flash STM32 devices using STM32CubeProgrammer CLI
40
- # - Enter bootloader mode
41
- # - wait 2s for the device to be detected
42
- # - list the connected DFU devices
43
-
44
- # On Linux: requires udev rules to allow access to the device as a regular user
45
- # """
46
- # if sys.platform == "linux":
47
- # STM32_CLI = Path(STM32_CLI_LINUX).expanduser().as_posix()
48
- # elif sys.platform == "win32":
49
- # STM32_CLI = str(Path(STM32_CLI_WIN).expanduser())
50
- # else:
51
- # log.error(f"OS {sys.platform} not supported")
52
- # return None
53
-
54
- # if not Path(STM32_CLI).exists():
55
- # log.error(
56
- # f"STM32CubeProgrammer not found at {STM32_CLI}\nPlease install it from https://www.st.com/en/development-tools/stm32cubeprog.html"
57
- # )
58
- # return None
59
-
60
- # # run STM32_Programmer_CLI.exe --list
61
- # cmd = [
62
- # STM32_CLI,
63
- # "--list",
64
- # ]
65
- # results = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
66
- # results = [strip_ansi(line) for line in results]
67
- # if not any(["Product ID : STM32 BOOTLOADER" in l for l in results]):
68
- # log.error("No STM32 BOOTLOADER detected")
69
- # return None
70
- # echo = False
71
- # for line in results:
72
- # if line.startswith("===== DFU Interface"):
73
- # echo = True
74
- # if line.startswith("===== STLink"):
75
- # echo = False
76
- # if echo:
77
- # print(line)
78
- # # Try to connect - no action
79
- # cmd = [
80
- # STM32_CLI,
81
- # "--connect",
82
- # "port=USB1",
83
- # ]
84
- # results = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
85
- # if erase:
86
- # log.info("Erasing flash")
87
- # cmd = [
88
- # STM32_CLI,
89
- # "--connect",
90
- # "port=USB1",
91
- # "--erase",
92
- # "all",
93
- # ]
94
- # results = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
95
- # results = [strip_ansi(line) for line in results]
96
- # log.info(f"Flashing {fw_file.name} using STM32CubeProgrammer CLI")
97
- # start_address = get_stm32_start_address(fw_file)
98
-
99
- # log.trace(f"STM32_Programmer_CLI --connect port=USB1 --write {str(fw_file)} --go {start_address}")
100
- # cmd = [
101
- # STM32_CLI,
102
- # "--connect",
103
- # "port=USB1",
104
- # "--write",
105
- # str(fw_file),
106
- # "--go",
107
- # start_address,
108
- # ]
109
- # results = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
110
- # log.success("Done flashing, resetting the board and wait for it to restart")
111
- # return mcu
@@ -1,119 +0,0 @@
1
- """
2
- #############################################################
3
- # Version handling copied from stubber/utils/versions.py
4
- #############################################################
5
- """
6
-
7
- from functools import lru_cache
8
-
9
- from loguru import logger as log
10
- from packaging.version import parse
11
-
12
- from mpflash.common import GH_CLIENT
13
- OLDEST_VERSION = "1.16"
14
- "This is the oldest MicroPython version to build the stubs on"
15
-
16
- V_PREVIEW = "preview"
17
- "Latest preview version"
18
-
19
- SET_PREVIEW = {"preview", "latest", "master"}
20
-
21
-
22
- def clean_version(
23
- version: str,
24
- *,
25
- build: bool = False,
26
- patch: bool = False,
27
- commit: bool = False,
28
- drop_v: bool = False,
29
- flat: bool = False,
30
- ):
31
- "Clean up and transform the many flavours of versions"
32
- # 'v1.13.0-103-gb137d064e' --> 'v1.13-103'
33
- if version in {"", "-"}:
34
- return version
35
- if version.lower() == "stable":
36
- _v = get_stable_mp_version()
37
- if not _v:
38
- log.warning("Could not determine the latest stable version")
39
- return "stable"
40
- version = _v
41
- log.trace(f"Using latest stable version: {version}")
42
- is_preview = "-preview" in version
43
- nibbles = version.split("-")
44
- ver_ = nibbles[0].lower().lstrip("v")
45
- if not patch and ver_ >= "1.10.0" and ver_ < "1.20.0" and ver_.endswith(".0"):
46
- # remove the last ".0" - but only for versions between 1.10 and 1.20 (because)
47
- nibbles[0] = nibbles[0][:-2]
48
- if len(nibbles) == 1:
49
- version = nibbles[0]
50
- elif build and not is_preview:
51
- version = "-".join(nibbles) if commit else "-".join(nibbles[:-1])
52
- else:
53
- # version = "-".join((nibbles[0], LATEST))
54
- # HACK: this is not always right, but good enough most of the time
55
- if is_preview:
56
- version = "-".join((nibbles[0], V_PREVIEW))
57
- else:
58
- version = V_PREVIEW
59
- if flat:
60
- version = version.strip().replace(".", "_").replace("-", "_")
61
- else:
62
- version = version.strip().replace("_preview", "-preview").replace("_", ".")
63
-
64
- if drop_v:
65
- version = version.lstrip("v")
66
- elif not version.startswith("v") and version.lower() not in SET_PREVIEW:
67
- version = "v" + version
68
- if version in SET_PREVIEW:
69
- version = V_PREVIEW
70
- return version
71
-
72
-
73
- @lru_cache(maxsize=10)
74
- def micropython_versions(minver: str = "v1.20", reverse: bool = False):
75
- """Get the list of micropython versions from github tags"""
76
- try:
77
- gh_client = GH_CLIENT
78
- repo = gh_client.get_repo("micropython/micropython")
79
- versions = [tag.name for tag in repo.get_tags() if parse(tag.name) >= parse(minver)]
80
- # Only keep the last preview
81
- versions = [v for v in versions if not v.endswith(V_PREVIEW) or v == versions[-1]]
82
- except Exception:
83
- versions = [
84
- "v9.99.9-preview",
85
- "v1.22.2",
86
- "v1.22.1",
87
- "v1.22.0",
88
- "v1.21.1",
89
- "v1.21.0",
90
- "v1.20.0",
91
- "v1.19.1",
92
- "v1.19",
93
- "v1.18",
94
- "v1.17",
95
- "v1.16",
96
- "v1.15",
97
- "v1.14",
98
- "v1.13",
99
- "v1.12",
100
- "v1.11",
101
- "v1.10",
102
- ]
103
- versions = [v for v in versions if parse(v) >= parse(minver)]
104
- # remove all but the most recent (preview) version
105
- versions = versions[:1] + [v for v in versions if "preview" not in v]
106
- return sorted(versions, reverse=reverse)
107
-
108
-
109
- def get_stable_mp_version() -> str:
110
- # read the versions from the git tags
111
- all_versions = micropython_versions(minver=OLDEST_VERSION)
112
- return [v for v in all_versions if not v.endswith(V_PREVIEW)][-1]
113
-
114
-
115
- def get_preview_mp_version() -> str:
116
- # read the versions from the git tags
117
- all_versions = micropython_versions(minver=OLDEST_VERSION)
118
- return [v for v in all_versions if v.endswith(V_PREVIEW)][-1]
119
-
File without changes
File without changes