machineconfig 1.94__py3-none-any.whl → 1.96__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 machineconfig might be problematic. Click here for more details.

Files changed (529) hide show
  1. machineconfig/cluster/cloud_manager.py +445 -343
  2. machineconfig/cluster/data_transfer.py +63 -56
  3. machineconfig/cluster/distribute.py +284 -280
  4. machineconfig/cluster/file_manager.py +234 -237
  5. machineconfig/cluster/job_params.py +133 -133
  6. machineconfig/cluster/loader_runner.py +183 -149
  7. machineconfig/cluster/remote_machine.py +269 -252
  8. machineconfig/cluster/script_execution.py +215 -209
  9. machineconfig/cluster/script_notify_upon_completion.py +50 -43
  10. machineconfig/cluster/self_ssh.py +52 -54
  11. machineconfig/cluster/sessions_managers/__init__.py +0 -0
  12. machineconfig/cluster/sessions_managers/archive/__init__.py +0 -0
  13. machineconfig/{jobs/python → cluster/sessions_managers/archive}/create_zellij_template.py +5 -3
  14. machineconfig/cluster/sessions_managers/archive/session_managers.py +184 -0
  15. machineconfig/cluster/sessions_managers/demo_rich_zellij.py +0 -0
  16. machineconfig/cluster/sessions_managers/enhanced_command_runner.py +160 -0
  17. machineconfig/cluster/sessions_managers/wt_local.py +494 -0
  18. machineconfig/cluster/sessions_managers/wt_local_manager.py +577 -0
  19. machineconfig/cluster/sessions_managers/wt_remote.py +288 -0
  20. machineconfig/cluster/sessions_managers/wt_remote_manager.py +483 -0
  21. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +196 -0
  22. machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +418 -0
  23. machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +175 -0
  24. machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +300 -0
  25. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +228 -0
  26. machineconfig/cluster/sessions_managers/zellij_local.py +418 -0
  27. machineconfig/cluster/sessions_managers/zellij_local_manager.py +533 -0
  28. machineconfig/cluster/sessions_managers/zellij_remote.py +229 -0
  29. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +188 -0
  30. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +64 -0
  31. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +126 -0
  32. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +334 -0
  33. machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +68 -0
  34. machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +119 -0
  35. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +85 -0
  36. machineconfig/cluster/templates/cli_click.py +0 -1
  37. machineconfig/cluster/templates/cli_gooey.py +102 -104
  38. machineconfig/cluster/templates/run_cloud.py +51 -51
  39. machineconfig/cluster/templates/run_cluster.py +103 -59
  40. machineconfig/cluster/templates/run_remote.py +57 -58
  41. machineconfig/cluster/templates/utils.py +69 -36
  42. machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
  43. machineconfig/jobs/linux/msc/lid.sh +2 -4
  44. machineconfig/jobs/linux/msc/network.sh +3 -6
  45. machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
  46. machineconfig/jobs/python/check_installations.py +258 -190
  47. machineconfig/jobs/python/create_bootable_media.py +7 -3
  48. machineconfig/jobs/python/python_cargo_build_share.py +50 -50
  49. machineconfig/jobs/python/python_ve_symlink.py +10 -10
  50. machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
  51. machineconfig/jobs/python/vscode/api.py +3 -3
  52. machineconfig/jobs/python/vscode/link_ve.py +6 -6
  53. machineconfig/jobs/python/vscode/select_interpreter.py +13 -9
  54. machineconfig/jobs/python/vscode/sync_code.py +14 -11
  55. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  56. machineconfig/jobs/python_custom_installers/archive/ngrok.py +5 -5
  57. machineconfig/jobs/python_custom_installers/dev/aider.py +4 -4
  58. machineconfig/jobs/python_custom_installers/dev/alacritty.py +7 -6
  59. machineconfig/jobs/python_custom_installers/dev/brave.py +11 -7
  60. machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +7 -8
  61. machineconfig/jobs/python_custom_installers/dev/code.py +7 -5
  62. machineconfig/jobs/python_custom_installers/dev/cursor.py +66 -5
  63. machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +4 -5
  64. machineconfig/jobs/python_custom_installers/dev/espanso.py +21 -17
  65. machineconfig/jobs/python_custom_installers/dev/goes.py +6 -12
  66. machineconfig/jobs/python_custom_installers/dev/lvim.py +7 -6
  67. machineconfig/jobs/python_custom_installers/dev/nerdfont.py +5 -5
  68. machineconfig/jobs/python_custom_installers/dev/redis.py +11 -7
  69. machineconfig/jobs/python_custom_installers/dev/wezterm.py +12 -8
  70. machineconfig/jobs/python_custom_installers/dev/winget.py +194 -0
  71. machineconfig/jobs/python_custom_installers/{dev/docker.py → docker.py} +12 -7
  72. machineconfig/jobs/python_custom_installers/gh.py +10 -9
  73. machineconfig/jobs/python_custom_installers/hx.py +36 -65
  74. machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +4 -8
  75. machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +5 -10
  76. machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +3 -6
  77. machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +3 -6
  78. machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +5 -10
  79. machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +4 -8
  80. machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +5 -10
  81. machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +6 -12
  82. machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +101 -33
  83. machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +5 -10
  84. machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +3 -6
  85. machineconfig/jobs/python_custom_installers/{dev/warp-cli.py → warp-cli.py} +5 -5
  86. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  87. machineconfig/jobs/python_generic_installers/config.json +133 -9
  88. machineconfig/jobs/python_generic_installers/dev/config.json +208 -37
  89. machineconfig/jobs/python_generic_installers/update.py +3 -0
  90. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  91. machineconfig/jobs/python_linux_installers/config.json +42 -6
  92. machineconfig/jobs/python_linux_installers/dev/config.json +79 -11
  93. machineconfig/jobs/python_windows_installers/config.json +6 -0
  94. machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  95. machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
  96. machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  97. machineconfig/profile/create.py +5 -5
  98. machineconfig/profile/create_hardlinks.py +5 -5
  99. machineconfig/profile/shell.py +69 -63
  100. machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  101. machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  102. machineconfig/scripts/cloud/init.sh +9 -18
  103. machineconfig/scripts/linux/fire +5 -24
  104. machineconfig/scripts/linux/fire_agents +27 -0
  105. machineconfig/scripts/linux/share_cloud.sh +6 -12
  106. machineconfig/scripts/linux/wifi_conn +24 -0
  107. machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  108. machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
  109. machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  110. machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  111. machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  112. machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  113. machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  114. machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  115. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
  116. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
  117. machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
  118. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  119. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
  120. machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
  121. machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  122. machineconfig/scripts/python/archive/im2text.py +28 -30
  123. machineconfig/scripts/python/archive/tmate_conn.py +10 -13
  124. machineconfig/scripts/python/archive/tmate_start.py +12 -16
  125. machineconfig/scripts/python/choose_wezterm_theme.py +12 -21
  126. machineconfig/scripts/python/cloud_copy.py +49 -104
  127. machineconfig/scripts/python/cloud_manager.py +77 -91
  128. machineconfig/scripts/python/cloud_mount.py +36 -46
  129. machineconfig/scripts/python/cloud_repo_sync.py +33 -79
  130. machineconfig/scripts/python/cloud_sync.py +35 -45
  131. machineconfig/scripts/python/croshell.py +70 -92
  132. machineconfig/scripts/python/devops.py +54 -113
  133. machineconfig/scripts/python/devops_add_identity.py +71 -109
  134. machineconfig/scripts/python/devops_add_ssh_key.py +42 -149
  135. machineconfig/scripts/python/devops_backup_retrieve.py +31 -119
  136. machineconfig/scripts/python/devops_devapps_install.py +6 -10
  137. machineconfig/scripts/python/devops_update_repos.py +5 -4
  138. machineconfig/scripts/python/dotfile.py +10 -7
  139. machineconfig/scripts/python/fire_agents.py +69 -0
  140. machineconfig/scripts/python/fire_jobs.py +117 -78
  141. machineconfig/scripts/python/ftpx.py +8 -8
  142. machineconfig/scripts/python/get_zellij_cmd.py +3 -3
  143. machineconfig/scripts/python/gh_models.py +6 -4
  144. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  145. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
  146. machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  147. machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  148. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  149. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
  150. machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
  151. machineconfig/scripts/python/helpers/cloud_helpers.py +49 -46
  152. machineconfig/scripts/python/helpers/helpers2.py +26 -39
  153. machineconfig/scripts/python/helpers/helpers4.py +23 -35
  154. machineconfig/scripts/python/helpers/repo_sync_helpers.py +33 -67
  155. machineconfig/scripts/python/mount_nfs.py +8 -11
  156. machineconfig/scripts/python/mount_nw_drive.py +4 -4
  157. machineconfig/scripts/python/mount_ssh.py +2 -2
  158. machineconfig/scripts/python/onetimeshare.py +56 -57
  159. machineconfig/scripts/python/pomodoro.py +55 -55
  160. machineconfig/scripts/python/repos.py +72 -49
  161. machineconfig/scripts/python/scheduler.py +70 -53
  162. machineconfig/scripts/python/snapshot.py +21 -24
  163. machineconfig/scripts/python/start_slidev.py +6 -5
  164. machineconfig/scripts/python/start_terminals.py +3 -1
  165. machineconfig/scripts/python/viewer.py +5 -4
  166. machineconfig/scripts/python/viewer_template.py +138 -140
  167. machineconfig/scripts/python/wifi_conn.py +416 -62
  168. machineconfig/scripts/python/wsl_windows_transfer.py +18 -3
  169. machineconfig/scripts/windows/fire.ps1 +27 -15
  170. machineconfig/settings/linters/.pylintrc +6 -7
  171. machineconfig/settings/lvim/windows/config.lua +0 -0
  172. machineconfig/settings/shells/bash/init.sh +6 -0
  173. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +7 -6
  174. machineconfig/settings/shells/pwsh/init.ps1 +6 -6
  175. machineconfig/settings/shells/wt/settings.json +51 -266
  176. machineconfig/setup_linux/nix/cli_installation.sh +9 -18
  177. machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +3 -6
  178. machineconfig/setup_linux/web_shortcuts/all.sh +5 -10
  179. machineconfig/setup_linux/web_shortcuts/ascii_art.sh +7 -14
  180. machineconfig/setup_linux/web_shortcuts/croshell.sh +6 -12
  181. machineconfig/setup_linux/web_shortcuts/interactive.sh +39 -70
  182. machineconfig/setup_linux/web_shortcuts/ssh.sh +8 -16
  183. machineconfig/setup_linux/web_shortcuts/update_system.sh +7 -14
  184. machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +3 -6
  185. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +27 -21
  186. machineconfig/utils/ai/browser_user_wrapper.py +60 -45
  187. machineconfig/utils/ai/generate_file_checklist.py +4 -7
  188. machineconfig/utils/ai/url2md.py +15 -7
  189. machineconfig/utils/cloud/onedrive/setup_oauth.py +59 -0
  190. machineconfig/utils/cloud/onedrive/transaction.py +796 -0
  191. machineconfig/utils/{utils_code.py → code.py} +25 -22
  192. machineconfig/utils/installer.py +81 -44
  193. machineconfig/utils/installer_utils/installer_abc.py +7 -6
  194. machineconfig/utils/installer_utils/installer_class.py +44 -25
  195. machineconfig/utils/io_save.py +107 -0
  196. machineconfig/utils/{utils_links.py → links.py} +28 -35
  197. machineconfig/utils/{utils_options.py → options.py} +14 -28
  198. machineconfig/utils/path.py +112 -0
  199. machineconfig/utils/path_reduced.py +608 -0
  200. machineconfig/utils/procs.py +134 -73
  201. machineconfig/utils/scheduling.py +312 -222
  202. machineconfig/utils/utils.py +19 -26
  203. machineconfig/utils/utils2.py +42 -0
  204. machineconfig/utils/utils5.py +84 -0
  205. machineconfig/utils/ve.py +49 -103
  206. {machineconfig-1.94.dist-info → machineconfig-1.96.dist-info}/METADATA +5 -3
  207. machineconfig-1.96.dist-info/RECORD +437 -0
  208. {machineconfig-1.94.dist-info → machineconfig-1.96.dist-info}/WHEEL +1 -1
  209. machineconfig/cluster/session_managers.py +0 -183
  210. machineconfig/cluster/templates/f.py +0 -4
  211. machineconfig/jobs/python/__pycache__/check_installations.cpython-311.pyc +0 -0
  212. machineconfig/jobs/python/__pycache__/checkout_version.cpython-311.pyc +0 -0
  213. machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
  214. machineconfig/jobs/python/checkout_version.py +0 -123
  215. machineconfig/jobs/python/vscode/__pycache__/api.cpython-311.pyc +0 -0
  216. machineconfig/jobs/python/vscode/__pycache__/link_ve.cpython-311.pyc +0 -0
  217. machineconfig/jobs/python_custom_installers/__pycache__/hx.cpython-311.pyc +0 -0
  218. machineconfig/jobs/python_windows_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  219. machineconfig/scripts/python/.mypy_cache/.gitignore +0 -2
  220. machineconfig/scripts/python/.mypy_cache/3.11/@plugins_snapshot.json +0 -1
  221. machineconfig/scripts/python/.mypy_cache/3.11/__future__.data.json +0 -1
  222. machineconfig/scripts/python/.mypy_cache/3.11/__future__.meta.json +0 -1
  223. machineconfig/scripts/python/.mypy_cache/3.11/_ast.data.json +0 -1
  224. machineconfig/scripts/python/.mypy_cache/3.11/_ast.meta.json +0 -1
  225. machineconfig/scripts/python/.mypy_cache/3.11/_bz2.data.json +0 -1
  226. machineconfig/scripts/python/.mypy_cache/3.11/_bz2.meta.json +0 -1
  227. machineconfig/scripts/python/.mypy_cache/3.11/_codecs.data.json +0 -1
  228. machineconfig/scripts/python/.mypy_cache/3.11/_codecs.meta.json +0 -1
  229. machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.data.json +0 -1
  230. machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.meta.json +0 -1
  231. machineconfig/scripts/python/.mypy_cache/3.11/_compression.data.json +0 -1
  232. machineconfig/scripts/python/.mypy_cache/3.11/_compression.meta.json +0 -1
  233. machineconfig/scripts/python/.mypy_cache/3.11/_decimal.data.json +0 -1
  234. machineconfig/scripts/python/.mypy_cache/3.11/_decimal.meta.json +0 -1
  235. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.data.json +0 -1
  236. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.meta.json +0 -1
  237. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.data.json +0 -1
  238. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.meta.json +0 -1
  239. machineconfig/scripts/python/.mypy_cache/3.11/_io.data.json +0 -1
  240. machineconfig/scripts/python/.mypy_cache/3.11/_io.meta.json +0 -1
  241. machineconfig/scripts/python/.mypy_cache/3.11/_locale.data.json +0 -1
  242. machineconfig/scripts/python/.mypy_cache/3.11/_locale.meta.json +0 -1
  243. machineconfig/scripts/python/.mypy_cache/3.11/_stat.data.json +0 -1
  244. machineconfig/scripts/python/.mypy_cache/3.11/_stat.meta.json +0 -1
  245. machineconfig/scripts/python/.mypy_cache/3.11/_struct.data.json +0 -1
  246. machineconfig/scripts/python/.mypy_cache/3.11/_struct.meta.json +0 -1
  247. machineconfig/scripts/python/.mypy_cache/3.11/_thread.data.json +0 -1
  248. machineconfig/scripts/python/.mypy_cache/3.11/_thread.meta.json +0 -1
  249. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.data.json +0 -1
  250. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.meta.json +0 -1
  251. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.data.json +0 -1
  252. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.meta.json +0 -1
  253. machineconfig/scripts/python/.mypy_cache/3.11/_warnings.data.json +0 -1
  254. machineconfig/scripts/python/.mypy_cache/3.11/_warnings.meta.json +0 -1
  255. machineconfig/scripts/python/.mypy_cache/3.11/_weakref.data.json +0 -1
  256. machineconfig/scripts/python/.mypy_cache/3.11/_weakref.meta.json +0 -1
  257. machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.data.json +0 -1
  258. machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.meta.json +0 -1
  259. machineconfig/scripts/python/.mypy_cache/3.11/abc.data.json +0 -1
  260. machineconfig/scripts/python/.mypy_cache/3.11/abc.meta.json +0 -1
  261. machineconfig/scripts/python/.mypy_cache/3.11/argparse.data.json +0 -1
  262. machineconfig/scripts/python/.mypy_cache/3.11/argparse.meta.json +0 -1
  263. machineconfig/scripts/python/.mypy_cache/3.11/ast.data.json +0 -1
  264. machineconfig/scripts/python/.mypy_cache/3.11/ast.meta.json +0 -1
  265. machineconfig/scripts/python/.mypy_cache/3.11/binascii.data.json +0 -1
  266. machineconfig/scripts/python/.mypy_cache/3.11/binascii.meta.json +0 -1
  267. machineconfig/scripts/python/.mypy_cache/3.11/builtins.data.json +0 -1
  268. machineconfig/scripts/python/.mypy_cache/3.11/builtins.meta.json +0 -1
  269. machineconfig/scripts/python/.mypy_cache/3.11/bz2.data.json +0 -1
  270. machineconfig/scripts/python/.mypy_cache/3.11/bz2.meta.json +0 -1
  271. machineconfig/scripts/python/.mypy_cache/3.11/calendar.data.json +0 -1
  272. machineconfig/scripts/python/.mypy_cache/3.11/calendar.meta.json +0 -1
  273. machineconfig/scripts/python/.mypy_cache/3.11/codecs.data.json +0 -1
  274. machineconfig/scripts/python/.mypy_cache/3.11/codecs.meta.json +0 -1
  275. machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.data.json +0 -1
  276. machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.meta.json +0 -1
  277. machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.data.json +0 -1
  278. machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.meta.json +0 -1
  279. machineconfig/scripts/python/.mypy_cache/3.11/configparser.data.json +0 -1
  280. machineconfig/scripts/python/.mypy_cache/3.11/configparser.meta.json +0 -1
  281. machineconfig/scripts/python/.mypy_cache/3.11/contextlib.data.json +0 -1
  282. machineconfig/scripts/python/.mypy_cache/3.11/contextlib.meta.json +0 -1
  283. machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.data.json +0 -1
  284. machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.meta.json +0 -1
  285. machineconfig/scripts/python/.mypy_cache/3.11/datetime.data.json +0 -1
  286. machineconfig/scripts/python/.mypy_cache/3.11/datetime.meta.json +0 -1
  287. machineconfig/scripts/python/.mypy_cache/3.11/decimal.data.json +0 -1
  288. machineconfig/scripts/python/.mypy_cache/3.11/decimal.meta.json +0 -1
  289. machineconfig/scripts/python/.mypy_cache/3.11/dis.data.json +0 -1
  290. machineconfig/scripts/python/.mypy_cache/3.11/dis.meta.json +0 -1
  291. machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.data.json +0 -1
  292. machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.meta.json +0 -1
  293. machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.data.json +0 -1
  294. machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.meta.json +0 -1
  295. machineconfig/scripts/python/.mypy_cache/3.11/email/charset.data.json +0 -1
  296. machineconfig/scripts/python/.mypy_cache/3.11/email/charset.meta.json +0 -1
  297. machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.data.json +0 -1
  298. machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.meta.json +0 -1
  299. machineconfig/scripts/python/.mypy_cache/3.11/email/errors.data.json +0 -1
  300. machineconfig/scripts/python/.mypy_cache/3.11/email/errors.meta.json +0 -1
  301. machineconfig/scripts/python/.mypy_cache/3.11/email/header.data.json +0 -1
  302. machineconfig/scripts/python/.mypy_cache/3.11/email/header.meta.json +0 -1
  303. machineconfig/scripts/python/.mypy_cache/3.11/email/message.data.json +0 -1
  304. machineconfig/scripts/python/.mypy_cache/3.11/email/message.meta.json +0 -1
  305. machineconfig/scripts/python/.mypy_cache/3.11/email/policy.data.json +0 -1
  306. machineconfig/scripts/python/.mypy_cache/3.11/email/policy.meta.json +0 -1
  307. machineconfig/scripts/python/.mypy_cache/3.11/enum.data.json +0 -1
  308. machineconfig/scripts/python/.mypy_cache/3.11/enum.meta.json +0 -1
  309. machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.data.json +0 -1
  310. machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.meta.json +0 -1
  311. machineconfig/scripts/python/.mypy_cache/3.11/functools.data.json +0 -1
  312. machineconfig/scripts/python/.mypy_cache/3.11/functools.meta.json +0 -1
  313. machineconfig/scripts/python/.mypy_cache/3.11/gc.data.json +0 -1
  314. machineconfig/scripts/python/.mypy_cache/3.11/gc.meta.json +0 -1
  315. machineconfig/scripts/python/.mypy_cache/3.11/genericpath.data.json +0 -1
  316. machineconfig/scripts/python/.mypy_cache/3.11/genericpath.meta.json +0 -1
  317. machineconfig/scripts/python/.mypy_cache/3.11/getpass.data.json +0 -1
  318. machineconfig/scripts/python/.mypy_cache/3.11/getpass.meta.json +0 -1
  319. machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.data.json +0 -1
  320. machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.meta.json +0 -1
  321. machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.data.json +0 -1
  322. machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.meta.json +0 -1
  323. machineconfig/scripts/python/.mypy_cache/3.11/git/compat.data.json +0 -1
  324. machineconfig/scripts/python/.mypy_cache/3.11/git/compat.meta.json +0 -1
  325. machineconfig/scripts/python/.mypy_cache/3.11/git/config.data.json +0 -1
  326. machineconfig/scripts/python/.mypy_cache/3.11/git/config.meta.json +0 -1
  327. machineconfig/scripts/python/.mypy_cache/3.11/git/db.data.json +0 -1
  328. machineconfig/scripts/python/.mypy_cache/3.11/git/db.meta.json +0 -1
  329. machineconfig/scripts/python/.mypy_cache/3.11/git/diff.data.json +0 -1
  330. machineconfig/scripts/python/.mypy_cache/3.11/git/diff.meta.json +0 -1
  331. machineconfig/scripts/python/.mypy_cache/3.11/git/exc.data.json +0 -1
  332. machineconfig/scripts/python/.mypy_cache/3.11/git/exc.meta.json +0 -1
  333. machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.data.json +0 -1
  334. machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.meta.json +0 -1
  335. machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.data.json +0 -1
  336. machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.meta.json +0 -1
  337. machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.data.json +0 -1
  338. machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.meta.json +0 -1
  339. machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.data.json +0 -1
  340. machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.meta.json +0 -1
  341. machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.data.json +0 -1
  342. machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.meta.json +0 -1
  343. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.data.json +0 -1
  344. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.meta.json +0 -1
  345. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.data.json +0 -1
  346. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.meta.json +0 -1
  347. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.data.json +0 -1
  348. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.meta.json +0 -1
  349. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.data.json +0 -1
  350. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.meta.json +0 -1
  351. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.data.json +0 -1
  352. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.meta.json +0 -1
  353. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.data.json +0 -1
  354. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.meta.json +0 -1
  355. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.data.json +0 -1
  356. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.meta.json +0 -1
  357. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.data.json +0 -1
  358. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.meta.json +0 -1
  359. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.data.json +0 -1
  360. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.meta.json +0 -1
  361. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.data.json +0 -1
  362. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.meta.json +0 -1
  363. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.data.json +0 -1
  364. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.meta.json +0 -1
  365. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.data.json +0 -1
  366. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.meta.json +0 -1
  367. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.data.json +0 -1
  368. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.meta.json +0 -1
  369. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.data.json +0 -1
  370. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.meta.json +0 -1
  371. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.data.json +0 -1
  372. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.meta.json +0 -1
  373. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.data.json +0 -1
  374. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.meta.json +0 -1
  375. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.data.json +0 -1
  376. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.meta.json +0 -1
  377. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.data.json +0 -1
  378. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.meta.json +0 -1
  379. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.data.json +0 -1
  380. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.meta.json +0 -1
  381. machineconfig/scripts/python/.mypy_cache/3.11/git/remote.data.json +0 -1
  382. machineconfig/scripts/python/.mypy_cache/3.11/git/remote.meta.json +0 -1
  383. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.data.json +0 -1
  384. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.meta.json +0 -1
  385. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.data.json +0 -1
  386. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.meta.json +0 -1
  387. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.data.json +0 -1
  388. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.meta.json +0 -1
  389. machineconfig/scripts/python/.mypy_cache/3.11/git/types.data.json +0 -1
  390. machineconfig/scripts/python/.mypy_cache/3.11/git/types.meta.json +0 -1
  391. machineconfig/scripts/python/.mypy_cache/3.11/git/util.data.json +0 -1
  392. machineconfig/scripts/python/.mypy_cache/3.11/git/util.meta.json +0 -1
  393. machineconfig/scripts/python/.mypy_cache/3.11/glob.data.json +0 -1
  394. machineconfig/scripts/python/.mypy_cache/3.11/glob.meta.json +0 -1
  395. machineconfig/scripts/python/.mypy_cache/3.11/gzip.data.json +0 -1
  396. machineconfig/scripts/python/.mypy_cache/3.11/gzip.meta.json +0 -1
  397. machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.data.json +0 -1
  398. machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.meta.json +0 -1
  399. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.data.json +0 -1
  400. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.meta.json +0 -1
  401. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.data.json +0 -1
  402. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.meta.json +0 -1
  403. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.data.json +0 -1
  404. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.meta.json +0 -1
  405. machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.data.json +0 -1
  406. machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.meta.json +0 -1
  407. machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.data.json +0 -1
  408. machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.meta.json +0 -1
  409. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.data.json +0 -1
  410. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.meta.json +0 -1
  411. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.data.json +0 -1
  412. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.meta.json +0 -1
  413. machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.data.json +0 -1
  414. machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.meta.json +0 -1
  415. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.data.json +0 -1
  416. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.meta.json +0 -1
  417. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.data.json +0 -1
  418. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.meta.json +0 -1
  419. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.data.json +0 -1
  420. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.meta.json +0 -1
  421. machineconfig/scripts/python/.mypy_cache/3.11/inspect.data.json +0 -1
  422. machineconfig/scripts/python/.mypy_cache/3.11/inspect.meta.json +0 -1
  423. machineconfig/scripts/python/.mypy_cache/3.11/io.data.json +0 -1
  424. machineconfig/scripts/python/.mypy_cache/3.11/io.meta.json +0 -1
  425. machineconfig/scripts/python/.mypy_cache/3.11/itertools.data.json +0 -1
  426. machineconfig/scripts/python/.mypy_cache/3.11/itertools.meta.json +0 -1
  427. machineconfig/scripts/python/.mypy_cache/3.11/locale.data.json +0 -1
  428. machineconfig/scripts/python/.mypy_cache/3.11/locale.meta.json +0 -1
  429. machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.data.json +0 -1
  430. machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.meta.json +0 -1
  431. machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.data.json +0 -1
  432. machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.meta.json +0 -1
  433. machineconfig/scripts/python/.mypy_cache/3.11/mmap.data.json +0 -1
  434. machineconfig/scripts/python/.mypy_cache/3.11/mmap.meta.json +0 -1
  435. machineconfig/scripts/python/.mypy_cache/3.11/numbers.data.json +0 -1
  436. machineconfig/scripts/python/.mypy_cache/3.11/numbers.meta.json +0 -1
  437. machineconfig/scripts/python/.mypy_cache/3.11/opcode.data.json +0 -1
  438. machineconfig/scripts/python/.mypy_cache/3.11/opcode.meta.json +0 -1
  439. machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.data.json +0 -1
  440. machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.meta.json +0 -1
  441. machineconfig/scripts/python/.mypy_cache/3.11/os/path.data.json +0 -1
  442. machineconfig/scripts/python/.mypy_cache/3.11/os/path.meta.json +0 -1
  443. machineconfig/scripts/python/.mypy_cache/3.11/pathlib.data.json +0 -1
  444. machineconfig/scripts/python/.mypy_cache/3.11/pathlib.meta.json +0 -1
  445. machineconfig/scripts/python/.mypy_cache/3.11/platform.data.json +0 -1
  446. machineconfig/scripts/python/.mypy_cache/3.11/platform.meta.json +0 -1
  447. machineconfig/scripts/python/.mypy_cache/3.11/posixpath.data.json +0 -1
  448. machineconfig/scripts/python/.mypy_cache/3.11/posixpath.meta.json +0 -1
  449. machineconfig/scripts/python/.mypy_cache/3.11/re.data.json +0 -1
  450. machineconfig/scripts/python/.mypy_cache/3.11/re.meta.json +0 -1
  451. machineconfig/scripts/python/.mypy_cache/3.11/resource.data.json +0 -1
  452. machineconfig/scripts/python/.mypy_cache/3.11/resource.meta.json +0 -1
  453. machineconfig/scripts/python/.mypy_cache/3.11/shlex.data.json +0 -1
  454. machineconfig/scripts/python/.mypy_cache/3.11/shlex.meta.json +0 -1
  455. machineconfig/scripts/python/.mypy_cache/3.11/shutil.data.json +0 -1
  456. machineconfig/scripts/python/.mypy_cache/3.11/shutil.meta.json +0 -1
  457. machineconfig/scripts/python/.mypy_cache/3.11/signal.data.json +0 -1
  458. machineconfig/scripts/python/.mypy_cache/3.11/signal.meta.json +0 -1
  459. machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.data.json +0 -1
  460. machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.meta.json +0 -1
  461. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.data.json +0 -1
  462. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.meta.json +0 -1
  463. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.data.json +0 -1
  464. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.meta.json +0 -1
  465. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.data.json +0 -1
  466. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.meta.json +0 -1
  467. machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.data.json +0 -1
  468. machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.meta.json +0 -1
  469. machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.data.json +0 -1
  470. machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.meta.json +0 -1
  471. machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.data.json +0 -1
  472. machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.meta.json +0 -1
  473. machineconfig/scripts/python/.mypy_cache/3.11/stat.data.json +0 -1
  474. machineconfig/scripts/python/.mypy_cache/3.11/stat.meta.json +0 -1
  475. machineconfig/scripts/python/.mypy_cache/3.11/string.data.json +0 -1
  476. machineconfig/scripts/python/.mypy_cache/3.11/string.meta.json +0 -1
  477. machineconfig/scripts/python/.mypy_cache/3.11/struct.data.json +0 -1
  478. machineconfig/scripts/python/.mypy_cache/3.11/struct.meta.json +0 -1
  479. machineconfig/scripts/python/.mypy_cache/3.11/subprocess.data.json +0 -1
  480. machineconfig/scripts/python/.mypy_cache/3.11/subprocess.meta.json +0 -1
  481. machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.data.json +0 -1
  482. machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.meta.json +0 -1
  483. machineconfig/scripts/python/.mypy_cache/3.11/tarfile.data.json +0 -1
  484. machineconfig/scripts/python/.mypy_cache/3.11/tarfile.meta.json +0 -1
  485. machineconfig/scripts/python/.mypy_cache/3.11/tempfile.data.json +0 -1
  486. machineconfig/scripts/python/.mypy_cache/3.11/tempfile.meta.json +0 -1
  487. machineconfig/scripts/python/.mypy_cache/3.11/textwrap.data.json +0 -1
  488. machineconfig/scripts/python/.mypy_cache/3.11/textwrap.meta.json +0 -1
  489. machineconfig/scripts/python/.mypy_cache/3.11/threading.data.json +0 -1
  490. machineconfig/scripts/python/.mypy_cache/3.11/threading.meta.json +0 -1
  491. machineconfig/scripts/python/.mypy_cache/3.11/time.data.json +0 -1
  492. machineconfig/scripts/python/.mypy_cache/3.11/time.meta.json +0 -1
  493. machineconfig/scripts/python/.mypy_cache/3.11/types.data.json +0 -1
  494. machineconfig/scripts/python/.mypy_cache/3.11/types.meta.json +0 -1
  495. machineconfig/scripts/python/.mypy_cache/3.11/typing.data.json +0 -1
  496. machineconfig/scripts/python/.mypy_cache/3.11/typing.meta.json +0 -1
  497. machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.data.json +0 -1
  498. machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.meta.json +0 -1
  499. machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.data.json +0 -1
  500. machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.meta.json +0 -1
  501. machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.data.json +0 -1
  502. machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.meta.json +0 -1
  503. machineconfig/scripts/python/.mypy_cache/3.11/uuid.data.json +0 -1
  504. machineconfig/scripts/python/.mypy_cache/3.11/uuid.meta.json +0 -1
  505. machineconfig/scripts/python/.mypy_cache/3.11/warnings.data.json +0 -1
  506. machineconfig/scripts/python/.mypy_cache/3.11/warnings.meta.json +0 -1
  507. machineconfig/scripts/python/.mypy_cache/3.11/weakref.data.json +0 -1
  508. machineconfig/scripts/python/.mypy_cache/3.11/weakref.meta.json +0 -1
  509. machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.data.json +0 -1
  510. machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.meta.json +0 -1
  511. machineconfig/scripts/python/.mypy_cache/3.11/zlib.data.json +0 -1
  512. machineconfig/scripts/python/.mypy_cache/3.11/zlib.meta.json +0 -1
  513. machineconfig/scripts/python/.mypy_cache/CACHEDIR.TAG +0 -3
  514. machineconfig/scripts/python/__pycache__/cloud_repo_sync.cpython-311.pyc +0 -0
  515. machineconfig/scripts/python/__pycache__/gh_models.cpython-311.pyc +0 -0
  516. machineconfig/scripts/python/__pycache__/url2md.cpython-311.pyc +0 -0
  517. machineconfig/scripts/python/__pycache__/viewer.cpython-311.pyc +0 -0
  518. machineconfig/scripts/python/__pycache__/vscode_api.cpython-311.pyc +0 -0
  519. machineconfig/settings/__pycache__/__init__.cpython-311.pyc +0 -0
  520. machineconfig/settings/linters/.ruff_cache/.gitignore +0 -2
  521. machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +0 -1
  522. machineconfig/settings/shells/ipy/profiles/default/__pycache__/__init__.cpython-311.pyc +0 -0
  523. machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/__init__.cpython-311.pyc +0 -0
  524. machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/playext.cpython-311.pyc +0 -0
  525. machineconfig/utils/utils_path.py +0 -151
  526. machineconfig/utils/ve_utils/ve1.py +0 -111
  527. machineconfig/utils/ve_utils/ve2.py +0 -142
  528. machineconfig-1.94.dist-info/RECORD +0 -710
  529. {machineconfig-1.94.dist-info → machineconfig-1.96.dist-info}/top_level.txt +0 -0
@@ -1,16 +1,22 @@
1
1
  """shell
2
2
  """
3
3
 
4
- from crocodile.environment import PathVar
5
- from crocodile.core import randstr
6
- from crocodile.file_management import P
4
+ from machineconfig.utils.utils2 import randstr
5
+ from machineconfig.utils.path_reduced import P as PathExtended, modify_text
7
6
  from crocodile.meta import Terminal
8
7
  from machineconfig.utils.utils import LIBRARY_ROOT, REPO_ROOT, display_options
9
8
  import platform
10
- from typing import Optional
9
+ import os
10
+ from typing import Literal, Optional
11
+ from rich.console import Console
12
+ from rich.panel import Panel
11
13
 
12
14
 
13
15
  system = platform.system()
16
+ sep = ";" if system == "Windows" else ":" # PATH separator, this is special for PATH object, not to be confused with PathExtended.sep (normal paths), usually / or \
17
+ PATH = os.environ["PATH"].split(sep) # this is a list of paths in PATH variable, not a crocodile.file_management.P object.
18
+ console = Console()
19
+ BOX_WIDTH = 100 # Define BOX_WIDTH or get it from a config
14
20
 
15
21
  # --------------------------------------- SHELL PROFILE --------------------------------------------------------
16
22
  # modification of shell profile by additing dirs to PATH
@@ -21,60 +27,65 @@ system = platform.system()
21
27
  def create_default_shell_profile():
22
28
  profile_path = get_shell_profile_path()
23
29
  profile = profile_path.read_text()
24
- if system == "Windows": source = f". {LIBRARY_ROOT.joinpath('settings/shells/pwsh/init.ps1').collapseuser().to_str().replace('~', '$HOME')}"
25
- else: source = f"source {LIBRARY_ROOT.joinpath('settings/shells/bash/init.sh').collapseuser().to_str().replace('~', '$HOME')}"
30
+ if system == "Windows": source = f". {str(LIBRARY_ROOT.joinpath('settings/shells/pwsh/init.ps1').collapseuser()).replace('~', '$HOME')}"
31
+ else: source = f"source {str(LIBRARY_ROOT.joinpath('settings/shells/bash/init.sh').collapseuser()).replace('~', '$HOME')}"
26
32
 
27
33
  if source in profile:
28
- print(f"""
29
- ╭{'─' * 78}╮
30
- │ 🔄 PROFILE | Skipping init script sourcing - already present in profile │
31
- ╰{'─' * 78}╯
32
- """)
34
+ console.print(Panel("🔄 PROFILE | Skipping init script sourcing - already present in profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
33
35
  else:
34
- print(f"""
35
- ╭{'─' * 78}╮
36
- │ 📝 PROFILE | Adding init script sourcing to profile │
37
- ╰{'─' * 78}╯
38
- """)
36
+ console.print(Panel("📝 PROFILE | Adding init script sourcing to profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
39
37
  profile += "\n" + source + "\n"
40
38
  if system == "Linux":
41
39
  res = Terminal().run("cat /proc/version").op
42
40
  if "microsoft" in res.lower() or "wsl" in res.lower():
43
41
  profile += "\ncd ~" # this is to make sure that the current dir is not in the windows file system, which is terribly slow and its a bad idea to be there anyway.
44
- print("📌 WSL detected - adding 'cd ~' to profile to avoid Windows filesystem")
45
- profile_path.create(parents_only=True).write_text(profile)
46
- print("✅ Profile updated successfully")
42
+ console.print("📌 WSL detected - adding 'cd ~' to profile to avoid Windows filesystem")
43
+ profile_path.parent.mkdir(parents=True, exist_ok=True)
44
+ profile_path.write_text(profile)
45
+ console.print(Panel("✅ Profile updated successfully", title="[bold blue]Profile[/bold blue]", border_style="blue"))
47
46
 
48
47
 
49
48
  def get_shell_profile_path():
50
49
  if system == "Windows":
51
50
  obj = Terminal().run("$PROFILE", shell="pwsh")
52
51
  res = obj.op2path()
53
- if isinstance(res, P): profile_path = res
52
+ if isinstance(res, PathExtended): profile_path = res
54
53
  else:
55
54
  obj.print(capture=False)
56
55
  raise ValueError(f"Could not get profile path for Windows. Got {res}")
57
- elif system == "Linux": profile_path = P("~/.bashrc").expanduser()
56
+ elif system == "Linux": profile_path = PathExtended("~/.bashrc").expanduser()
58
57
  else: raise ValueError(f"Not implemented for this system {system}")
59
-
60
- print(f"""
61
- ╔{'═' * 78}╗
62
- ║ 🐚 SHELL PROFILE | Working with path: `{profile_path}`
63
- ╚{'═' * 78}╝
64
- """)
58
+ console.print(Panel(f"🐚 SHELL PROFILE | Working with path: `{profile_path}`", title="[bold blue]Shell Profile[/bold blue]", border_style="blue"))
65
59
  return profile_path
66
60
 
67
61
 
62
+ def append_temporarily(dirs: list[str], kind: Literal['append', 'prefix', 'replace'] = "append"):
63
+ dirs_ = []
64
+ for path in dirs:
65
+ path_rel = PathExtended(path).collapseuser(strict=False)
66
+ if path_rel.as_posix() in PATH or str(path_rel) in PATH or str(path_rel.expanduser()) in PATH or path_rel.expanduser().as_posix() in PATH:
67
+ print(f"Path passed `{path}` is already in PATH, skipping the appending.")
68
+ else:
69
+ dirs_.append(path_rel.as_posix() if system == "Linux" else str(path_rel))
70
+ dirs = dirs_
71
+ if len(dirs) == 0: return ""
72
+
73
+ if system == "Windows":
74
+ """Source: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7.2"""
75
+ if kind == "append": command = fr'$env:Path += ";{sep.join(dirs)}"' # Append to the Path variable in the current window:
76
+ elif kind == "prefix": command = fr'$env:Path = "{sep.join(dirs)};" + $env:Path' # Prefix the Path variable in the current window:
77
+ elif kind == "replace": command = fr'$env:Path = "{sep.join(dirs)}"' # Replace the Path variable in the current window (use with caution!):
78
+ else: raise KeyError
79
+ return command # if run is False else tm.run(command, shell="powershell")
80
+ elif system in ["Linux", "Darwin"]: result = f'export PATH="{sep.join(dirs)}:$PATH"'
81
+ else: raise ValueError
82
+ return result
83
+
68
84
  def main_env_path(choice: Optional[str] = None, profile_path: Optional[str] = None):
69
85
  env_path = LIBRARY_ROOT.joinpath("profile/env_path.toml").readit()
70
86
  dirs = env_path[f'path_{system.lower()}']['extension']
71
87
 
72
- print(f"""
73
- ╔{'═' * 78}╗
74
- ║ 🔍 ENVIRONMENT | Current PATH variables:
75
- ╚{'═' * 78}╝
76
- """)
77
- P.get_env().PATH.print()
88
+ console.print(Panel("🔍 ENVIRONMENT | Current PATH variables:", title="[bold blue]Environment[/bold blue]", border_style="blue"))
78
89
 
79
90
  if choice is None:
80
91
  tmp = display_options(msg="Which directory to add?", options=dirs + ["all", "none(EXIT)"], default="none(EXIT)")
@@ -83,23 +94,22 @@ def main_env_path(choice: Optional[str] = None, profile_path: Optional[str] = No
83
94
  if str(choice) != "all": dirs = [choice]
84
95
  if choice == "none(EXIT)": return
85
96
 
86
- print(f"\n📌 Adding directories to PATH: {dirs}")
87
- addition = PathVar.append_temporarily(dirs=dirs)
88
- profile_path_obj = P(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
97
+ console.print(f"\n📌 Adding directories to PATH: {dirs}")
98
+ addition = append_temporarily(dirs=dirs)
99
+ profile_path_obj = PathExtended(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
89
100
  profile_path_obj.copy(name=profile_path_obj.name + ".orig_" + randstr())
90
- print(f"💾 Created backup of profile: {profile_path_obj.name}.orig_*")
91
- profile_path_obj.modify_text(addition, addition, replace_line=False, notfound_append=True)
92
- print("✅ PATH variables added to profile successfully")
101
+ console.print(f"💾 Created backup of profile: {profile_path_obj.name}.orig_*")
102
+ # Inline deprecated P.modify_text: if file missing, seed with search text before modification
103
+ current = profile_path_obj.read_text() if profile_path_obj.exists() else addition
104
+ updated = modify_text(current, addition, addition, replace_line=False, notfound_append=True)
105
+ profile_path_obj.write_text(updated)
106
+ console.print(Panel("✅ PATH variables added to profile successfully", title="[bold blue]Environment[/bold blue]", border_style="blue"))
93
107
 
94
108
 
95
109
  def main_add_sources_to_shell_profile(profile_path: Optional[str] = None, choice: Optional[str] = None):
96
110
  sources: list[str] = LIBRARY_ROOT.joinpath("profile/sources.toml").readit()[system.lower()]['files']
97
111
 
98
- print(f"""
99
- ╭{'─' * 78}╮
100
- │ 🔄 Adding sources to shell profile │
101
- ╰{'─' * 78}╯
102
- """)
112
+ console.print(Panel("🔄 Adding sources to shell profile", title="[bold blue]Sources[/bold blue]", border_style="blue"))
103
113
 
104
114
  if choice is None:
105
115
  choice_obj = display_options(msg="Which patch to add?", options=sources + ["all", "none(EXIT)"], default="none(EXIT)", multi=True)
@@ -112,37 +122,33 @@ def main_add_sources_to_shell_profile(profile_path: Optional[str] = None, choice
112
122
  elif choice == "none(EXIT)": return
113
123
 
114
124
  if isinstance(profile_path, str):
115
- profile_path_obj = P(profile_path)
125
+ profile_path_obj = PathExtended(profile_path)
116
126
  else: profile_path_obj = get_shell_profile_path()
117
127
  profile = profile_path_obj.read_text()
118
128
 
119
129
  for a_file in sources:
120
130
  tmp = a_file.replace("REPO_ROOT", REPO_ROOT.as_posix()).replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix())
121
- file = P(tmp).collapseuser() # this makes the shell profile interuseable across machines.
131
+ file = PathExtended(tmp).collapseuser() # this makes the shell profile interuseable across machines.
122
132
  file = file.as_posix() if system == "Linux" else str(file)
123
133
  if file not in profile:
124
134
  if system == "Windows":
125
135
  profile += f"\n. {file}"
126
- print(f"➕ Added PowerShell source: {file}")
136
+ console.print(f"➕ Added PowerShell source: {file}")
127
137
  elif system == "Linux":
128
138
  profile += f"\nsource {file}"
129
- print(f"➕ Added Bash source: {file}")
139
+ console.print(f"➕ Added Bash source: {file}")
130
140
  else: raise ValueError(f"Not implemented for this system {system}")
131
141
  else:
132
- print(f"⏭️ Source already present: {file}")
142
+ console.print(f"⏭️ Source already present: {file}")
133
143
 
134
144
  profile_path_obj.write_text(profile)
135
- print("✅ Shell profile updated with sources")
145
+ console.print(Panel("✅ Shell profile updated with sources", title="[bold blue]Sources[/bold blue]", border_style="blue"))
136
146
 
137
147
 
138
148
  def main_add_patches_to_shell_profile(profile_path: Optional[str] = None, choice: Optional[str] = None):
139
149
  patches: list[str] = list(LIBRARY_ROOT.joinpath(f"profile/patches/{system.lower()}").search().apply(lambda x: x.as_posix()))
140
150
 
141
- print(f"""
142
- ╭{'─' * 78}╮
143
- │ 🩹 Adding patches to shell profile │
144
- ╰{'─' * 78}╯
145
- """)
151
+ console.print(Panel("🩹 Adding patches to shell profile", title="[bold blue]Patches[/bold blue]", border_style="blue"))
146
152
 
147
153
  if choice is None:
148
154
  choice_chosen = display_options(msg="Which patch to add?", options=list(patches) + ["all", "none(EXIT)"], default="none(EXIT)", multi=False)
@@ -150,31 +156,31 @@ def main_add_patches_to_shell_profile(profile_path: Optional[str] = None, choice
150
156
  choice = choice_chosen
151
157
  if choice == "none(EXIT)": return None
152
158
  elif str(choice) == "all":
153
- print("📌 Adding all patches to profile")
159
+ console.print("📌 Adding all patches to profile")
154
160
  else:
155
161
  patches = [choice]
156
- print(f"📌 Adding selected patch: {choice}")
162
+ console.print(f"📌 Adding selected patch: {choice}")
157
163
 
158
- profile_path_obj = P(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
164
+ profile_path_obj = PathExtended(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
159
165
  profile = profile_path_obj.read_text()
160
166
 
161
167
  for patch_path in patches:
162
- patch_path_obj = P(patch_path)
168
+ patch_path_obj = PathExtended(patch_path)
163
169
  patch = patch_path_obj.read_text()
164
170
  if patch in profile:
165
- print(f"⏭️ Patch already present: {patch_path_obj.name}")
171
+ console.print(f"⏭️ Patch already present: {patch_path_obj.name}")
166
172
  else:
167
173
  profile += "\n" + patch
168
- print(f"➕ Added patch: {patch_path_obj.name}")
174
+ console.print(f"➕ Added patch: {patch_path_obj.name}")
169
175
 
170
176
  if system == "Linux":
171
177
  res = Terminal().run("cat /proc/version").op
172
178
  if "microsoft" in res.lower() or "wsl" in res.lower():
173
179
  profile += "\ncd ~" # this is to make sure that the current dir is not in the windows file system, which is terribly slow and its a bad idea to be there anyway.
174
- print("📌 WSL detected - adding 'cd ~' to profile to avoid Windows filesystem")
180
+ console.print("📌 WSL detected - adding 'cd ~' to profile to avoid Windows filesystem")
175
181
 
176
182
  profile_path_obj.write_text(profile)
177
- print("✅ Shell profile updated with patches")
183
+ console.print(Panel("✅ Shell profile updated with patches", title="[bold blue]Patches[/bold blue]", border_style="blue"))
178
184
 
179
185
 
180
186
  if __name__ == '__main__':
@@ -4,16 +4,14 @@
4
4
  #=======================================================================
5
5
  # This script initializes cloud configuration settings and sets up the environment
6
6
 
7
- echo """
8
- #=======================================================================
7
+ echo """#=======================================================================
9
8
  🔑 COLLECTING CONFIGURATION PARAMETERS | Setting up cloud environment
10
9
  #=======================================================================
11
10
  """
12
11
 
13
12
  # Check for required environment variables and prompt if not set
14
13
  if [ -z "$CLOUD_CONFIG_NAME" ]; then
15
- echo """
16
- #-----------------------------------------------------------------------
14
+ echo """ #-----------------------------------------------------------------------
17
15
  📋 CONFIG NAME | Specify cloud configuration to run
18
16
  #-----------------------------------------------------------------------
19
17
  """
@@ -23,8 +21,7 @@ if [ -z "$CLOUD_CONFIG_NAME" ]; then
23
21
  fi
24
22
 
25
23
  if [ -z "$SHARE_URL" ]; then
26
- echo """
27
- #-----------------------------------------------------------------------
24
+ echo """ #-----------------------------------------------------------------------
28
25
  🔗 SHARE URL | Provide cloud share URL for configuration files
29
26
  #-----------------------------------------------------------------------
30
27
  ℹ️ To get share_url, go to dotfiles and run: cloud_copy . :^ --config ss
@@ -35,8 +32,7 @@ if [ -z "$SHARE_URL" ]; then
35
32
  fi
36
33
 
37
34
  if [ -z "$DECRYPTION_PASSWORD" ]; then
38
- echo """
39
- #-----------------------------------------------------------------------
35
+ echo """ #-----------------------------------------------------------------------
40
36
  🔒 SECURITY | Enter decryption password
41
37
  #-----------------------------------------------------------------------
42
38
  """
@@ -45,8 +41,7 @@ if [ -z "$DECRYPTION_PASSWORD" ]; then
45
41
  echo ""
46
42
  fi
47
43
 
48
- echo """
49
- #=======================================================================
44
+ echo """#=======================================================================
50
45
  📦 INSTALLING ESSENTIALS | Setting up core dependencies
51
46
  #=======================================================================
52
47
  """
@@ -70,8 +65,7 @@ echo "🚀 Activating Python virtual environment..."
70
65
  echo "📋 Setting up code repositories..."
71
66
  curl bit.ly/cfgreposlinux -L | bash
72
67
 
73
- echo """
74
- #=======================================================================
68
+ echo """#=======================================================================
75
69
  ⚙️ CONFIGURING ENVIRONMENT | Setting up dotfiles
76
70
  #=======================================================================
77
71
  """
@@ -93,8 +87,7 @@ source ~/code/machineconfig/src/machineconfig/setup_linux/symlinks.sh
93
87
  echo "🔄 Reloading shell configuration..."
94
88
  . ~/.bashrc
95
89
 
96
- echo """
97
- #=======================================================================
90
+ echo """#=======================================================================
98
91
  📦 INSTALLING DEVELOPMENT TOOLS | Setting up development environment
99
92
  #=======================================================================
100
93
  """
@@ -111,8 +104,7 @@ python -m fire machineconfig.scripts.python.devops_devapps_install main --which=
111
104
  echo "🔄 Reloading shell configuration..."
112
105
  . ~/.bashrc
113
106
 
114
- echo """
115
- #=======================================================================
107
+ echo """#=======================================================================
116
108
  ✅ FINALIZING CONFIGURATION | Running cloud-specific initialization
117
109
  #=======================================================================
118
110
  """
@@ -121,8 +113,7 @@ echo """
121
113
  echo "⚙️ Running cloud-specific configuration: $CLOUD_CONFIG_NAME"
122
114
  . $HOME/dotfiles/config/cloud/$CLOUD_CONFIG_NAME/init.sh
123
115
 
124
- echo """
125
- #=======================================================================
116
+ echo """#=======================================================================
126
117
  ✅ INITIALIZATION COMPLETE | Cloud environment has been set up successfully
127
118
  #=======================================================================
128
119
  """
@@ -2,38 +2,20 @@
2
2
 
3
3
  . $HOME/scripts/activate_ve 've'
4
4
 
5
- op_script=$HOME/tmp_results/shells/python_return_command.sh
6
-
7
- # echo "May be removing $op_script"
8
- # sleep 1
5
+ # Generate random string of length 5
6
+ random_str=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
7
+ export op_script=$HOME/tmp_results/shells/$random_str/python_return_command.sh
8
+ # op_script=$HOME/tmp_results/shells/$random_str/python_return_command.sh
9
9
 
10
10
  if [ -f "$op_script" ]; then
11
11
  rm $op_script
12
12
  fi
13
13
 
14
14
 
15
- # if [ "$TERM" = "xterm-256color" ] || [ "$TERM" = "alacritty" ]; then
16
- # {
17
- # chafa "$HOME/code/machineconfig/assets/aafire.webp" --speed 1 --duration 1 --symbols ascii
18
- # } || {
19
- # echo "An error occurred while executing the script."
20
- # }
21
- # fi
22
-
23
- # timeout 0.5s aafire # -driver slang
24
- # clear
25
-
26
- # python $(dirname $(dirname $0))/python/fire_jobs.py "$@"
27
- # echo "Firing script preprocessor"
28
- # sleep 1
29
-
30
15
  python -m machineconfig.scripts.python.fire_jobs "$@"
31
- # ~/venvs/ve/bin/python -m machineconfig.scripts.python.fire_jobs "$@"
32
16
 
33
17
  if [ -f "$op_script" ]; then
34
- # echo "Executing $op_script"
35
- # sleep 1
36
-
18
+ echo "Running $op_script"
37
19
  chmod +x $op_script
38
20
  set -- # clear all positional parameters
39
21
  source $op_script # sourcing the script means the args passed to the this script are passed to the sourced script which cofuses the sources script as it contains activate_ve and it doesn't understand first.sh arguments.
@@ -42,5 +24,4 @@ fi
42
24
 
43
25
  if [ -n "$VIRTUAL_ENV" ]; then
44
26
  deactivate || true
45
-
46
27
  fi
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env bash
2
+
3
+ . $HOME/scripts/activate_ve 've'
4
+
5
+ # Generate random string of length 5
6
+ random_str=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
7
+ export op_script=$HOME/tmp_results/shells/$random_str/python_return_command.sh
8
+ # op_script=$HOME/tmp_results/shells/$random_str/python_return_command.sh
9
+
10
+ if [ -f "$op_script" ]; then
11
+ rm $op_script
12
+ fi
13
+
14
+
15
+ python -m machineconfig.scripts.python.fire_agents "$@"
16
+
17
+ if [ -f "$op_script" ]; then
18
+ echo "Running $op_script"
19
+ chmod +x $op_script
20
+ set -- # clear all positional parameters
21
+ source $op_script # sourcing the script means the args passed to the this script are passed to the sourced script which cofuses the sources script as it contains activate_ve and it doesn't understand first.sh arguments.
22
+ fi
23
+
24
+
25
+ if [ -n "$VIRTUAL_ENV" ]; then
26
+ deactivate || true
27
+ fi
@@ -7,8 +7,7 @@
7
7
 
8
8
  # Check if arguments are provided
9
9
  if [ $# -eq 0 ]; then
10
- echo """
11
- #=======================================================================
10
+ echo """ #=======================================================================
12
11
  ❌ ERROR | No arguments specified
13
12
  #=======================================================================
14
13
 
@@ -27,8 +26,7 @@ if tty -s; then
27
26
 
28
27
  # Check if the file exists
29
28
  if [ ! -e "$file" ]; then
30
- echo """
31
- #=======================================================================
29
+ echo """ #=======================================================================
32
30
  ❌ ERROR | File not found
33
31
  #=======================================================================
34
32
 
@@ -37,8 +35,7 @@ if tty -s; then
37
35
  return 1
38
36
  fi
39
37
 
40
- echo """
41
- #=======================================================================
38
+ echo """ #=======================================================================
42
39
  📤 UPLOADING | Sharing file to transfer.sh
43
40
  #=======================================================================
44
41
  """
@@ -56,8 +53,7 @@ if tty -s; then
56
53
  else
57
54
  # Pipe mode - reading from stdin
58
55
  file_name=$1
59
- echo """
60
- #=======================================================================
56
+ echo """ #=======================================================================
61
57
  📤 UPLOADING | Sharing from stdin to transfer.sh
62
58
  #=======================================================================
63
59
  """
@@ -65,16 +61,14 @@ else
65
61
  curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" | tee /dev/null
66
62
 
67
63
  # Display QR code for the URL
68
- echo """
69
- #=======================================================================
64
+ echo """ #=======================================================================
70
65
  📱 QR CODE | Scan with mobile device to access file
71
66
  #=======================================================================
72
67
  """
73
68
  qr "https://transfer.sh/$file_name"
74
69
  fi
75
70
 
76
- echo """
77
- #=======================================================================
71
+ echo """#=======================================================================
78
72
  ✅ UPLOAD COMPLETE | File is available at the URL above
79
73
  #=======================================================================
80
74
  """
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # check below if VIRTUAL_ENV is set
4
+ # if [ -z "$VIRTUAL_ENV" ]; then
5
+ source $HOME/scripts/activate_ve 've'
6
+ # fi
7
+
8
+ op_script=$HOME/tmp_results/shells/python_return_command.sh
9
+ if [ -f "$op_script" ]; then
10
+ rm $op_script
11
+ fi
12
+
13
+ python machineconfig.scripts.python.wifi_conn
14
+
15
+ if [ -f "$op_script" ]; then
16
+ chmod +x $op_script
17
+ source $op_script
18
+ fi
19
+
20
+
21
+ # check below if VIRTUAL_ENV enviroment variable exist, then deactivate it, otherwise skip
22
+ if [ -n "$VIRTUAL_ENV" ]; then
23
+ deactivate
24
+ fi
@@ -1,36 +1,34 @@
1
- """Convert image to text.
2
- """
1
+ # """Convert image to text.
2
+ # """
3
3
 
4
4
 
5
- # import sys
6
- from crocodile.msc.odds import capture_from_webcam
7
- from crocodile.meta import Terminal
5
+ # # import sys
6
+ # from rich.console import Console
7
+ # from rich.panel import Panel
8
+ # import pytesseract
9
+ # from PIL import Image
8
10
 
9
- print(f"""
10
- ╔{'═' * 60}╗
11
- ║ 📸 Image to Text Converter
12
- ╚{'═' * 60}╝
13
- """)
11
+ # console = Console()
14
12
 
15
- print("📷 Capturing image from webcam...")
16
- img_path = capture_from_webcam(show=False, wait=False, save=True)
17
- print(f"✅ Image captured and saved to: {img_path}")
13
+ # console.print(Panel("📸 Image to Text Converter", title="Status", expand=False))
18
14
 
19
- # img_rgb = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB)
20
- # import cv2
21
- # img_cv = cv2.imread(r'C:\Users\alex\Downloads\name.jpg')
15
+ # print("📷 Capturing image from webcam...")
16
+ # img_path = capture_from_webcam(show=False, wait=False, save=True)
17
+ # print(f"✅ Image captured and saved to: {img_path}")
22
18
 
23
- # sys.path.insert(0, P.home().joinpath("AppData/Local/Tesseract-OCR").str)
24
- # import pytesseract
25
- # print(pytesseract.image_to_string(img_cv))
26
-
27
- print("\n🔍 Processing image with Tesseract OCR...")
28
- q = Terminal().run(f"cd ~/AppData/Local/Tesseract-OCR; pytesseract '{img_path}'", shell="pwsh").capture().op
29
-
30
- print(f"""
31
- ╔{'═' * 60}╗
32
- 📄 Extracted Text Result:
33
- ╠{'═' * 60}╣
34
- {q}
35
- ╚{'═' * 60}╝
36
- """)
19
+ # # img_rgb = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB)
20
+ # # import cv2
21
+ # # img_cv = cv2.imread(r'C:\Users\alex\Downloads\name.jpg')
22
+
23
+ # # sys.path.insert(0, PathExtended.home().joinpath("AppData/Local/Tesseract-OCR").str)
24
+ # # import pytesseract
25
+ # # print(pytesseract.image_to_string(img_cv))
26
+
27
+ # print("\n🔍 Processing image with Tesseract OCR...")
28
+ # q = Terminal().run(f"cd ~/AppData/Local/Tesseract-OCR; pytesseract '{img_path}'", shell="pwsh").capture().op
29
+
30
+ # try:
31
+ # text = pytesseract.image_to_string(Image.open(img_path))
32
+ # console.print(Panel(text, title="📄 Extracted Text Result:", title_align="left", expand=False))
33
+ # except FileNotFoundError:
34
+ # print(f"Error: Image file not found at {img_path}")
@@ -4,6 +4,11 @@ from pathlib import Path
4
4
  import random
5
5
  import string
6
6
  import os
7
+ from rich.console import Console
8
+ from rich.panel import Panel
9
+
10
+
11
+ console = Console()
7
12
 
8
13
 
9
14
  def get_conn_string(sess_name: str) -> str:
@@ -15,29 +20,21 @@ def get_conn_string(sess_name: str) -> str:
15
20
 
16
21
 
17
22
  def main():
18
- print(f"""
19
- ╔{'═' * 60}╗
20
- ║ 🔌 Tmate Connection Manager
21
- ╚{'═' * 60}╝
22
- """)
23
+ console.print(Panel("🔌 Tmate Connection Manager", title="[bold]Welcome[/bold]"))
23
24
 
24
25
  parser = argparse.ArgumentParser(description='Tmate launcher')
25
26
  parser.add_argument("sess_name", help="session name", default=random.choices(list(string.digits + string.ascii_letters), k=20))
26
27
  args = parser.parse_args()
27
28
 
28
- print(f"🔍 Looking up session: {args.sess_name}")
29
+ console.print(f"🔍 Looking up session: {args.sess_name}")
29
30
  conn_string = get_conn_string(args.sess_name)
30
31
 
31
- print(f"""
32
- ╭{'─' * 60}╮
33
- │ 🔗 Connection String: ssh {conn_string}
34
- ╰{'─' * 60}╯
35
- """)
32
+ console.print(Panel(f"SSH Connection String: ssh {conn_string}", title="[bold green]SSH Connection[/bold green]"))
36
33
 
37
- print("🚀 Connecting to tmate session...")
34
+ console.print("🚀 Connecting to tmate session...")
38
35
  os.system(f"ssh {conn_string}")
39
36
 
40
- print("✅ Connection closed")
37
+ console.print("✅ Connection closed")
41
38
 
42
39
 
43
40
  if __name__ == '__main__':