micropython-stubber 1.23.1__py3-none-any.whl → 1.23.2__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.23.1.dist-info → micropython_stubber-1.23.2.dist-info}/LICENSE +30 -30
- {micropython_stubber-1.23.1.dist-info → micropython_stubber-1.23.2.dist-info}/METADATA +32 -15
- micropython_stubber-1.23.2.dist-info/RECORD +158 -0
- micropython_stubber-1.23.2.dist-info/entry_points.txt +5 -0
- mpflash/README.md +220 -194
- mpflash/libusb_flash.ipynb +203 -203
- mpflash/mpflash/add_firmware.py +98 -98
- mpflash/mpflash/ask_input.py +236 -236
- mpflash/mpflash/basicgit.py +284 -284
- mpflash/mpflash/bootloader/__init__.py +2 -2
- mpflash/mpflash/bootloader/activate.py +60 -60
- mpflash/mpflash/bootloader/detect.py +82 -82
- mpflash/mpflash/bootloader/manual.py +101 -101
- mpflash/mpflash/bootloader/micropython.py +12 -12
- mpflash/mpflash/bootloader/touch1200.py +36 -36
- mpflash/mpflash/cli_download.py +129 -129
- mpflash/mpflash/cli_flash.py +224 -219
- mpflash/mpflash/cli_group.py +111 -111
- mpflash/mpflash/cli_list.py +87 -81
- mpflash/mpflash/cli_main.py +39 -39
- mpflash/mpflash/common.py +210 -165
- mpflash/mpflash/config.py +44 -44
- mpflash/mpflash/connected.py +96 -78
- mpflash/mpflash/download.py +364 -364
- mpflash/mpflash/downloaded.py +130 -130
- mpflash/mpflash/errors.py +9 -9
- mpflash/mpflash/flash/__init__.py +55 -55
- mpflash/mpflash/flash/esp.py +59 -59
- mpflash/mpflash/flash/stm32.py +19 -19
- mpflash/mpflash/flash/stm32_dfu.py +104 -104
- mpflash/mpflash/flash/uf2/__init__.py +88 -88
- mpflash/mpflash/flash/uf2/boardid.py +15 -15
- mpflash/mpflash/flash/uf2/linux.py +136 -130
- mpflash/mpflash/flash/uf2/macos.py +42 -42
- mpflash/mpflash/flash/uf2/uf2disk.py +12 -12
- mpflash/mpflash/flash/uf2/windows.py +43 -43
- mpflash/mpflash/flash/worklist.py +170 -170
- mpflash/mpflash/list.py +106 -99
- mpflash/mpflash/logger.py +41 -41
- mpflash/mpflash/mpboard_id/__init__.py +93 -93
- mpflash/mpflash/mpboard_id/add_boards.py +251 -251
- mpflash/mpflash/mpboard_id/board.py +37 -37
- mpflash/mpflash/mpboard_id/board_id.py +86 -86
- mpflash/mpflash/mpboard_id/store.py +43 -43
- mpflash/mpflash/mpremoteboard/__init__.py +266 -222
- mpflash/mpflash/mpremoteboard/mpy_fw_info.py +141 -141
- mpflash/mpflash/mpremoteboard/runner.py +140 -140
- mpflash/mpflash/vendor/click_aliases.py +91 -91
- mpflash/mpflash/vendor/dfu.py +165 -165
- mpflash/mpflash/vendor/pydfu.py +605 -605
- mpflash/mpflash/vendor/readme.md +2 -2
- mpflash/mpflash/versions.py +135 -135
- mpflash/poetry.lock +1599 -1599
- mpflash/pyproject.toml +65 -65
- mpflash/stm32_udev_rules.md +62 -62
- stubber/__init__.py +3 -3
- stubber/board/board_info.csv +193 -193
- stubber/board/boot.py +34 -34
- stubber/board/createstubs.py +1004 -986
- stubber/board/createstubs_db.py +826 -825
- stubber/board/createstubs_db_min.py +332 -331
- stubber/board/createstubs_db_mpy.mpy +0 -0
- stubber/board/createstubs_lvgl.py +741 -741
- stubber/board/createstubs_lvgl_min.py +741 -741
- stubber/board/createstubs_mem.py +767 -766
- stubber/board/createstubs_mem_min.py +307 -306
- stubber/board/createstubs_mem_mpy.mpy +0 -0
- stubber/board/createstubs_min.py +295 -294
- stubber/board/createstubs_mpy.mpy +0 -0
- stubber/board/fw_info.py +141 -141
- stubber/board/info.py +183 -183
- stubber/board/main.py +19 -19
- stubber/board/modulelist.txt +247 -247
- stubber/board/pyrightconfig.json +34 -34
- stubber/bulk/mcu_stubber.py +437 -454
- stubber/codemod/_partials/__init__.py +48 -48
- stubber/codemod/_partials/db_main.py +147 -147
- stubber/codemod/_partials/lvgl_main.py +77 -77
- stubber/codemod/_partials/modules_reader.py +80 -80
- stubber/codemod/add_comment.py +53 -53
- stubber/codemod/add_method.py +65 -65
- stubber/codemod/board.py +317 -317
- stubber/codemod/enrich.py +151 -145
- stubber/codemod/merge_docstub.py +284 -284
- stubber/codemod/modify_list.py +54 -54
- stubber/codemod/utils.py +56 -56
- stubber/commands/build_cmd.py +94 -94
- stubber/commands/cli.py +49 -55
- stubber/commands/clone_cmd.py +78 -78
- stubber/commands/config_cmd.py +29 -29
- stubber/commands/enrich_folder_cmd.py +71 -71
- stubber/commands/get_core_cmd.py +71 -71
- stubber/commands/get_docstubs_cmd.py +92 -89
- stubber/commands/get_frozen_cmd.py +117 -114
- stubber/commands/get_mcu_cmd.py +102 -61
- stubber/commands/merge_cmd.py +66 -66
- stubber/commands/publish_cmd.py +118 -118
- stubber/commands/stub_cmd.py +31 -31
- stubber/commands/switch_cmd.py +62 -62
- stubber/commands/variants_cmd.py +48 -48
- stubber/cst_transformer.py +178 -178
- stubber/data/board_info.csv +193 -193
- stubber/data/board_info.json +1729 -1729
- stubber/data/micropython_tags.csv +15 -15
- stubber/data/requirements-core-micropython.txt +38 -38
- stubber/data/requirements-core-pycopy.txt +39 -39
- stubber/downloader.py +37 -36
- stubber/freeze/common.py +72 -68
- stubber/freeze/freeze_folder.py +69 -69
- stubber/freeze/freeze_manifest_2.py +126 -113
- stubber/freeze/get_frozen.py +131 -127
- stubber/get_cpython.py +112 -101
- stubber/get_lobo.py +59 -59
- stubber/minify.py +423 -419
- stubber/publish/bump.py +86 -86
- stubber/publish/candidates.py +275 -256
- stubber/publish/database.py +18 -18
- stubber/publish/defaults.py +40 -40
- stubber/publish/enums.py +24 -24
- stubber/publish/helpers.py +29 -29
- stubber/publish/merge_docstubs.py +136 -130
- stubber/publish/missing_class_methods.py +51 -49
- stubber/publish/package.py +150 -146
- stubber/publish/pathnames.py +51 -51
- stubber/publish/publish.py +120 -120
- stubber/publish/pypi.py +42 -38
- stubber/publish/stubpackage.py +1055 -1027
- stubber/rst/__init__.py +9 -9
- stubber/rst/classsort.py +78 -77
- stubber/rst/lookup.py +533 -530
- stubber/rst/output_dict.py +401 -401
- stubber/rst/reader.py +814 -814
- stubber/rst/report_return.py +77 -69
- stubber/rst/rst_utils.py +541 -540
- stubber/stubber.py +38 -38
- stubber/stubs_from_docs.py +90 -90
- stubber/tools/manifestfile.py +654 -654
- stubber/tools/readme.md +6 -6
- stubber/update_fallback.py +117 -117
- stubber/update_module_list.py +123 -123
- stubber/utils/__init__.py +6 -6
- stubber/utils/config.py +137 -125
- stubber/utils/makeversionhdr.py +54 -54
- stubber/utils/manifest.py +90 -90
- stubber/utils/post.py +80 -79
- stubber/utils/repos.py +156 -150
- stubber/utils/stubmaker.py +139 -139
- stubber/utils/typed_config_toml.py +80 -77
- stubber/variants.py +106 -106
- micropython_stubber-1.23.1.dist-info/RECORD +0 -159
- micropython_stubber-1.23.1.dist-info/entry_points.txt +0 -3
- mpflash/basicgit.py +0 -288
- {micropython_stubber-1.23.1.dist-info → micropython_stubber-1.23.2.dist-info}/WHEEL +0 -0
stubber/commands/merge_cmd.py
CHANGED
@@ -1,66 +1,66 @@
|
|
1
|
-
"""
|
2
|
-
enrich machinestubs with docstubs
|
3
|
-
"""
|
4
|
-
|
5
|
-
from typing import List, Union
|
6
|
-
|
7
|
-
import rich_click as click
|
8
|
-
from
|
9
|
-
|
10
|
-
from stubber.publish.merge_docstubs import merge_all_docstubs
|
11
|
-
from stubber.publish.package import GENERIC_L
|
12
|
-
from stubber.utils.config import CONFIG
|
13
|
-
|
14
|
-
from .cli import stubber_cli
|
15
|
-
|
16
|
-
|
17
|
-
@stubber_cli.command(name="merge")
|
18
|
-
@click.option("--family", default="micropython", type=str, show_default=True)
|
19
|
-
@click.option(
|
20
|
-
"--version",
|
21
|
-
"-v",
|
22
|
-
"versions",
|
23
|
-
multiple=True,
|
24
|
-
default=["all"],
|
25
|
-
# type=click.Choice(ALL_VERSIONS),
|
26
|
-
show_default=True,
|
27
|
-
help="'latest', 'auto', or one or more versions",
|
28
|
-
)
|
29
|
-
@click.option(
|
30
|
-
"--port",
|
31
|
-
"-p",
|
32
|
-
"ports",
|
33
|
-
multiple=True,
|
34
|
-
default=["all"],
|
35
|
-
show_default=True,
|
36
|
-
help="multiple: ",
|
37
|
-
)
|
38
|
-
@click.option(
|
39
|
-
"--board",
|
40
|
-
"-b",
|
41
|
-
"boards",
|
42
|
-
multiple=True,
|
43
|
-
default=[GENERIC_L], # or "all" ?
|
44
|
-
show_default=True,
|
45
|
-
help="multiple: ",
|
46
|
-
)
|
47
|
-
def cli_merge_docstubs(
|
48
|
-
versions: Union[str, List[str]],
|
49
|
-
boards: Union[str, List[str]],
|
50
|
-
ports: Union[str, List[str]],
|
51
|
-
family: str,
|
52
|
-
):
|
53
|
-
"""
|
54
|
-
Enrich the stubs in stub_folder with the docstubs in docstubs_folder.
|
55
|
-
"""
|
56
|
-
if isinstance(ports, tuple):
|
57
|
-
ports = list(ports)
|
58
|
-
if isinstance(boards, tuple):
|
59
|
-
boards = list(boards)
|
60
|
-
if isinstance(versions, tuple):
|
61
|
-
versions = list(versions)
|
62
|
-
# single version should be a string
|
63
|
-
log.info(f"Merge docstubs for {family} {versions}")
|
64
|
-
_ = merge_all_docstubs(
|
65
|
-
versions=versions, family=family, boards=boards, ports=ports, mpy_path=CONFIG.mpy_path
|
66
|
-
)
|
1
|
+
"""
|
2
|
+
enrich machinestubs with docstubs
|
3
|
+
"""
|
4
|
+
|
5
|
+
from typing import List, Union
|
6
|
+
|
7
|
+
import rich_click as click
|
8
|
+
from mpflash.logger import log
|
9
|
+
|
10
|
+
from stubber.publish.merge_docstubs import merge_all_docstubs
|
11
|
+
from stubber.publish.package import GENERIC_L
|
12
|
+
from stubber.utils.config import CONFIG
|
13
|
+
|
14
|
+
from .cli import stubber_cli
|
15
|
+
|
16
|
+
|
17
|
+
@stubber_cli.command(name="merge")
|
18
|
+
@click.option("--family", default="micropython", type=str, show_default=True)
|
19
|
+
@click.option(
|
20
|
+
"--version",
|
21
|
+
"-v",
|
22
|
+
"versions",
|
23
|
+
multiple=True,
|
24
|
+
default=["all"],
|
25
|
+
# type=click.Choice(ALL_VERSIONS),
|
26
|
+
show_default=True,
|
27
|
+
help="'latest', 'auto', or one or more versions",
|
28
|
+
)
|
29
|
+
@click.option(
|
30
|
+
"--port",
|
31
|
+
"-p",
|
32
|
+
"ports",
|
33
|
+
multiple=True,
|
34
|
+
default=["all"],
|
35
|
+
show_default=True,
|
36
|
+
help="multiple: ",
|
37
|
+
)
|
38
|
+
@click.option(
|
39
|
+
"--board",
|
40
|
+
"-b",
|
41
|
+
"boards",
|
42
|
+
multiple=True,
|
43
|
+
default=[GENERIC_L], # or "all" ?
|
44
|
+
show_default=True,
|
45
|
+
help="multiple: ",
|
46
|
+
)
|
47
|
+
def cli_merge_docstubs(
|
48
|
+
versions: Union[str, List[str]],
|
49
|
+
boards: Union[str, List[str]],
|
50
|
+
ports: Union[str, List[str]],
|
51
|
+
family: str,
|
52
|
+
):
|
53
|
+
"""
|
54
|
+
Enrich the stubs in stub_folder with the docstubs in docstubs_folder.
|
55
|
+
"""
|
56
|
+
if isinstance(ports, tuple):
|
57
|
+
ports = list(ports)
|
58
|
+
if isinstance(boards, tuple):
|
59
|
+
boards = list(boards)
|
60
|
+
if isinstance(versions, tuple):
|
61
|
+
versions = list(versions)
|
62
|
+
# single version should be a string
|
63
|
+
log.info(f"Merge docstubs for {family} {versions}")
|
64
|
+
_ = merge_all_docstubs(
|
65
|
+
versions=versions, family=family, boards=boards, ports=ports, mpy_path=CONFIG.mpy_path
|
66
|
+
)
|
stubber/commands/publish_cmd.py
CHANGED
@@ -1,118 +1,118 @@
|
|
1
|
-
"""
|
2
|
-
Commandline interface to publish stubs.
|
3
|
-
"""
|
4
|
-
|
5
|
-
from typing import List, Union
|
6
|
-
|
7
|
-
import rich_click as click
|
8
|
-
from
|
9
|
-
from tabulate import tabulate
|
10
|
-
|
11
|
-
from stubber.commands.cli import stubber_cli
|
12
|
-
from stubber.publish.defaults import GENERIC_U
|
13
|
-
from stubber.publish.publish import publish_multiple
|
14
|
-
from stubber.utils.config import CONFIG
|
15
|
-
|
16
|
-
|
17
|
-
@stubber_cli.command(name="publish")
|
18
|
-
@click.option("--family", default="micropython", type=str, show_default=True)
|
19
|
-
@click.option(
|
20
|
-
"--version",
|
21
|
-
"-v",
|
22
|
-
"versions",
|
23
|
-
multiple=True,
|
24
|
-
default=[CONFIG.stable_version],
|
25
|
-
show_default=True,
|
26
|
-
help="multiple: ",
|
27
|
-
)
|
28
|
-
@click.option(
|
29
|
-
"--port",
|
30
|
-
"-p",
|
31
|
-
"ports",
|
32
|
-
multiple=True,
|
33
|
-
default=["all"],
|
34
|
-
show_default=True,
|
35
|
-
help="multiple: ",
|
36
|
-
)
|
37
|
-
@click.option(
|
38
|
-
"--board",
|
39
|
-
"-b",
|
40
|
-
"boards",
|
41
|
-
multiple=True,
|
42
|
-
default=[GENERIC_U], # or "all" ?
|
43
|
-
show_default=True,
|
44
|
-
help="multiple: ",
|
45
|
-
)
|
46
|
-
@click.option(
|
47
|
-
"--pypi/--test-pypi",
|
48
|
-
"production",
|
49
|
-
is_flag=True,
|
50
|
-
default=False,
|
51
|
-
show_default=True,
|
52
|
-
prompt="Publish to PYPI (y) or Test-PYPI (n)",
|
53
|
-
help="publish to PYPI or Test-PYPI",
|
54
|
-
)
|
55
|
-
@click.option(
|
56
|
-
"--build",
|
57
|
-
is_flag=True,
|
58
|
-
default=False,
|
59
|
-
help="build before publish",
|
60
|
-
)
|
61
|
-
@click.option(
|
62
|
-
"--force",
|
63
|
-
is_flag=True,
|
64
|
-
default=False,
|
65
|
-
help="create new post release even if no changes detected",
|
66
|
-
)
|
67
|
-
@click.option(
|
68
|
-
"--dry-run",
|
69
|
-
is_flag=True,
|
70
|
-
default=False,
|
71
|
-
help="Do not actually publish, just show what would be done",
|
72
|
-
)
|
73
|
-
@click.option(
|
74
|
-
"--clean",
|
75
|
-
is_flag=True,
|
76
|
-
default=False,
|
77
|
-
help="clean folders after processing and publishing",
|
78
|
-
)
|
79
|
-
def cli_publish(
|
80
|
-
family: str,
|
81
|
-
versions: Union[str, List[str]],
|
82
|
-
ports: Union[str, List[str]],
|
83
|
-
boards: Union[str, List[str]],
|
84
|
-
production: bool = True,
|
85
|
-
build: bool = False,
|
86
|
-
force: bool = False,
|
87
|
-
dry_run: bool = False,
|
88
|
-
clean: bool = False,
|
89
|
-
):
|
90
|
-
"""
|
91
|
-
Commandline interface to publish stubs.
|
92
|
-
"""
|
93
|
-
# lists please
|
94
|
-
versions = list(versions)
|
95
|
-
ports = list(ports)
|
96
|
-
boards = list(boards)
|
97
|
-
|
98
|
-
if len(versions) > 1:
|
99
|
-
raise NotImplementedError(
|
100
|
-
"Multiple versions are not supported yet\n See https://github.com/Josverl/micropython-stubber/issues/487"
|
101
|
-
)
|
102
|
-
|
103
|
-
# db = get_database(publish_path=CONFIG.publish_path, production=production)
|
104
|
-
destination = "pypi" if production else "test-pypi"
|
105
|
-
log.info(f"Publish {family} {versions} {ports} {boards} to {destination}")
|
106
|
-
|
107
|
-
results = publish_multiple(
|
108
|
-
family=family,
|
109
|
-
versions=versions,
|
110
|
-
ports=ports,
|
111
|
-
boards=boards,
|
112
|
-
production=production,
|
113
|
-
build=build,
|
114
|
-
force=force,
|
115
|
-
dry_run=dry_run,
|
116
|
-
clean=clean,
|
117
|
-
)
|
118
|
-
log.info(tabulate(results, headers="keys"))
|
1
|
+
"""
|
2
|
+
Commandline interface to publish stubs.
|
3
|
+
"""
|
4
|
+
|
5
|
+
from typing import List, Union
|
6
|
+
|
7
|
+
import rich_click as click
|
8
|
+
from mpflash.logger import log
|
9
|
+
from tabulate import tabulate
|
10
|
+
|
11
|
+
from stubber.commands.cli import stubber_cli
|
12
|
+
from stubber.publish.defaults import GENERIC_U
|
13
|
+
from stubber.publish.publish import publish_multiple
|
14
|
+
from stubber.utils.config import CONFIG
|
15
|
+
|
16
|
+
|
17
|
+
@stubber_cli.command(name="publish")
|
18
|
+
@click.option("--family", default="micropython", type=str, show_default=True)
|
19
|
+
@click.option(
|
20
|
+
"--version",
|
21
|
+
"-v",
|
22
|
+
"versions",
|
23
|
+
multiple=True,
|
24
|
+
default=[CONFIG.stable_version],
|
25
|
+
show_default=True,
|
26
|
+
help="multiple: ",
|
27
|
+
)
|
28
|
+
@click.option(
|
29
|
+
"--port",
|
30
|
+
"-p",
|
31
|
+
"ports",
|
32
|
+
multiple=True,
|
33
|
+
default=["all"],
|
34
|
+
show_default=True,
|
35
|
+
help="multiple: ",
|
36
|
+
)
|
37
|
+
@click.option(
|
38
|
+
"--board",
|
39
|
+
"-b",
|
40
|
+
"boards",
|
41
|
+
multiple=True,
|
42
|
+
default=[GENERIC_U], # or "all" ?
|
43
|
+
show_default=True,
|
44
|
+
help="multiple: ",
|
45
|
+
)
|
46
|
+
@click.option(
|
47
|
+
"--pypi/--test-pypi",
|
48
|
+
"production",
|
49
|
+
is_flag=True,
|
50
|
+
default=False,
|
51
|
+
show_default=True,
|
52
|
+
prompt="Publish to PYPI (y) or Test-PYPI (n)",
|
53
|
+
help="publish to PYPI or Test-PYPI",
|
54
|
+
)
|
55
|
+
@click.option(
|
56
|
+
"--build",
|
57
|
+
is_flag=True,
|
58
|
+
default=False,
|
59
|
+
help="build before publish",
|
60
|
+
)
|
61
|
+
@click.option(
|
62
|
+
"--force",
|
63
|
+
is_flag=True,
|
64
|
+
default=False,
|
65
|
+
help="create new post release even if no changes detected",
|
66
|
+
)
|
67
|
+
@click.option(
|
68
|
+
"--dry-run",
|
69
|
+
is_flag=True,
|
70
|
+
default=False,
|
71
|
+
help="Do not actually publish, just show what would be done",
|
72
|
+
)
|
73
|
+
@click.option(
|
74
|
+
"--clean",
|
75
|
+
is_flag=True,
|
76
|
+
default=False,
|
77
|
+
help="clean folders after processing and publishing",
|
78
|
+
)
|
79
|
+
def cli_publish(
|
80
|
+
family: str,
|
81
|
+
versions: Union[str, List[str]],
|
82
|
+
ports: Union[str, List[str]],
|
83
|
+
boards: Union[str, List[str]],
|
84
|
+
production: bool = True,
|
85
|
+
build: bool = False,
|
86
|
+
force: bool = False,
|
87
|
+
dry_run: bool = False,
|
88
|
+
clean: bool = False,
|
89
|
+
):
|
90
|
+
"""
|
91
|
+
Commandline interface to publish stubs.
|
92
|
+
"""
|
93
|
+
# lists please
|
94
|
+
versions = list(versions)
|
95
|
+
ports = list(ports)
|
96
|
+
boards = list(boards)
|
97
|
+
|
98
|
+
if len(versions) > 1:
|
99
|
+
raise NotImplementedError(
|
100
|
+
"Multiple versions are not supported yet\n See https://github.com/Josverl/micropython-stubber/issues/487"
|
101
|
+
)
|
102
|
+
|
103
|
+
# db = get_database(publish_path=CONFIG.publish_path, production=production)
|
104
|
+
destination = "pypi" if production else "test-pypi"
|
105
|
+
log.info(f"Publish {family} {versions} {ports} {boards} to {destination}")
|
106
|
+
|
107
|
+
results = publish_multiple(
|
108
|
+
family=family,
|
109
|
+
versions=versions,
|
110
|
+
ports=ports,
|
111
|
+
boards=boards,
|
112
|
+
production=production,
|
113
|
+
build=build,
|
114
|
+
force=force,
|
115
|
+
dry_run=dry_run,
|
116
|
+
clean=clean,
|
117
|
+
)
|
118
|
+
log.info(tabulate(results, headers="keys"))
|
stubber/commands/stub_cmd.py
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
"""Create or update .pyi type hint files."""
|
2
|
-
|
3
|
-
##########################################################################################
|
4
|
-
# stub
|
5
|
-
##########################################################################################
|
6
|
-
|
7
|
-
from
|
8
|
-
from pathlib import Path
|
9
|
-
from typing import Union
|
10
|
-
|
11
|
-
import rich_click as click
|
12
|
-
from stubber.utils import generate_pyi_files
|
13
|
-
from stubber.utils.post import do_post_processing
|
14
|
-
|
15
|
-
from .cli import stubber_cli
|
16
|
-
|
17
|
-
##########################################################################################
|
18
|
-
# log = logging.getLogger("stubber")
|
19
|
-
#########################################################################################
|
20
|
-
|
21
|
-
|
22
|
-
@stubber_cli.command(name="stub")
|
23
|
-
@click.option("--source", "-s", type=click.Path(exists=True, file_okay=True, dir_okay=True))
|
24
|
-
def cli_stub(source: Union[str, Path]):
|
25
|
-
"Create or update .pyi type hint files."
|
26
|
-
|
27
|
-
log.info("Generate type hint files (pyi) in folder: {}".format(source))
|
28
|
-
OK = generate_pyi_files(Path(source))
|
29
|
-
# do not generate pyi files twice
|
30
|
-
do_post_processing([Path(source)], stubgen=False, black=True, autoflake=False)
|
31
|
-
return 0 if OK else 1
|
1
|
+
"""Create or update .pyi type hint files."""
|
2
|
+
|
3
|
+
##########################################################################################
|
4
|
+
# stub
|
5
|
+
##########################################################################################
|
6
|
+
|
7
|
+
from mpflash.logger import log
|
8
|
+
from pathlib import Path
|
9
|
+
from typing import Union
|
10
|
+
|
11
|
+
import rich_click as click
|
12
|
+
from stubber.utils import generate_pyi_files
|
13
|
+
from stubber.utils.post import do_post_processing
|
14
|
+
|
15
|
+
from .cli import stubber_cli
|
16
|
+
|
17
|
+
##########################################################################################
|
18
|
+
# log = logging.getLogger("stubber")
|
19
|
+
#########################################################################################
|
20
|
+
|
21
|
+
|
22
|
+
@stubber_cli.command(name="stub")
|
23
|
+
@click.option("--source", "-s", type=click.Path(exists=True, file_okay=True, dir_okay=True))
|
24
|
+
def cli_stub(source: Union[str, Path]):
|
25
|
+
"Create or update .pyi type hint files."
|
26
|
+
|
27
|
+
log.info("Generate type hint files (pyi) in folder: {}".format(source))
|
28
|
+
OK = generate_pyi_files(Path(source))
|
29
|
+
# do not generate pyi files twice
|
30
|
+
do_post_processing([Path(source)], stubgen=False, black=True, autoflake=False)
|
31
|
+
return 0 if OK else 1
|
stubber/commands/switch_cmd.py
CHANGED
@@ -1,62 +1,62 @@
|
|
1
|
-
"""
|
2
|
-
switch to a specific version of the micropython repos
|
3
|
-
"""
|
4
|
-
|
5
|
-
from pathlib import Path
|
6
|
-
from typing import Optional, Union
|
7
|
-
|
8
|
-
import rich_click as click
|
9
|
-
|
10
|
-
import mpflash.basicgit as git
|
11
|
-
from stubber.utils.config import CONFIG
|
12
|
-
from stubber.utils.repos import fetch_repos, repo_paths
|
13
|
-
from mpflash.versions import SET_PREVIEW, V_PREVIEW
|
14
|
-
|
15
|
-
from .cli import stubber_cli
|
16
|
-
|
17
|
-
##########################################################################################
|
18
|
-
# log = logging.getLogger("stubber")
|
19
|
-
#########################################################################################
|
20
|
-
|
21
|
-
|
22
|
-
# get version list from Git tags in the repo that is provided on the command line
|
23
|
-
|
24
|
-
try:
|
25
|
-
VERSION_LIST = git.get_tags("micropython/micropython", minver="v1.9.3") + [
|
26
|
-
V_PREVIEW,
|
27
|
-
"latest",
|
28
|
-
"stable",
|
29
|
-
]
|
30
|
-
except Exception:
|
31
|
-
# offline fallback
|
32
|
-
VERSION_LIST = ["v1.91.1", "v1.20.1", "v1.21.0", "v1.22.1", "preview", "stable"]
|
33
|
-
|
34
|
-
|
35
|
-
@stubber_cli.command(name="switch")
|
36
|
-
@click.argument("tag", required=False, type=click.Choice(VERSION_LIST, case_sensitive=False))
|
37
|
-
@click.option(
|
38
|
-
"--path",
|
39
|
-
"-p",
|
40
|
-
default=CONFIG.repo_path.as_posix(),
|
41
|
-
type=click.Path(file_okay=False, dir_okay=True),
|
42
|
-
)
|
43
|
-
def cli_switch(path: Union[str, Path], tag: Optional[str] = None):
|
44
|
-
"""
|
45
|
-
Switch to a specific version of the micropython repos.
|
46
|
-
|
47
|
-
The Micropython-lib repo will be checked out to a commit that corresponds
|
48
|
-
in time to that version tag, in order to allow non-current versions to be
|
49
|
-
stubbed correctly.
|
50
|
-
|
51
|
-
The repros must be cloned already
|
52
|
-
"""
|
53
|
-
|
54
|
-
try:
|
55
|
-
mpy_path, mpy_lib_path = repo_paths(Path(path))
|
56
|
-
except Exception:
|
57
|
-
return -1
|
58
|
-
if not tag or tag in SET_PREVIEW:
|
59
|
-
tag = V_PREVIEW
|
60
|
-
|
61
|
-
result = fetch_repos(tag, mpy_path, mpy_lib_path)
|
62
|
-
return -1 if result else 0
|
1
|
+
"""
|
2
|
+
switch to a specific version of the micropython repos
|
3
|
+
"""
|
4
|
+
|
5
|
+
from pathlib import Path
|
6
|
+
from typing import Optional, Union
|
7
|
+
|
8
|
+
import rich_click as click
|
9
|
+
|
10
|
+
import mpflash.basicgit as git
|
11
|
+
from stubber.utils.config import CONFIG
|
12
|
+
from stubber.utils.repos import fetch_repos, repo_paths
|
13
|
+
from mpflash.versions import SET_PREVIEW, V_PREVIEW
|
14
|
+
|
15
|
+
from .cli import stubber_cli
|
16
|
+
|
17
|
+
##########################################################################################
|
18
|
+
# log = logging.getLogger("stubber")
|
19
|
+
#########################################################################################
|
20
|
+
|
21
|
+
|
22
|
+
# get version list from Git tags in the repo that is provided on the command line
|
23
|
+
|
24
|
+
try:
|
25
|
+
VERSION_LIST = git.get_tags("micropython/micropython", minver="v1.9.3") + [
|
26
|
+
V_PREVIEW,
|
27
|
+
"latest",
|
28
|
+
"stable",
|
29
|
+
]
|
30
|
+
except Exception:
|
31
|
+
# offline fallback
|
32
|
+
VERSION_LIST = ["v1.91.1", "v1.20.1", "v1.21.0", "v1.22.1", "preview", "stable"]
|
33
|
+
|
34
|
+
|
35
|
+
@stubber_cli.command(name="switch")
|
36
|
+
@click.argument("tag", required=False, type=click.Choice(VERSION_LIST, case_sensitive=False))
|
37
|
+
@click.option(
|
38
|
+
"--path",
|
39
|
+
"-p",
|
40
|
+
default=CONFIG.repo_path.as_posix(),
|
41
|
+
type=click.Path(file_okay=False, dir_okay=True),
|
42
|
+
)
|
43
|
+
def cli_switch(path: Union[str, Path], tag: Optional[str] = None):
|
44
|
+
"""
|
45
|
+
Switch to a specific version of the micropython repos.
|
46
|
+
|
47
|
+
The Micropython-lib repo will be checked out to a commit that corresponds
|
48
|
+
in time to that version tag, in order to allow non-current versions to be
|
49
|
+
stubbed correctly.
|
50
|
+
|
51
|
+
The repros must be cloned already
|
52
|
+
"""
|
53
|
+
|
54
|
+
try:
|
55
|
+
mpy_path, mpy_lib_path = repo_paths(Path(path))
|
56
|
+
except Exception:
|
57
|
+
return -1
|
58
|
+
if not tag or tag in SET_PREVIEW:
|
59
|
+
tag = V_PREVIEW
|
60
|
+
|
61
|
+
result = fetch_repos(tag, mpy_path, mpy_lib_path)
|
62
|
+
return -1 if result else 0
|
stubber/commands/variants_cmd.py
CHANGED
@@ -1,48 +1,48 @@
|
|
1
|
-
"""Create all variant of createstubs*.py."""
|
2
|
-
|
3
|
-
from pathlib import Path
|
4
|
-
|
5
|
-
import rich_click as click
|
6
|
-
from
|
7
|
-
from stubber.utils.config import CONFIG
|
8
|
-
from stubber.variants import create_variants
|
9
|
-
import stubber
|
10
|
-
|
11
|
-
from .cli import stubber_cli
|
12
|
-
|
13
|
-
|
14
|
-
@click.option(
|
15
|
-
"--version",
|
16
|
-
"-v",
|
17
|
-
"version",
|
18
|
-
default=CONFIG.stable_version,
|
19
|
-
show_default=True,
|
20
|
-
help="The version of mpy-cross to use",
|
21
|
-
)
|
22
|
-
@click.option(
|
23
|
-
"--target",
|
24
|
-
"-t",
|
25
|
-
"target_folder",
|
26
|
-
default=None,
|
27
|
-
type=click.Path(exists=False, file_okay=False, dir_okay=True),
|
28
|
-
help="Target folder for the createstubs*.py/.mpy files",
|
29
|
-
show_default=True,
|
30
|
-
)
|
31
|
-
@stubber_cli.command(name="make-variants")
|
32
|
-
@click.pass_context
|
33
|
-
def cli_variants(
|
34
|
-
ctx: click.Context,
|
35
|
-
target_folder: str = "",
|
36
|
-
version: str = CONFIG.stable_version,
|
37
|
-
) -> int:
|
38
|
-
"""Update all variants of createstubs*.py."""
|
39
|
-
board_path = Path(stubber.__file__).parent / "board"
|
40
|
-
if target_folder:
|
41
|
-
target_path = Path(target_folder).absolute()
|
42
|
-
target_path.mkdir(parents=True, exist_ok=True)
|
43
|
-
else:
|
44
|
-
target_path = board_path
|
45
|
-
create_variants(board_path, target_path=target_path, version=version)
|
46
|
-
|
47
|
-
log.info("Done!")
|
48
|
-
return 0
|
1
|
+
"""Create all variant of createstubs*.py."""
|
2
|
+
|
3
|
+
from pathlib import Path
|
4
|
+
|
5
|
+
import rich_click as click
|
6
|
+
from mpflash.logger import log
|
7
|
+
from stubber.utils.config import CONFIG
|
8
|
+
from stubber.variants import create_variants
|
9
|
+
import stubber
|
10
|
+
|
11
|
+
from .cli import stubber_cli
|
12
|
+
|
13
|
+
|
14
|
+
@click.option(
|
15
|
+
"--version",
|
16
|
+
"-v",
|
17
|
+
"version",
|
18
|
+
default=CONFIG.stable_version,
|
19
|
+
show_default=True,
|
20
|
+
help="The version of mpy-cross to use",
|
21
|
+
)
|
22
|
+
@click.option(
|
23
|
+
"--target",
|
24
|
+
"-t",
|
25
|
+
"target_folder",
|
26
|
+
default=None,
|
27
|
+
type=click.Path(exists=False, file_okay=False, dir_okay=True),
|
28
|
+
help="Target folder for the createstubs*.py/.mpy files",
|
29
|
+
show_default=True,
|
30
|
+
)
|
31
|
+
@stubber_cli.command(name="make-variants")
|
32
|
+
@click.pass_context
|
33
|
+
def cli_variants(
|
34
|
+
ctx: click.Context,
|
35
|
+
target_folder: str = "",
|
36
|
+
version: str = CONFIG.stable_version,
|
37
|
+
) -> int:
|
38
|
+
"""Update all variants of createstubs*.py."""
|
39
|
+
board_path = Path(stubber.__file__).parent / "board"
|
40
|
+
if target_folder:
|
41
|
+
target_path = Path(target_folder).absolute()
|
42
|
+
target_path.mkdir(parents=True, exist_ok=True)
|
43
|
+
else:
|
44
|
+
target_path = board_path
|
45
|
+
create_variants(board_path, target_path=target_path, version=version)
|
46
|
+
|
47
|
+
log.info("Done!")
|
48
|
+
return 0
|