machineconfig 3.81__tar.gz → 3.82__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 (438) hide show
  1. {machineconfig-3.81/src/machineconfig.egg-info → machineconfig-3.82}/PKG-INFO +1 -1
  2. {machineconfig-3.81 → machineconfig-3.82}/pyproject.toml +4 -4
  3. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_jobs.py +59 -6
  4. machineconfig-3.82/src/machineconfig/scripts/python/fire_jobs_args_helper.py +48 -0
  5. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ftpx.py +55 -48
  6. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/repos.py +43 -44
  7. {machineconfig-3.81 → machineconfig-3.82/src/machineconfig.egg-info}/PKG-INFO +1 -1
  8. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig.egg-info/SOURCES.txt +0 -3
  9. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig.egg-info/entry_points.txt +3 -3
  10. machineconfig-3.81/src/machineconfig/scripts/python/archive/im2text.py +0 -34
  11. machineconfig-3.81/src/machineconfig/scripts/python/archive/tmate_conn.py +0 -41
  12. machineconfig-3.81/src/machineconfig/scripts/python/archive/tmate_start.py +0 -44
  13. machineconfig-3.81/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -84
  14. {machineconfig-3.81 → machineconfig-3.82}/MANIFEST.in +0 -0
  15. {machineconfig-3.81 → machineconfig-3.82}/README.md +0 -0
  16. {machineconfig-3.81 → machineconfig-3.82}/setup.cfg +0 -0
  17. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/__init__.py +0 -0
  18. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/__init__.py +0 -0
  19. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  20. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  21. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/distribute.py +0 -0
  22. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  23. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/job_params.py +0 -0
  24. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  25. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  26. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  27. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  28. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  29. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/enhanced_command_runner.py +0 -0
  30. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  31. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  32. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  33. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  34. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  35. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  36. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  37. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  38. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  39. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  40. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  41. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  42. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  43. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  44. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  45. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  46. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  47. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  48. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  49. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  50. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/templates/__init__.py +0 -0
  51. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/templates/cli_gooey.py +0 -0
  52. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  53. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/templates/run_cloud.py +0 -0
  54. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/templates/run_cluster.py +0 -0
  55. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/templates/run_remote.py +0 -0
  56. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/cluster/templates/utils.py +0 -0
  57. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/__init__.py +0 -0
  58. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  59. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  60. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  61. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/__init__.py +0 -0
  62. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/check_installations.py +0 -0
  63. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/create_bootable_media.py +0 -0
  64. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -0
  65. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  66. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/tasks.py +0 -0
  67. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  68. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/vscode/link_ve.py +0 -0
  69. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/vscode/select_interpreter.py +0 -0
  70. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
  71. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/__init__.py +0 -0
  72. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/archive/ngrok.py +0 -0
  73. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/aider.py +0 -0
  74. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/alacritty.py +0 -0
  75. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/brave.py +0 -0
  76. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +0 -0
  77. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/code.py +0 -0
  78. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/cursor.py +0 -0
  79. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -0
  80. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/espanso.py +0 -0
  81. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/goes.py +0 -0
  82. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/lvim.py +0 -0
  83. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/nerdfont.py +0 -0
  84. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/redis.py +0 -0
  85. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/reverse_proxy.md +0 -0
  86. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/wezterm.py +0 -0
  87. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/winget.py +0 -0
  88. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/docker.py +0 -0
  89. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/gh.py +0 -0
  90. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/hx.py +0 -0
  91. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +0 -0
  92. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +0 -0
  93. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +0 -0
  94. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +0 -0
  95. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +0 -0
  96. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +0 -0
  97. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +0 -0
  98. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +0 -0
  99. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +0 -0
  100. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +0 -0
  101. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +0 -0
  102. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/warp-cli.py +0 -0
  103. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/__init__.py +0 -0
  104. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/config.json +0 -0
  105. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/config.json.bak +0 -0
  106. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/dev/config.archive.json +0 -0
  107. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/dev/config.json +0 -0
  108. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/dev/config.json.bak +0 -0
  109. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/__init__.py +0 -0
  110. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/archive/config.json +0 -0
  111. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/archive/config.json.bak +0 -0
  112. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/config.json +0 -0
  113. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/config.json.bak +0 -0
  114. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/dev/__init__.py +0 -0
  115. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/dev/config.json +0 -0
  116. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/dev/config.json.bak +0 -0
  117. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/__init__.py +0 -0
  118. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/archive/__init__.py +0 -0
  119. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/archive/file.json +0 -0
  120. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/config.json +0 -0
  121. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/config.json.bak +0 -0
  122. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/dev/__init__.py +0 -0
  123. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/dev/config.json +0 -0
  124. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/dev/config.json.bak +0 -0
  125. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  126. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  127. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  128. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  129. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  130. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
  131. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
  132. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/logger.py +0 -0
  133. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/profile/__init__.py +0 -0
  134. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/profile/create.py +0 -0
  135. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  136. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  137. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  138. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  139. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  140. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/profile/shell.py +0 -0
  141. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/__init__.py +0 -0
  142. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/cloud/init.sh +0 -0
  143. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
  144. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/cloud_copy +0 -0
  145. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/cloud_mount +0 -0
  146. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
  147. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/cloud_sync +0 -0
  148. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/croshell +0 -0
  149. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/devops +0 -0
  150. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/fire +0 -0
  151. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/fire_agents +0 -0
  152. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/ftpx +0 -0
  153. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzf2g +0 -0
  154. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzfag +0 -0
  155. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzffg +0 -0
  156. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzfg +0 -0
  157. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzfrga +0 -0
  158. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/gh_models +0 -0
  159. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/initai +0 -0
  160. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/kill_process +0 -0
  161. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/mount_drive +0 -0
  162. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/mount_nfs +0 -0
  163. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
  164. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/mount_smb +0 -0
  165. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/programs +0 -0
  166. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/repos +0 -0
  167. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/scheduler +0 -0
  168. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
  169. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/share_nfs +0 -0
  170. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/share_smb +0 -0
  171. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/skrg +0 -0
  172. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/start_docker +0 -0
  173. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/start_slidev +0 -0
  174. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/start_terminals +0 -0
  175. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/switch_ip +0 -0
  176. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  177. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/wifi_conn +0 -0
  178. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/linux/z_ls +0 -0
  179. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/__init__.py +0 -0
  180. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  181. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  182. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  183. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  184. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  185. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  186. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  187. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  188. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  189. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  190. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  191. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  192. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  193. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  194. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
  195. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  196. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  197. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  198. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  199. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  200. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  201. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  202. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  203. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  204. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  205. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  206. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
  207. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
  208. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
  209. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
  210. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
  211. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
  212. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/croshell.py +0 -0
  213. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/devops.py +0 -0
  214. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
  215. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
  216. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
  217. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_devapps_install.py +0 -0
  218. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
  219. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/dotfile.py +0 -0
  220. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_agents.py +0 -0
  221. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_agents_help_launch.py +0 -0
  222. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
  223. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
  224. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -0
  225. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
  226. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
  227. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/gh_models.py +0 -0
  228. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
  229. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
  230. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
  231. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
  232. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
  233. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
  234. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
  235. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
  236. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
  237. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
  238. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/pomodoro.py +0 -0
  239. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
  240. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
  241. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
  242. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/scheduler.py +0 -0
  243. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/snapshot.py +0 -0
  244. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/start_slidev.py +0 -0
  245. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/start_terminals.py +0 -0
  246. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/viewer.py +0 -0
  247. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/viewer_template.py +0 -0
  248. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
  249. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
  250. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
  251. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
  252. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
  253. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
  254. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
  255. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
  256. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
  257. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
  258. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
  259. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
  260. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  261. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  262. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  263. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
  264. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
  265. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
  266. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
  267. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
  268. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
  269. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
  270. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
  271. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
  272. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
  273. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
  274. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/repos.ps1 +0 -0
  275. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
  276. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
  277. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
  278. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
  279. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
  280. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
  281. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
  282. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
  283. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
  284. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
  285. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
  286. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/__init__.py +0 -0
  287. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/broot/br.sh +0 -0
  288. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  289. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/broot/conf.toml +0 -0
  290. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/glow/glow.yml +0 -0
  291. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  292. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/helix/config.toml +0 -0
  293. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/helix/languages.toml +0 -0
  294. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/keras/keras.json +0 -0
  295. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  296. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  297. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  298. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  299. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  300. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  301. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  302. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  303. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  304. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  305. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/colors +0 -0
  306. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  307. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  308. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  309. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  310. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  311. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  312. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/icons +0 -0
  313. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  314. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  315. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  316. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  317. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  318. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  319. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  320. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  321. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  322. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  323. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  324. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/colors +0 -0
  325. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  326. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/icons +0 -0
  327. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  328. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  329. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  330. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  331. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  332. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  333. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  334. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/linters/.flake8 +0 -0
  335. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  336. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/linters/.pylintrc +0 -0
  337. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  338. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  339. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  340. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  341. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  342. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  343. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/mprocs/windows/other +0 -0
  344. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  345. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  346. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/procs/.procs.toml +0 -0
  347. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  348. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/rofi/config.rasi +0 -0
  349. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  350. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  351. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  352. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  353. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  354. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  355. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  356. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  357. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  358. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  359. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  360. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  361. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  362. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  363. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  364. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  365. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  366. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/streamlit/config.toml +0 -0
  367. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  368. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  369. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  370. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/tere/terecd.sh +0 -0
  371. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  372. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  373. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  374. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  375. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/yazi/theme.toml +0 -0
  376. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  377. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zed/settings.json +0 -0
  378. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  379. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  380. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/config.kdl +0 -0
  381. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  382. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  383. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  384. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  385. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  386. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  387. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  388. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  389. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
  390. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  391. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -0
  392. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
  393. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
  394. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
  395. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/__init__.py +0 -0
  396. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  397. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  398. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
  399. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
  400. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
  401. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
  402. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
  403. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  404. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +0 -0
  405. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/wt_and_pwsh/install_nerd_fonts.py +0 -0
  406. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  407. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/__init__.py +0 -0
  408. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/accessories.py +0 -0
  409. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/ai/__init__.py +0 -0
  410. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
  411. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  412. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  413. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/code.py +0 -0
  414. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/installer.py +0 -0
  415. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  416. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  417. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  418. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/io.py +0 -0
  419. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/links.py +0 -0
  420. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/notifications.py +0 -0
  421. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/options.py +0 -0
  422. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/path_extended.py +0 -0
  423. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/path_helper.py +0 -0
  424. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/procs.py +0 -0
  425. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/scheduler.py +0 -0
  426. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/scheduling.py +0 -0
  427. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  428. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  429. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  430. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  431. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/source_of_truth.py +0 -0
  432. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/ssh.py +0 -0
  433. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/terminal.py +0 -0
  434. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/upgrade_packages.py +0 -0
  435. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig/utils/ve.py +0 -0
  436. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  437. {machineconfig-3.81 → machineconfig-3.82}/src/machineconfig.egg-info/requires.txt +0 -0
  438. {machineconfig-3.81 → machineconfig-3.82}/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: 3.81
3
+ Version: 3.82
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "3.81"
9
+ version = "3.82"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -58,13 +58,13 @@ cloud_mount = "machineconfig.scripts.python.cloud_mount:main"
58
58
  cloud_repo_sync = "machineconfig.scripts.python.cloud_repo_sync:args_parser"
59
59
  cloud_sync = "machineconfig.scripts.python.cloud_sync:args_parser"
60
60
  croshell = "machineconfig.scripts.python.croshell:build_parser"
61
- fire = "machineconfig.scripts.python.fire_jobs:main"
61
+ fire = "machineconfig.scripts.python.fire_jobs:main_from_parser"
62
62
  fire_agents = "machineconfig.scripts.python.fire_agents:main"
63
- ftpx = "machineconfig.scripts.python.ftpx:main"
63
+ ftpx = "machineconfig.scripts.python.ftpx:main_from_parser"
64
64
  initai = "machineconfig.scripts.python.ai.initai:main"
65
65
  mount_nfs = "machineconfig.scripts.python.mount_nfs:main"
66
66
  mount_nw_drive = "machineconfig.scripts.python.mount_nw_drive:main"
67
- repos = "machineconfig.scripts.python.repos:main"
67
+ repos = "machineconfig.scripts.python.repos:main_from_parser"
68
68
  start_slidev = "machineconfig.scripts.python.start_slidev:main"
69
69
  wifi_conn = "machineconfig.scripts.python.wifi_conn:main"
70
70
  kill_process = "machineconfig.utils.procs:main"
@@ -17,11 +17,12 @@ from machineconfig.utils.path_helper import match_file_name, sanitize_path
17
17
 
18
18
  from machineconfig.utils.path_extended import PathExtended as PathExtended
19
19
  from machineconfig.utils.accessories import get_repo_root, randstr
20
- from machineconfig.scripts.python.fire_jobs_args_helper import get_args, FireJobArgs, extract_kwargs
20
+ from machineconfig.scripts.python.fire_jobs_args_helper import FireJobArgs, extract_kwargs
21
21
  import platform
22
- from typing import Optional
22
+ from typing import Optional, Annotated
23
23
  from pathlib import Path
24
24
  import tomllib
25
+ import typer
25
26
  # import os
26
27
 
27
28
 
@@ -328,12 +329,64 @@ python -m machineconfig.cluster.templates.cli_click --file {choice_file} """
328
329
  subprocess.run(command, shell=True, check=True)
329
330
 
330
331
 
331
- def main():
332
- args = get_args()
332
+ def main(
333
+ path: Annotated[str, typer.Argument(help="The directory containing the jobs")] = ".",
334
+ function: Annotated[Optional[str], typer.Argument(help="Function to run")] = None,
335
+ ve: Annotated[str, typer.Option("--ve", "-v", help="Virtual environment name")] = "",
336
+ cmd: Annotated[bool, typer.Option("--cmd", "-B", help="Create a cmd fire command to launch the job asynchronously")] = False,
337
+ interactive: Annotated[bool, typer.Option("--interactive", "-i", help="Whether to run the job interactively using IPython")] = False,
338
+ debug: Annotated[bool, typer.Option("--debug", "-d", help="Enable debug mode")] = False,
339
+ choose_function: Annotated[bool, typer.Option("--choose_function", "-c", help="Choose function interactively")] = False,
340
+ loop: Annotated[bool, typer.Option("--loop", "-l", help="Infinite recursion (runs again after completion/interruption)")] = False,
341
+ jupyter: Annotated[bool, typer.Option("--jupyter", "-j", help="Open in a jupyter notebook")] = False,
342
+ submit_to_cloud: Annotated[bool, typer.Option("--submit_to_cloud", "-C", help="Submit to cloud compute")] = False,
343
+ remote: Annotated[bool, typer.Option("--remote", "-r", help="Launch on a remote machine")] = False,
344
+ module: Annotated[bool, typer.Option("--module", "-m", help="Launch the main file")] = False,
345
+ streamlit: Annotated[bool, typer.Option("--streamlit", "-S", help="Run as streamlit app")] = False,
346
+ environment: Annotated[str, typer.Option("--environment", "-E", help="Choose ip, localhost, hostname or arbitrary url")] = "",
347
+ holdDirectory: Annotated[bool, typer.Option("--holdDirectory", "-D", help="Hold current directory and avoid cd'ing to the script directory")] = False,
348
+ PathExport: Annotated[bool, typer.Option("--PathExport", "-P", help="Augment the PYTHONPATH with repo root")] = False,
349
+ git_pull: Annotated[bool, typer.Option("--git_pull", "-g", help="Start by pulling the git repo")] = False,
350
+ optimized: Annotated[bool, typer.Option("--optimized", "-O", help="Run the optimized version of the function")] = False,
351
+ Nprocess: Annotated[int, typer.Option("--Nprocess", "-p", help="Number of processes to use")] = 1,
352
+ zellij_tab: Annotated[Optional[str], typer.Option("--zellij_tab", "-z", help="Open in a new zellij tab")] = None,
353
+ watch: Annotated[bool, typer.Option("--watch", "-w", help="Watch the file for changes")] = False,
354
+ kw: Annotated[Optional[list[str]], typer.Option("--kw", help="Keyword arguments to pass to the function in the form of k1 v1 k2 v2 ... (meaning k1=v1, k2=v2, etc)")] = None,
355
+ layout: Annotated[bool, typer.Option("--layout", "-L", help="Use layout configuration (Zellij Or WindowsTerminal)")] = False,
356
+ ) -> None:
357
+ """Main function to process fire jobs arguments."""
358
+ args = FireJobArgs(
359
+ path=path,
360
+ function=function,
361
+ ve=ve,
362
+ cmd=cmd,
363
+ interactive=interactive,
364
+ debug=debug,
365
+ choose_function=choose_function,
366
+ loop=loop,
367
+ jupyter=jupyter,
368
+ submit_to_cloud=submit_to_cloud,
369
+ remote=remote,
370
+ module=module,
371
+ streamlit=streamlit,
372
+ environment=environment,
373
+ holdDirectory=holdDirectory,
374
+ PathExport=PathExport,
375
+ git_pull=git_pull,
376
+ optimized=optimized,
377
+ Nprocess=Nprocess,
378
+ zellij_tab=zellij_tab,
379
+ watch=watch,
380
+ kw=kw,
381
+ layout=layout,
382
+ )
333
383
  route(args)
334
384
 
335
385
 
386
+ def main_from_parser():
387
+ typer.run(main)
388
+
389
+
336
390
  if __name__ == "__main__":
337
391
  # options, func_args = parse_pyfile(file_path="C:/Users/aalsaf01/code/machineconfig/myresources/crocodile/core.py")
338
- args = get_args()
339
- route(args)
392
+ pass
@@ -0,0 +1,48 @@
1
+ from dataclasses import dataclass
2
+ from typing import Optional, Annotated
3
+ import typer
4
+
5
+
6
+ @dataclass
7
+ class FireJobArgs:
8
+ """Type-safe dataclass for fire_jobs command line arguments."""
9
+
10
+ path: str = "."
11
+ function: Optional[str] = None
12
+ ve: str = ""
13
+ cmd: bool = False
14
+ interactive: bool = False
15
+ debug: bool = False
16
+ choose_function: bool = False
17
+ loop: bool = False
18
+ jupyter: bool = False
19
+ submit_to_cloud: bool = False
20
+ remote: bool = False
21
+ module: bool = False
22
+ streamlit: bool = False
23
+ environment: str = ""
24
+ holdDirectory: bool = False
25
+ PathExport: bool = False
26
+ git_pull: bool = False
27
+ optimized: bool = False
28
+ Nprocess: int = 1
29
+ zellij_tab: Optional[str] = None
30
+ watch: bool = False
31
+ kw: Optional[list[str]] = None
32
+ layout: bool = False
33
+
34
+
35
+ def extract_kwargs(args: FireJobArgs) -> dict[str, object]:
36
+ str2obj = {"True": True, "False": False, "None": None}
37
+ if args.kw is not None:
38
+ assert len(args.kw) % 2 == 0, f"args.kw must be a list of even length. Got {len(args.kw)}"
39
+ kwargs = dict(zip(args.kw[::2], args.kw[1::2]))
40
+ kwargs: dict[str, object]
41
+ for key, value in kwargs.items():
42
+ if value in str2obj:
43
+ kwargs[key] = str2obj[str(value)]
44
+ if args.function is None: # if user passed arguments and forgot to pass function, then assume they want to run the main function.
45
+ args.choose_function = True
46
+ else:
47
+ kwargs = {}
48
+ return kwargs
@@ -6,39 +6,40 @@ Currently, the only way to work around this is to predifine the host in ~/.ssh/c
6
6
 
7
7
  """
8
8
 
9
- import argparse
9
+ import typer
10
+ from typing_extensions import Annotated
10
11
  from machineconfig.utils.ssh import SSH
11
12
  from machineconfig.utils.path_extended import PathExtended as PathExtended
12
13
  from machineconfig.scripts.python.helpers.helpers2 import ES
13
14
  from machineconfig.utils.accessories import pprint
14
15
 
15
16
 
16
- def main():
17
+ def main(
18
+ source: Annotated[str, typer.Argument(help="Source path (machine:path)")],
19
+ target: Annotated[str, typer.Argument(help="Target path (machine:path)")],
20
+ recursive: Annotated[bool, typer.Option("--recursive", "-r", help="Send recursively.")] = False,
21
+ zipFirst: Annotated[bool, typer.Option("--zipFirst", "-z", help="Zip before sending.")] = False,
22
+ cloud: Annotated[bool, typer.Option("--cloud", "-c", help="Transfer through the cloud.")] = False,
23
+ ) -> None:
17
24
  print("""
18
25
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
19
26
  ┃ 🚀 FTP File Transfer
20
27
  ┃ 📋 Starting transfer process...
21
28
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
22
- parser = argparse.ArgumentParser(description="FTP client")
23
-
24
- parser.add_argument("source", help="source path (machine:path)")
25
- parser.add_argument("target", help="target path (machine:path)")
26
-
27
- # FLAGS
28
- parser.add_argument("--recursive", "-r", help="Send recursively.", action="store_true") # default is False
29
- parser.add_argument("--zipFirst", "-z", help="Zip before sending.", action="store_true") # default is False
30
- parser.add_argument("--cloud", "-c", help="Transfer through the cloud.", action="store_true") # default is False
31
-
32
- args = parser.parse_args()
33
-
34
- if ":" in args.source and (args.source[1] != ":" if len(args.source) > 1 else True): # avoid the case of "C:/":
29
+
30
+ # Initialize variables
31
+ resolved_source: str | None = None
32
+ resolved_target: str | None = None
33
+ machine: str = ""
34
+
35
+ if ":" in source and (source[1] != ":" if len(source) > 1 else True): # avoid the case of "C:/":
35
36
  source_is_remote = True
36
37
 
37
38
  # calculating source:
38
- source_parts = args.source.split(":")
39
+ source_parts = source.split(":")
39
40
  machine = source_parts[0]
40
41
  if len(source_parts) > 1 and source_parts[1] == ES: # the source path is to be inferred from target.
41
- if args.target == ES:
42
+ if target == ES:
42
43
  raise ValueError(f"""
43
44
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
44
45
  ┃ ❌ Configuration Error
@@ -46,21 +47,22 @@ def main():
46
47
  ┃ This creates a cyclical inference dependency
47
48
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
48
49
  else:
49
- target = PathExtended(args.target).expanduser().absolute()
50
- source = target.collapseuser().as_posix()
50
+ target_path_obj = PathExtended(target).expanduser().absolute()
51
+ resolved_source = target_path_obj.collapseuser().as_posix()
52
+ resolved_target = target
51
53
  else:
52
- source = ":".join(args.source.split(":")[1:])
53
- if args.target == ES:
54
- target = None
54
+ resolved_source = ":".join(source.split(":")[1:])
55
+ if target == ES:
56
+ resolved_target = None
55
57
  else:
56
- target = PathExtended(args.target).expanduser().absolute().as_posix()
58
+ resolved_target = PathExtended(target).expanduser().absolute().as_posix()
57
59
 
58
- elif ":" in args.target and (args.target[1] != ":" if len(args.target) > 1 else True): # avoid the case of "C:/":
60
+ elif ":" in target and (target[1] != ":" if len(target) > 1 else True): # avoid the case of "C:/":
59
61
  source_is_remote = False
60
- target_parts = args.target.split(":")
62
+ target_parts = target.split(":")
61
63
  machine = target_parts[0]
62
64
  if len(target_parts) > 1 and target_parts[1] == ES:
63
- if args.source == ES:
65
+ if source == ES:
64
66
  raise ValueError(f"""
65
67
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
66
68
  ┃ ❌ Configuration Error
@@ -68,14 +70,14 @@ def main():
68
70
  ┃ This creates a cyclical inference dependency
69
71
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
70
72
  else:
71
- source = args.source
72
- target = None
73
+ resolved_source = source
74
+ resolved_target = None
73
75
  else:
74
- target = ":".join(args.target.split(":")[1:])
75
- if args.source == ES:
76
- source = None
76
+ resolved_target = ":".join(target.split(":")[1:])
77
+ if source == ES:
78
+ resolved_source = None
77
79
  else:
78
- source = PathExtended(args.source).expanduser().absolute()
80
+ resolved_source = PathExtended(source).expanduser().absolute().as_posix()
79
81
 
80
82
  else:
81
83
  raise ValueError("""
@@ -85,7 +87,7 @@ def main():
85
87
  ┃ Format should be: machine:path
86
88
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
87
89
 
88
- pprint({"source": str(source), "target": str(target), "machine": machine}, "CLI Resolution")
90
+ pprint({"source": str(resolved_source), "target": str(resolved_target), "machine": machine}, "CLI Resolution")
89
91
 
90
92
  from paramiko.ssh_exception import AuthenticationException # type: ignore
91
93
 
@@ -105,43 +107,43 @@ def main():
105
107
  pwd = getpass.getpass()
106
108
  ssh = SSH(rf"{machine}", pwd=pwd)
107
109
 
108
- if args.cloud:
110
+ if cloud:
109
111
  print("""
110
112
  ┌────────────────────────────────────────────────────────────────
111
113
  │ ☁️ Cloud Transfer Mode
112
114
  │ Uploading from remote to cloud...
113
115
  └────────────────────────────────────────────────────────────────""")
114
- ssh.run(f"cloud_copy {source} :^", desc="Uploading from remote to the cloud.").print()
116
+ ssh.run(f"cloud_copy {resolved_source} :^", desc="Uploading from remote to the cloud.").print()
115
117
  print("""
116
118
  ┌────────────────────────────────────────────────────────────────
117
119
  │ ⬇️ Cloud Transfer Mode
118
120
  │ Downloading from cloud to local...
119
121
  └────────────────────────────────────────────────────────────────""")
120
- ssh.run_locally(f"cloud_copy :^ {target}").print()
121
- received_file = PathExtended(target) # type: ignore
122
+ ssh.run_locally(f"cloud_copy :^ {resolved_target}").print()
123
+ received_file = PathExtended(resolved_target) # type: ignore
122
124
  else:
123
125
  if source_is_remote:
124
- assert source is not None, """
126
+ assert resolved_source is not None, """
125
127
  ❌ Path Error: Source must be a remote path (machine:path)"""
126
128
  print(f"""
127
129
  ┌────────────────────────────────────────────────────────────────
128
130
  │ 📥 Transfer Mode: Remote → Local
129
- │ Source: {source}
130
- │ Target: {target}
131
- │ Options: {"ZIP compression" if args.zipFirst else "No compression"}, {"Recursive" if args.recursive else "Non-recursive"}
131
+ │ Source: {resolved_source}
132
+ │ Target: {resolved_target}
133
+ │ Options: {"ZIP compression" if zipFirst else "No compression"}, {"Recursive" if recursive else "Non-recursive"}
132
134
  └────────────────────────────────────────────────────────────────""")
133
- received_file = ssh.copy_to_here(source=source, target=target, z=args.zipFirst, r=args.recursive)
135
+ received_file = ssh.copy_to_here(source=resolved_source, target=resolved_target, z=zipFirst, r=recursive)
134
136
  else:
135
- assert source is not None, """
137
+ assert resolved_source is not None, """
136
138
  ❌ Path Error: Target must be a remote path (machine:path)"""
137
139
  print(f"""
138
140
  ┌────────────────────────────────────────────────────────────────
139
141
  │ 📤 Transfer Mode: Local → Remote
140
- │ Source: {source}
141
- │ Target: {target}
142
- │ Options: {"ZIP compression" if args.zipFirst else "No compression"}, {"Recursive" if args.recursive else "Non-recursive"}
142
+ │ Source: {resolved_source}
143
+ │ Target: {resolved_target}
144
+ │ Options: {"ZIP compression" if zipFirst else "No compression"}, {"Recursive" if recursive else "Non-recursive"}
143
145
  └────────────────────────────────────────────────────────────────""")
144
- received_file = ssh.copy_from_here(source=source, target=target, z=args.zipFirst, r=args.recursive)
146
+ received_file = ssh.copy_from_here(source=resolved_source, target=resolved_target, z=zipFirst, r=recursive)
145
147
 
146
148
  if source_is_remote and isinstance(received_file, PathExtended):
147
149
  print(f"""
@@ -157,5 +159,10 @@ def main():
157
159
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
158
160
 
159
161
 
162
+ def main_from_parser() -> None:
163
+ """Entry point function that uses typer to parse arguments and call main."""
164
+ typer.run(main)
165
+
166
+
160
167
  if __name__ == "__main__":
161
- main()
168
+ main_from_parser()
@@ -13,9 +13,9 @@ from machineconfig.scripts.python.repos_helper_update import update_repository
13
13
  from machineconfig.scripts.python.repos_helper_record import main as record_repos
14
14
  from machineconfig.scripts.python.repos_helper_clone import clone_repos
15
15
 
16
- import argparse
16
+ import typer
17
17
  from enum import Enum
18
- from typing import Optional
18
+ from typing import Annotated, Optional
19
19
 
20
20
  from rich import print as pprint
21
21
 
@@ -83,69 +83,64 @@ def git_action(path: PathExtended, action: GitAction, mess: Optional[str] = None
83
83
  return True
84
84
 
85
85
 
86
- def main():
86
+ def main(
87
+ directory: Annotated[str, typer.Argument(help="📁 Folder containing repos to record or a specs JSON file to follow.")] = "",
88
+ push: Annotated[bool, typer.Option("--push", help="🚀 Push changes.")] = False,
89
+ pull: Annotated[bool, typer.Option("--pull", help="⬇️ Pull changes.")] = False,
90
+ commit: Annotated[bool, typer.Option("--commit", help="💾 Commit changes.")] = False,
91
+ all: Annotated[bool, typer.Option("--all", help="🔄 Pull, commit, and push changes.")] = False,
92
+ record: Annotated[bool, typer.Option("--record", help="📝 Record repositories.")] = False,
93
+ clone: Annotated[bool, typer.Option("--clone", help="📥 Clone repositories from record.")] = False,
94
+ checkout: Annotated[bool, typer.Option("--checkout", help="🔀 Check out to versions provided in a JSON file.")] = False,
95
+ checkout_to_branch: Annotated[bool, typer.Option("--checkout-to-branch", help="🔀 Check out to the main branch.")] = False,
96
+ recursive: Annotated[bool, typer.Option("--recursive", "-r", help="🔍 Recursive flag.")] = False,
97
+ no_sync: Annotated[bool, typer.Option("--no-sync", help="🚫 Disable automatic uv sync after pulls.")] = False,
98
+ cloud: Annotated[Optional[str], typer.Option("--cloud", "-c", help="☁️ Cloud storage option.")] = None,
99
+ ) -> None:
87
100
  print("\n" + "=" * 50)
88
101
  print("📂 Welcome to the Repository Manager")
89
102
  print("=" * 50 + "\n")
90
103
 
91
- parser = argparse.ArgumentParser(description="REPO MANAGER")
92
- # POSITIONAL
93
- parser.add_argument("directory", help="📁 Folder containing repos to record or a specs JSON file to follow.", default="")
94
- # FLAGS
95
- parser.add_argument("--push", help="🚀 Push changes.", action="store_true")
96
- parser.add_argument("--pull", help="⬇️ Pull changes.", action="store_true")
97
- parser.add_argument("--commit", help="💾 Commit changes.", action="store_true")
98
- parser.add_argument("--all", help="🔄 Pull, commit, and push changes.", action="store_true")
99
- parser.add_argument("--record", help="📝 Record repositories.", action="store_true")
100
- parser.add_argument("--clone", help="📥 Clone repositories from record.", action="store_true")
101
- parser.add_argument("--checkout", help="🔀 Check out to versions provided in a JSON file.", action="store_true")
102
- parser.add_argument("--checkout_to_branch", help="🔀 Check out to the main branch.", action="store_true")
103
- parser.add_argument("--recursive", "-r", help="🔍 Recursive flag.", action="store_true")
104
- parser.add_argument("--no-sync", help="🚫 Disable automatic uv sync after pulls.", action="store_true")
105
- # OPTIONAL
106
- parser.add_argument("--cloud", "-c", help="☁️ Cloud storage option.", default=None)
107
- args = parser.parse_args()
108
-
109
- if args.directory == "":
104
+ if directory == "":
110
105
  repos_root = PathExtended.home().joinpath("code") # it is a positional argument, can never be empty.
111
106
  else:
112
- repos_root = PathExtended(args.directory).expanduser().absolute()
107
+ repos_root = PathExtended(directory).expanduser().absolute()
113
108
 
114
- auto_sync = not args.no_sync # Enable auto sync by default, disable with --no-sync
109
+ auto_sync = not no_sync # Enable auto sync by default, disable with --no-sync
115
110
 
116
- if args.record:
111
+ if record:
117
112
  save_path = record_repos(repos_root=repos_root)
118
- if args.cloud is not None:
119
- PathExtended(save_path).to_cloud(rel2home=True, cloud=args.cloud)
113
+ if cloud is not None:
114
+ PathExtended(save_path).to_cloud(rel2home=True, cloud=cloud)
120
115
 
121
- elif args.clone or args.checkout or args.checkout_to_branch:
116
+ elif clone or checkout or checkout_to_branch:
122
117
  print("\n📥 Cloning or checking out repositories...")
123
118
  print(">>>>>>>>> Cloning Repos")
124
119
  if not repos_root.exists() or repos_root.name != "repos.json":
125
120
  repos_root = PathExtended(CONFIG_PATH).joinpath("repos").joinpath(repos_root.rel2home()).joinpath("repos.json")
126
121
  if not repos_root.exists():
127
- if args.cloud is None:
128
- cloud: str = read_ini(DEFAULTS_PATH)["general"]["rclone_config_name"]
129
- print(f"⚠️ Using default cloud: {cloud}")
122
+ if cloud is None:
123
+ cloud_name: str = read_ini(DEFAULTS_PATH)["general"]["rclone_config_name"]
124
+ print(f"⚠️ Using default cloud: {cloud_name}")
130
125
  else:
131
- cloud = args.cloud
132
- assert cloud is not None, f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
133
- repos_root.from_cloud(cloud=cloud, rel2home=True)
134
- assert (repos_root.exists() and repos_root.name == "repos.json") or args.cloud is not None, f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
135
- clone_repos(spec_path=repos_root, preferred_remote=None, checkout_branch_flag=args.checkout_to_branch, checkout_commit_flag=args.checkout)
126
+ cloud_name = cloud
127
+ assert cloud_name is not None, f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
128
+ repos_root.from_cloud(cloud=cloud_name, rel2home=True)
129
+ assert (repos_root.exists() and repos_root.name == "repos.json") or cloud is not None, f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
130
+ clone_repos(spec_path=repos_root, preferred_remote=None, checkout_branch_flag=checkout_to_branch, checkout_commit_flag=checkout)
136
131
 
137
- elif args.all or args.commit or args.pull or args.push:
132
+ elif all or commit or pull or push:
138
133
  print(f"\n🔄 Performing Git actions on repositories @ `{repos_root}`...")
139
134
  overall_success = True
140
135
  for a_path in repos_root.search("*"):
141
136
  print(f"{('Handling ' + str(a_path)).center(80, '-')}")
142
137
  path_success = True
143
- if args.pull or args.all:
144
- path_success = git_action(path=a_path, action=GitAction.pull, r=args.recursive, auto_sync=auto_sync) and path_success
145
- if args.commit or args.all:
146
- path_success = git_action(a_path, action=GitAction.commit, r=args.recursive, auto_sync=auto_sync) and path_success
147
- if args.push or args.all:
148
- path_success = git_action(a_path, action=GitAction.push, r=args.recursive, auto_sync=auto_sync) and path_success
138
+ if pull or all:
139
+ path_success = git_action(path=a_path, action=GitAction.pull, r=recursive, auto_sync=auto_sync) and path_success
140
+ if commit or all:
141
+ path_success = git_action(a_path, action=GitAction.commit, r=recursive, auto_sync=auto_sync) and path_success
142
+ if push or all:
143
+ path_success = git_action(a_path, action=GitAction.push, r=recursive, auto_sync=auto_sync) and path_success
149
144
  overall_success = overall_success and path_success
150
145
 
151
146
  if overall_success:
@@ -156,5 +151,9 @@ def main():
156
151
  print("❌ No action specified. Try passing --push, --pull, --commit, or --all.")
157
152
 
158
153
 
154
+ def main_from_parser() -> None:
155
+ typer.run(main)
156
+
157
+
159
158
  if __name__ == "__main__":
160
- main()
159
+ main_from_parser()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 3.81
3
+ Version: 3.82
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -238,9 +238,6 @@ src/machineconfig/scripts/python/ai/solutions/gemini/settings.json
238
238
  src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md
239
239
  src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json
240
240
  src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py
241
- src/machineconfig/scripts/python/archive/im2text.py
242
- src/machineconfig/scripts/python/archive/tmate_conn.py
243
- src/machineconfig/scripts/python/archive/tmate_start.py
244
241
  src/machineconfig/scripts/python/helpers/__init__.py
245
242
  src/machineconfig/scripts/python/helpers/cloud_helpers.py
246
243
  src/machineconfig/scripts/python/helpers/helpers2.py
@@ -6,14 +6,14 @@ cloud_repo_sync = machineconfig.scripts.python.cloud_repo_sync:args_parser
6
6
  cloud_sync = machineconfig.scripts.python.cloud_sync:args_parser
7
7
  croshell = machineconfig.scripts.python.croshell:build_parser
8
8
  devops = machineconfig.scripts.python.devops:args_parser
9
- fire = machineconfig.scripts.python.fire_jobs:main
9
+ fire = machineconfig.scripts.python.fire_jobs:main_from_parser
10
10
  fire_agents = machineconfig.scripts.python.fire_agents:main
11
- ftpx = machineconfig.scripts.python.ftpx:main
11
+ ftpx = machineconfig.scripts.python.ftpx:main_from_parser
12
12
  initai = machineconfig.scripts.python.ai.initai:main
13
13
  install = machineconfig.scripts.python.devops_devapps_install:main_with_parser
14
14
  kill_process = machineconfig.utils.procs:main
15
15
  mount_nfs = machineconfig.scripts.python.mount_nfs:main
16
16
  mount_nw_drive = machineconfig.scripts.python.mount_nw_drive:main
17
- repos = machineconfig.scripts.python.repos:main
17
+ repos = machineconfig.scripts.python.repos:main_from_parser
18
18
  start_slidev = machineconfig.scripts.python.start_slidev:main
19
19
  wifi_conn = machineconfig.scripts.python.wifi_conn:main
@@ -1,34 +0,0 @@
1
- # """Convert image to text.
2
- # """
3
-
4
-
5
- # # import sys
6
- # from rich.console import Console
7
- # from rich.panel import Panel
8
- # import pytesseract
9
- # from PIL import Image
10
-
11
- # console = Console()
12
-
13
- # console.print(Panel("📸 Image to Text Converter", title="Status", expand=False))
14
-
15
- # print("📷 Capturing image from webcam...")
16
- # img_path = capture_from_webcam(show=False, wait=False, save=True)
17
- # print(f"✅ Image captured and saved to: {img_path}")
18
-
19
- # # img_rgb = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB)
20
- # # import cv2
21
- # # img_cv = cv2.imread(r'C:\Users\alex\Downloads\name.jpg')
22
-
23
- # # sys.path.insert(0, PathExtended.home().joinpath("AppData/Local/Tesseract-OCR").str)
24
- # # import pytesseract
25
- # # print(pytesseract.image_to_string(img_cv))
26
-
27
- # print("\n🔍 Processing image with Tesseract OCR...")
28
- # q = Terminal().run(f"cd ~/AppData/Local/Tesseract-OCR; pytesseract '{img_path}'", shell="pwsh").capture().op
29
-
30
- # try:
31
- # text = pytesseract.image_to_string(Image.open(img_path))
32
- # console.print(Panel(text, title="📄 Extracted Text Result:", title_align="left", expand=False))
33
- # except FileNotFoundError:
34
- # print(f"Error: Image file not found at {img_path}")
@@ -1,41 +0,0 @@
1
- import argparse
2
- import configparser
3
- from pathlib import Path
4
- import random
5
- import string
6
- import os
7
- from rich.console import Console
8
- from rich.panel import Panel
9
-
10
-
11
- console = Console()
12
-
13
-
14
- def get_conn_string(sess_name: str) -> str:
15
- creds = configparser.ConfigParser()
16
- creds.read(Path.home().joinpath("dotfiles/creds/tmate/creds.ini"))
17
- sess_name = creds["sessions_names"][sess_name]
18
- user_name = creds["keys"]["username"]
19
- return f"{user_name}/{sess_name}@sgp1.tmate.io"
20
-
21
-
22
- def main():
23
- console.print(Panel("🔌 Tmate Connection Manager", title="[bold]Welcome[/bold]"))
24
-
25
- parser = argparse.ArgumentParser(description="Tmate launcher")
26
- parser.add_argument("sess_name", help="session name", default=random.choices(list(string.digits + string.ascii_letters), k=20))
27
- args = parser.parse_args()
28
-
29
- console.print(f"🔍 Looking up session: {args.sess_name}")
30
- conn_string = get_conn_string(args.sess_name)
31
-
32
- console.print(Panel(f"SSH Connection String: ssh {conn_string}", title="[bold green]SSH Connection[/bold green]"))
33
-
34
- console.print("🚀 Connecting to tmate session...")
35
- os.system(f"ssh {conn_string}")
36
-
37
- console.print("✅ Connection closed")
38
-
39
-
40
- if __name__ == "__main__":
41
- main()