machineconfig 1.95__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 (499) hide show
  1. machineconfig/cluster/cloud_manager.py +445 -343
  2. machineconfig/cluster/data_transfer.py +63 -57
  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/python/__pycache__/__init__.cpython-311.pyc +0 -0
  44. machineconfig/jobs/python/check_installations.py +258 -190
  45. machineconfig/jobs/python/create_bootable_media.py +7 -3
  46. machineconfig/jobs/python/python_cargo_build_share.py +50 -50
  47. machineconfig/jobs/python/python_ve_symlink.py +6 -6
  48. machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
  49. machineconfig/jobs/python/vscode/api.py +1 -1
  50. machineconfig/jobs/python/vscode/link_ve.py +2 -2
  51. machineconfig/jobs/python/vscode/select_interpreter.py +9 -5
  52. machineconfig/jobs/python/vscode/sync_code.py +8 -5
  53. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  54. machineconfig/jobs/python_custom_installers/archive/ngrok.py +1 -1
  55. machineconfig/jobs/python_custom_installers/dev/alacritty.py +3 -2
  56. machineconfig/jobs/python_custom_installers/dev/brave.py +7 -3
  57. machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +3 -4
  58. machineconfig/jobs/python_custom_installers/dev/code.py +3 -1
  59. machineconfig/jobs/python_custom_installers/dev/cursor.py +66 -5
  60. machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -1
  61. machineconfig/jobs/python_custom_installers/dev/espanso.py +13 -9
  62. machineconfig/jobs/python_custom_installers/dev/goes.py +2 -8
  63. machineconfig/jobs/python_custom_installers/dev/lvim.py +3 -2
  64. machineconfig/jobs/python_custom_installers/dev/nerdfont.py +1 -1
  65. machineconfig/jobs/python_custom_installers/dev/redis.py +7 -3
  66. machineconfig/jobs/python_custom_installers/dev/wezterm.py +8 -4
  67. machineconfig/jobs/python_custom_installers/dev/winget.py +194 -0
  68. machineconfig/jobs/python_custom_installers/{dev/docker.py → docker.py} +8 -3
  69. machineconfig/jobs/python_custom_installers/gh.py +4 -3
  70. machineconfig/jobs/python_custom_installers/hx.py +9 -8
  71. machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +97 -30
  72. machineconfig/jobs/python_custom_installers/{dev/warp-cli.py → warp-cli.py} +1 -1
  73. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  74. machineconfig/jobs/python_generic_installers/config.json +133 -9
  75. machineconfig/jobs/python_generic_installers/dev/config.json +208 -37
  76. machineconfig/jobs/python_generic_installers/update.py +3 -0
  77. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  78. machineconfig/jobs/python_linux_installers/config.json +42 -6
  79. machineconfig/jobs/python_linux_installers/dev/config.json +79 -11
  80. machineconfig/jobs/python_windows_installers/config.json +6 -0
  81. machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  82. machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
  83. machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  84. machineconfig/profile/create.py +5 -5
  85. machineconfig/profile/create_hardlinks.py +5 -5
  86. machineconfig/profile/shell.py +44 -17
  87. machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  88. machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  89. machineconfig/scripts/linux/fire_agents +27 -0
  90. machineconfig/scripts/linux/wifi_conn +24 -0
  91. machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  92. machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
  93. machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  94. machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  95. machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  96. machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  97. machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  98. machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  99. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
  100. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
  101. machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
  102. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  103. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
  104. machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
  105. machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  106. machineconfig/scripts/python/archive/im2text.py +1 -3
  107. machineconfig/scripts/python/choose_wezterm_theme.py +3 -3
  108. machineconfig/scripts/python/cloud_copy.py +10 -10
  109. machineconfig/scripts/python/cloud_manager.py +77 -99
  110. machineconfig/scripts/python/cloud_mount.py +13 -12
  111. machineconfig/scripts/python/cloud_repo_sync.py +14 -11
  112. machineconfig/scripts/python/croshell.py +24 -21
  113. machineconfig/scripts/python/devops.py +12 -17
  114. machineconfig/scripts/python/devops_add_identity.py +32 -10
  115. machineconfig/scripts/python/devops_add_ssh_key.py +10 -10
  116. machineconfig/scripts/python/devops_backup_retrieve.py +9 -8
  117. machineconfig/scripts/python/devops_devapps_install.py +6 -6
  118. machineconfig/scripts/python/devops_update_repos.py +4 -3
  119. machineconfig/scripts/python/dotfile.py +10 -7
  120. machineconfig/scripts/python/fire_agents.py +69 -0
  121. machineconfig/scripts/python/fire_jobs.py +56 -65
  122. machineconfig/scripts/python/ftpx.py +8 -8
  123. machineconfig/scripts/python/get_zellij_cmd.py +3 -3
  124. machineconfig/scripts/python/gh_models.py +6 -4
  125. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  126. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
  127. machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  128. machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  129. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  130. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
  131. machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
  132. machineconfig/scripts/python/helpers/cloud_helpers.py +12 -12
  133. machineconfig/scripts/python/helpers/helpers2.py +9 -8
  134. machineconfig/scripts/python/helpers/helpers4.py +23 -35
  135. machineconfig/scripts/python/helpers/repo_sync_helpers.py +17 -16
  136. machineconfig/scripts/python/mount_nfs.py +8 -11
  137. machineconfig/scripts/python/mount_nw_drive.py +4 -4
  138. machineconfig/scripts/python/mount_ssh.py +2 -2
  139. machineconfig/scripts/python/onetimeshare.py +56 -57
  140. machineconfig/scripts/python/pomodoro.py +55 -55
  141. machineconfig/scripts/python/repos.py +26 -18
  142. machineconfig/scripts/python/scheduler.py +70 -53
  143. machineconfig/scripts/python/snapshot.py +21 -24
  144. machineconfig/scripts/python/start_slidev.py +6 -5
  145. machineconfig/scripts/python/start_terminals.py +3 -1
  146. machineconfig/scripts/python/viewer.py +5 -4
  147. machineconfig/scripts/python/viewer_template.py +138 -140
  148. machineconfig/scripts/python/wifi_conn.py +412 -60
  149. machineconfig/scripts/python/wsl_windows_transfer.py +18 -3
  150. machineconfig/settings/linters/.pylintrc +6 -7
  151. machineconfig/settings/lvim/windows/config.lua +0 -0
  152. machineconfig/settings/shells/bash/init.sh +6 -0
  153. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +7 -6
  154. machineconfig/settings/shells/pwsh/init.ps1 +6 -6
  155. machineconfig/settings/shells/wt/settings.json +51 -266
  156. machineconfig/setup_linux/web_shortcuts/interactive.sh +5 -2
  157. machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +3 -6
  158. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +11 -9
  159. machineconfig/utils/ai/url2md.py +2 -2
  160. machineconfig/utils/cloud/onedrive/setup_oauth.py +59 -0
  161. machineconfig/utils/cloud/onedrive/transaction.py +796 -0
  162. machineconfig/utils/code.py +22 -13
  163. machineconfig/utils/installer.py +78 -35
  164. machineconfig/utils/installer_utils/installer_abc.py +7 -6
  165. machineconfig/utils/installer_utils/installer_class.py +44 -25
  166. machineconfig/utils/io_save.py +107 -0
  167. machineconfig/utils/links.py +19 -15
  168. machineconfig/utils/options.py +4 -8
  169. machineconfig/utils/path.py +91 -78
  170. machineconfig/utils/path_reduced.py +608 -0
  171. machineconfig/utils/procs.py +110 -45
  172. machineconfig/utils/scheduling.py +312 -222
  173. machineconfig/utils/utils.py +7 -7
  174. machineconfig/utils/utils2.py +42 -0
  175. machineconfig/utils/utils5.py +84 -0
  176. machineconfig/utils/ve.py +49 -87
  177. {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/METADATA +2 -2
  178. machineconfig-1.96.dist-info/RECORD +437 -0
  179. machineconfig/cluster/session_managers.py +0 -183
  180. machineconfig/cluster/templates/f.py +0 -4
  181. machineconfig/jobs/python/__pycache__/check_installations.cpython-311.pyc +0 -0
  182. machineconfig/jobs/python/__pycache__/checkout_version.cpython-311.pyc +0 -0
  183. machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
  184. machineconfig/jobs/python/checkout_version.py +0 -123
  185. machineconfig/jobs/python/vscode/__pycache__/api.cpython-311.pyc +0 -0
  186. machineconfig/jobs/python/vscode/__pycache__/link_ve.cpython-311.pyc +0 -0
  187. machineconfig/jobs/python_custom_installers/__pycache__/hx.cpython-311.pyc +0 -0
  188. machineconfig/jobs/python_windows_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  189. machineconfig/scripts/python/.mypy_cache/.gitignore +0 -2
  190. machineconfig/scripts/python/.mypy_cache/3.11/@plugins_snapshot.json +0 -1
  191. machineconfig/scripts/python/.mypy_cache/3.11/__future__.data.json +0 -1
  192. machineconfig/scripts/python/.mypy_cache/3.11/__future__.meta.json +0 -1
  193. machineconfig/scripts/python/.mypy_cache/3.11/_ast.data.json +0 -1
  194. machineconfig/scripts/python/.mypy_cache/3.11/_ast.meta.json +0 -1
  195. machineconfig/scripts/python/.mypy_cache/3.11/_bz2.data.json +0 -1
  196. machineconfig/scripts/python/.mypy_cache/3.11/_bz2.meta.json +0 -1
  197. machineconfig/scripts/python/.mypy_cache/3.11/_codecs.data.json +0 -1
  198. machineconfig/scripts/python/.mypy_cache/3.11/_codecs.meta.json +0 -1
  199. machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.data.json +0 -1
  200. machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.meta.json +0 -1
  201. machineconfig/scripts/python/.mypy_cache/3.11/_compression.data.json +0 -1
  202. machineconfig/scripts/python/.mypy_cache/3.11/_compression.meta.json +0 -1
  203. machineconfig/scripts/python/.mypy_cache/3.11/_decimal.data.json +0 -1
  204. machineconfig/scripts/python/.mypy_cache/3.11/_decimal.meta.json +0 -1
  205. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.data.json +0 -1
  206. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.meta.json +0 -1
  207. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.data.json +0 -1
  208. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.meta.json +0 -1
  209. machineconfig/scripts/python/.mypy_cache/3.11/_io.data.json +0 -1
  210. machineconfig/scripts/python/.mypy_cache/3.11/_io.meta.json +0 -1
  211. machineconfig/scripts/python/.mypy_cache/3.11/_locale.data.json +0 -1
  212. machineconfig/scripts/python/.mypy_cache/3.11/_locale.meta.json +0 -1
  213. machineconfig/scripts/python/.mypy_cache/3.11/_stat.data.json +0 -1
  214. machineconfig/scripts/python/.mypy_cache/3.11/_stat.meta.json +0 -1
  215. machineconfig/scripts/python/.mypy_cache/3.11/_struct.data.json +0 -1
  216. machineconfig/scripts/python/.mypy_cache/3.11/_struct.meta.json +0 -1
  217. machineconfig/scripts/python/.mypy_cache/3.11/_thread.data.json +0 -1
  218. machineconfig/scripts/python/.mypy_cache/3.11/_thread.meta.json +0 -1
  219. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.data.json +0 -1
  220. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.meta.json +0 -1
  221. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.data.json +0 -1
  222. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.meta.json +0 -1
  223. machineconfig/scripts/python/.mypy_cache/3.11/_warnings.data.json +0 -1
  224. machineconfig/scripts/python/.mypy_cache/3.11/_warnings.meta.json +0 -1
  225. machineconfig/scripts/python/.mypy_cache/3.11/_weakref.data.json +0 -1
  226. machineconfig/scripts/python/.mypy_cache/3.11/_weakref.meta.json +0 -1
  227. machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.data.json +0 -1
  228. machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.meta.json +0 -1
  229. machineconfig/scripts/python/.mypy_cache/3.11/abc.data.json +0 -1
  230. machineconfig/scripts/python/.mypy_cache/3.11/abc.meta.json +0 -1
  231. machineconfig/scripts/python/.mypy_cache/3.11/argparse.data.json +0 -1
  232. machineconfig/scripts/python/.mypy_cache/3.11/argparse.meta.json +0 -1
  233. machineconfig/scripts/python/.mypy_cache/3.11/ast.data.json +0 -1
  234. machineconfig/scripts/python/.mypy_cache/3.11/ast.meta.json +0 -1
  235. machineconfig/scripts/python/.mypy_cache/3.11/binascii.data.json +0 -1
  236. machineconfig/scripts/python/.mypy_cache/3.11/binascii.meta.json +0 -1
  237. machineconfig/scripts/python/.mypy_cache/3.11/builtins.data.json +0 -1
  238. machineconfig/scripts/python/.mypy_cache/3.11/builtins.meta.json +0 -1
  239. machineconfig/scripts/python/.mypy_cache/3.11/bz2.data.json +0 -1
  240. machineconfig/scripts/python/.mypy_cache/3.11/bz2.meta.json +0 -1
  241. machineconfig/scripts/python/.mypy_cache/3.11/calendar.data.json +0 -1
  242. machineconfig/scripts/python/.mypy_cache/3.11/calendar.meta.json +0 -1
  243. machineconfig/scripts/python/.mypy_cache/3.11/codecs.data.json +0 -1
  244. machineconfig/scripts/python/.mypy_cache/3.11/codecs.meta.json +0 -1
  245. machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.data.json +0 -1
  246. machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.meta.json +0 -1
  247. machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.data.json +0 -1
  248. machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.meta.json +0 -1
  249. machineconfig/scripts/python/.mypy_cache/3.11/configparser.data.json +0 -1
  250. machineconfig/scripts/python/.mypy_cache/3.11/configparser.meta.json +0 -1
  251. machineconfig/scripts/python/.mypy_cache/3.11/contextlib.data.json +0 -1
  252. machineconfig/scripts/python/.mypy_cache/3.11/contextlib.meta.json +0 -1
  253. machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.data.json +0 -1
  254. machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.meta.json +0 -1
  255. machineconfig/scripts/python/.mypy_cache/3.11/datetime.data.json +0 -1
  256. machineconfig/scripts/python/.mypy_cache/3.11/datetime.meta.json +0 -1
  257. machineconfig/scripts/python/.mypy_cache/3.11/decimal.data.json +0 -1
  258. machineconfig/scripts/python/.mypy_cache/3.11/decimal.meta.json +0 -1
  259. machineconfig/scripts/python/.mypy_cache/3.11/dis.data.json +0 -1
  260. machineconfig/scripts/python/.mypy_cache/3.11/dis.meta.json +0 -1
  261. machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.data.json +0 -1
  262. machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.meta.json +0 -1
  263. machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.data.json +0 -1
  264. machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.meta.json +0 -1
  265. machineconfig/scripts/python/.mypy_cache/3.11/email/charset.data.json +0 -1
  266. machineconfig/scripts/python/.mypy_cache/3.11/email/charset.meta.json +0 -1
  267. machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.data.json +0 -1
  268. machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.meta.json +0 -1
  269. machineconfig/scripts/python/.mypy_cache/3.11/email/errors.data.json +0 -1
  270. machineconfig/scripts/python/.mypy_cache/3.11/email/errors.meta.json +0 -1
  271. machineconfig/scripts/python/.mypy_cache/3.11/email/header.data.json +0 -1
  272. machineconfig/scripts/python/.mypy_cache/3.11/email/header.meta.json +0 -1
  273. machineconfig/scripts/python/.mypy_cache/3.11/email/message.data.json +0 -1
  274. machineconfig/scripts/python/.mypy_cache/3.11/email/message.meta.json +0 -1
  275. machineconfig/scripts/python/.mypy_cache/3.11/email/policy.data.json +0 -1
  276. machineconfig/scripts/python/.mypy_cache/3.11/email/policy.meta.json +0 -1
  277. machineconfig/scripts/python/.mypy_cache/3.11/enum.data.json +0 -1
  278. machineconfig/scripts/python/.mypy_cache/3.11/enum.meta.json +0 -1
  279. machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.data.json +0 -1
  280. machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.meta.json +0 -1
  281. machineconfig/scripts/python/.mypy_cache/3.11/functools.data.json +0 -1
  282. machineconfig/scripts/python/.mypy_cache/3.11/functools.meta.json +0 -1
  283. machineconfig/scripts/python/.mypy_cache/3.11/gc.data.json +0 -1
  284. machineconfig/scripts/python/.mypy_cache/3.11/gc.meta.json +0 -1
  285. machineconfig/scripts/python/.mypy_cache/3.11/genericpath.data.json +0 -1
  286. machineconfig/scripts/python/.mypy_cache/3.11/genericpath.meta.json +0 -1
  287. machineconfig/scripts/python/.mypy_cache/3.11/getpass.data.json +0 -1
  288. machineconfig/scripts/python/.mypy_cache/3.11/getpass.meta.json +0 -1
  289. machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.data.json +0 -1
  290. machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.meta.json +0 -1
  291. machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.data.json +0 -1
  292. machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.meta.json +0 -1
  293. machineconfig/scripts/python/.mypy_cache/3.11/git/compat.data.json +0 -1
  294. machineconfig/scripts/python/.mypy_cache/3.11/git/compat.meta.json +0 -1
  295. machineconfig/scripts/python/.mypy_cache/3.11/git/config.data.json +0 -1
  296. machineconfig/scripts/python/.mypy_cache/3.11/git/config.meta.json +0 -1
  297. machineconfig/scripts/python/.mypy_cache/3.11/git/db.data.json +0 -1
  298. machineconfig/scripts/python/.mypy_cache/3.11/git/db.meta.json +0 -1
  299. machineconfig/scripts/python/.mypy_cache/3.11/git/diff.data.json +0 -1
  300. machineconfig/scripts/python/.mypy_cache/3.11/git/diff.meta.json +0 -1
  301. machineconfig/scripts/python/.mypy_cache/3.11/git/exc.data.json +0 -1
  302. machineconfig/scripts/python/.mypy_cache/3.11/git/exc.meta.json +0 -1
  303. machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.data.json +0 -1
  304. machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.meta.json +0 -1
  305. machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.data.json +0 -1
  306. machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.meta.json +0 -1
  307. machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.data.json +0 -1
  308. machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.meta.json +0 -1
  309. machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.data.json +0 -1
  310. machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.meta.json +0 -1
  311. machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.data.json +0 -1
  312. machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.meta.json +0 -1
  313. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.data.json +0 -1
  314. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.meta.json +0 -1
  315. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.data.json +0 -1
  316. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.meta.json +0 -1
  317. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.data.json +0 -1
  318. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.meta.json +0 -1
  319. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.data.json +0 -1
  320. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.meta.json +0 -1
  321. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.data.json +0 -1
  322. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.meta.json +0 -1
  323. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.data.json +0 -1
  324. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.meta.json +0 -1
  325. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.data.json +0 -1
  326. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.meta.json +0 -1
  327. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.data.json +0 -1
  328. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.meta.json +0 -1
  329. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.data.json +0 -1
  330. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.meta.json +0 -1
  331. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.data.json +0 -1
  332. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.meta.json +0 -1
  333. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.data.json +0 -1
  334. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.meta.json +0 -1
  335. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.data.json +0 -1
  336. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.meta.json +0 -1
  337. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.data.json +0 -1
  338. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.meta.json +0 -1
  339. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.data.json +0 -1
  340. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.meta.json +0 -1
  341. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.data.json +0 -1
  342. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.meta.json +0 -1
  343. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.data.json +0 -1
  344. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.meta.json +0 -1
  345. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.data.json +0 -1
  346. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.meta.json +0 -1
  347. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.data.json +0 -1
  348. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.meta.json +0 -1
  349. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.data.json +0 -1
  350. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.meta.json +0 -1
  351. machineconfig/scripts/python/.mypy_cache/3.11/git/remote.data.json +0 -1
  352. machineconfig/scripts/python/.mypy_cache/3.11/git/remote.meta.json +0 -1
  353. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.data.json +0 -1
  354. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.meta.json +0 -1
  355. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.data.json +0 -1
  356. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.meta.json +0 -1
  357. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.data.json +0 -1
  358. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.meta.json +0 -1
  359. machineconfig/scripts/python/.mypy_cache/3.11/git/types.data.json +0 -1
  360. machineconfig/scripts/python/.mypy_cache/3.11/git/types.meta.json +0 -1
  361. machineconfig/scripts/python/.mypy_cache/3.11/git/util.data.json +0 -1
  362. machineconfig/scripts/python/.mypy_cache/3.11/git/util.meta.json +0 -1
  363. machineconfig/scripts/python/.mypy_cache/3.11/glob.data.json +0 -1
  364. machineconfig/scripts/python/.mypy_cache/3.11/glob.meta.json +0 -1
  365. machineconfig/scripts/python/.mypy_cache/3.11/gzip.data.json +0 -1
  366. machineconfig/scripts/python/.mypy_cache/3.11/gzip.meta.json +0 -1
  367. machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.data.json +0 -1
  368. machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.meta.json +0 -1
  369. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.data.json +0 -1
  370. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.meta.json +0 -1
  371. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.data.json +0 -1
  372. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.meta.json +0 -1
  373. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.data.json +0 -1
  374. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.meta.json +0 -1
  375. machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.data.json +0 -1
  376. machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.meta.json +0 -1
  377. machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.data.json +0 -1
  378. machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.meta.json +0 -1
  379. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.data.json +0 -1
  380. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.meta.json +0 -1
  381. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.data.json +0 -1
  382. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.meta.json +0 -1
  383. machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.data.json +0 -1
  384. machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.meta.json +0 -1
  385. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.data.json +0 -1
  386. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.meta.json +0 -1
  387. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.data.json +0 -1
  388. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.meta.json +0 -1
  389. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.data.json +0 -1
  390. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.meta.json +0 -1
  391. machineconfig/scripts/python/.mypy_cache/3.11/inspect.data.json +0 -1
  392. machineconfig/scripts/python/.mypy_cache/3.11/inspect.meta.json +0 -1
  393. machineconfig/scripts/python/.mypy_cache/3.11/io.data.json +0 -1
  394. machineconfig/scripts/python/.mypy_cache/3.11/io.meta.json +0 -1
  395. machineconfig/scripts/python/.mypy_cache/3.11/itertools.data.json +0 -1
  396. machineconfig/scripts/python/.mypy_cache/3.11/itertools.meta.json +0 -1
  397. machineconfig/scripts/python/.mypy_cache/3.11/locale.data.json +0 -1
  398. machineconfig/scripts/python/.mypy_cache/3.11/locale.meta.json +0 -1
  399. machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.data.json +0 -1
  400. machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.meta.json +0 -1
  401. machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.data.json +0 -1
  402. machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.meta.json +0 -1
  403. machineconfig/scripts/python/.mypy_cache/3.11/mmap.data.json +0 -1
  404. machineconfig/scripts/python/.mypy_cache/3.11/mmap.meta.json +0 -1
  405. machineconfig/scripts/python/.mypy_cache/3.11/numbers.data.json +0 -1
  406. machineconfig/scripts/python/.mypy_cache/3.11/numbers.meta.json +0 -1
  407. machineconfig/scripts/python/.mypy_cache/3.11/opcode.data.json +0 -1
  408. machineconfig/scripts/python/.mypy_cache/3.11/opcode.meta.json +0 -1
  409. machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.data.json +0 -1
  410. machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.meta.json +0 -1
  411. machineconfig/scripts/python/.mypy_cache/3.11/os/path.data.json +0 -1
  412. machineconfig/scripts/python/.mypy_cache/3.11/os/path.meta.json +0 -1
  413. machineconfig/scripts/python/.mypy_cache/3.11/pathlib.data.json +0 -1
  414. machineconfig/scripts/python/.mypy_cache/3.11/pathlib.meta.json +0 -1
  415. machineconfig/scripts/python/.mypy_cache/3.11/platform.data.json +0 -1
  416. machineconfig/scripts/python/.mypy_cache/3.11/platform.meta.json +0 -1
  417. machineconfig/scripts/python/.mypy_cache/3.11/posixpath.data.json +0 -1
  418. machineconfig/scripts/python/.mypy_cache/3.11/posixpath.meta.json +0 -1
  419. machineconfig/scripts/python/.mypy_cache/3.11/re.data.json +0 -1
  420. machineconfig/scripts/python/.mypy_cache/3.11/re.meta.json +0 -1
  421. machineconfig/scripts/python/.mypy_cache/3.11/resource.data.json +0 -1
  422. machineconfig/scripts/python/.mypy_cache/3.11/resource.meta.json +0 -1
  423. machineconfig/scripts/python/.mypy_cache/3.11/shlex.data.json +0 -1
  424. machineconfig/scripts/python/.mypy_cache/3.11/shlex.meta.json +0 -1
  425. machineconfig/scripts/python/.mypy_cache/3.11/shutil.data.json +0 -1
  426. machineconfig/scripts/python/.mypy_cache/3.11/shutil.meta.json +0 -1
  427. machineconfig/scripts/python/.mypy_cache/3.11/signal.data.json +0 -1
  428. machineconfig/scripts/python/.mypy_cache/3.11/signal.meta.json +0 -1
  429. machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.data.json +0 -1
  430. machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.meta.json +0 -1
  431. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.data.json +0 -1
  432. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.meta.json +0 -1
  433. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.data.json +0 -1
  434. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.meta.json +0 -1
  435. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.data.json +0 -1
  436. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.meta.json +0 -1
  437. machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.data.json +0 -1
  438. machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.meta.json +0 -1
  439. machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.data.json +0 -1
  440. machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.meta.json +0 -1
  441. machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.data.json +0 -1
  442. machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.meta.json +0 -1
  443. machineconfig/scripts/python/.mypy_cache/3.11/stat.data.json +0 -1
  444. machineconfig/scripts/python/.mypy_cache/3.11/stat.meta.json +0 -1
  445. machineconfig/scripts/python/.mypy_cache/3.11/string.data.json +0 -1
  446. machineconfig/scripts/python/.mypy_cache/3.11/string.meta.json +0 -1
  447. machineconfig/scripts/python/.mypy_cache/3.11/struct.data.json +0 -1
  448. machineconfig/scripts/python/.mypy_cache/3.11/struct.meta.json +0 -1
  449. machineconfig/scripts/python/.mypy_cache/3.11/subprocess.data.json +0 -1
  450. machineconfig/scripts/python/.mypy_cache/3.11/subprocess.meta.json +0 -1
  451. machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.data.json +0 -1
  452. machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.meta.json +0 -1
  453. machineconfig/scripts/python/.mypy_cache/3.11/tarfile.data.json +0 -1
  454. machineconfig/scripts/python/.mypy_cache/3.11/tarfile.meta.json +0 -1
  455. machineconfig/scripts/python/.mypy_cache/3.11/tempfile.data.json +0 -1
  456. machineconfig/scripts/python/.mypy_cache/3.11/tempfile.meta.json +0 -1
  457. machineconfig/scripts/python/.mypy_cache/3.11/textwrap.data.json +0 -1
  458. machineconfig/scripts/python/.mypy_cache/3.11/textwrap.meta.json +0 -1
  459. machineconfig/scripts/python/.mypy_cache/3.11/threading.data.json +0 -1
  460. machineconfig/scripts/python/.mypy_cache/3.11/threading.meta.json +0 -1
  461. machineconfig/scripts/python/.mypy_cache/3.11/time.data.json +0 -1
  462. machineconfig/scripts/python/.mypy_cache/3.11/time.meta.json +0 -1
  463. machineconfig/scripts/python/.mypy_cache/3.11/types.data.json +0 -1
  464. machineconfig/scripts/python/.mypy_cache/3.11/types.meta.json +0 -1
  465. machineconfig/scripts/python/.mypy_cache/3.11/typing.data.json +0 -1
  466. machineconfig/scripts/python/.mypy_cache/3.11/typing.meta.json +0 -1
  467. machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.data.json +0 -1
  468. machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.meta.json +0 -1
  469. machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.data.json +0 -1
  470. machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.meta.json +0 -1
  471. machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.data.json +0 -1
  472. machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.meta.json +0 -1
  473. machineconfig/scripts/python/.mypy_cache/3.11/uuid.data.json +0 -1
  474. machineconfig/scripts/python/.mypy_cache/3.11/uuid.meta.json +0 -1
  475. machineconfig/scripts/python/.mypy_cache/3.11/warnings.data.json +0 -1
  476. machineconfig/scripts/python/.mypy_cache/3.11/warnings.meta.json +0 -1
  477. machineconfig/scripts/python/.mypy_cache/3.11/weakref.data.json +0 -1
  478. machineconfig/scripts/python/.mypy_cache/3.11/weakref.meta.json +0 -1
  479. machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.data.json +0 -1
  480. machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.meta.json +0 -1
  481. machineconfig/scripts/python/.mypy_cache/3.11/zlib.data.json +0 -1
  482. machineconfig/scripts/python/.mypy_cache/3.11/zlib.meta.json +0 -1
  483. machineconfig/scripts/python/.mypy_cache/CACHEDIR.TAG +0 -3
  484. machineconfig/scripts/python/__pycache__/cloud_repo_sync.cpython-311.pyc +0 -0
  485. machineconfig/scripts/python/__pycache__/gh_models.cpython-311.pyc +0 -0
  486. machineconfig/scripts/python/__pycache__/url2md.cpython-311.pyc +0 -0
  487. machineconfig/scripts/python/__pycache__/viewer.cpython-311.pyc +0 -0
  488. machineconfig/scripts/python/__pycache__/vscode_api.cpython-311.pyc +0 -0
  489. machineconfig/settings/__pycache__/__init__.cpython-311.pyc +0 -0
  490. machineconfig/settings/linters/.ruff_cache/.gitignore +0 -2
  491. machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +0 -1
  492. machineconfig/settings/shells/ipy/profiles/default/__pycache__/__init__.cpython-311.pyc +0 -0
  493. machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/__init__.cpython-311.pyc +0 -0
  494. machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/playext.cpython-311.pyc +0 -0
  495. machineconfig/utils/ve_utils/ve1.py +0 -111
  496. machineconfig/utils/ve_utils/ve2.py +0 -155
  497. machineconfig-1.95.dist-info/RECORD +0 -712
  498. {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/WHEEL +0 -0
  499. {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/top_level.txt +0 -0
@@ -1,119 +1,117 @@
1
1
 
2
- """Gooey
3
- """
2
+ # """Gooey
3
+ # """
4
4
 
5
- from argparse import ArgumentParser
6
- # from gooey import Gooey #, GooeyParser
7
- from crocodile.core import install_n_import
8
- from crocodile.file_management import Read
9
- # from machineconfig.cluster.distribute import Cluster, WorkloadParams
10
- from machineconfig.cluster.remote_machine import RemoteMachineConfig
11
- # from machineconfig.cluster.utils import expensive_function
12
- from machineconfig.utils.utils import DEFAULTS_PATH
13
- # from typing import Any, Optional
5
+ # from argparse import ArgumentParser
6
+ # # from gooey import Gooey #, GooeyParser
7
+ # # from machineconfig.cluster.distribute import Cluster, WorkloadParams
8
+ # from machineconfig.cluster.remote_machine import RemoteMachineConfig
9
+ # # from machineconfig.cluster.utils import expensive_function
10
+ # from machineconfig.utils.utils import DEFAULTS_PATH
11
+ # from machineconfig.utils.utils2 import read_ini
12
+ # # from typing import Any, Optional
14
13
 
15
- Gooey = install_n_import("gooey").Gooey
16
14
 
17
15
 
18
- @Gooey(program_name="Cluster Launcher", program_description='Cofigure remote cluster and launch jobs.') # type: ignore
19
- def main() -> RemoteMachineConfig:
20
- # parser = GooeyParser(description='Example of Gooey\'s basic functionality')
21
- parser = ArgumentParser(description='Cluster Launcher')
22
- from machineconfig.scripts.python.cloud_mount import get_rclone_config
23
- cloud_names = get_rclone_config().sections()
24
- # job_id=, base_dir="",
25
- parser.add_argument('Description', help='The file you want to process', default="Description of running func on remotes")
16
+ # @Gooey(program_name="Cluster Launcher", program_description='Cofigure remote cluster and launch jobs.') # type: ignore
17
+ # def main() -> RemoteMachineConfig:
18
+ # # parser = GooeyParser(description='Example of Gooey\'s basic functionality')
19
+ # parser = ArgumentParser(description='Cluster Launcher')
20
+ # from machineconfig.scripts.python.cloud_mount import get_rclone_config
21
+ # cloud_names = get_rclone_config().sections()
22
+ # # job_id=, base_dir="",
23
+ # parser.add_argument('Description', help='The file you want to process', default="Description of running func on remotes")
26
24
 
27
- # # execution behaviour
28
- # wrap_in_try_except=True
29
- parser.add_argument('-w', '--wrap_in_try_except', help='Wrap in try except', action='store_true', default=False)
30
- # pudb=False
31
- parser.add_argument('-p', '--pudb', help='Use pudb', action='store_true', default=False)
32
- # pdb=False
33
- parser.add_argument('-d', '--pdb', help='Use pdb', action='store_true', default=False)
34
- # interactive=True
35
- parser.add_argument('-i', '--interactive', help='Interactive', action='store_true', default=False)
36
- # ipython=True
37
- parser.add_argument('-y', '--ipython', help='Use ipython', action='store_true', default=False)
25
+ # # # execution behaviour
26
+ # # wrap_in_try_except=True
27
+ # parser.add_argument('-w', '--wrap_in_try_except', help='Wrap in try except', action='store_true', default=False)
28
+ # # pudb=False
29
+ # parser.add_argument('-p', '--pudb', help='Use pudb', action='store_true', default=False)
30
+ # # pdb=False
31
+ # parser.add_argument('-d', '--pdb', help='Use pdb', action='store_true', default=False)
32
+ # # interactive=True
33
+ # parser.add_argument('-i', '--interactive', help='Interactive', action='store_true', default=False)
34
+ # # ipython=True
35
+ # parser.add_argument('-y', '--ipython', help='Use ipython', action='store_true', default=False)
38
36
 
39
- # # resources
40
- # lock_resources=True
41
- parser.add_argument('-l', '--lock_resources', help='Lock resources', action='store_true', default=False)
42
- # max_simulataneous_jobs=2
43
- parser.add_argument('-m', '--max_simulataneous_jobs', help='Max simultaneous jobs', type=int, default=2)
44
- # parallelize=False
45
- # parser.add_argument('-a', '--parallelize', help='Parallelize', action='store_true', default=False)
37
+ # # # resources
38
+ # # lock_resources=True
39
+ # parser.add_argument('-l', '--lock_resources', help='Lock resources', action='store_true', default=False)
40
+ # # max_simulataneous_jobs=2
41
+ # parser.add_argument('-m', '--max_simulataneous_jobs', help='Max simultaneous jobs', type=int, default=2)
42
+ # # parallelize=False
43
+ # # parser.add_argument('-a', '--parallelize', help='Parallelize', action='store_true', default=False)
46
44
 
47
- # # data
48
- # copy_repo = True
49
- # parser.add_argument('-c', '--copy_repo', help='Copy repo', action='store_true', default=True)
50
- # update_repo=False
51
- parser.add_argument('-u', '--update_repo', help='Update repo', action='store_true', default=False)
52
- # install_repo=False
53
- # parser.add_argument('-n', '--install_repo', help='Install repo', action='store_true', default=False)
54
- # update_essential_repos=True
55
- parser.add_argument('-e', '--update_essential_repos', help='Update essential repos', action='store_true', default=True)
56
- # transfer_method="sftp"
57
- # parser.add_argument('-t', '--transfer_method', help='Transfer method', choices=['sftp', 'cloud'], default='sftp')
58
- # open_console=True
59
- # parser.add_argument('-o', '--open_console', help='Open console', action='store_true', default=True)
45
+ # # # data
46
+ # # copy_repo = True
47
+ # # parser.add_argument('-c', '--copy_repo', help='Copy repo', action='store_true', default=True)
48
+ # # update_repo=False
49
+ # parser.add_argument('-u', '--update_repo', help='Update repo', action='store_true', default=False)
50
+ # # install_repo=False
51
+ # # parser.add_argument('-n', '--install_repo', help='Install repo', action='store_true', default=False)
52
+ # # update_essential_repos=True
53
+ # parser.add_argument('-e', '--update_essential_repos', help='Update essential repos', action='store_true', default=True)
54
+ # # transfer_method="sftp"
55
+ # # parser.add_argument('-t', '--transfer_method', help='Transfer method', choices=['sftp', 'cloud'], default='sftp')
56
+ # # open_console=True
57
+ # # parser.add_argument('-o', '--open_console', help='Open console', action='store_true', default=True)
60
58
 
61
- # # remote machine behaviour
62
- parser.add_argument('cloud_name', help='Cloud Rclone Config Name', default="oduq1", choices=cloud_names)
63
- parser.add_argument('-v', '--notify_upon_completion', help='Notify upon completion', action='store_true', default=True)
59
+ # # # remote machine behaviour
60
+ # parser.add_argument('cloud_name', help='Cloud Rclone Config Name', default="oduq1", choices=cloud_names)
61
+ # parser.add_argument('-v', '--notify_upon_completion', help='Notify upon completion', action='store_true', default=True)
64
62
 
65
- try:
66
- section = Read.ini(DEFAULTS_PATH)['general']
67
- to_email = section['to_email']
68
- email_config_name = section['email_config_name']
69
- except (FileNotFoundError, KeyError, IndexError):
70
- to_email = 'random@email.com'
71
- email_config_name = 'enaut'
63
+ # try:
64
+ # section = read_ini(DEFAULTS_PATH)['general']
65
+ # to_email = section['to_email']
66
+ # email_config_name = section['email_config_name']
67
+ # except (FileNotFoundError, KeyError, IndexError):
68
+ # to_email = 'random@email.com'
69
+ # email_config_name = 'enaut'
72
70
 
73
- parser.add_argument('-z', '--to_email', help='To email', default=to_email)
74
- parser.add_argument('-f', '--email_config_name', help='Email config name', default=email_config_name)
75
- parser.add_argument('-k', '--kill_on_completion', help='Kill terminal tab/pane for this job on completion', action='store_true', default=False)
76
- parser.add_argument('split', help='How many jobs to split into', type=int, default=3)
71
+ # parser.add_argument('-z', '--to_email', help='To email', default=to_email)
72
+ # parser.add_argument('-f', '--email_config_name', help='Email config name', default=email_config_name)
73
+ # parser.add_argument('-k', '--kill_on_completion', help='Kill terminal tab/pane for this job on completion', action='store_true', default=False)
74
+ # parser.add_argument('split', help='How many jobs to split into', type=int, default=3)
77
75
 
78
- # https://github.com/chriskiehl/GooeyExamples/blob/master/examples/FilterableDropdown.py
79
- args = parser.parse_args()
76
+ # # https://github.com/chriskiehl/GooeyExamples/blob/master/examples/FilterableDropdown.py
77
+ # args = parser.parse_args()
80
78
 
81
- from machineconfig.cluster.self_ssh import SelfSSH
82
- config = RemoteMachineConfig(
83
- # connection
84
- ssh_obj=SelfSSH(),
85
- # ssh_params=None,
86
- description=args.Description,
87
- # job_id=, base_dir="",
88
- # data
89
- copy_repo=False, # args.copy_repo,
90
- update_repo=args.update_repo,
91
- install_repo=True, # args.install_repo,
92
- update_essential_repos=args.update_essential_repos,
93
- data=[],
94
- transfer_method="cloud", # "args.transfer_method,
95
- cloud_name=args.cloud_name,
96
- # remote machine behaviour
97
- # open_console=args.open_console,
98
- notify_upon_completion=args.notify_upon_completion,
99
- to_email=args.to_email,
100
- email_config_name=args.email_config_name,
101
- kill_on_completion=args.kill_on_completion,
102
- workload_params=None,
103
- launch_method="cloud_manager",
104
- # execution behaviour
105
- ipython=args.ipython,
106
- interactive=args.interactive,
107
- pdb=args.pdb,
108
- pudb=args.pudb,
109
- wrap_in_try_except=args.wrap_in_try_except,
110
- # resources
111
- lock_resources=args.lock_resources,
112
- max_simulataneous_jobs=args.max_simulataneous_jobs,
113
- parallelize=False, # args.parallelize,
114
- )
115
- return config
79
+ # from machineconfig.cluster.self_ssh import SelfSSH
80
+ # config = RemoteMachineConfig(
81
+ # # connection
82
+ # ssh_obj=SelfSSH(),
83
+ # # ssh_params=None,
84
+ # description=args.Description,
85
+ # # job_id=, base_dir="",
86
+ # # data
87
+ # copy_repo=False, # args.copy_repo,
88
+ # update_repo=args.update_repo,
89
+ # install_repo=True, # args.install_repo,
90
+ # update_essential_repos=args.update_essential_repos,
91
+ # data=[],
92
+ # transfer_method="cloud", # "args.transfer_method,
93
+ # cloud_name=args.cloud_name,
94
+ # # remote machine behaviour
95
+ # # open_console=args.open_console,
96
+ # notify_upon_completion=args.notify_upon_completion,
97
+ # to_email=args.to_email,
98
+ # email_config_name=args.email_config_name,
99
+ # kill_on_completion=args.kill_on_completion,
100
+ # workload_params=None,
101
+ # launch_method="cloud_manager",
102
+ # # execution behaviour
103
+ # ipython=args.ipython,
104
+ # interactive=args.interactive,
105
+ # pdb=args.pdb,
106
+ # pudb=args.pudb,
107
+ # wrap_in_try_except=args.wrap_in_try_except,
108
+ # # resources
109
+ # lock_resources=args.lock_resources,
110
+ # max_simulataneous_jobs=args.max_simulataneous_jobs,
111
+ # parallelize=False, # args.parallelize,
112
+ # )
113
+ # return config
116
114
 
117
115
 
118
- if __name__ == '__main__':
119
- main()
116
+ # if __name__ == '__main__':
117
+ # main()
@@ -1,52 +1,52 @@
1
1
 
2
- """Run with sane defaults for a remote machine.
3
- """
4
-
5
- from machineconfig.cluster.remote_machine import RemoteMachine, RemoteMachineConfig
6
- from machineconfig.cluster.cloud_manager import CloudManager
7
- from machineconfig.cluster.loader_runner import WorkloadParams
8
- from machineconfig.cluster.self_ssh import SelfSSH
9
- from crocodile.file_management import Read
10
- from machineconfig.utils.utils import DEFAULTS_PATH
11
- from typing import Any, Callable, Union
12
-
13
- _ = WorkloadParams
14
-
15
-
16
- try:
17
- section = Read.ini(DEFAULTS_PATH)['general']
18
- to_email_default = section['to_email']
19
- email_config_name_default = section['email_config_name']
20
- except (FileNotFoundError, KeyError, IndexError):
21
- to_email_default = 'random@email.com'
22
- email_config_name_default = 'enaut'
23
-
24
- try: default_cloud: str = Read.ini(DEFAULTS_PATH)['general']['rclone_config_name']
25
- except (FileNotFoundError, KeyError, IndexError): default_cloud = 'gdrive'
26
-
27
-
28
- def run_on_cloud(func: Union[str, Callable[[WorkloadParams], Any]], split: int, reset_cloud: bool = False, reset_local: bool = False):
29
- if hasattr(func, '__doc__'): description = str(func.__doc__)
30
- else: description = "Description of running an expensive function"
31
- config = RemoteMachineConfig(
32
- # connection
33
- ssh_obj=SelfSSH(), # overrides ssh_params
34
- description=description, # job_id=, base_dir="",
35
- # data
36
- copy_repo=False, update_repo=True, install_repo=False, update_essential_repos=True, data=[], transfer_method="cloud", cloud_name=email_config_name_default,
37
- # remote machine behaviour
38
- open_console=True, notify_upon_completion=True, to_email=to_email_default, email_config_name=email_config_name_default,
39
- kill_on_completion=True,
40
- launch_method="cloud_manager",
41
- # execution behaviour
42
- ipython=False, interactive=False, pdb=False, pudb=False, wrap_in_try_except=True,
43
- workload_params=None, # to be added later per sub-job.
44
- # resources
45
- lock_resources=False, max_simulataneous_jobs=2, parallelize=False, )
46
- m = RemoteMachine(func=func, func_kwargs=None, config=config)
47
- res = m.submit_to_cloud(split=split, cm=CloudManager(max_jobs=0, reset_local=reset_local), reset_cloud=reset_cloud)
48
- return res
49
-
50
-
51
- if __name__ == "__main__":
52
- pass
2
+ # """Run with sane defaults for a remote machine.
3
+ # """
4
+
5
+ # from machineconfig.cluster.remote_machine import RemoteMachine, RemoteMachineConfig
6
+ # from machineconfig.cluster.cloud_manager import CloudManager
7
+ # from machineconfig.cluster.loader_runner import WorkloadParams
8
+ # from machineconfig.cluster.self_ssh import SelfSSH
9
+ # from machineconfig.utils.utils import DEFAULTS_PATH
10
+ # from machineconfig.utils.utils2 import read_ini
11
+ # from typing import Any, Callable, Union
12
+
13
+ # _ = WorkloadParams
14
+
15
+
16
+ # try:
17
+ # section = read_ini(DEFAULTS_PATH)['general']
18
+ # to_email_default = section['to_email']
19
+ # email_config_name_default = section['email_config_name']
20
+ # except (FileNotFoundError, KeyError, IndexError):
21
+ # to_email_default = 'random@email.com'
22
+ # email_config_name_default = 'enaut'
23
+
24
+ # try: default_cloud: str = read_ini(DEFAULTS_PATH)['general']['rclone_config_name']
25
+ # except (FileNotFoundError, KeyError, IndexError): default_cloud = 'gdrive'
26
+
27
+
28
+ # def run_on_cloud(func: Union[str, Callable[[WorkloadParams], Any]], split: int, reset_cloud: bool = False, reset_local: bool = False):
29
+ # if hasattr(func, '__doc__'): description = str(func.__doc__)
30
+ # else: description = "Description of running an expensive function"
31
+ # config = RemoteMachineConfig(
32
+ # # connection
33
+ # ssh_obj=SelfSSH(), # overrides ssh_params
34
+ # description=description, # job_id=, base_dir="",
35
+ # # data
36
+ # copy_repo=False, update_repo=True, install_repo=False, update_essential_repos=True, data=[], transfer_method="cloud", cloud_name=email_config_name_default,
37
+ # # remote machine behaviour
38
+ # open_console=True, notify_upon_completion=True, to_email=to_email_default, email_config_name=email_config_name_default,
39
+ # kill_on_completion=True,
40
+ # launch_method="cloud_manager",
41
+ # # execution behaviour
42
+ # ipython=False, interactive=False, pdb=False, pudb=False, wrap_in_try_except=True,
43
+ # workload_params=None, # to be added later per sub-job.
44
+ # # resources
45
+ # lock_resources=False, max_simulataneous_jobs=2, parallelize=False, )
46
+ # m = RemoteMachine(func=func, func_kwargs=None, config=config)
47
+ # res = m.submit_to_cloud(split=split, cm=CloudManager(max_jobs=0, reset_local=reset_local), reset_cloud=reset_cloud)
48
+ # return res
49
+
50
+
51
+ # if __name__ == "__main__":
52
+ # pass
@@ -1,69 +1,113 @@
1
1
 
2
- """
3
- Cluster Template
4
- """
2
+ # """
3
+ # Cluster Template
4
+ # """
5
5
 
6
- from crocodile.core import List as L
7
- from crocodile.file_management import P
8
- from machineconfig.cluster.distribute import WorkloadParams
9
- from machineconfig.cluster.distribute import RemoteMachineConfig, LoadCriterion, Cluster, ThreadLoadCalculator
10
- from typing import Any
11
6
 
7
+ # from machineconfig.cluster.distribute import WorkloadParams
8
+ # from machineconfig.cluster.distribute import RemoteMachineConfig, LoadCriterion, Cluster, ThreadLoadCalculator
9
+ # from typing import Any, List
12
10
 
13
- class ExpensiveComputation:
14
- @staticmethod
15
- def func_single_job(workload_params: WorkloadParams, *args: Any, **kwargs: Any) -> P:
16
- from machineconfig.cluster.templates.utils import expensive_function
17
- res = expensive_function(workload_params=workload_params, *args, **kwargs)
18
- return res
19
11
 
20
- @staticmethod
21
- def func(workload_params: WorkloadParams, **kwargs: Any) -> P:
22
- per_job_workload_params = L(range(workload_params.idx_start, workload_params.idx_end, 1)).split(to=workload_params.jobs).apply(lambda sub_list: WorkloadParams(idx_start=sub_list.list[0], idx_end=sub_list.list[-1] + 1, idx_max=workload_params.idx_max, jobs=workload_params.jobs))
23
- res: list[P] = L(per_job_workload_params).apply(lambda a_workload_params: ExpensiveComputation.func_single_job(workload_params=a_workload_params, **kwargs), jobs=workload_params.jobs).list
24
- return res[0]
12
+ # class ExpensiveComputation:
13
+ # @staticmethod
14
+ # def _split_into_chunks(items: List[int], num_chunks: int) -> List[List[int]]:
15
+ # """Split a list of integers into near-equal contiguous chunks.
25
16
 
26
- @staticmethod
27
- def submit():
28
- config = RemoteMachineConfig(
29
- # connection
30
- ssh_params={}, description="Description of running an expensive function", # job_id=, base_dir="",
31
- # data
32
- copy_repo=False, update_repo=False, install_repo=False, update_essential_repos=True, data=[],
33
- transfer_method="sftp",
34
- # remote machine behaviour
35
- open_console=True, notify_upon_completion=True, to_email='random@email.com', email_config_name='enaut',
36
- kill_on_completion=False,
37
- # execution behaviour
38
- ipython=True, interactive=True, pdb=False, pudb=False, wrap_in_try_except=True,
39
- # resources
40
- lock_resources=True, max_simulataneous_jobs=2, parallelize=True, )
41
- ssh_params = [dict(host="thinkpad"), dict(host="p51s")] # ,
42
- # ssh_params = [dict(host="214676wsl"), dict(host="229234wsl")]
43
- c = Cluster(func=ExpensiveComputation.func_single_job,
44
- func_kwargs=dict(sim_dict=dict(a=2, b=3)),
45
- ssh_params=ssh_params,
46
- remote_machine_config=config,
47
- thread_load_calc=ThreadLoadCalculator(num_jobs=3, load_criterion=LoadCriterion.cpu), # if this machine can run 3 jobs at a time, how many can other machines do?
48
- )
49
- c.run(run=True, machines_per_tab=len(ssh_params), window_number=354)
50
- return c
17
+ # Ensures no empty chunks are returned even if num_chunks > len(items).
18
+ # """
19
+ # if num_chunks <= 0:
20
+ # return [items]
21
+ # n = len(items)
22
+ # if n == 0:
23
+ # return []
24
+ # base_size, remainder = divmod(n, num_chunks)
25
+ # chunks: List[List[int]] = []
26
+ # start_index = 0
27
+ # for chunk_index in range(num_chunks):
28
+ # current_size = base_size + (1 if chunk_index < remainder else 0)
29
+ # if current_size == 0:
30
+ # # Skip empty chunk when num_chunks > n
31
+ # continue
32
+ # end_index = start_index + current_size
33
+ # chunks.append(items[start_index:end_index])
34
+ # start_index = end_index
35
+ # return chunks
36
+ # @staticmethod
37
+ # def func_single_job(workload_params: WorkloadParams, *args: Any, **kwargs: Any) -> P:
38
+ # from machineconfig.cluster.templates.utils import expensive_function
39
+ # res = expensive_function(workload_params=workload_params, *args, **kwargs)
40
+ # return res
51
41
 
42
+ # @staticmethod
43
+ # def func(workload_params: WorkloadParams, **kwargs: Any) -> P:
44
+ # # Build contiguous near-equal chunks across the index range
45
+ # indices: List[int] = list(range(workload_params.idx_start, workload_params.idx_end, 1))
46
+ # chunks: List[List[int]] = ExpensiveComputation._split_into_chunks(indices, workload_params.jobs)
52
47
 
53
- def try_run_on_cluster():
54
- import time
55
- ExpensiveComputation.submit()
56
- ExpensiveComputation.submit()
57
- cluster = ExpensiveComputation.submit()
58
- # later ...
59
- time.sleep(50)
60
- c = Cluster.load(cluster.job_id)
61
- c.open_mux(machines_per_tab=1)
62
- c.check_job_status()
63
- c.download_results()
64
- L(c.machines).delete_remote_results()
65
- return c
48
+ # # Create per-job workload params from chunks
49
+ # per_job_workload_params: List[WorkloadParams] = [
50
+ # WorkloadParams(
51
+ # idx_start=chunk[0],
52
+ # idx_end=chunk[-1] + 1,
53
+ # idx_max=workload_params.idx_max,
54
+ # jobs=workload_params.jobs,
55
+ # )
56
+ # for chunk in chunks
57
+ # if len(chunk) > 0
58
+ # ]
66
59
 
60
+ # # Execute each job sequentially (replace former List.apply behavior)
61
+ # # If parallel execution is needed, consider a ThreadPool/ProcessPool
62
+ # results: List[PathExtended] = [
63
+ # ExpensiveComputation.func_single_job(workload_params=job_params, **kwargs)
64
+ # for job_params in per_job_workload_params
65
+ # ]
66
+ # return results[0]
67
67
 
68
- if __name__ == '__main__':
69
- pass
68
+ # @staticmethod
69
+ # def submit():
70
+ # config = RemoteMachineConfig(
71
+ # # connection
72
+ # ssh_params={}, description="Description of running an expensive function", # job_id=, base_dir="",
73
+ # # data
74
+ # copy_repo=False, update_repo=False, install_repo=False, update_essential_repos=True, data=[],
75
+ # transfer_method="sftp",
76
+ # # remote machine behaviour
77
+ # open_console=True, notify_upon_completion=True, to_email='random@email.com', email_config_name='enaut',
78
+ # kill_on_completion=False,
79
+ # # execution behaviour
80
+ # ipython=True, interactive=True, pdb=False, pudb=False, wrap_in_try_except=True,
81
+ # # resources
82
+ # lock_resources=True, max_simulataneous_jobs=2, parallelize=True, )
83
+ # ssh_params = [dict(host="thinkpad"), dict(host="p51s")] # ,
84
+ # # ssh_params = [dict(host="214676wsl"), dict(host="229234wsl")]
85
+ # c = Cluster(func=ExpensiveComputation.func_single_job,
86
+ # func_kwargs=dict(sim_dict=dict(a=2, b=3)),
87
+ # ssh_params=ssh_params,
88
+ # remote_machine_config=config,
89
+ # thread_load_calc=ThreadLoadCalculator(num_jobs=3, load_criterion=LoadCriterion.cpu), # if this machine can run 3 jobs at a time, how many can other machines do?
90
+ # )
91
+ # c.run(run=True, machines_per_tab=len(ssh_params), window_number=354)
92
+ # return c
93
+
94
+
95
+ # def try_run_on_cluster():
96
+ # import time
97
+ # ExpensiveComputation.submit()
98
+ # ExpensiveComputation.submit()
99
+ # cluster = ExpensiveComputation.submit()
100
+ # # later ...
101
+ # time.sleep(50)
102
+ # c = Cluster.load(cluster.job_id)
103
+ # c.open_mux(machines_per_tab=1)
104
+ # c.check_job_status()
105
+ # c.download_results()
106
+ # # Delete remote results on all machines
107
+ # for machine in c.machines:
108
+ # machine.delete_remote_results()
109
+ # return c
110
+
111
+
112
+ # if __name__ == '__main__':
113
+ # pass
@@ -1,67 +1,66 @@
1
1
 
2
- """
3
- This file contains a template for a remote machine. It is not meant to be run, but rather to be used as a template for
4
- """
2
+ # """
3
+ # This file contains a template for a remote machine. It is not meant to be run, but rather to be used as a template for
4
+ # """
5
5
 
6
6
 
7
- def run_on_remote():
8
- from machineconfig.cluster.remote_machine import RemoteMachine, RemoteMachineConfig, WorkloadParams
9
- from machineconfig.cluster.templates.utils import expensive_function
10
- from crocodile.file_management import P
11
- # from machineconfig.cluster.self_ssh import SelfSSH
12
- data: list[P] = []
13
- config = RemoteMachineConfig(
14
- # connection
15
- # ssh_obj=SelfSSH(), # overrides ssh_params
16
- ssh_params=dict(host="ts"), # dict(host="239wsl"),
17
- description="Description of running an expensive function", # job_id=, base_dir="",
18
- # data
19
- copy_repo=False, update_repo=True, install_repo=False, update_essential_repos=True, data=data, transfer_method="sftp",
20
- # remote machine behaviour
21
- open_console=True, notify_upon_completion=True, to_email=None, email_config_name=None, kill_on_completion=False,
22
- # execution behaviour
23
- ipython=True, interactive=True, pdb=False, pudb=False, wrap_in_try_except=True,
24
- workload_params=None, # this means no workload params object will be created in execution script, nor fed explicitil with workload_params=workload_params.
25
- # resources
26
- lock_resources=True, max_simulataneous_jobs=2, parallelize=False, )
27
- m = RemoteMachine(func=expensive_function, func_kwargs=dict(sim_dict=dict(a=2, b=3), workload_params=WorkloadParams()), # this way, workload_params go directory to the function with **func_kwargs pickle.
28
- config=config)
29
- m.run()
30
- return m
7
+ # def run_on_remote():
8
+ # from machineconfig.cluster.remote_machine import RemoteMachine, RemoteMachineConfig, WorkloadParams
9
+ # from machineconfig.cluster.templates.utils import expensive_function
10
+ # # from machineconfig.cluster.self_ssh import SelfSSH
11
+ # data: list[PathExtended] = []
12
+ # config = RemoteMachineConfig(
13
+ # # connection
14
+ # # ssh_obj=SelfSSH(), # overrides ssh_params
15
+ # ssh_params=dict(host="ts"), # dict(host="239wsl"),
16
+ # description="Description of running an expensive function", # job_id=, base_dir="",
17
+ # # data
18
+ # copy_repo=False, update_repo=True, install_repo=False, update_essential_repos=True, data=data, transfer_method="sftp",
19
+ # # remote machine behaviour
20
+ # open_console=True, notify_upon_completion=True, to_email=None, email_config_name=None, kill_on_completion=False,
21
+ # # execution behaviour
22
+ # ipython=True, interactive=True, pdb=False, pudb=False, wrap_in_try_except=True,
23
+ # workload_params=None, # this means no workload params object will be created in execution script, nor fed explicitil with workload_params=workload_params.
24
+ # # resources
25
+ # lock_resources=True, max_simulataneous_jobs=2, parallelize=False, )
26
+ # m = RemoteMachine(func=expensive_function, func_kwargs=dict(sim_dict=dict(a=2, b=3), workload_params=WorkloadParams()), # this way, workload_params go directory to the function with **func_kwargs pickle.
27
+ # config=config)
28
+ # m.run()
29
+ # return m
31
30
 
32
31
 
33
- def try_run_on_remote():
34
- run_on_remote()
35
- run_on_remote()
36
- i3 = run_on_remote()
37
- i3.check_job_status()
38
- i3.download_results(r=True)
39
- i3.delete_remote_results()
32
+ # def try_run_on_remote():
33
+ # run_on_remote()
34
+ # run_on_remote()
35
+ # i3 = run_on_remote()
36
+ # i3.check_job_status()
37
+ # i3.download_results(r=True)
38
+ # i3.delete_remote_results()
40
39
 
41
40
 
42
- def run_on_cloud():
43
- from machineconfig.cluster.remote_machine import RemoteMachine, RemoteMachineConfig, CloudManager
44
- from machineconfig.cluster.templates.utils import expensive_function
45
- from machineconfig.cluster.self_ssh import SelfSSH
46
- config = RemoteMachineConfig(
47
- # connection
48
- ssh_obj=SelfSSH(), # overrides ssh_params
49
- description="Description of running an expensive function", # job_id=, base_dir="",
50
- # data
51
- copy_repo=False, update_repo=True, install_repo=False, update_essential_repos=True, data=[], transfer_method="cloud", cloud_name="oduq1",
52
- # remote machine behaviour
53
- open_console=True, notify_upon_completion=True, to_email=None, email_config_name=None,
54
- kill_on_completion=False,
55
- launch_method="cloud_manager",
56
- # execution behaviour
57
- ipython=False, interactive=False, pdb=False, pudb=False, wrap_in_try_except=True,
58
- workload_params=None, # to be added later per sub-job.
59
- # resources
60
- lock_resources=True, max_simulataneous_jobs=2, parallelize=False, )
61
- m = RemoteMachine(func=expensive_function, func_kwargs=dict(sim_dict=dict(a=2, b=3)), config=config)
62
- res = m.submit_to_cloud(split=2, cm=CloudManager(max_jobs=1))
63
- return res
41
+ # def run_on_cloud():
42
+ # from machineconfig.cluster.remote_machine import RemoteMachine, RemoteMachineConfig, CloudManager
43
+ # from machineconfig.cluster.templates.utils import expensive_function
44
+ # from machineconfig.cluster.self_ssh import SelfSSH
45
+ # config = RemoteMachineConfig(
46
+ # # connection
47
+ # ssh_obj=SelfSSH(), # overrides ssh_params
48
+ # description="Description of running an expensive function", # job_id=, base_dir="",
49
+ # # data
50
+ # copy_repo=False, update_repo=True, install_repo=False, update_essential_repos=True, data=[], transfer_method="cloud", cloud_name="oduq1",
51
+ # # remote machine behaviour
52
+ # open_console=True, notify_upon_completion=True, to_email=None, email_config_name=None,
53
+ # kill_on_completion=False,
54
+ # launch_method="cloud_manager",
55
+ # # execution behaviour
56
+ # ipython=False, interactive=False, pdb=False, pudb=False, wrap_in_try_except=True,
57
+ # workload_params=None, # to be added later per sub-job.
58
+ # # resources
59
+ # lock_resources=True, max_simulataneous_jobs=2, parallelize=False, )
60
+ # m = RemoteMachine(func=expensive_function, func_kwargs=dict(sim_dict=dict(a=2, b=3)), config=config)
61
+ # res = m.submit_to_cloud(split=2, cm=CloudManager(max_jobs=1))
62
+ # return res
64
63
 
65
64
 
66
- if __name__ == '__main__':
67
- pass
65
+ # if __name__ == '__main__':
66
+ # pass