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.
- {micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/METADATA +4 -3
- micropython_stubber-1.23.1.dist-info/RECORD +159 -0
- mpflash/README.md +14 -4
- mpflash/mpflash/add_firmware.py +1 -1
- mpflash/mpflash/ask_input.py +1 -1
- {stubber → mpflash/mpflash}/basicgit.py +3 -13
- mpflash/mpflash/bootloader/__init__.py +2 -37
- mpflash/mpflash/bootloader/activate.py +60 -0
- mpflash/mpflash/bootloader/detect.py +82 -0
- mpflash/mpflash/bootloader/manual.py +10 -11
- mpflash/mpflash/bootloader/micropython.py +2 -0
- mpflash/mpflash/bootloader/touch1200.py +13 -22
- mpflash/mpflash/cli_download.py +1 -1
- mpflash/mpflash/cli_flash.py +4 -4
- mpflash/mpflash/cli_group.py +18 -5
- mpflash/mpflash/cli_main.py +3 -5
- mpflash/mpflash/common.py +1 -0
- mpflash/mpflash/config.py +6 -9
- mpflash/mpflash/connected.py +9 -5
- mpflash/mpflash/download.py +9 -5
- mpflash/mpflash/downloaded.py +4 -3
- mpflash/mpflash/{flash.py → flash/__init__.py} +20 -17
- mpflash/mpflash/{flash_esp.py → flash/esp.py} +1 -1
- mpflash/mpflash/flash/stm32.py +19 -0
- mpflash/mpflash/{flash_stm32_dfu.py → flash/stm32_dfu.py} +4 -1
- mpflash/mpflash/{flash_uf2.py → flash/uf2/__init__.py} +44 -23
- mpflash/mpflash/{flash_uf2_linux.py → flash/uf2/linux.py} +15 -8
- mpflash/mpflash/{flash_uf2_macos.py → flash/uf2/macos.py} +13 -5
- mpflash/mpflash/{flash_uf2_windows.py → flash/uf2/windows.py} +16 -7
- mpflash/mpflash/{worklist.py → flash/worklist.py} +9 -9
- mpflash/mpflash/list.py +13 -3
- mpflash/mpflash/mpboard_id/__init__.py +1 -1
- mpflash/mpflash/mpboard_id/add_boards.py +3 -7
- mpflash/mpflash/mpboard_id/board_id.py +1 -1
- mpflash/mpflash/mpremoteboard/__init__.py +5 -4
- {stubber/utils → mpflash/mpflash}/versions.py +31 -24
- mpflash/poetry.lock +16 -5
- mpflash/pyproject.toml +8 -3
- stubber/__init__.py +1 -1
- stubber/board/createstubs.py +4 -4
- stubber/board/createstubs_db.py +5 -5
- stubber/board/createstubs_db_min.py +1 -1
- stubber/board/createstubs_db_mpy.mpy +0 -0
- stubber/board/createstubs_mem.py +5 -5
- stubber/board/createstubs_mem_min.py +1 -1
- stubber/board/createstubs_mem_mpy.mpy +0 -0
- stubber/board/createstubs_min.py +1 -1
- stubber/board/createstubs_mpy.mpy +0 -0
- stubber/codemod/utils.py +2 -3
- stubber/commands/build_cmd.py +1 -1
- stubber/commands/cli.py +8 -4
- stubber/commands/clone_cmd.py +16 -4
- stubber/commands/enrich_folder_cmd.py +2 -1
- stubber/commands/get_core_cmd.py +5 -3
- stubber/commands/get_docstubs_cmd.py +6 -4
- stubber/commands/get_frozen_cmd.py +5 -3
- stubber/commands/get_mcu_cmd.py +9 -4
- stubber/commands/merge_cmd.py +3 -3
- stubber/commands/publish_cmd.py +2 -3
- stubber/commands/stub_cmd.py +2 -1
- stubber/commands/switch_cmd.py +14 -6
- stubber/commands/variants_cmd.py +3 -3
- stubber/freeze/get_frozen.py +1 -1
- stubber/minify.py +4 -3
- stubber/publish/candidates.py +4 -10
- stubber/publish/defaults.py +4 -9
- stubber/publish/missing_class_methods.py +1 -1
- stubber/publish/package.py +1 -1
- stubber/publish/pathnames.py +1 -1
- stubber/publish/publish.py +1 -1
- stubber/publish/stubpackage.py +3 -5
- stubber/rst/reader.py +5 -13
- stubber/tools/manifestfile.py +71 -27
- stubber/tools/readme.md +3 -2
- stubber/update_fallback.py +1 -1
- stubber/utils/__init__.py +2 -1
- stubber/utils/config.py +3 -5
- stubber/utils/manifest.py +2 -4
- stubber/utils/repos.py +5 -12
- micropython_stubber-1.20.6.dist-info/RECORD +0 -159
- mpflash/mpflash/flash_stm32.py +0 -24
- mpflash/mpflash/flash_stm32_cube.py +0 -111
- mpflash/mpflash/vendor/versions.py +0 -119
- {micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/LICENSE +0 -0
- {micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/WHEEL +0 -0
- {micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/entry_points.txt +0 -0
- /mpflash/{mpflash/vendor/basicgit.py → basicgit.py} +0 -0
- /mpflash/mpflash/{flash_uf2_boardid.py → flash/uf2/boardid.py} +0 -0
- /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
|
15
|
-
from mpflash.
|
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,,
|
mpflash/mpflash/flash_stm32.py
DELETED
@@ -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
|
{micropython_stubber-1.20.6.dist-info → micropython_stubber-1.23.1.dist-info}/entry_points.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|