machineconfig 1.94__tar.gz → 1.96__tar.gz

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 (821) hide show
  1. {machineconfig-1.94/src/machineconfig.egg-info → machineconfig-1.96}/PKG-INFO +5 -3
  2. {machineconfig-1.94 → machineconfig-1.96}/pyproject.toml +12 -3
  3. machineconfig-1.96/src/machineconfig/cluster/cloud_manager.py +461 -0
  4. machineconfig-1.96/src/machineconfig/cluster/data_transfer.py +63 -0
  5. machineconfig-1.96/src/machineconfig/cluster/distribute.py +284 -0
  6. machineconfig-1.96/src/machineconfig/cluster/file_manager.py +235 -0
  7. machineconfig-1.96/src/machineconfig/cluster/job_params.py +148 -0
  8. machineconfig-1.96/src/machineconfig/cluster/loader_runner.py +184 -0
  9. machineconfig-1.96/src/machineconfig/cluster/remote_machine.py +298 -0
  10. machineconfig-1.96/src/machineconfig/cluster/script_execution.py +215 -0
  11. machineconfig-1.96/src/machineconfig/cluster/script_notify_upon_completion.py +70 -0
  12. machineconfig-1.96/src/machineconfig/cluster/self_ssh.py +57 -0
  13. {machineconfig-1.94/src/machineconfig/jobs/python → machineconfig-1.96/src/machineconfig/cluster/sessions_managers/archive}/create_zellij_template.py +5 -3
  14. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/archive/session_managers.py +184 -0
  15. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/enhanced_command_runner.py +160 -0
  16. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_local.py +494 -0
  17. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +577 -0
  18. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_remote.py +288 -0
  19. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +483 -0
  20. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +196 -0
  21. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +418 -0
  22. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +175 -0
  23. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +300 -0
  24. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +228 -0
  25. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_local.py +418 -0
  26. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +533 -0
  27. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_remote.py +229 -0
  28. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +188 -0
  29. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +64 -0
  30. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +126 -0
  31. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +334 -0
  32. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +68 -0
  33. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +119 -0
  34. machineconfig-1.96/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +85 -0
  35. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/cluster/templates/cli_click.py +0 -1
  36. machineconfig-1.96/src/machineconfig/cluster/templates/cli_gooey.py +117 -0
  37. machineconfig-1.96/src/machineconfig/cluster/templates/run_cloud.py +52 -0
  38. machineconfig-1.96/src/machineconfig/cluster/templates/run_cluster.py +113 -0
  39. machineconfig-1.96/src/machineconfig/cluster/templates/run_remote.py +66 -0
  40. machineconfig-1.96/src/machineconfig/cluster/templates/utils.py +70 -0
  41. machineconfig-1.96/src/machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
  42. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/linux/msc/lid.sh +2 -4
  43. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/linux/msc/network.sh +3 -6
  44. machineconfig-1.96/src/machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
  45. machineconfig-1.96/src/machineconfig/jobs/python/check_installations.py +264 -0
  46. machineconfig-1.96/src/machineconfig/jobs/python/create_bootable_media.py +18 -0
  47. machineconfig-1.96/src/machineconfig/jobs/python/python_cargo_build_share.py +59 -0
  48. machineconfig-1.96/src/machineconfig/jobs/python/python_ve_symlink.py +31 -0
  49. machineconfig-1.96/src/machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
  50. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python/vscode/api.py +3 -3
  51. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python/vscode/link_ve.py +6 -6
  52. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python/vscode/select_interpreter.py +13 -9
  53. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python/vscode/sync_code.py +14 -11
  54. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  55. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/archive/ngrok.py +5 -5
  56. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/aider.py +4 -4
  57. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/alacritty.py +7 -6
  58. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/brave.py +11 -7
  59. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +7 -8
  60. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/code.py +7 -5
  61. machineconfig-1.96/src/machineconfig/jobs/python_custom_installers/dev/cursor.py +128 -0
  62. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +4 -5
  63. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/espanso.py +21 -17
  64. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/goes.py +6 -12
  65. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/lvim.py +7 -6
  66. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/nerdfont.py +5 -5
  67. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/redis.py +11 -7
  68. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/wezterm.py +12 -8
  69. machineconfig-1.96/src/machineconfig/jobs/python_custom_installers/dev/winget.py +194 -0
  70. {machineconfig-1.94/src/machineconfig/jobs/python_custom_installers/dev → machineconfig-1.96/src/machineconfig/jobs/python_custom_installers}/docker.py +12 -7
  71. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/gh.py +10 -9
  72. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/hx.py +36 -65
  73. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +4 -8
  74. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +5 -10
  75. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +3 -6
  76. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +3 -6
  77. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +5 -10
  78. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +4 -8
  79. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +5 -10
  80. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +6 -12
  81. machineconfig-1.96/src/machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +134 -0
  82. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +5 -10
  83. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +3 -6
  84. {machineconfig-1.94/src/machineconfig/jobs/python_custom_installers/dev → machineconfig-1.96/src/machineconfig/jobs/python_custom_installers}/warp-cli.py +5 -5
  85. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  86. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_generic_installers/config.json +133 -9
  87. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_generic_installers/dev/config.json +208 -37
  88. machineconfig-1.96/src/machineconfig/jobs/python_generic_installers/update.py +3 -0
  89. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  90. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_linux_installers/config.json +42 -6
  91. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_linux_installers/dev/config.json +79 -11
  92. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_windows_installers/config.json +6 -0
  93. machineconfig-1.96/src/machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  94. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
  95. machineconfig-1.96/src/machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  96. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/profile/create.py +5 -5
  97. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/profile/create_hardlinks.py +5 -5
  98. machineconfig-1.96/src/machineconfig/profile/shell.py +187 -0
  99. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  100. machineconfig-1.96/src/machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  101. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/cloud/init.sh +9 -18
  102. machineconfig-1.96/src/machineconfig/scripts/linux/fire +27 -0
  103. machineconfig-1.96/src/machineconfig/scripts/linux/fire_agents +27 -0
  104. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/share_cloud.sh +6 -12
  105. machineconfig-1.96/src/machineconfig/scripts/linux/wifi_conn +24 -0
  106. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  107. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
  108. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  109. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  110. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  111. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  112. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  113. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  114. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
  115. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
  116. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
  117. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  118. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
  119. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
  120. machineconfig-1.96/src/machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  121. machineconfig-1.96/src/machineconfig/scripts/python/archive/im2text.py +34 -0
  122. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/archive/tmate_conn.py +10 -13
  123. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/archive/tmate_start.py +12 -16
  124. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/choose_wezterm_theme.py +12 -21
  125. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/cloud_copy.py +49 -104
  126. machineconfig-1.96/src/machineconfig/scripts/python/cloud_manager.py +77 -0
  127. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/cloud_mount.py +36 -46
  128. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/cloud_repo_sync.py +33 -79
  129. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/cloud_sync.py +35 -45
  130. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/croshell.py +70 -92
  131. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/devops.py +54 -113
  132. machineconfig-1.96/src/machineconfig/scripts/python/devops_add_identity.py +92 -0
  133. machineconfig-1.96/src/machineconfig/scripts/python/devops_add_ssh_key.py +118 -0
  134. machineconfig-1.96/src/machineconfig/scripts/python/devops_backup_retrieve.py +91 -0
  135. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/devops_devapps_install.py +6 -10
  136. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/devops_update_repos.py +5 -4
  137. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/dotfile.py +10 -7
  138. machineconfig-1.96/src/machineconfig/scripts/python/fire_agents.py +69 -0
  139. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/fire_jobs.py +117 -78
  140. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/ftpx.py +8 -8
  141. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/get_zellij_cmd.py +3 -3
  142. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/gh_models.py +6 -4
  143. machineconfig-1.96/src/machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  144. machineconfig-1.96/src/machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
  145. machineconfig-1.96/src/machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  146. machineconfig-1.96/src/machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  147. machineconfig-1.96/src/machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  148. machineconfig-1.96/src/machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
  149. machineconfig-1.96/src/machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
  150. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +49 -46
  151. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/helpers/helpers2.py +26 -39
  152. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/helpers/helpers4.py +23 -35
  153. machineconfig-1.96/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +92 -0
  154. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/mount_nfs.py +8 -11
  155. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/mount_nw_drive.py +4 -4
  156. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/mount_ssh.py +2 -2
  157. machineconfig-1.96/src/machineconfig/scripts/python/onetimeshare.py +67 -0
  158. machineconfig-1.96/src/machineconfig/scripts/python/pomodoro.py +55 -0
  159. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/repos.py +72 -49
  160. machineconfig-1.96/src/machineconfig/scripts/python/scheduler.py +70 -0
  161. machineconfig-1.96/src/machineconfig/scripts/python/snapshot.py +26 -0
  162. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/start_slidev.py +6 -5
  163. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/start_terminals.py +3 -1
  164. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/viewer.py +5 -4
  165. machineconfig-1.96/src/machineconfig/scripts/python/viewer_template.py +138 -0
  166. machineconfig-1.96/src/machineconfig/scripts/python/wifi_conn.py +444 -0
  167. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/wsl_windows_transfer.py +18 -3
  168. machineconfig-1.96/src/machineconfig/scripts/windows/fire.ps1 +45 -0
  169. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/linters/.pylintrc +6 -7
  170. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/bash/init.sh +6 -0
  171. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +7 -6
  172. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/pwsh/init.ps1 +6 -6
  173. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/wt/settings.json +51 -266
  174. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/nix/cli_installation.sh +9 -18
  175. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +3 -6
  176. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/web_shortcuts/all.sh +5 -10
  177. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/web_shortcuts/ascii_art.sh +7 -14
  178. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +6 -12
  179. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +39 -70
  180. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +8 -16
  181. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/web_shortcuts/update_system.sh +7 -14
  182. machineconfig-1.96/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  183. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +3 -6
  184. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +27 -21
  185. machineconfig-1.96/src/machineconfig/utils/__init__.py +0 -0
  186. machineconfig-1.96/src/machineconfig/utils/ai/__init__.py +0 -0
  187. machineconfig-1.96/src/machineconfig/utils/ai/browser_user_wrapper.py +66 -0
  188. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/utils/ai/generate_file_checklist.py +4 -7
  189. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/utils/ai/url2md.py +15 -7
  190. machineconfig-1.96/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +59 -0
  191. machineconfig-1.96/src/machineconfig/utils/cloud/onedrive/transaction.py +796 -0
  192. machineconfig-1.94/src/machineconfig/utils/utils_code.py → machineconfig-1.96/src/machineconfig/utils/code.py +25 -22
  193. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/utils/installer.py +81 -44
  194. machineconfig-1.96/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  195. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/utils/installer_utils/installer_abc.py +7 -6
  196. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/utils/installer_utils/installer_class.py +44 -25
  197. machineconfig-1.96/src/machineconfig/utils/io_save.py +107 -0
  198. machineconfig-1.94/src/machineconfig/utils/utils_links.py → machineconfig-1.96/src/machineconfig/utils/links.py +28 -35
  199. machineconfig-1.94/src/machineconfig/utils/utils_options.py → machineconfig-1.96/src/machineconfig/utils/options.py +14 -28
  200. machineconfig-1.96/src/machineconfig/utils/path.py +112 -0
  201. machineconfig-1.96/src/machineconfig/utils/path_reduced.py +608 -0
  202. machineconfig-1.96/src/machineconfig/utils/procs.py +228 -0
  203. machineconfig-1.96/src/machineconfig/utils/scheduling.py +312 -0
  204. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/utils/utils.py +19 -26
  205. machineconfig-1.96/src/machineconfig/utils/utils2.py +42 -0
  206. machineconfig-1.96/src/machineconfig/utils/utils5.py +84 -0
  207. machineconfig-1.96/src/machineconfig/utils/ve.py +51 -0
  208. {machineconfig-1.94 → machineconfig-1.96/src/machineconfig.egg-info}/PKG-INFO +5 -3
  209. machineconfig-1.96/src/machineconfig.egg-info/SOURCES.txt +441 -0
  210. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig.egg-info/requires.txt +4 -1
  211. machineconfig-1.94/LICENSE +0 -201
  212. machineconfig-1.94/src/machineconfig/cluster/cloud_manager.py +0 -359
  213. machineconfig-1.94/src/machineconfig/cluster/data_transfer.py +0 -56
  214. machineconfig-1.94/src/machineconfig/cluster/distribute.py +0 -280
  215. machineconfig-1.94/src/machineconfig/cluster/file_manager.py +0 -238
  216. machineconfig-1.94/src/machineconfig/cluster/job_params.py +0 -148
  217. machineconfig-1.94/src/machineconfig/cluster/loader_runner.py +0 -150
  218. machineconfig-1.94/src/machineconfig/cluster/remote_machine.py +0 -281
  219. machineconfig-1.94/src/machineconfig/cluster/script_execution.py +0 -209
  220. machineconfig-1.94/src/machineconfig/cluster/script_notify_upon_completion.py +0 -63
  221. machineconfig-1.94/src/machineconfig/cluster/self_ssh.py +0 -59
  222. machineconfig-1.94/src/machineconfig/cluster/session_managers.py +0 -183
  223. machineconfig-1.94/src/machineconfig/cluster/templates/cli_gooey.py +0 -119
  224. machineconfig-1.94/src/machineconfig/cluster/templates/f.py +0 -4
  225. machineconfig-1.94/src/machineconfig/cluster/templates/run_cloud.py +0 -52
  226. machineconfig-1.94/src/machineconfig/cluster/templates/run_cluster.py +0 -69
  227. machineconfig-1.94/src/machineconfig/cluster/templates/run_remote.py +0 -67
  228. machineconfig-1.94/src/machineconfig/cluster/templates/utils.py +0 -37
  229. machineconfig-1.94/src/machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
  230. machineconfig-1.94/src/machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
  231. machineconfig-1.94/src/machineconfig/jobs/python/__pycache__/check_installations.cpython-311.pyc +0 -0
  232. machineconfig-1.94/src/machineconfig/jobs/python/__pycache__/checkout_version.cpython-311.pyc +0 -0
  233. machineconfig-1.94/src/machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
  234. machineconfig-1.94/src/machineconfig/jobs/python/check_installations.py +0 -196
  235. machineconfig-1.94/src/machineconfig/jobs/python/checkout_version.py +0 -123
  236. machineconfig-1.94/src/machineconfig/jobs/python/create_bootable_media.py +0 -14
  237. machineconfig-1.94/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -59
  238. machineconfig-1.94/src/machineconfig/jobs/python/python_ve_symlink.py +0 -31
  239. machineconfig-1.94/src/machineconfig/jobs/python/vscode/__pycache__/api.cpython-311.pyc +0 -0
  240. machineconfig-1.94/src/machineconfig/jobs/python/vscode/__pycache__/link_ve.cpython-311.pyc +0 -0
  241. machineconfig-1.94/src/machineconfig/jobs/python_custom_installers/__pycache__/hx.cpython-311.pyc +0 -0
  242. machineconfig-1.94/src/machineconfig/jobs/python_custom_installers/dev/cursor.py +0 -67
  243. machineconfig-1.94/src/machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +0 -66
  244. machineconfig-1.94/src/machineconfig/jobs/python_windows_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  245. machineconfig-1.94/src/machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  246. machineconfig-1.94/src/machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  247. machineconfig-1.94/src/machineconfig/profile/shell.py +0 -181
  248. machineconfig-1.94/src/machineconfig/scripts/linux/fire +0 -46
  249. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/.gitignore +0 -2
  250. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/@plugins_snapshot.json +0 -1
  251. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/__future__.data.json +0 -1
  252. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/__future__.meta.json +0 -1
  253. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_ast.data.json +0 -1
  254. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_ast.meta.json +0 -1
  255. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_bz2.data.json +0 -1
  256. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_bz2.meta.json +0 -1
  257. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_codecs.data.json +0 -1
  258. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_codecs.meta.json +0 -1
  259. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.data.json +0 -1
  260. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.meta.json +0 -1
  261. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_compression.data.json +0 -1
  262. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_compression.meta.json +0 -1
  263. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_decimal.data.json +0 -1
  264. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_decimal.meta.json +0 -1
  265. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.data.json +0 -1
  266. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.meta.json +0 -1
  267. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.data.json +0 -1
  268. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.meta.json +0 -1
  269. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_io.data.json +0 -1
  270. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_io.meta.json +0 -1
  271. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_locale.data.json +0 -1
  272. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_locale.meta.json +0 -1
  273. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_stat.data.json +0 -1
  274. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_stat.meta.json +0 -1
  275. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_struct.data.json +0 -1
  276. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_struct.meta.json +0 -1
  277. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_thread.data.json +0 -1
  278. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_thread.meta.json +0 -1
  279. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.data.json +0 -1
  280. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.meta.json +0 -1
  281. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.data.json +0 -1
  282. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.meta.json +0 -1
  283. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_warnings.data.json +0 -1
  284. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_warnings.meta.json +0 -1
  285. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_weakref.data.json +0 -1
  286. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_weakref.meta.json +0 -1
  287. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.data.json +0 -1
  288. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.meta.json +0 -1
  289. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/abc.data.json +0 -1
  290. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/abc.meta.json +0 -1
  291. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/argparse.data.json +0 -1
  292. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/argparse.meta.json +0 -1
  293. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/ast.data.json +0 -1
  294. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/ast.meta.json +0 -1
  295. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/binascii.data.json +0 -1
  296. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/binascii.meta.json +0 -1
  297. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/builtins.data.json +0 -1
  298. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/builtins.meta.json +0 -1
  299. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/bz2.data.json +0 -1
  300. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/bz2.meta.json +0 -1
  301. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/calendar.data.json +0 -1
  302. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/calendar.meta.json +0 -1
  303. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/codecs.data.json +0 -1
  304. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/codecs.meta.json +0 -1
  305. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.data.json +0 -1
  306. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.meta.json +0 -1
  307. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.data.json +0 -1
  308. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.meta.json +0 -1
  309. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/configparser.data.json +0 -1
  310. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/configparser.meta.json +0 -1
  311. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/contextlib.data.json +0 -1
  312. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/contextlib.meta.json +0 -1
  313. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.data.json +0 -1
  314. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.meta.json +0 -1
  315. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/datetime.data.json +0 -1
  316. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/datetime.meta.json +0 -1
  317. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/decimal.data.json +0 -1
  318. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/decimal.meta.json +0 -1
  319. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/dis.data.json +0 -1
  320. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/dis.meta.json +0 -1
  321. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.data.json +0 -1
  322. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.meta.json +0 -1
  323. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.data.json +0 -1
  324. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.meta.json +0 -1
  325. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/charset.data.json +0 -1
  326. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/charset.meta.json +0 -1
  327. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.data.json +0 -1
  328. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.meta.json +0 -1
  329. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/errors.data.json +0 -1
  330. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/errors.meta.json +0 -1
  331. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/header.data.json +0 -1
  332. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/header.meta.json +0 -1
  333. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/message.data.json +0 -1
  334. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/message.meta.json +0 -1
  335. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/policy.data.json +0 -1
  336. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/email/policy.meta.json +0 -1
  337. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/enum.data.json +0 -1
  338. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/enum.meta.json +0 -1
  339. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.data.json +0 -1
  340. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.meta.json +0 -1
  341. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/functools.data.json +0 -1
  342. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/functools.meta.json +0 -1
  343. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/gc.data.json +0 -1
  344. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/gc.meta.json +0 -1
  345. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/genericpath.data.json +0 -1
  346. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/genericpath.meta.json +0 -1
  347. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/getpass.data.json +0 -1
  348. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/getpass.meta.json +0 -1
  349. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.data.json +0 -1
  350. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.meta.json +0 -1
  351. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.data.json +0 -1
  352. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.meta.json +0 -1
  353. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/compat.data.json +0 -1
  354. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/compat.meta.json +0 -1
  355. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/config.data.json +0 -1
  356. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/config.meta.json +0 -1
  357. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/db.data.json +0 -1
  358. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/db.meta.json +0 -1
  359. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/diff.data.json +0 -1
  360. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/diff.meta.json +0 -1
  361. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/exc.data.json +0 -1
  362. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/exc.meta.json +0 -1
  363. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.data.json +0 -1
  364. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.meta.json +0 -1
  365. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.data.json +0 -1
  366. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.meta.json +0 -1
  367. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.data.json +0 -1
  368. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.meta.json +0 -1
  369. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.data.json +0 -1
  370. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.meta.json +0 -1
  371. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.data.json +0 -1
  372. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.meta.json +0 -1
  373. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.data.json +0 -1
  374. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.meta.json +0 -1
  375. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.data.json +0 -1
  376. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.meta.json +0 -1
  377. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.data.json +0 -1
  378. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.meta.json +0 -1
  379. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.data.json +0 -1
  380. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.meta.json +0 -1
  381. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.data.json +0 -1
  382. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.meta.json +0 -1
  383. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.data.json +0 -1
  384. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.meta.json +0 -1
  385. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.data.json +0 -1
  386. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.meta.json +0 -1
  387. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.data.json +0 -1
  388. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.meta.json +0 -1
  389. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.data.json +0 -1
  390. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.meta.json +0 -1
  391. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.data.json +0 -1
  392. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.meta.json +0 -1
  393. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.data.json +0 -1
  394. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.meta.json +0 -1
  395. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.data.json +0 -1
  396. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.meta.json +0 -1
  397. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.data.json +0 -1
  398. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.meta.json +0 -1
  399. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.data.json +0 -1
  400. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.meta.json +0 -1
  401. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.data.json +0 -1
  402. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.meta.json +0 -1
  403. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.data.json +0 -1
  404. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.meta.json +0 -1
  405. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.data.json +0 -1
  406. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.meta.json +0 -1
  407. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.data.json +0 -1
  408. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.meta.json +0 -1
  409. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.data.json +0 -1
  410. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.meta.json +0 -1
  411. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/remote.data.json +0 -1
  412. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/remote.meta.json +0 -1
  413. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.data.json +0 -1
  414. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.meta.json +0 -1
  415. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.data.json +0 -1
  416. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.meta.json +0 -1
  417. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.data.json +0 -1
  418. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.meta.json +0 -1
  419. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/types.data.json +0 -1
  420. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/types.meta.json +0 -1
  421. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/util.data.json +0 -1
  422. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/git/util.meta.json +0 -1
  423. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/glob.data.json +0 -1
  424. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/glob.meta.json +0 -1
  425. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/gzip.data.json +0 -1
  426. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/gzip.meta.json +0 -1
  427. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.data.json +0 -1
  428. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.meta.json +0 -1
  429. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.data.json +0 -1
  430. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.meta.json +0 -1
  431. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.data.json +0 -1
  432. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.meta.json +0 -1
  433. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.data.json +0 -1
  434. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.meta.json +0 -1
  435. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.data.json +0 -1
  436. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.meta.json +0 -1
  437. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.data.json +0 -1
  438. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.meta.json +0 -1
  439. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.data.json +0 -1
  440. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.meta.json +0 -1
  441. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.data.json +0 -1
  442. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.meta.json +0 -1
  443. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.data.json +0 -1
  444. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.meta.json +0 -1
  445. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.data.json +0 -1
  446. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.meta.json +0 -1
  447. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.data.json +0 -1
  448. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.meta.json +0 -1
  449. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.data.json +0 -1
  450. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.meta.json +0 -1
  451. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/inspect.data.json +0 -1
  452. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/inspect.meta.json +0 -1
  453. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/io.data.json +0 -1
  454. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/io.meta.json +0 -1
  455. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/itertools.data.json +0 -1
  456. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/itertools.meta.json +0 -1
  457. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/locale.data.json +0 -1
  458. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/locale.meta.json +0 -1
  459. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.data.json +0 -1
  460. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.meta.json +0 -1
  461. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.data.json +0 -1
  462. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.meta.json +0 -1
  463. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/mmap.data.json +0 -1
  464. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/mmap.meta.json +0 -1
  465. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/numbers.data.json +0 -1
  466. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/numbers.meta.json +0 -1
  467. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/opcode.data.json +0 -1
  468. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/opcode.meta.json +0 -1
  469. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.data.json +0 -1
  470. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.meta.json +0 -1
  471. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/os/path.data.json +0 -1
  472. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/os/path.meta.json +0 -1
  473. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/pathlib.data.json +0 -1
  474. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/pathlib.meta.json +0 -1
  475. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/platform.data.json +0 -1
  476. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/platform.meta.json +0 -1
  477. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/posixpath.data.json +0 -1
  478. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/posixpath.meta.json +0 -1
  479. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/re.data.json +0 -1
  480. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/re.meta.json +0 -1
  481. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/resource.data.json +0 -1
  482. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/resource.meta.json +0 -1
  483. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/shlex.data.json +0 -1
  484. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/shlex.meta.json +0 -1
  485. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/shutil.data.json +0 -1
  486. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/shutil.meta.json +0 -1
  487. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/signal.data.json +0 -1
  488. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/signal.meta.json +0 -1
  489. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.data.json +0 -1
  490. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.meta.json +0 -1
  491. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.data.json +0 -1
  492. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.meta.json +0 -1
  493. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.data.json +0 -1
  494. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.meta.json +0 -1
  495. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.data.json +0 -1
  496. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.meta.json +0 -1
  497. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.data.json +0 -1
  498. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.meta.json +0 -1
  499. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.data.json +0 -1
  500. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.meta.json +0 -1
  501. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.data.json +0 -1
  502. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.meta.json +0 -1
  503. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/stat.data.json +0 -1
  504. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/stat.meta.json +0 -1
  505. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/string.data.json +0 -1
  506. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/string.meta.json +0 -1
  507. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/struct.data.json +0 -1
  508. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/struct.meta.json +0 -1
  509. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/subprocess.data.json +0 -1
  510. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/subprocess.meta.json +0 -1
  511. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.data.json +0 -1
  512. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.meta.json +0 -1
  513. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/tarfile.data.json +0 -1
  514. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/tarfile.meta.json +0 -1
  515. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/tempfile.data.json +0 -1
  516. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/tempfile.meta.json +0 -1
  517. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/textwrap.data.json +0 -1
  518. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/textwrap.meta.json +0 -1
  519. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/threading.data.json +0 -1
  520. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/threading.meta.json +0 -1
  521. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/time.data.json +0 -1
  522. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/time.meta.json +0 -1
  523. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/types.data.json +0 -1
  524. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/types.meta.json +0 -1
  525. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/typing.data.json +0 -1
  526. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/typing.meta.json +0 -1
  527. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.data.json +0 -1
  528. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.meta.json +0 -1
  529. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.data.json +0 -1
  530. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.meta.json +0 -1
  531. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.data.json +0 -1
  532. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.meta.json +0 -1
  533. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/uuid.data.json +0 -1
  534. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/uuid.meta.json +0 -1
  535. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/warnings.data.json +0 -1
  536. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/warnings.meta.json +0 -1
  537. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/weakref.data.json +0 -1
  538. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/weakref.meta.json +0 -1
  539. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.data.json +0 -1
  540. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.meta.json +0 -1
  541. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/zlib.data.json +0 -1
  542. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/3.11/zlib.meta.json +0 -1
  543. machineconfig-1.94/src/machineconfig/scripts/python/.mypy_cache/CACHEDIR.TAG +0 -3
  544. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  545. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  546. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  547. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/cloud_repo_sync.cpython-311.pyc +0 -0
  548. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  549. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  550. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  551. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  552. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  553. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/gh_models.cpython-311.pyc +0 -0
  554. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  555. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/url2md.cpython-311.pyc +0 -0
  556. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/viewer.cpython-311.pyc +0 -0
  557. machineconfig-1.94/src/machineconfig/scripts/python/__pycache__/vscode_api.cpython-311.pyc +0 -0
  558. machineconfig-1.94/src/machineconfig/scripts/python/archive/im2text.py +0 -36
  559. machineconfig-1.94/src/machineconfig/scripts/python/cloud_manager.py +0 -91
  560. machineconfig-1.94/src/machineconfig/scripts/python/devops_add_identity.py +0 -130
  561. machineconfig-1.94/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -225
  562. machineconfig-1.94/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -179
  563. machineconfig-1.94/src/machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  564. machineconfig-1.94/src/machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  565. machineconfig-1.94/src/machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  566. machineconfig-1.94/src/machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  567. machineconfig-1.94/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -126
  568. machineconfig-1.94/src/machineconfig/scripts/python/onetimeshare.py +0 -68
  569. machineconfig-1.94/src/machineconfig/scripts/python/pomodoro.py +0 -55
  570. machineconfig-1.94/src/machineconfig/scripts/python/scheduler.py +0 -53
  571. machineconfig-1.94/src/machineconfig/scripts/python/snapshot.py +0 -29
  572. machineconfig-1.94/src/machineconfig/scripts/python/viewer_template.py +0 -140
  573. machineconfig-1.94/src/machineconfig/scripts/python/wifi_conn.py +0 -90
  574. machineconfig-1.94/src/machineconfig/scripts/windows/fire.ps1 +0 -33
  575. machineconfig-1.94/src/machineconfig/settings/__pycache__/__init__.cpython-311.pyc +0 -0
  576. machineconfig-1.94/src/machineconfig/settings/linters/.ruff_cache/.gitignore +0 -2
  577. machineconfig-1.94/src/machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +0 -1
  578. machineconfig-1.94/src/machineconfig/settings/shells/ipy/profiles/default/__pycache__/__init__.cpython-311.pyc +0 -0
  579. machineconfig-1.94/src/machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/__init__.cpython-311.pyc +0 -0
  580. machineconfig-1.94/src/machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/playext.cpython-311.pyc +0 -0
  581. machineconfig-1.94/src/machineconfig/utils/ai/browser_user_wrapper.py +0 -51
  582. machineconfig-1.94/src/machineconfig/utils/procs.py +0 -167
  583. machineconfig-1.94/src/machineconfig/utils/scheduling.py +0 -222
  584. machineconfig-1.94/src/machineconfig/utils/utils_path.py +0 -151
  585. machineconfig-1.94/src/machineconfig/utils/ve.py +0 -105
  586. machineconfig-1.94/src/machineconfig/utils/ve_utils/ve1.py +0 -111
  587. machineconfig-1.94/src/machineconfig/utils/ve_utils/ve2.py +0 -142
  588. machineconfig-1.94/src/machineconfig.egg-info/SOURCES.txt +0 -715
  589. {machineconfig-1.94 → machineconfig-1.96}/MANIFEST.in +0 -0
  590. {machineconfig-1.94 → machineconfig-1.96}/README.md +0 -0
  591. {machineconfig-1.94 → machineconfig-1.96}/setup.cfg +0 -0
  592. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/__init__.py +0 -0
  593. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/cluster/__init__.py +0 -0
  594. {machineconfig-1.94/src/machineconfig/cluster/templates → machineconfig-1.96/src/machineconfig/cluster/sessions_managers}/__init__.py +0 -0
  595. {machineconfig-1.94/src/machineconfig/jobs → machineconfig-1.96/src/machineconfig/cluster/sessions_managers/archive}/__init__.py +0 -0
  596. /machineconfig-1.94/src/machineconfig/jobs/python/__init__.py → /machineconfig-1.96/src/machineconfig/cluster/sessions_managers/demo_rich_zellij.py +0 -0
  597. {machineconfig-1.94/src/machineconfig/jobs/python_custom_installers → machineconfig-1.96/src/machineconfig/cluster/templates}/__init__.py +0 -0
  598. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  599. {machineconfig-1.94/src/machineconfig/jobs/python_generic_installers → machineconfig-1.96/src/machineconfig/jobs}/__init__.py +0 -0
  600. {machineconfig-1.94/src/machineconfig/jobs/python_linux_installers → machineconfig-1.96/src/machineconfig/jobs/python}/__init__.py +0 -0
  601. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python/archive/python_tools.txt +0 -0
  602. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python/tasks.py +0 -0
  603. {machineconfig-1.94/src/machineconfig/jobs/python_linux_installers/dev → machineconfig-1.96/src/machineconfig/jobs/python_custom_installers}/__init__.py +0 -0
  604. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_custom_installers/dev/reverse_proxy.md +0 -0
  605. {machineconfig-1.94/src/machineconfig/jobs/python_windows_installers → machineconfig-1.96/src/machineconfig/jobs/python_generic_installers}/__init__.py +0 -0
  606. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_generic_installers/dev/config.archive.json +0 -0
  607. {machineconfig-1.94/src/machineconfig/jobs/python_windows_installers/archive → machineconfig-1.96/src/machineconfig/jobs/python_linux_installers}/__init__.py +0 -0
  608. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_linux_installers/archive/config.json +0 -0
  609. {machineconfig-1.94/src/machineconfig/jobs/python_windows_installers → machineconfig-1.96/src/machineconfig/jobs/python_linux_installers}/dev/__init__.py +0 -0
  610. {machineconfig-1.94/src/machineconfig/profile → machineconfig-1.96/src/machineconfig/jobs/python_windows_installers}/__init__.py +0 -0
  611. {machineconfig-1.94/src/machineconfig/scripts/python → machineconfig-1.96/src/machineconfig/jobs/python_windows_installers/archive}/__init__.py +0 -0
  612. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_windows_installers/archive/file.json +0 -0
  613. {machineconfig-1.94/src/machineconfig/scripts/python/helpers → machineconfig-1.96/src/machineconfig/jobs/python_windows_installers/dev}/__init__.py +0 -0
  614. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/python_windows_installers/dev/config.json +0 -0
  615. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  616. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  617. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  618. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
  619. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
  620. {machineconfig-1.94/src/machineconfig/settings → machineconfig-1.96/src/machineconfig/profile}/__init__.py +0 -0
  621. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  622. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  623. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  624. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  625. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  626. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/__init__.py +0 -0
  627. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/activate_ve +0 -0
  628. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/archive/tmate_conn +0 -0
  629. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/archive/tmate_start +0 -0
  630. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/archive/transfer_wsl_win +0 -0
  631. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/checkout_versions +0 -0
  632. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
  633. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/cloud_copy +0 -0
  634. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/cloud_manager +0 -0
  635. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/cloud_mount +0 -0
  636. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
  637. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/cloud_sync +0 -0
  638. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/croshell +0 -0
  639. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/devops +0 -0
  640. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/ftpx +0 -0
  641. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/fzf2g +0 -0
  642. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/fzfag +0 -0
  643. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/fzffg +0 -0
  644. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/fzfg +0 -0
  645. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/fzfrga +0 -0
  646. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/gh_models +0 -0
  647. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/kill_process +0 -0
  648. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/mount_drive +0 -0
  649. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/mount_nfs +0 -0
  650. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
  651. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/mount_smb +0 -0
  652. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/programs +0 -0
  653. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/repos +0 -0
  654. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/scheduler +0 -0
  655. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/share_nfs +0 -0
  656. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/share_smb +0 -0
  657. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/skrg +0 -0
  658. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/start_docker +0 -0
  659. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/start_slidev +0 -0
  660. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/start_terminals +0 -0
  661. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/switch_ip +0 -0
  662. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/url2md +0 -0
  663. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/linux/z_ls +0 -0
  664. {machineconfig-1.94/src/machineconfig/settings/shells/ipy/profiles/default → machineconfig-1.96/src/machineconfig/scripts/python}/__init__.py +0 -0
  665. {machineconfig-1.94/src/machineconfig/settings/shells/ipy/profiles/default/startup → machineconfig-1.96/src/machineconfig/scripts/python/helpers}/__init__.py +0 -0
  666. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
  667. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/activate_ve.ps1 +0 -0
  668. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/archive/gource2vid.ps1 +0 -0
  669. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/archive/im2text.ps1 +0 -0
  670. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/archive/secure_pull.ps1 +0 -0
  671. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/archive/secure_push.ps1 +0 -0
  672. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/archive/tmate_conn.ps1 +0 -0
  673. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/checkout_version.ps1 +0 -0
  674. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
  675. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
  676. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/cloud_manager.ps1 +0 -0
  677. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
  678. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
  679. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
  680. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
  681. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
  682. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
  683. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
  684. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  685. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  686. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  687. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
  688. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
  689. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
  690. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
  691. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
  692. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
  693. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
  694. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
  695. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/neofetch.ps1 +0 -0
  696. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
  697. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/py2exe.ps1 +0 -0
  698. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
  699. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/repos.ps1 +0 -0
  700. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
  701. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
  702. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
  703. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
  704. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
  705. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
  706. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
  707. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
  708. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/utils/op_script_delete.ps1 +0 -0
  709. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
  710. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
  711. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
  712. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/scripts/windows/wsl_windows_transfer.ps1 +0 -0
  713. {machineconfig-1.94/src/machineconfig/setup_windows → machineconfig-1.96/src/machineconfig/settings}/__init__.py +0 -0
  714. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/broot/br.sh +0 -0
  715. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  716. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/broot/conf.toml +0 -0
  717. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/glow/glow.yml +0 -0
  718. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  719. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/helix/config.toml +0 -0
  720. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/helix/languages.toml +0 -0
  721. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/keras/keras.json +0 -0
  722. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  723. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  724. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  725. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  726. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  727. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  728. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  729. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  730. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  731. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  732. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/colors +0 -0
  733. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  734. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  735. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  736. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  737. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  738. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  739. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/icons +0 -0
  740. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  741. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  742. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  743. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  744. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  745. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  746. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  747. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  748. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  749. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  750. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  751. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/colors +0 -0
  752. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  753. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/icons +0 -0
  754. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  755. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  756. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  757. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  758. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  759. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  760. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  761. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/linters/.flake8 +0 -0
  762. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  763. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  764. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  765. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  766. /machineconfig-1.94/src/machineconfig/settings/shells/alacritty/alacritty.yml → /machineconfig-1.96/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  767. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  768. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  769. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/mprocs/windows/other +0 -0
  770. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  771. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  772. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/procs/.procs.toml +0 -0
  773. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  774. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/rofi/config.rasi +0 -0
  775. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  776. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  777. /machineconfig-1.94/src/machineconfig/settings/shells/pwsh/profile.ps1 → /machineconfig-1.96/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  778. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/bash/.inputrc +0 -0
  779. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  780. {machineconfig-1.94/src/machineconfig/setup_windows/wt_and_pwsh → machineconfig-1.96/src/machineconfig/settings/shells/ipy/profiles/default}/__init__.py +0 -0
  781. {machineconfig-1.94/src/machineconfig/utils → machineconfig-1.96/src/machineconfig/settings/shells/ipy/profiles/default/startup}/__init__.py +0 -0
  782. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  783. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  784. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  785. /machineconfig-1.94/src/machineconfig/settings/yazi/keymap.toml → /machineconfig-1.96/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  786. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  787. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  788. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  789. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/streamlit/config.toml +0 -0
  790. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  791. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  792. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  793. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/tere/terecd.sh +0 -0
  794. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  795. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  796. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  797. /machineconfig-1.94/src/machineconfig/settings/yazi/theme.toml → /machineconfig-1.96/src/machineconfig/settings/yazi/keymap.toml +0 -0
  798. /machineconfig-1.94/src/machineconfig/utils/ai/__init__.py → /machineconfig-1.96/src/machineconfig/settings/yazi/theme.toml +0 -0
  799. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  800. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zed/settings.json +0 -0
  801. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  802. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  803. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/config.kdl +0 -0
  804. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  805. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  806. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  807. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  808. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  809. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  810. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  811. {machineconfig-1.94/src/machineconfig/utils/installer_utils → machineconfig-1.96/src/machineconfig/setup_windows}/__init__.py +0 -0
  812. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  813. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  814. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
  815. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
  816. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
  817. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
  818. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
  819. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +0 -0
  820. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  821. {machineconfig-1.94 → machineconfig-1.96}/src/machineconfig.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 1.94
3
+ Version: 1.96
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -9,7 +9,7 @@ Project-URL: Bug Tracker, https://github.com/thisismygitrepo/machineconfig/issue
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: License :: OSI Approved :: Apache Software License
11
11
  Classifier: Operating System :: OS Independent
12
- Requires-Python: >=3.10
12
+ Requires-Python: >=3.11
13
13
  Description-Content-Type: text/markdown
14
14
  Requires-Dist: crocodile
15
15
  Requires-Dist: rich>=14.0.0
@@ -17,7 +17,6 @@ Requires-Dist: paramiko>=3.5.1
17
17
  Requires-Dist: psutil>=7.0.0
18
18
  Requires-Dist: openai>=1.75.0
19
19
  Requires-Dist: nbformat>=5.10.4
20
- Requires-Dist: streamlit>=1.44.1
21
20
  Requires-Dist: fire>=0.7.0
22
21
  Requires-Dist: pydantic>=2.11.3
23
22
  Requires-Dist: clipboard>=0.0.4
@@ -25,8 +24,11 @@ Requires-Dist: gitpython>=3.1.44
25
24
  Requires-Dist: pudb>=2024.1.3
26
25
  Requires-Dist: pyfzf>=0.3.1
27
26
  Requires-Dist: call-function-with-timeout>=1.1.1
27
+ Requires-Dist: rclone-python>=0.1.23
28
28
  Provides-Extra: windows
29
29
  Requires-Dist: pywin32; extra == "windows"
30
+ Provides-Extra: docs
31
+ Requires-Dist: pdoc>=15.0.2; extra == "docs"
30
32
 
31
33
 
32
34
  <p align="center">
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "1.94"
9
+ version = "1.96"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -18,7 +18,7 @@ classifiers = [
18
18
  "License :: OSI Approved :: Apache Software License",
19
19
  "Operating System :: OS Independent",
20
20
  ]
21
- requires-python = ">=3.10"
21
+ requires-python = ">=3.11"
22
22
  dependencies = [
23
23
  "crocodile",
24
24
  "rich>=14.0.0",
@@ -26,7 +26,6 @@ dependencies = [
26
26
  "psutil>=7.0.0",
27
27
  "openai>=1.75.0",
28
28
  "nbformat>=5.10.4",
29
- "streamlit>=1.44.1",
30
29
  "fire>=0.7.0",
31
30
  "pydantic>=2.11.3",
32
31
  "clipboard>=0.0.4",
@@ -34,12 +33,17 @@ dependencies = [
34
33
  "pudb>=2024.1.3",
35
34
  "pyfzf>=0.3.1",
36
35
  "call-function-with-timeout>=1.1.1",
36
+ "rclone-python>=0.1.23",
37
37
  ]
38
38
 
39
39
  [project.optional-dependencies]
40
40
  windows = [
41
41
  "pywin32"
42
42
  ]
43
+ # docs extra for documentation generation
44
+ docs = [
45
+ "pdoc>=15.0.2"
46
+ ]
43
47
 
44
48
  [project.urls]
45
49
  "Homepage" = "https://github.com/thisismygitrepo/machineconfig"
@@ -54,3 +58,8 @@ where = ["src"]
54
58
 
55
59
  [tool.uv.sources]
56
60
  crocodile = { path = "../crocodile", editable = true }
61
+
62
+ [dependency-groups]
63
+ dev = [
64
+ "rclone-python>=0.1.23",
65
+ ]
@@ -0,0 +1,461 @@
1
+
2
+
3
+
4
+ # from machineconfig.utils.utils2 import read_ini
5
+ # from machineconfig.utils.io_save import save_pickle
6
+
7
+ # from machineconfig.cluster.loader_runner import JOB_STATUS, LogEntry
8
+ # from typing import Optional, Any, NoReturn
9
+ # from rich.console import Console
10
+ # import pickle
11
+ # import time
12
+ # import getpass
13
+ # import random
14
+ # import platform
15
+ # from datetime import datetime, timedelta
16
+
17
+
18
+ # def format_table_markdown(data: list[dict[str, Any]]) -> str:
19
+ # """Convert list of dictionaries to markdown table format."""
20
+ # if not data:
21
+ # return ""
22
+
23
+ # # Get all unique keys from all dictionaries
24
+ # all_keys = set()
25
+ # for row in data:
26
+ # all_keys.update(row.keys())
27
+
28
+ # keys = sorted(all_keys)
29
+
30
+ # # Create header
31
+ # header = "|" + "|".join(f" {key} " for key in keys) + "|"
32
+ # separator = "|" + "|".join(" --- " for _ in keys) + "|"
33
+
34
+ # # Create rows
35
+ # rows = []
36
+ # for row in data:
37
+ # row_values = []
38
+ # for key in keys:
39
+ # value = row.get(key, "")
40
+ # # Convert to string and handle None values
41
+ # if value is None:
42
+ # value = ""
43
+ # else:
44
+ # value = str(value)
45
+ # row_values.append(f" {value} ")
46
+ # rows.append("|" + "|".join(row_values) + "|")
47
+
48
+ # return "\n".join([header, separator] + rows)
49
+
50
+
51
+ # class CloudManager:
52
+ # base_path = PathExtended("~/tmp_results/remote_machines/cloud")
53
+ # server_interval_sec: int = 60 * 5
54
+ # num_claim_checks: int = 3
55
+ # inter_check_interval_sec: int = 15
56
+ # def __init__(self, max_jobs: int, cloud: Optional[str] = None, reset_local: bool = False) -> None:
57
+ # if reset_local:
58
+ # print("☠️ Resetting local cloud cache ☠️. Locally created / completed jobs not yet synced will not make it to the cloud.")
59
+ # PathExtended(self.base_path).expanduser().delete(sure=True)
60
+ # status_root_path = self.base_path.expanduser().joinpath("workers", f"{getpass.getuser()}@{platform.node()}")
61
+ # status_root_path.mkdir(parents=True, exist_ok=True)
62
+ # self.status_root: P = status_root_path
63
+ # self.max_jobs: int = max_jobs
64
+ # if cloud is None:
65
+ # from machineconfig.utils.utils import DEFAULTS_PATH
66
+ # self.cloud = read_ini(DEFAULTS_PATH)['general']['rclone_config_name']
67
+ # else: self.cloud = cloud
68
+ # self.lock_claimed = False
69
+ # from machineconfig.cluster.remote_machine import RemoteMachine
70
+ # self.running_jobs: list[RemoteMachine] = []
71
+ # self.console = Console()
72
+
73
+ # # =================== READ WRITE OF LOGS ===================
74
+ # def read_log(self) -> dict[JOB_STATUS, list[dict[str, Any]]]:
75
+ # # assert self.claim_lock, f"method should never be called without claiming the lock first. This is a cloud-wide file."
76
+ # if not self.lock_claimed: self.claim_lock()
77
+ # path = self.base_path.joinpath("logs.pkl").expanduser()
78
+ # if not path.exists():
79
+ # log: dict[JOB_STATUS, list[dict[str, Any]]] = {}
80
+ # log['queued'] = []
81
+ # log['running'] = []
82
+ # log['completed'] = []
83
+ # log['failed'] = []
84
+ # path.parent.mkdir(parents=True, exist_ok=True)
85
+ # save_pickle(obj=log, path=path, verbose=False)
86
+ # return log
87
+ # return pickle.loads(path.read_bytes())
88
+ # def write_log(self, log: dict[JOB_STATUS, list[dict[str, Any]]]) -> None:
89
+ # # assert self.claim_lock, f"method should never be called without claiming the lock first. This is a cloud-wide file."
90
+ # if not self.lock_claimed: self.claim_lock()
91
+ # save_pickle(obj=log, path=self.base_path.joinpath("logs.pkl").expanduser(), verbose=False)
92
+
93
+ # # =================== CLOUD MONITORING ===================
94
+ # def fetch_cloud_live(self):
95
+ # remote = CloudManager.base_path
96
+ # localpath = PathExtended.tmp().joinpath("tmp_dirs/cloud_manager_live")
97
+ # localpath.mkdir(parents=True, exist_ok=True)
98
+ # alternative_base = localpath.delete(sure=True).from_cloud(cloud=self.cloud, remotepath=remote.get_remote_path(root="myhome", rel2home=True), verbose=False)
99
+ # return alternative_base
100
+ # @staticmethod
101
+ # def prepare_servers_report(cloud_root: PathExtended) -> list[dict[str, Any]]:
102
+ # from machineconfig.cluster.remote_machine import RemoteMachine
103
+ # # Replace crocodile List usage with plain Python list
104
+ # workers_root = [p for p in cloud_root.joinpath("workers").iterdir()]
105
+ # res: dict[str, list[RemoteMachine]] = {}
106
+ # times: dict[str, timedelta] = {}
107
+ # for a_worker in workers_root:
108
+ # running_jobs = a_worker.joinpath("running_jobs.pkl")
109
+ # file_mod_time = datetime.fromtimestamp(running_jobs.stat().st_mtime) if running_jobs.exists() else datetime.min
110
+ # times[a_worker.name] = datetime.now() - file_mod_time
111
+ # res[a_worker.name] = pickle.loads(running_jobs.read_bytes()) if running_jobs.exists() else []
112
+
113
+ # # Create list of dictionaries instead of DataFrame
114
+ # servers_report = []
115
+ # for machine in res.keys():
116
+ # servers_report.append({
117
+ # "machine": machine,
118
+ # "#RJobs": len(res[machine]),
119
+ # "LastUpdate": times[machine]
120
+ # })
121
+ # return servers_report
122
+ # def run_monitor(self):
123
+ # """Without syncing, bring the latest from the cloud to random local path (not the default path, as that would require the lock)"""
124
+ # from rich import print as pprint
125
+ # def routine(sched: Any):
126
+ # _ = sched
127
+ # alternative_base = self.fetch_cloud_live()
128
+ # assert alternative_base is not None
129
+ # lock_path = alternative_base.expanduser().joinpath("lock.txt")
130
+ # if lock_path.exists(): lock_owner: str = lock_path.read_text()
131
+ # else: lock_owner = "None"
132
+ # self.console.print(f"🔒 Lock is held by: {lock_owner}")
133
+ # self.console.print("🧾 Log File:")
134
+ # log_path = alternative_base.joinpath("logs.pkl")
135
+ # if log_path.exists(): log: dict[JOB_STATUS, list[dict[str, Any]]] = pickle.loads(log_path.read_bytes())
136
+ # else:
137
+ # self.console.print("Log file doesn't exist! 🫤 must be that cloud is getting purged or something 🤔 ")
138
+ # log = {}
139
+ # for item_name, item_list in log.items():
140
+ # self.console.rule(f"{item_name} Jobs (Latest {'10' if len(item_list) > 10 else len(item_list)} / {len(item_list)})")
141
+ # print() # empty line after the rule helps keeping the rendering clean in the terminal while zooming in and out.
142
+
143
+ # # Add duration calculation for non-queued items
144
+ # display_items = []
145
+ # for item in item_list:
146
+ # display_item = item.copy()
147
+ # if item_name != "queued" and "start_time" in item and item["start_time"]:
148
+ # try:
149
+ # if item_name == "running":
150
+ # end_time = datetime.now()
151
+ # else:
152
+ # end_time = datetime.fromisoformat(item["end_time"]) if item.get("end_time") else datetime.now()
153
+ # start_time = datetime.fromisoformat(item["start_time"])
154
+ # display_item["duration"] = end_time - start_time
155
+ # except Exception:
156
+ # display_item["duration"] = "unknown"
157
+ # display_items.append(display_item)
158
+
159
+ # # Filter columns based on item type
160
+ # excluded_cols = {"cmd", "note"}
161
+ # if item_name == "queued": excluded_cols.update({"pid", "start_time", "end_time", "run_machine"})
162
+ # if item_name == "running": excluded_cols.update({"submission_time", "source_machine", "end_time"})
163
+ # if item_name == "completed": excluded_cols.update({"submission_time", "source_machine", "start_time", "pid"})
164
+ # if item_name == "failed": excluded_cols.update({"submission_time", "source_machine", "start_time"})
165
+
166
+ # # Filter items and take last 10
167
+ # filtered_items = []
168
+ # for item in display_items[-10:]:
169
+ # filtered_item = {k: v for k, v in item.items() if k not in excluded_cols}
170
+ # filtered_items.append(filtered_item)
171
+
172
+ # if filtered_items:
173
+ # pprint(format_table_markdown(filtered_items))
174
+ # pprint("\n\n")
175
+ # print("👷 Workers:")
176
+ # servers_report = self.prepare_servers_report(cloud_root=alternative_base)
177
+ # pprint(format_table_markdown(servers_report))
178
+ # sched = Scheduler(routine=routine, wait="5m")
179
+ # sched.run()
180
+
181
+ # # ================== CLEARNING METHODS ===================
182
+ # def clean_interrupted_jobs_mess(self, return_to_queue: bool = True):
183
+ # """Clean jobs that failed but in logs show running by looking at the pid.
184
+ # If you want to do the same for remote machines, you will need to do it manually using `rerun_jobs`"""
185
+ # assert len(self.running_jobs) == 0, "method should never be called while there are running jobs. This can only be called at the beginning of the run."
186
+ # from machineconfig.cluster.remote_machine import RemoteMachine
187
+ # this_machine = f"{getpass.getuser()}@{platform.node()}"
188
+ # log = self.read_log()
189
+ # # servers_report = self.prepare_servers_report(cloud_root=CloudManager.base_path.expanduser())
190
+ # dirt: list[str] = []
191
+ # for job_data in log["running"]:
192
+ # entry = LogEntry.from_dict(job_data)
193
+ # if entry.run_machine != this_machine: continue
194
+ # a_job_path = CloudManager.base_path.expanduser().joinpath(f"jobs/{entry.name}")
195
+ # rm: RemoteMachine = pickle.loads(a_job_path.joinpath("data/remote_machine.Machine.pkl").read_bytes())
196
+ # status = rm.file_manager.get_job_status(session_name=rm.job_params.session_name, tab_name=rm.job_params.tab_name)
197
+ # if status == "running":
198
+ # print(f"Job `{entry.name}` is still running, added to running jobs.")
199
+ # self.running_jobs.append(rm)
200
+ # else:
201
+ # entry.pid = None
202
+ # entry.cmd = None
203
+ # entry.start_time = None
204
+ # entry.end_time = None
205
+ # entry.run_machine = None
206
+ # entry.session_name = None
207
+ # rm.file_manager.execution_log_dir.expanduser().joinpath("status.txt").delete(sure=True)
208
+ # rm.file_manager.execution_log_dir.expanduser().joinpath("pid.txt").delete(sure=True)
209
+ # entry.note += f"| Job was interrupted by a crash of the machine `{this_machine}`."
210
+ # dirt.append(entry.name)
211
+ # print(f"Job `{entry.name}` is not running, removing it from log of running jobs.")
212
+ # if return_to_queue:
213
+ # log["queued"].append(entry.__dict__)
214
+ # print(f"Job `{entry.name}` is not running, returning it to the queue.")
215
+ # else:
216
+ # log["failed"].append(entry.__dict__)
217
+ # print(f"Job `{entry.name}` is not running, moving it to failed jobs.")
218
+ # # Remove entries that are in dirt list
219
+ # log["running"] = [job for job in log["running"] if job.get("name") not in dirt]
220
+ # self.write_log(log=log)
221
+ # def clean_failed_jobs_mess(self):
222
+ # """If you want to do it for remote machine, use `rerun_jobs` (manual selection)"""
223
+ # print("⚠️ Cleaning failed jobs mess for this machine ⚠️")
224
+ # from machineconfig.cluster.remote_machine import RemoteMachine
225
+ # log = self.read_log()
226
+ # for job_data in log["failed"]:
227
+ # entry = LogEntry.from_dict(job_data)
228
+ # a_job_path = CloudManager.base_path.expanduser().joinpath(f"jobs/{entry.name}")
229
+ # rm: RemoteMachine = pickle.loads(a_job_path.joinpath("data/remote_machine.Machine.pkl").read_bytes())
230
+ # entry.note += f"| Job failed @ {entry.run_machine}"
231
+ # entry.pid = None
232
+ # entry.cmd = None
233
+ # entry.start_time = None
234
+ # entry.end_time = None
235
+ # entry.run_machine = None
236
+ # entry.session_name = None
237
+ # rm.file_manager.execution_log_dir.expanduser().joinpath("status.txt").delete(sure=True)
238
+ # rm.file_manager.execution_log_dir.expanduser().joinpath("pid.txt").delete(sure=True)
239
+ # print(f"Job `{entry.name}` is not running, removing it from log of running jobs.")
240
+ # log["queued"].append(entry.__dict__)
241
+ # print(f"Job `{entry.name}` is not running, returning it to the queue.")
242
+ # log["failed"] = []
243
+ # self.write_log(log=log)
244
+ # self.release_lock()
245
+ # def rerun_jobs(self):
246
+ # """This method involves manual selection but has all-files scope (failed and running) and can be used for both local and remote machines.
247
+ # The reason it is not automated for remotes is because even though the server might have failed, the processes therein might be running, so there is no automated way to tell."""
248
+ # log = self.read_log()
249
+ # from machineconfig.cluster.remote_machine import RemoteMachine
250
+ # from machineconfig.utils.utils import display_options
251
+ # # Replace crocodile List usage with plain Python list comprehension
252
+ # jobs_all: list[str] = [p.name for p in self.base_path.expanduser().joinpath("jobs").iterdir()]
253
+ # jobs_selected = display_options(options=jobs_all, msg="Select Jobs to Redo", multi=True, fzf=True)
254
+ # for a_job in jobs_selected:
255
+ # # find in which log list does this job live:
256
+ # found_log_type = None
257
+ # found_entry_data = None
258
+ # for log_type, log_list in log.items():
259
+ # for job_data in log_list:
260
+ # if job_data.get("name") == a_job:
261
+ # found_log_type = log_type
262
+ # found_entry_data = job_data
263
+ # break
264
+ # if found_log_type:
265
+ # break
266
+
267
+ # if not found_log_type:
268
+ # raise ValueError(f"Job `{a_job}` is not found in any of the log lists.")
269
+
270
+ # if found_entry_data is None:
271
+ # raise ValueError(f"Job `{a_job}` has no entry data.")
272
+
273
+ # entry = LogEntry.from_dict(found_entry_data)
274
+ # a_job_path = CloudManager.base_path.expanduser().joinpath(f"jobs/{entry.name}")
275
+ # entry.note += f"| Job failed @ {entry.run_machine}"
276
+ # entry.pid = None
277
+ # entry.cmd = None
278
+ # entry.start_time = None
279
+ # entry.end_time = None
280
+ # entry.run_machine = None
281
+ # entry.session_name = None
282
+ # rm: RemoteMachine = pickle.loads(a_job_path.joinpath("data/remote_machine.Machine.pkl").read_bytes())
283
+ # rm.file_manager.execution_log_dir.expanduser().joinpath("status.txt").delete(sure=True)
284
+ # rm.file_manager.execution_log_dir.expanduser().joinpath("pid.txt").delete(sure=True)
285
+ # log["queued"].append(entry.__dict__)
286
+ # # Remove from original log type
287
+ # log[found_log_type] = [job for job in log[found_log_type] if job.get("name") != a_job]
288
+ # print(f"Job `{entry.name}` was removed from {found_log_type} and added to the queue in order to be re-run.")
289
+ # self.write_log(log=log)
290
+ # self.release_lock()
291
+
292
+ # def serve(self):
293
+ # self.clean_interrupted_jobs_mess()
294
+ # def routine(sched: Any):
295
+ # _ = sched
296
+ # self.start_jobs_if_possible()
297
+ # self.get_running_jobs_statuses()
298
+ # self.release_lock()
299
+ # sched = Scheduler(routine=routine, wait=f"{self.server_interval_sec}s")
300
+ # return sched.run()
301
+
302
+ # def get_running_jobs_statuses(self):
303
+ # """This is the only authority responsible for moving jobs from running df to failed df or completed df."""
304
+ # jobs_ids_to_be_removed_from_running: list[str] = []
305
+ # for a_rm in self.running_jobs:
306
+ # status = a_rm.file_manager.get_job_status(session_name=a_rm.job_params.session_name, tab_name=a_rm.job_params.tab_name)
307
+ # if status == "running": pass
308
+ # elif status == "completed" or status == "failed":
309
+ # job_name = a_rm.config.job_id
310
+ # log = self.read_log()
311
+
312
+ # # Find the entry in running jobs
313
+ # entry_data = None
314
+ # for job_data in log["running"]:
315
+ # if job_data.get("name") == job_name:
316
+ # entry_data = job_data
317
+ # break
318
+
319
+ # if entry_data:
320
+ # entry = LogEntry.from_dict(entry_data)
321
+ # entry.end_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
322
+ # log[status].append(entry.__dict__)
323
+ # # Remove from running
324
+ # log["running"] = [job for job in log["running"] if job.get("name") != job_name]
325
+ # self.write_log(log=log)
326
+ # # self.running_jobs.remove(a_rm)
327
+ # jobs_ids_to_be_removed_from_running.append(a_rm.config.job_id)
328
+ # elif status == "queued": raise RuntimeError("I thought I'm working strictly with running jobs, and I encountered unexpected a job with `queued` status.")
329
+ # else: raise ValueError(f"I receieved a status that I don't know how to handle `{status}`")
330
+ # self.running_jobs = [a_rm for a_rm in self.running_jobs if a_rm.config.job_id not in jobs_ids_to_be_removed_from_running]
331
+ # save_pickle(obj=self.running_jobs, path=self.status_root.joinpath("running_jobs.pkl"), verbose=False)
332
+ # self.status_root.to_cloud(cloud=self.cloud, rel2home=True, verbose=False) # no need for lock as this writes to a folder specific to this machine.
333
+ # def start_jobs_if_possible(self):
334
+ # """This is the only authority responsible for moving jobs from queue df to running df."""
335
+ # if len(self.running_jobs) == self.max_jobs:
336
+ # print(f"⚠️ No more capacity to run more jobs ({len(self.running_jobs)} / {self.max_jobs=})")
337
+ # return
338
+ # from machineconfig.cluster.remote_machine import RemoteMachine
339
+ # log = self.read_log() # ask for the log file.
340
+ # if len(log["queued"]) == 0:
341
+ # print("No queued jobs found.")
342
+ # return None
343
+ # idx: int = 0
344
+ # while len(self.running_jobs) < self.max_jobs:
345
+ # if idx >= len(log["queued"]):
346
+ # break # looked at all jobs in the queue
347
+
348
+ # queue_entry = LogEntry.from_dict(log["queued"][idx])
349
+ # a_job_path = CloudManager.base_path.expanduser().joinpath(f"jobs/{queue_entry.name}")
350
+ # rm: RemoteMachine = pickle.loads(a_job_path.joinpath("data/remote_machine.Machine.pkl").read_bytes())
351
+ # if rm.config.allowed_remotes is not None and f"{getpass.getuser()}@{platform.node()}" not in rm.config.allowed_remotes:
352
+ # print(f"Job `{queue_entry.name}` is not allowed to run on this machine. Skipping ...")
353
+ # idx += 1
354
+ # continue # look at the next job in the queue.
355
+
356
+ # pid, _process_cmd = rm.fire(run=True)
357
+ # queue_entry.pid = pid
358
+ # # queue_entry.cmd = process_cmd
359
+ # queue_entry.run_machine = f"{getpass.getuser()}@{platform.node()}"
360
+ # queue_entry.start_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
361
+ # queue_entry.session_name = rm.job_params.session_name
362
+
363
+ # # Remove from queued and add to running
364
+ # log["queued"] = [job for job in log["queued"] if job.get("name") != queue_entry.name]
365
+ # log["running"].append(queue_entry.__dict__)
366
+ # self.running_jobs.append(rm)
367
+ # self.write_log(log=log)
368
+ # return None
369
+
370
+ # def reset_cloud(self, unsafe: bool = False):
371
+ # print("☠️ Resetting cloud server ☠️")
372
+ # if not unsafe: self.claim_lock() # it is unsafe to ignore the lock since other workers thinnk they own the lock and will push their data and overwrite the reset. Do so only when knowing that other
373
+ # base_path = CloudManager.base_path.expanduser().delete(sure=True)
374
+ # base_path.mkdir(parents=True, exist_ok=True)
375
+ # base_path.sync_to_cloud(cloud=self.cloud, rel2home=True, sync_up=True, verbose=True, transfers=100)
376
+ # self.release_lock()
377
+ # def reset_lock(self):
378
+ # base_path = CloudManager.base_path.expanduser()
379
+ # base_path.mkdir(parents=True, exist_ok=True)
380
+ # base_path.joinpath("lock.txt").write_text("").to_cloud(cloud=self.cloud, rel2home=True, verbose=False)
381
+ # @staticmethod
382
+ # def run_clean_trial():
383
+ # self = CloudManager(max_jobs=1)
384
+ # base_path = self.base_path.expanduser().delete(sure=True)
385
+ # base_path.mkdir(parents=True, exist_ok=True)
386
+ # base_path.sync_to_cloud(cloud=self.cloud, rel2home=True, sync_up=True, transfers=20)
387
+ # from machineconfig.cluster.templates.run_remote import run_on_cloud
388
+ # run_on_cloud()
389
+ # self.serve()
390
+ # def claim_lock(self, first_call: bool = True) -> None:
391
+ # """
392
+ # Note: If the parameters of the class are messed with, there is no gaurantee of zero collision by this method.
393
+ # It takes at least inter_check_interval_sec * num_claims_check to claim the lock.
394
+ # """
395
+ # if first_call: print("Claiming lock 🔒 ...")
396
+ # this_machine = f"{getpass.getuser()}@{platform.node()}"
397
+ # path = CloudManager.base_path.expanduser()
398
+ # path.mkdir(parents=True, exist_ok=True)
399
+ # lock_path = path.joinpath("lock.txt").from_cloud(cloud=self.cloud, rel2home=True, verbose=False)
400
+ # if lock_path is None:
401
+ # print("Lock doesn't exist on remote, uploading for the first time.")
402
+ # path.joinpath("lock.txt").write_text(this_machine).to_cloud(cloud=self.cloud, rel2home=True, verbose=False)
403
+ # return self.claim_lock(first_call=False)
404
+
405
+ # locking_machine = lock_path.read_text()
406
+ # if locking_machine != "" and locking_machine != this_machine:
407
+ # lock_mod_time = datetime.fromtimestamp(lock_path.stat().st_mtime)
408
+ # if (datetime.now() - lock_mod_time).total_seconds() > 3600:
409
+ # print(f"⚠️ Lock was claimed by `{locking_machine}` for more than an hour. Something wrong happened there. Resetting the lock!")
410
+ # self.reset_lock()
411
+ # return self.claim_lock(first_call=False)
412
+ # print(f"CloudManager: Lock already claimed by `{locking_machine}`. 🤷‍♂️")
413
+ # wait = int(random.random() * 30)
414
+ # print(f"💤 sleeping for {wait} seconds and trying again.")
415
+ # time.sleep(wait)
416
+ # return self.claim_lock(first_call=False)
417
+
418
+ # if locking_machine == this_machine: print("Lock already claimed by this machine. 🤭")
419
+ # elif locking_machine == "": print("No claims on lock, claiming it ... 🙂")
420
+ # else: raise ValueError("Unexpected value of lock_data at this point of code.")
421
+
422
+ # path.joinpath("lock.txt").write_text(this_machine).to_cloud(cloud=self.cloud, rel2home=True, verbose=False)
423
+ # counter: int = 1
424
+ # while counter < self.num_claim_checks:
425
+ # lock_path_tmp = path.joinpath("lock.txt").from_cloud(cloud=self.cloud, rel2home=True, verbose=False)
426
+ # assert lock_path_tmp is not None
427
+ # lock_data_tmp = lock_path_tmp.read_text()
428
+ # if lock_data_tmp != this_machine:
429
+ # print(f"CloudManager: Lock already claimed by `{lock_data_tmp}`. 🤷‍♂️")
430
+ # print(f"sleeping for {self.inter_check_interval_sec} seconds and trying again.")
431
+ # time.sleep(self.inter_check_interval_sec)
432
+ # return self.claim_lock(first_call=False)
433
+ # counter += 1
434
+ # print(f"‼️ Claim laid, waiting for 10 seconds and checking if this is challenged: #{counter}-{self.num_claim_checks} ❓")
435
+ # time.sleep(10)
436
+ # CloudManager.base_path.expanduser().sync_to_cloud(cloud=self.cloud, rel2home=True, verbose=False, sync_down=True)
437
+ # print("✅ Lock Claimed 🔒")
438
+ # self.lock_claimed = True
439
+
440
+ # def release_lock(self):
441
+ # if not self.lock_claimed:
442
+ # print("⚠️ Lock is not claimed, nothing to release.")
443
+ # return
444
+ # print("Releasing Lock")
445
+ # path = CloudManager.base_path.expanduser()
446
+ # path.mkdir(parents=True, exist_ok=True)
447
+ # lock_path = path.joinpath("lock.txt").from_cloud(cloud=self.cloud, rel2home=True, verbose=False)
448
+ # if lock_path is None:
449
+ # print("Lock doesn't exist on remote, uploading for the first time.")
450
+ # path.joinpath("lock.txt").write_text("").to_cloud(cloud=self.cloud, rel2home=True, verbose=False)
451
+ # self.lock_claimed = False
452
+ # return NoReturn
453
+ # data = lock_path.read_text()
454
+ # this_machine = f"{getpass.getuser()}@{platform.node()}"
455
+ # if data != this_machine:
456
+ # raise ValueError(f"CloudManager: Lock already claimed by `{data}`. 🤷‍♂️ Can't release a lock not owned! This shouldn't happen. Consider increasing trails before confirming the claim.")
457
+ # # self.lock_claimed = False
458
+ # path.joinpath("lock.txt").write_text("")
459
+ # CloudManager.base_path.expanduser().sync_to_cloud(cloud=self.cloud, rel2home=True, verbose=False, sync_up=True) # .to_cloud(cloud=self.cloud, rel2home=True, verbose=False)
460
+ # self.lock_claimed = False
461
+ # return NoReturn
@@ -0,0 +1,63 @@
1
+ # """DS
2
+ # """
3
+
4
+
5
+
6
+ # from machineconfig.cluster.remote_machine import RemoteMachine, FileManager
7
+
8
+
9
+ # class Submission:
10
+ # """Sends repo, data, root_dir and write execution command."""
11
+ # @staticmethod
12
+ # def transfer_sh(rm: RemoteMachine) -> None:
13
+ # print("🚀 Using transfer.sh to send data to remote machine.")
14
+ # cloud_download_py_script = "\n"
15
+ # # downloading repo, this takes place prior to pyscript (otherwise, its tool late as the library is loaded at the top of the pyscript already)
16
+ # if rm.config.copy_repo:
17
+ # tmp_file = PathExtended(rm.job_params.repo_path_rh).expanduser().zip_n_encrypt()
18
+ # cloud_download_py_script += f"print('Downloading `{tmp_file.collapseuser()}`.')\n"
19
+ # cloud_download_py_script += f"P(r'{tmp_file.share_on_cloud()}').download(folder=r'{P(rm.job_params.repo_path_rh).parent}').decrypt_n_unzip()\n"
20
+ # tmp_file.delete(sure=True)
21
+ # for _idx, item in enumerate(rm.data):
22
+ # cloud_download_py_script += f"P(r'{P(item).share_on_cloud()}').download(folder=r'{item.collapseuser().parent}')\n"
23
+ # # save cloud_download_script_py
24
+ # rm.file_manager.cloud_download_py_script_path.expanduser().write_text(cloud_download_py_script, encoding="utf-8")
25
+ # # modify and save shell_script to including running of cloud_download_py_script before job script.
26
+ # shell_file = rm.file_manager.shell_script_path.expanduser()
27
+ # shell_script = shell_file.read_text().replace("# EXTRA-PLACEHOLDER-POST", f"cd ~; python {rm.file_manager.cloud_download_py_script_path.rel2home().as_posix()}")
28
+ # download_url = rm.file_manager.job_root.zip().share_on_cloud()
29
+ # target = rm.file_manager.job_root.rel2home().parent.joinpath(download_url.name).as_posix()
30
+ # tmp = f"cd ~; curl -o '{target}' '{download_url.as_url_str()}'; unzip '{target}' -d {rm.file_manager.job_root.rel2home().parent.as_posix()}"
31
+ # shell_script = tmp + shell_script
32
+ # with open(file=shell_file, mode='w', newline={"Windows": None, "Linux": "\n"}[rm.ssh.get_remote_machine()], encoding="utf-8") as file: file.write(shell_script)
33
+
34
+ # @staticmethod
35
+ # def cloud(rm: RemoteMachine) -> None:
36
+ # cloud = rm.config.cloud_name
37
+ # assert cloud is not None, "Cloud name is not specified in the config file. Please specify it in the config file."
38
+ # if rm.config.copy_repo: PathExtended(rm.job_params.repo_path_rh).to_cloud(cloud=cloud, rel2home=True, zip=True, encrypt=True)
39
+ # for x in rm.data: x.to_cloud(cloud=cloud, rel2home=True)
40
+ # downloads = '\n'.join([f"cloud_copy {cloud}: '{a_path.collapseuser().as_posix()} -r" for a_path in rm.data])
41
+ # if not rm.config.copy_repo: downloads += f"""\n cloud_copy {cloud}: {P(rm.job_params.repo_path_rh).collapseuser().as_posix()} -zer """
42
+ # downloads += f"\ncloud_copy {cloud}: {rm.file_manager.job_root} -zr"
43
+ # rm.file_manager.shell_script_path.expanduser().write_text(downloads + rm.file_manager.shell_script_path.expanduser().read_text(), encoding='utf-8') # newline={"Windows": None, "Linux": "\n"}[rm.ssh.get_remote_machine()]
44
+ # PathExtended(rm.file_manager.job_root).to_cloud(cloud=cloud, zip=True, rel2home=True)
45
+
46
+ # @staticmethod
47
+ # def sftp(rm: RemoteMachine) -> None:
48
+ # assert rm.ssh.sftp is not None, f"SFTP is not available for this machine `{rm.ssh}`. Consider using different `transfer_method` other than `sftp`."
49
+ # log_path_parent = f"P(r'{FileManager.shell_script_path_log}').expanduser().parent"
50
+ # rm.ssh.run_py(f"{log_path_parent}.mkdir(parents=True, exist_ok=True); P(r'{FileManager.shell_script_path_log}').expanduser().delete(sure=True).write_text(r'{rm.file_manager.shell_script_path.collapseuser().as_posix()}')", desc="Logging latest shell script path on remote.", verbose=False)
51
+ # if rm.config.copy_repo: rm.ssh.copy_from_here(rm.job_params.repo_path_rh, z=True, overwrite=True)
52
+ # for a_path in rm.data:
53
+ # rm.ssh.copy_from_here(
54
+ # a_path,
55
+ # z=True if PathExtended(a_path).is_dir() else False,
56
+ # r=False,
57
+ # overwrite=True,
58
+ # )
59
+ # rm.ssh.copy_from_here(rm.file_manager.job_root, z=True)
60
+
61
+
62
+ # if __name__ == '__main__':
63
+ # pass