micrOSDevToolKit 2.8.4__py3-none-any.whl → 2.8.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.

Potentially problematic release.


This version of micrOSDevToolKit might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micrOSDevToolKit
3
- Version: 2.8.4
3
+ Version: 2.8.6
4
4
  Summary: Development and deployment environment for micrOS, the diy micropython automation OS (IoT)
5
5
  Home-page: https://github.com/BxNxM/micrOS
6
6
  Author: Marcell Ban
@@ -129,10 +129,10 @@ micrOS/source/urequests.py,sha256=1zVeNtnIExKfsgyXSenG9BNXTzpdqNBJoTi-vsys-Yk,58
129
129
  micrOS/source/ustyle.css,sha256=P-s8ENwAcWoZi5bocrK3_kVzEjaRFKtFvEF6JRh4MBY,1429
130
130
  micrOS/source/uwidgets.js,sha256=BGeUSbNHn6PClgIgIE6QszwQVJ6j7lzgCBwvIX8cYgo,6631
131
131
  micrOS/source/uwidgets_pro.js,sha256=gbkk3SVttEVvDCwde-pJhAh4k7GuCFPdcWNq32pcKPE,3639
132
- micrOSDevToolKit-2.8.4.data/scripts/devToolKit.py,sha256=CVgEETK2JwWgtEFw_dAZPEfOpAQTYZfTb6810E1j2Hg,10660
132
+ micrOSDevToolKit-2.8.6.data/scripts/devToolKit.py,sha256=CVgEETK2JwWgtEFw_dAZPEfOpAQTYZfTb6810E1j2Hg,10660
133
133
  toolkit/DevEnvCompile.py,sha256=H19-60ZpHzP30C-wqR5QTzMDHHpWrTk0Uzh--TZHxvw,12148
134
134
  toolkit/DevEnvOTA.py,sha256=OkEtO5cpym-kEgGpE3TQbyZ-nQOzZpGzbFdbgCibe7I,25356
135
- toolkit/DevEnvUSB.py,sha256=BxMminjUIdkzAwFGhpHtfslTBse57zjYKaMivGbkXAI,33990
135
+ toolkit/DevEnvUSB.py,sha256=qnMTXupUZPHa3hkT7GSCWfofE1TEM82CAs4X4Hvqgl4,34030
136
136
  toolkit/Gateway.py,sha256=F0ZyiB0wIzOdMScXZQN-ZKRTadRpmZTj_FDY91af_us,25346
137
137
  toolkit/LM_to_compile.dat,sha256=iLUISab186sbCiiocDllbZhnVnHKK_WAQcAJi7hD0y4,581
138
138
  toolkit/MicrOSDevEnv.py,sha256=Uk_eitqQAQde9AiuCtgCrxBFp-IRakYSjXyTYLaFj80,12550
@@ -174,7 +174,7 @@ toolkit/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
174
  toolkit/lib/file_extensions.py,sha256=0DpayBGjKQg7y2ZGJXf5wVPnre_4C5j-7YIViNGvYz4,372
175
175
  toolkit/lib/macroScript.py,sha256=Hic98kyOR1Up18T6Lrpnnv_8bkNdocnIbiXdv6R7jrI,13854
176
176
  toolkit/lib/micrOSClient.py,sha256=T-s5vYSnMgmYOkpET_P-AIjU-7M6mmx-oALT9dNsOZc,17009
177
- toolkit/lib/pip_package_installer.py,sha256=QrRygkao90MVDzz3IiMIdbHbRwiSrXcmvoBuMdXmpFI,3539
177
+ toolkit/lib/pip_package_installer.py,sha256=jpC-y1KR72_PJlqyUR6-U5b6l1szVqnIZ4nrSgUsOTM,4262
178
178
  toolkit/simulator_lib/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
179
179
  toolkit/simulator_lib/IO_darwin.py,sha256=f8HOfQKJvniShvjpBe6f4nisr6oJd9SnvxPsbdNIGQk,2336
180
180
  toolkit/simulator_lib/camera.py,sha256=BIyj6dF_PoszzTZ3Ea_-gsJ3aly_xGy5NMKeJGVSbFI,1485
@@ -352,6 +352,7 @@ toolkit/workspace/precompiled/main.py,sha256=cVlhoWwU9dSKEol0HWPihFAPzrUUvzSGwZN
352
352
  toolkit/workspace/precompiled/micrOS.mpy,sha256=pOonq19sxElxlJ9_U9wF5xNZL0c0JhwnKzGnMG8rGcQ,1160
353
353
  toolkit/workspace/precompiled/micrOSloader.mpy,sha256=IH2glrM5WUvoICfIoaqKLaHF4jiADasclhv6jEGjXtk,1818
354
354
  toolkit/workspace/precompiled/microIO.mpy,sha256=M3dYO7C6W7epptY_VW4b4Evg0g8Vr0CE5U0etvkrK48,1516
355
+ toolkit/workspace/precompiled/node_config.json,sha256=tAuB8IHyul0YDi2ZLPkFB9Atk1hn82HNHRfyAGM1mys,827
355
356
  toolkit/workspace/precompiled/reset.mpy,sha256=EHTL8NYWph5jeaqWwZ41KRwHWwCp7msGAQk203Zzo_k,214
356
357
  toolkit/workspace/precompiled/uapi.js,sha256=DlCRyA0ZJmW8BGcpHnHhpeDPdZgsLA2uPNvGzurLx4E,3024
357
358
  toolkit/workspace/precompiled/udashboard.js,sha256=42mPR_NU3jOqUgLi7yZv2L7bN6uGqw9LpScDrGGF58c,4581
@@ -359,8 +360,8 @@ toolkit/workspace/precompiled/urequests.mpy,sha256=piW1W0cQTfcXteBRGLK6G8osBIpD6
359
360
  toolkit/workspace/precompiled/ustyle.css,sha256=P-s8ENwAcWoZi5bocrK3_kVzEjaRFKtFvEF6JRh4MBY,1429
360
361
  toolkit/workspace/precompiled/uwidgets.js,sha256=BGeUSbNHn6PClgIgIE6QszwQVJ6j7lzgCBwvIX8cYgo,6631
361
362
  toolkit/workspace/precompiled/uwidgets_pro.js,sha256=gbkk3SVttEVvDCwde-pJhAh4k7GuCFPdcWNq32pcKPE,3639
362
- micrOSDevToolKit-2.8.4.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
363
- micrOSDevToolKit-2.8.4.dist-info/METADATA,sha256=ZoFyKlZU7-oslzgHineblgsy5P0mUWp2apY1sPK-enA,52937
364
- micrOSDevToolKit-2.8.4.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
365
- micrOSDevToolKit-2.8.4.dist-info/top_level.txt,sha256=rOGOIXqLBdGZAoDTiLdZ9B_leFB7bMv7YabLwuIc2bc,25
366
- micrOSDevToolKit-2.8.4.dist-info/RECORD,,
363
+ micrOSDevToolKit-2.8.6.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
364
+ micrOSDevToolKit-2.8.6.dist-info/METADATA,sha256=gB-_bMWbKAlK2CkEoVZW1kAfV0QD2jacI0-dHSZKjrE,52937
365
+ micrOSDevToolKit-2.8.6.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
366
+ micrOSDevToolKit-2.8.6.dist-info/top_level.txt,sha256=rOGOIXqLBdGZAoDTiLdZ9B_leFB7bMv7YabLwuIc2bc,25
367
+ micrOSDevToolKit-2.8.6.dist-info/RECORD,,
toolkit/DevEnvUSB.py CHANGED
@@ -35,29 +35,29 @@ class USB(Compile):
35
35
  self.esptool_interface = self.get_valid_esptool_cmd()
36
36
  self.dev_types_and_cmds = \
37
37
  {'esp32':
38
- {'erase': '{self.esptool_interface} --port {dev} erase_flash',
39
- 'deploy': '{self.esptool_interface} --chip esp32 --port {dev} --baud 460800 write_flash -z 0x1000 {micropython}',
38
+ {'erase': '{esptool_interface} --port {dev} erase_flash',
39
+ 'deploy': '{esptool_interface} --chip esp32 --port {dev} --baud 460800 write_flash -z 0x1000 {micropython}',
40
40
  'ampy_cmd': 'ampy -p {dev} -b 115200 -d 2 {args}',
41
41
  'mpremote_cmd': None,
42
42
  'cmd_line_info': '[!HINT!] PRESS [EN] BUTTON TO ENABLE DEVICE ERASE...'},
43
43
  'esp32cam':
44
- {'erase': '{self.esptool_interface} --port {dev} erase_flash',
45
- 'deploy': '{self.esptool_interface} --chip esp32 --port {dev} --baud 460800 write_flash -z 0x1000 {micropython}',
44
+ {'erase': '{esptool_interface} --port {dev} erase_flash',
45
+ 'deploy': '{esptool_interface} --chip esp32 --port {dev} --baud 460800 write_flash -z 0x1000 {micropython}',
46
46
  'mpremote_cmd': 'mpremote',
47
47
  'cmd_line_info': '*** [!DISCLAIMER!] ***\n\tUSB copy not works with some serial interface\n\tCopy manually: toolkit/workspace/precompiled/micrOSloader.mpy\n\tNetwork.mpy Debug.mpy ConfigHandler.mpy main.py\n\tThen push OTA update over AP mode... Then you are done'},
48
48
  'esp32s2':
49
- {'erase': '{self.esptool_interface} --chip esp32s2 --port {dev} --after no_reset erase_flash',
50
- 'deploy': '{self.esptool_interface} --chip esp32s2 --port {dev} --after no_reset --baud 460800 write_flash -z 0x1000 {micropython}',
49
+ {'erase': '{esptool_interface} --chip esp32s2 --port {dev} --after no_reset erase_flash',
50
+ 'deploy': '{esptool_interface} --chip esp32s2 --port {dev} --after no_reset --baud 460800 write_flash -z 0x1000 {micropython}',
51
51
  'mpremote_cmd': 'mpremote',
52
52
  'cmd_line_info': '[!HINT!] Hold on Button 0 -> Press Button Reset -> Release Button 0 TO ENABLE DEVICE ERASE...'},
53
53
  'tinypico':
54
- {'erase': '{self.esptool_interface} --port {dev} erase_flash',
55
- 'deploy': '{self.esptool_interface} --chip esp32 --port {dev} --baud 460800 write_flash -z 0x1000 {micropython}',
54
+ {'erase': '{esptool_interface} --port {dev} erase_flash',
55
+ 'deploy': '{esptool_interface} --chip esp32 --port {dev} --baud 460800 write_flash -z 0x1000 {micropython}',
56
56
  'mpremote_cmd': 'mpremote',
57
57
  'cmd_line_info': ''},
58
58
  'tinypico_usbc':
59
- {'erase': '{self.esptool_interface} --port {dev} erase_flash',
60
- 'deploy': '{self.esptool_interface} --chip esp32 --port {dev} --baud 921600 write_flash -z 0x1000 {micropython}',
59
+ {'erase': '{esptool_interface} --port {dev} erase_flash',
60
+ 'deploy': '{esptool_interface} --chip esp32 --port {dev} --baud 921600 write_flash -z 0x1000 {micropython}',
61
61
  'ampy_cmd': 'ampy -p {dev} -b 115200 -d 2 {args}',
62
62
  'mpremote_cmd': None,
63
63
  'cmd_line_info': ''},
@@ -67,18 +67,18 @@ class USB(Compile):
67
67
  'mpremote_cmd': 'mpremote',
68
68
  'cmd_line_info': '[!!!] Experimental device - no stable micropython yet'},
69
69
  'esp32s3_spiram_oct':
70
- {'erase': '{self.esptool_interface} --chip esp32s3 --port {dev} erase_flash',
71
- 'deploy': '{self.esptool_interface} --chip esp32s3 --port {dev} write_flash -z 0 {micropython}',
70
+ {'erase': '{esptool_interface} --chip esp32s3 --port {dev} erase_flash',
71
+ 'deploy': '{esptool_interface} --chip esp32s3 --port {dev} write_flash -z 0 {micropython}',
72
72
  'mpremote_cmd': 'mpremote',
73
73
  'cmd_line_info': '[!!!] Fully automatic deployment.'},
74
74
  'esp32s3':
75
- {'erase': '{self.esptool_interface} --chip esp32s3 --port {dev} erase_flash',
76
- 'deploy': '{self.esptool_interface} --chip esp32s3 --port {dev} write_flash -z 0 {micropython}',
75
+ {'erase': '{esptool_interface} --chip esp32s3 --port {dev} erase_flash',
76
+ 'deploy': '{esptool_interface} --chip esp32s3 --port {dev} write_flash -z 0 {micropython}',
77
77
  'mpremote_cmd': 'mpremote',
78
78
  'cmd_line_info': '[!!!] Fully automatic deployment.'},
79
79
  'esp32c3':
80
- {'erase': '{self.esptool_interface} --chip esp32c3 --port {dev} erase_flash',
81
- 'deploy': '{self.esptool_interface} --chip esp32c3 --port {dev} --baud 460800 write_flash -z 0x0 {micropython}',
80
+ {'erase': '{esptool_interface} --chip esp32c3 --port {dev} erase_flash',
81
+ 'deploy': '{esptool_interface} --chip esp32c3 --port {dev} --baud 460800 write_flash -z 0x0 {micropython}',
82
82
  'mpremote_cmd': 'mpremote',
83
83
  'cmd_line_info': '[!HINT!] Fully automatic deployment...'},
84
84
  }
@@ -155,7 +155,7 @@ class USB(Compile):
155
155
 
156
156
  selected_device = self.get_devices()[0]
157
157
  print("selected_device_port: {}".format(selected_device))
158
- command = erase_cmd.format(dev=selected_device)
158
+ command = erase_cmd.format(dev=selected_device, esptool_interface=self.esptool_interface)
159
159
  self.console("CMD: {}".format(command))
160
160
  if self.dry_run:
161
161
  exitcode = 0
@@ -189,7 +189,8 @@ class USB(Compile):
189
189
 
190
190
  selected_device = self.get_devices()[0]
191
191
  selected_micropython = self.selected_micropython_bin
192
- command = deploy_cmd.format(dev=selected_device, micropython=selected_micropython)
192
+ command = deploy_cmd.format(dev=selected_device, micropython=selected_micropython,
193
+ esptool_interface=self.esptool_interface)
193
194
  self.console("CMD: {}".format(command))
194
195
  if self.dry_run:
195
196
  exitcode = 0
@@ -1,10 +1,11 @@
1
1
  import sys
2
- from sys import executable
3
2
  import os
4
3
  import subprocess
4
+ import getpass
5
+ USER = getpass.getuser()
5
6
  MYPATH = os.path.dirname(__file__)
6
7
  USER_DATA_OPT_INST_DONE = os.path.join(MYPATH, '../user_data/.opt_dep_install')
7
- INTERPRETER = executable
8
+ INTERPRETER = sys.executable
8
9
 
9
10
  sys.path.append(os.path.join(MYPATH, '../'))
10
11
  from DevEnvCompile import Compile
@@ -40,21 +41,38 @@ def list_packages():
40
41
  return AVAILABLE_PACKAGES
41
42
 
42
43
 
44
+ def run_subprocess(cmd_list: list):
45
+ try:
46
+ result = subprocess.run(
47
+ cmd_list,
48
+ capture_output=True, # Captures stdout and stderr
49
+ text=True, # Decodes output into strings
50
+ check=True # Raises CalledProcessError for non-zero exit codes
51
+ )
52
+ print(f"Subprocess output: {result.stdout}")
53
+ return True, result.stdout
54
+ except subprocess.CalledProcessError as e:
55
+ print(f"{TerminalColors.Colors.ERR}Subprocess error:{TerminalColors.Colors.NC} {e.stderr}")
56
+ return False, e.stderr
57
+
43
58
  def install_package(name, additional_pip_param=None):
59
+ print(f"Install optional dependency (pip): {name}")
44
60
  try:
45
61
  if additional_pip_param is None:
46
- state = subprocess.check_call([INTERPRETER, '-m', 'pip', 'install', name])
62
+ state, out = run_subprocess([INTERPRETER, '-m', 'pip', 'install', '--user', USER, name])
47
63
  else:
48
- state = subprocess.check_call([INTERPRETER, '-m', 'pip', 'install', name, additional_pip_param])
64
+ state, out = run_subprocess([INTERPRETER, '-m', 'pip', 'install', '--user', USER, name, additional_pip_param])
49
65
  if state:
50
66
  print(f"{TerminalColors.Colors.OK}[PIP] install {name} OK{TerminalColors.Colors.NC}")
51
67
  else:
52
68
  print(f"{TerminalColors.Colors.WARN}[PIP] install {name} NOK{TerminalColors.Colors.NC}")
69
+ # Support brew installed python
70
+ if "This environment is externally managed" in out:
71
+ if "brew install" in out:
72
+ print(f"Install optional dependency (brew): {name}")
73
+ state, out = run_subprocess(["brew", "install", name])
53
74
  except subprocess.CalledProcessError as e:
54
75
  print(f"{TerminalColors.Colors.ERR}[PIP] error: {e}{TerminalColors.Colors.NC}")
55
- if "externally-managed-environment" in str(e) and additional_pip_param is None:
56
- print("|- Retry with --break-system-packages parameter")
57
- return install_package(name, additional_pip_param='--break-system-packages')
58
76
  state = False
59
77
  return state
60
78
 
@@ -0,0 +1 @@
1
+ {"irq2": false, "irq2_cbf": "n/a", "irq3_cbf": "n/a", "timirq": false, "irq4": false, "auth": false, "irq4_cbf": "n/a", "devip": "192.168.3.239", "soctout": 100, "appwd": "ADmin123", "timirqcbf": "n/a", "timirqseq": 1000, "hwuid": "micr7c9ebd6147c4OS", "staessid": "Researchers", "irq1_cbf": "n/a", "cron": false, "irq4_trig": "n/a", "nwmd": "STA", "boothook": "bme280 load; dimmer load; distance load;veml7700 load;#rencoder load", "version": "2.7.0-0", "irq_prell_ms": 300, "crontasks": "n/a", "aioqueue": 5, "utc": 60, "boostmd": true, "irq1_trig": "n/a", "guimeta": "...", "socport": 9008, "webui": false, "cstmpmap": "buzzer:23", "telegram": "5878434165:AAFqTfjh60XKlyW6Bi41yIoYkxzlrID2OWU", "irq3_trig": "n/a", "dbg": true, "irq2_trig": "n/a", "irq3": false, "devfid": "TestBird", "stapwd": "rWVc8F76Kubp", "irq1": false}