micrOSDevToolKit 2.8.5__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.5
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,7 +129,7 @@ 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.5.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
135
  toolkit/DevEnvUSB.py,sha256=qnMTXupUZPHa3hkT7GSCWfofE1TEM82CAs4X4Hvqgl4,34030
@@ -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
@@ -360,8 +360,8 @@ toolkit/workspace/precompiled/urequests.mpy,sha256=piW1W0cQTfcXteBRGLK6G8osBIpD6
360
360
  toolkit/workspace/precompiled/ustyle.css,sha256=P-s8ENwAcWoZi5bocrK3_kVzEjaRFKtFvEF6JRh4MBY,1429
361
361
  toolkit/workspace/precompiled/uwidgets.js,sha256=BGeUSbNHn6PClgIgIE6QszwQVJ6j7lzgCBwvIX8cYgo,6631
362
362
  toolkit/workspace/precompiled/uwidgets_pro.js,sha256=gbkk3SVttEVvDCwde-pJhAh4k7GuCFPdcWNq32pcKPE,3639
363
- micrOSDevToolKit-2.8.5.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
364
- micrOSDevToolKit-2.8.5.dist-info/METADATA,sha256=2XIvhZ57OqPkUQ6BpIA8Ex3C_w0b2_K3Arh53E7gMD4,52937
365
- micrOSDevToolKit-2.8.5.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
366
- micrOSDevToolKit-2.8.5.dist-info/top_level.txt,sha256=rOGOIXqLBdGZAoDTiLdZ9B_leFB7bMv7YabLwuIc2bc,25
367
- micrOSDevToolKit-2.8.5.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,,
@@ -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