micropython-stubber 1.20.4__py3-none-any.whl → 1.20.6__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 (152) hide show
  1. {micropython_stubber-1.20.4.dist-info → micropython_stubber-1.20.6.dist-info}/LICENSE +30 -30
  2. {micropython_stubber-1.20.4.dist-info → micropython_stubber-1.20.6.dist-info}/METADATA +4 -4
  3. micropython_stubber-1.20.6.dist-info/RECORD +159 -0
  4. mpflash/README.md +184 -184
  5. mpflash/libusb_flash.ipynb +203 -203
  6. mpflash/mpflash/add_firmware.py +98 -98
  7. mpflash/mpflash/ask_input.py +236 -226
  8. mpflash/mpflash/bootloader/__init__.py +37 -0
  9. mpflash/mpflash/bootloader/manual.py +102 -0
  10. mpflash/mpflash/bootloader/micropython.py +10 -0
  11. mpflash/mpflash/bootloader/touch1200.py +45 -0
  12. mpflash/mpflash/cli_download.py +129 -128
  13. mpflash/mpflash/cli_flash.py +219 -212
  14. mpflash/mpflash/cli_group.py +98 -92
  15. mpflash/mpflash/cli_list.py +81 -77
  16. mpflash/mpflash/cli_main.py +41 -38
  17. mpflash/mpflash/common.py +164 -151
  18. mpflash/mpflash/config.py +47 -31
  19. mpflash/mpflash/connected.py +74 -74
  20. mpflash/mpflash/download.py +360 -361
  21. mpflash/mpflash/downloaded.py +129 -129
  22. mpflash/mpflash/errors.py +9 -5
  23. mpflash/mpflash/flash.py +52 -69
  24. mpflash/mpflash/flash_esp.py +59 -59
  25. mpflash/mpflash/flash_stm32.py +24 -24
  26. mpflash/mpflash/flash_stm32_cube.py +111 -111
  27. mpflash/mpflash/flash_stm32_dfu.py +101 -101
  28. mpflash/mpflash/flash_uf2.py +67 -67
  29. mpflash/mpflash/flash_uf2_boardid.py +15 -15
  30. mpflash/mpflash/flash_uf2_linux.py +123 -123
  31. mpflash/mpflash/flash_uf2_macos.py +34 -37
  32. mpflash/mpflash/flash_uf2_windows.py +34 -34
  33. mpflash/mpflash/list.py +89 -89
  34. mpflash/mpflash/logger.py +41 -41
  35. mpflash/mpflash/mpboard_id/__init__.py +93 -93
  36. mpflash/mpflash/mpboard_id/add_boards.py +255 -255
  37. mpflash/mpflash/mpboard_id/board.py +37 -37
  38. mpflash/mpflash/mpboard_id/board_id.py +86 -86
  39. mpflash/mpflash/mpboard_id/store.py +43 -43
  40. mpflash/mpflash/mpremoteboard/__init__.py +221 -221
  41. mpflash/mpflash/mpremoteboard/mpy_fw_info.py +141 -141
  42. mpflash/mpflash/mpremoteboard/runner.py +140 -140
  43. mpflash/mpflash/uf2disk.py +12 -12
  44. mpflash/mpflash/vendor/basicgit.py +288 -288
  45. mpflash/mpflash/vendor/click_aliases.py +91 -0
  46. mpflash/mpflash/vendor/dfu.py +165 -165
  47. mpflash/mpflash/vendor/pydfu.py +605 -605
  48. mpflash/mpflash/vendor/readme.md +2 -2
  49. mpflash/mpflash/vendor/versions.py +119 -117
  50. mpflash/mpflash/worklist.py +170 -170
  51. mpflash/poetry.lock +1588 -1623
  52. mpflash/pyproject.toml +60 -60
  53. mpflash/stm32_udev_rules.md +62 -62
  54. stubber/__init__.py +3 -3
  55. stubber/basicgit.py +294 -288
  56. stubber/board/board_info.csv +193 -193
  57. stubber/board/boot.py +34 -34
  58. stubber/board/createstubs.py +986 -987
  59. stubber/board/createstubs_db.py +825 -826
  60. stubber/board/createstubs_db_min.py +331 -331
  61. stubber/board/createstubs_db_mpy.mpy +0 -0
  62. stubber/board/createstubs_lvgl.py +741 -741
  63. stubber/board/createstubs_lvgl_min.py +741 -741
  64. stubber/board/createstubs_mem.py +766 -767
  65. stubber/board/createstubs_mem_min.py +306 -306
  66. stubber/board/createstubs_mem_mpy.mpy +0 -0
  67. stubber/board/createstubs_min.py +294 -294
  68. stubber/board/createstubs_mpy.mpy +0 -0
  69. stubber/board/fw_info.py +141 -141
  70. stubber/board/info.py +183 -183
  71. stubber/board/main.py +19 -19
  72. stubber/board/modulelist.txt +247 -247
  73. stubber/board/pyrightconfig.json +34 -34
  74. stubber/bulk/mcu_stubber.py +454 -455
  75. stubber/codemod/_partials/__init__.py +48 -50
  76. stubber/codemod/_partials/db_main.py +147 -147
  77. stubber/codemod/_partials/lvgl_main.py +77 -77
  78. stubber/codemod/_partials/modules_reader.py +80 -80
  79. stubber/codemod/add_comment.py +53 -53
  80. stubber/codemod/add_method.py +65 -65
  81. stubber/codemod/board.py +317 -317
  82. stubber/codemod/enrich.py +145 -145
  83. stubber/codemod/merge_docstub.py +284 -284
  84. stubber/codemod/modify_list.py +54 -54
  85. stubber/codemod/utils.py +57 -57
  86. stubber/commands/build_cmd.py +94 -94
  87. stubber/commands/cli.py +51 -51
  88. stubber/commands/clone_cmd.py +66 -66
  89. stubber/commands/config_cmd.py +29 -29
  90. stubber/commands/enrich_folder_cmd.py +70 -70
  91. stubber/commands/get_core_cmd.py +69 -69
  92. stubber/commands/get_docstubs_cmd.py +87 -87
  93. stubber/commands/get_frozen_cmd.py +112 -112
  94. stubber/commands/get_mcu_cmd.py +56 -56
  95. stubber/commands/merge_cmd.py +66 -66
  96. stubber/commands/publish_cmd.py +119 -119
  97. stubber/commands/stub_cmd.py +30 -30
  98. stubber/commands/switch_cmd.py +54 -54
  99. stubber/commands/variants_cmd.py +48 -48
  100. stubber/cst_transformer.py +178 -178
  101. stubber/data/board_info.csv +193 -193
  102. stubber/data/board_info.json +1729 -1729
  103. stubber/data/micropython_tags.csv +15 -15
  104. stubber/data/requirements-core-micropython.txt +38 -38
  105. stubber/data/requirements-core-pycopy.txt +39 -39
  106. stubber/downloader.py +36 -36
  107. stubber/freeze/common.py +68 -68
  108. stubber/freeze/freeze_folder.py +69 -69
  109. stubber/freeze/freeze_manifest_2.py +113 -113
  110. stubber/freeze/get_frozen.py +127 -127
  111. stubber/get_cpython.py +101 -101
  112. stubber/get_lobo.py +59 -59
  113. stubber/minify.py +418 -418
  114. stubber/publish/bump.py +86 -86
  115. stubber/publish/candidates.py +262 -283
  116. stubber/publish/database.py +18 -18
  117. stubber/publish/defaults.py +45 -45
  118. stubber/publish/enums.py +24 -30
  119. stubber/publish/helpers.py +29 -29
  120. stubber/publish/merge_docstubs.py +130 -130
  121. stubber/publish/missing_class_methods.py +49 -49
  122. stubber/publish/package.py +146 -177
  123. stubber/publish/pathnames.py +51 -51
  124. stubber/publish/publish.py +120 -121
  125. stubber/publish/pypi.py +38 -38
  126. stubber/publish/stubpackage.py +1029 -1029
  127. stubber/rst/__init__.py +9 -9
  128. stubber/rst/classsort.py +77 -77
  129. stubber/rst/lookup.py +530 -530
  130. stubber/rst/output_dict.py +401 -401
  131. stubber/rst/reader.py +822 -823
  132. stubber/rst/report_return.py +69 -69
  133. stubber/rst/rst_utils.py +540 -540
  134. stubber/stubber.py +38 -38
  135. stubber/stubs_from_docs.py +90 -90
  136. stubber/tools/manifestfile.py +610 -610
  137. stubber/tools/readme.md +5 -5
  138. stubber/update_fallback.py +117 -117
  139. stubber/update_module_list.py +123 -125
  140. stubber/utils/__init__.py +5 -5
  141. stubber/utils/config.py +127 -127
  142. stubber/utils/makeversionhdr.py +54 -54
  143. stubber/utils/manifest.py +92 -92
  144. stubber/utils/post.py +79 -79
  145. stubber/utils/repos.py +157 -154
  146. stubber/utils/stubmaker.py +139 -139
  147. stubber/utils/typed_config_toml.py +77 -77
  148. stubber/utils/versions.py +128 -120
  149. stubber/variants.py +106 -106
  150. micropython_stubber-1.20.4.dist-info/RECORD +0 -154
  151. {micropython_stubber-1.20.4.dist-info → micropython_stubber-1.20.6.dist-info}/WHEEL +0 -0
  152. {micropython_stubber-1.20.4.dist-info → micropython_stubber-1.20.6.dist-info}/entry_points.txt +0 -0
mpflash/pyproject.toml CHANGED
@@ -1,60 +1,60 @@
1
- [tool.poetry]
2
- name = "mpflash"
3
- version = "0.8.3"
4
- description = "Flash and download tool for MicroPython firmwares"
5
- authors = ["Jos Verlinde <jos_verlinde@hotmail.com>"]
6
- license = "MIT"
7
- readme = "README.md"
8
- keywords = ["MicroPython", "firmware", "flash", "download", "UF2", "esptool"]
9
- homepage = "https://github.com/Josverl/micropython-stubber/blob/main/src/mpflash/README.md"
10
- repository = "https://github.com/Josverl/micropython-stubber"
11
- classifiers = [
12
- "Programming Language :: Python :: Implementation :: MicroPython",
13
- "Programming Language :: Python :: Implementation :: CPython",
14
- "Topic :: Software Development :: Build Tools",
15
- ]
16
-
17
- [tool.poetry.scripts]
18
- mpflash = "mpflash.cli_main:mpflash"
19
-
20
- [tool.poetry.dependencies]
21
- beautifulsoup4 = "^4.12.3"
22
- bincopy = "^20.0.0"
23
- blkinfo = "^0.2.0"
24
- cachetools = "^5.3.0"
25
- esptool = "^4.7.0"
26
- inquirer = "^3.2.4"
27
- jsonlines = "^4.0.0"
28
- jsons = "^1.6.3"
29
- libusb = {version = "^1.0.27", platform = "win32"}
30
- loguru = "^0.7.2"
31
- mpremote = "^1.22.0"
32
- packaging = "23.2"
33
- platformdirs = "^4.2.0"
34
- psutil = "^5.9.8"
35
- pygithub = "^2.1.1"
36
- python = ">=3.8.1,<4.0"
37
- pyusb = "^1.2.1"
38
- requests = "^2.31.0"
39
- rich-click = "^1.8.1"
40
- tenacity = "8.2.3"
41
-
42
-
43
- [tool.poetry.group.test]
44
- optional = true
45
- [tool.poetry.group.test.dependencies]
46
- pytest = "^7.1.2"
47
- pytest-github-actions-annotate-failures = ">=0.1.7,<0.3.0"
48
- pytest-json-report = "^1.5.0"
49
- pytest-metadata = ">=2.0.2,<4.0.0"
50
- pytest-mock = "^3.10.0"
51
- #
52
- coverage = ">=6.4.3,<8.0.0"
53
- distro = "^1.8.0"
54
- fasteners = "^0.19"
55
- mock = "^4.0.3"
56
-
57
-
58
- [build-system]
59
- requires = ["poetry-core"]
60
- build-backend = "poetry.core.masonry.api"
1
+ [tool.poetry]
2
+ name = "mpflash"
3
+ version = "0.8.7"
4
+ description = "Flash and download tool for MicroPython firmwares"
5
+ authors = ["Jos Verlinde <jos_verlinde@hotmail.com>"]
6
+ license = "MIT"
7
+ readme = "README.md"
8
+ keywords = ["MicroPython", "firmware", "flash", "download", "UF2", "esptool"]
9
+ homepage = "https://github.com/Josverl/micropython-stubber/blob/main/src/mpflash/README.md"
10
+ repository = "https://github.com/Josverl/micropython-stubber"
11
+ classifiers = [
12
+ "Programming Language :: Python :: Implementation :: MicroPython",
13
+ "Programming Language :: Python :: Implementation :: CPython",
14
+ "Topic :: Software Development :: Build Tools",
15
+ ]
16
+
17
+ [tool.poetry.scripts]
18
+ mpflash = "mpflash.cli_main:mpflash"
19
+
20
+ [tool.poetry.dependencies]
21
+ beautifulsoup4 = "^4.12.3"
22
+ bincopy = "^20.0.0"
23
+ blkinfo = "^0.2.0"
24
+ cachetools = "^5.3.0"
25
+ esptool = "^4.7.0"
26
+ inquirer = "^3.2.4"
27
+ jsonlines = "^4.0.0"
28
+ jsons = "^1.6.3"
29
+ libusb = {version = "^1.0.27", platform = "win32"}
30
+ loguru = "^0.7.2"
31
+ mpremote = "^1.22.0"
32
+ packaging = "23.2"
33
+ platformdirs = "^4.2.0"
34
+ psutil = "^5.9.8"
35
+ pygithub = "^2.1.1"
36
+ python = ">=3.8.1,<4.0"
37
+ pyusb = "^1.2.1"
38
+ requests = "^2.31.0"
39
+ rich-click = "^1.8.1"
40
+ tenacity = "8.2.3"
41
+
42
+
43
+ [tool.poetry.group.test]
44
+ optional = true
45
+ [tool.poetry.group.test.dependencies]
46
+ pytest = "^7.1.2"
47
+ pytest-github-actions-annotate-failures = ">=0.1.7,<0.3.0"
48
+ pytest-json-report = "^1.5.0"
49
+ pytest-metadata = ">=2.0.2,<4.0.0"
50
+ pytest-mock = "^3.10.0"
51
+ #
52
+ coverage = ">=6.4.3,<8.0.0"
53
+ distro = "^1.8.0"
54
+ fasteners = "^0.19"
55
+ mock = "^4.0.3"
56
+
57
+
58
+ [build-system]
59
+ requires = ["poetry-core"]
60
+ build-backend = "poetry.core.masonry.api"
@@ -1,63 +1,63 @@
1
- ## Linux permissions for usb devices
2
-
3
- In order to flash the firmware to the board, you need to have the correct permissions to access the USB devices.
4
- The details will depend on the specific USB device and the operating system you are using.
5
-
6
- You can use the following udev rules to give non-root users access to the USB devices.
7
-
8
- File: `/etc/udev/rules.d/65-mpflash.rules`
9
- ```bash
10
- # allow non-root users to access to stm32 device in dfu mode (bootloader)
11
- SUBSYSTEM=="usb", ACTION=="add", ATTR{product}=="STM32 BOOTLOADER", GROUP="plugdev", MODE="0660"
12
- ```
13
- reload the udev rules with the following command:
14
- ```bash
15
- sudo udevadm control --reload
16
- ```
17
- Unplug and replug the usb device to apply the new rules.
18
-
19
-
20
- ## to check
21
- Enter the stm32 bootloader mode
22
- ``` bash
23
- mpremote bootloader
24
- ```
25
-
26
-
27
- List usb devices
28
- ```bash
29
- (.venv) jos@jvnuc:~/projects/micropython-stubber$ lsusb -vv -t
30
- /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
31
- ID 1d6b:0003 Linux Foundation 3.0 root hub
32
- /sys/bus/usb/devices/usb2 /dev/bus/usb/002/001
33
- /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
34
- ID 1d6b:0002 Linux Foundation 2.0 root hub
35
- /sys/bus/usb/devices/usb1 /dev/bus/usb/001/001
36
- |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 12M
37
- ID 0a05:7211 Unknown Manufacturer hub
38
- /sys/bus/usb/devices/1-1 /dev/bus/usb/001/002
39
- |__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 12M
40
- ID 0a05:7211 Unknown Manufacturer hub
41
- /sys/bus/usb/devices/1-1.1 /dev/bus/usb/001/004
42
- |__ Port 2: Dev 22, If 0, Class=Application Specific Interface, Driver=, 12M
43
- ID 0483:df11 STMicroelectronics STM Device in DFU Mode
44
- /sys/bus/usb/devices/1-1.2 /dev/bus/usb/001/022
45
- |__ Port 10: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
46
- ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
47
- /sys/bus/usb/devices/1-10 /dev/bus/usb/001/003
48
- |__ Port 10: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
49
- ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
50
- /sys/bus/usb/devices/1-10 /dev/bus/usb/001/003
51
- ```
52
- Lookup the stm32 device device path ( /dev/bus/usb/001/022),
53
- and check if the group `plugdev` is granted access using `ll`
54
- ```bash
55
- (.venv) jos@jvnuc:~/projects/micropython-stubber$ ll /dev/bus/usb/001/022
56
- crw-rw-r-- 1 root plugdev 189, 21 mrt 11 22:38 /dev/bus/usb/001/022
57
- ```
58
-
59
- Check `groups` to see if user is in plugdev group
60
- ```
61
- (.venv) jos@jvnuc:~/projects/micropython-stubber$ groups
62
- jos adm disk dialout cdrom sudo dip plugdev kvm lpadmin lxd sambashare usb
1
+ ## Linux permissions for usb devices
2
+
3
+ In order to flash the firmware to the board, you need to have the correct permissions to access the USB devices.
4
+ The details will depend on the specific USB device and the operating system you are using.
5
+
6
+ You can use the following udev rules to give non-root users access to the USB devices.
7
+
8
+ File: `/etc/udev/rules.d/65-mpflash.rules`
9
+ ```bash
10
+ # allow non-root users to access to stm32 device in dfu mode (bootloader)
11
+ SUBSYSTEM=="usb", ACTION=="add", ATTR{product}=="STM32 BOOTLOADER", GROUP="plugdev", MODE="0660"
12
+ ```
13
+ reload the udev rules with the following command:
14
+ ```bash
15
+ sudo udevadm control --reload
16
+ ```
17
+ Unplug and replug the usb device to apply the new rules.
18
+
19
+
20
+ ## to check
21
+ Enter the stm32 bootloader mode
22
+ ``` bash
23
+ mpremote bootloader
24
+ ```
25
+
26
+
27
+ List usb devices
28
+ ```bash
29
+ (.venv) jos@jvnuc:~/projects/micropython-stubber$ lsusb -vv -t
30
+ /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
31
+ ID 1d6b:0003 Linux Foundation 3.0 root hub
32
+ /sys/bus/usb/devices/usb2 /dev/bus/usb/002/001
33
+ /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
34
+ ID 1d6b:0002 Linux Foundation 2.0 root hub
35
+ /sys/bus/usb/devices/usb1 /dev/bus/usb/001/001
36
+ |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 12M
37
+ ID 0a05:7211 Unknown Manufacturer hub
38
+ /sys/bus/usb/devices/1-1 /dev/bus/usb/001/002
39
+ |__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 12M
40
+ ID 0a05:7211 Unknown Manufacturer hub
41
+ /sys/bus/usb/devices/1-1.1 /dev/bus/usb/001/004
42
+ |__ Port 2: Dev 22, If 0, Class=Application Specific Interface, Driver=, 12M
43
+ ID 0483:df11 STMicroelectronics STM Device in DFU Mode
44
+ /sys/bus/usb/devices/1-1.2 /dev/bus/usb/001/022
45
+ |__ Port 10: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
46
+ ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
47
+ /sys/bus/usb/devices/1-10 /dev/bus/usb/001/003
48
+ |__ Port 10: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
49
+ ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
50
+ /sys/bus/usb/devices/1-10 /dev/bus/usb/001/003
51
+ ```
52
+ Lookup the stm32 device device path ( /dev/bus/usb/001/022),
53
+ and check if the group `plugdev` is granted access using `ll`
54
+ ```bash
55
+ (.venv) jos@jvnuc:~/projects/micropython-stubber$ ll /dev/bus/usb/001/022
56
+ crw-rw-r-- 1 root plugdev 189, 21 mrt 11 22:38 /dev/bus/usb/001/022
57
+ ```
58
+
59
+ Check `groups` to see if user is in plugdev group
60
+ ```
61
+ (.venv) jos@jvnuc:~/projects/micropython-stubber$ groups
62
+ jos adm disk dialout cdrom sudo dip plugdev kvm lpadmin lxd sambashare usb
63
63
  ```
stubber/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
- """get the version"""
2
-
3
- __version__ = "1.20.4"
1
+ """get the version"""
2
+
3
+ __version__ = "1.20.6"