machineconfig 3.81__tar.gz → 3.83__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 (440) hide show
  1. {machineconfig-3.81/src/machineconfig.egg-info → machineconfig-3.83}/PKG-INFO +1 -1
  2. {machineconfig-3.81 → machineconfig-3.83}/pyproject.toml +4 -4
  3. machineconfig-3.83/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +115 -0
  4. machineconfig-3.83/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +119 -0
  5. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/fire_jobs.py +61 -8
  6. machineconfig-3.83/src/machineconfig/scripts/python/fire_jobs_args_helper.py +47 -0
  7. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ftpx.py +55 -48
  8. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/repos.py +43 -44
  9. {machineconfig-3.81 → machineconfig-3.83/src/machineconfig.egg-info}/PKG-INFO +1 -1
  10. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig.egg-info/SOURCES.txt +1 -3
  11. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig.egg-info/entry_points.txt +3 -3
  12. machineconfig-3.81/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -52
  13. machineconfig-3.81/src/machineconfig/scripts/python/archive/im2text.py +0 -34
  14. machineconfig-3.81/src/machineconfig/scripts/python/archive/tmate_conn.py +0 -41
  15. machineconfig-3.81/src/machineconfig/scripts/python/archive/tmate_start.py +0 -44
  16. machineconfig-3.81/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -84
  17. {machineconfig-3.81 → machineconfig-3.83}/MANIFEST.in +0 -0
  18. {machineconfig-3.81 → machineconfig-3.83}/README.md +0 -0
  19. {machineconfig-3.81 → machineconfig-3.83}/setup.cfg +0 -0
  20. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/__init__.py +0 -0
  21. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/__init__.py +0 -0
  22. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  23. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  24. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/distribute.py +0 -0
  25. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  26. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/job_params.py +0 -0
  27. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  28. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  29. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  30. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  31. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  32. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/enhanced_command_runner.py +0 -0
  33. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  34. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  35. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  36. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  37. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  38. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  39. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  40. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  41. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  42. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  43. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  44. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  45. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  46. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  47. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  48. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  49. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  50. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  51. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  52. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  53. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/templates/__init__.py +0 -0
  54. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/templates/cli_gooey.py +0 -0
  55. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  56. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/templates/run_cloud.py +0 -0
  57. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/templates/run_cluster.py +0 -0
  58. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/templates/run_remote.py +0 -0
  59. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/cluster/templates/utils.py +0 -0
  60. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/__init__.py +0 -0
  61. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  62. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  63. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  64. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/__init__.py +0 -0
  65. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/check_installations.py +0 -0
  66. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/create_bootable_media.py +0 -0
  67. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -0
  68. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  69. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/tasks.py +0 -0
  70. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  71. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/vscode/link_ve.py +0 -0
  72. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/vscode/select_interpreter.py +0 -0
  73. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
  74. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/__init__.py +0 -0
  75. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/archive/ngrok.py +0 -0
  76. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/aider.py +0 -0
  77. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/alacritty.py +0 -0
  78. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/brave.py +0 -0
  79. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +0 -0
  80. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/code.py +0 -0
  81. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/cursor.py +0 -0
  82. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -0
  83. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/espanso.py +0 -0
  84. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/goes.py +0 -0
  85. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/lvim.py +0 -0
  86. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/nerdfont.py +0 -0
  87. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/redis.py +0 -0
  88. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/reverse_proxy.md +0 -0
  89. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/wezterm.py +0 -0
  90. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/dev/winget.py +0 -0
  91. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/docker.py +0 -0
  92. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/gh.py +0 -0
  93. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/hx.py +0 -0
  94. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +0 -0
  95. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +0 -0
  96. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +0 -0
  97. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +0 -0
  98. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +0 -0
  99. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +0 -0
  100. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +0 -0
  101. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +0 -0
  102. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +0 -0
  103. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +0 -0
  104. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +0 -0
  105. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_custom_installers/warp-cli.py +0 -0
  106. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_generic_installers/__init__.py +0 -0
  107. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_generic_installers/config.json +0 -0
  108. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_generic_installers/config.json.bak +0 -0
  109. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_generic_installers/dev/config.archive.json +0 -0
  110. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_generic_installers/dev/config.json +0 -0
  111. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_generic_installers/dev/config.json.bak +0 -0
  112. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_linux_installers/__init__.py +0 -0
  113. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_linux_installers/archive/config.json +0 -0
  114. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_linux_installers/archive/config.json.bak +0 -0
  115. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_linux_installers/config.json +0 -0
  116. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_linux_installers/config.json.bak +0 -0
  117. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_linux_installers/dev/__init__.py +0 -0
  118. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_linux_installers/dev/config.json +0 -0
  119. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_linux_installers/dev/config.json.bak +0 -0
  120. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_windows_installers/__init__.py +0 -0
  121. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_windows_installers/archive/__init__.py +0 -0
  122. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_windows_installers/archive/file.json +0 -0
  123. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_windows_installers/config.json +0 -0
  124. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_windows_installers/config.json.bak +0 -0
  125. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_windows_installers/dev/__init__.py +0 -0
  126. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_windows_installers/dev/config.json +0 -0
  127. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/python_windows_installers/dev/config.json.bak +0 -0
  128. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  129. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  130. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  131. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  132. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  133. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
  134. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
  135. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/logger.py +0 -0
  136. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/profile/__init__.py +0 -0
  137. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/profile/create.py +0 -0
  138. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  139. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  140. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  141. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  142. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  143. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/profile/shell.py +0 -0
  144. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/__init__.py +0 -0
  145. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/cloud/init.sh +0 -0
  146. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
  147. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/cloud_copy +0 -0
  148. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/cloud_mount +0 -0
  149. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
  150. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/cloud_sync +0 -0
  151. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/croshell +0 -0
  152. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/devops +0 -0
  153. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/fire +0 -0
  154. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/fire_agents +0 -0
  155. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/ftpx +0 -0
  156. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/fzf2g +0 -0
  157. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/fzfag +0 -0
  158. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/fzffg +0 -0
  159. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/fzfg +0 -0
  160. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/fzfrga +0 -0
  161. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/gh_models +0 -0
  162. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/initai +0 -0
  163. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/kill_process +0 -0
  164. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/mount_drive +0 -0
  165. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/mount_nfs +0 -0
  166. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
  167. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/mount_smb +0 -0
  168. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/programs +0 -0
  169. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/repos +0 -0
  170. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/scheduler +0 -0
  171. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
  172. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/share_nfs +0 -0
  173. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/share_smb +0 -0
  174. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/skrg +0 -0
  175. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/start_docker +0 -0
  176. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/start_slidev +0 -0
  177. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/start_terminals +0 -0
  178. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/switch_ip +0 -0
  179. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  180. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/wifi_conn +0 -0
  181. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/linux/z_ls +0 -0
  182. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/__init__.py +0 -0
  183. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  184. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  185. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  186. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  187. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  188. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  189. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  190. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  191. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  192. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  193. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  194. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  195. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  196. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
  197. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  198. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  199. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  200. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  201. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  202. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  203. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  204. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  205. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  206. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  207. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  208. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
  209. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
  210. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
  211. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
  212. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
  213. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
  214. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/croshell.py +0 -0
  215. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/devops.py +0 -0
  216. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
  217. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
  218. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
  219. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/devops_devapps_install.py +0 -0
  220. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
  221. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/dotfile.py +0 -0
  222. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/fire_agents.py +0 -0
  223. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/fire_agents_help_launch.py +0 -0
  224. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
  225. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
  226. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -0
  227. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
  228. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
  229. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/gh_models.py +0 -0
  230. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
  231. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
  232. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
  233. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
  234. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
  235. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
  236. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
  237. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
  238. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
  239. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
  240. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/pomodoro.py +0 -0
  241. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
  242. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
  243. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
  244. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/scheduler.py +0 -0
  245. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/snapshot.py +0 -0
  246. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/start_slidev.py +0 -0
  247. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/start_terminals.py +0 -0
  248. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/viewer.py +0 -0
  249. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/viewer_template.py +0 -0
  250. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
  251. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
  252. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
  253. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
  254. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
  255. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
  256. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
  257. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
  258. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
  259. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
  260. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
  261. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
  262. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  263. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  264. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  265. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
  266. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
  267. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
  268. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
  269. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
  270. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
  271. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
  272. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
  273. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
  274. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
  275. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
  276. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/repos.ps1 +0 -0
  277. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
  278. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
  279. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
  280. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
  281. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
  282. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
  283. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
  284. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
  285. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
  286. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
  287. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
  288. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/__init__.py +0 -0
  289. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/broot/br.sh +0 -0
  290. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  291. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/broot/conf.toml +0 -0
  292. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/glow/glow.yml +0 -0
  293. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  294. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/helix/config.toml +0 -0
  295. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/helix/languages.toml +0 -0
  296. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/keras/keras.json +0 -0
  297. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  298. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  299. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  300. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  301. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  302. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  303. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  304. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  305. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  306. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  307. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/colors +0 -0
  308. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  309. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  310. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  311. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  312. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  313. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  314. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/icons +0 -0
  315. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  316. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  317. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  318. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  319. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  320. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  321. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  322. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  323. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  324. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  325. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  326. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/colors +0 -0
  327. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  328. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/icons +0 -0
  329. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  330. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  331. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  332. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  333. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  334. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  335. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  336. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/linters/.flake8 +0 -0
  337. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  338. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/linters/.pylintrc +0 -0
  339. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  340. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  341. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  342. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  343. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  344. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  345. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/mprocs/windows/other +0 -0
  346. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  347. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  348. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/procs/.procs.toml +0 -0
  349. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  350. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/rofi/config.rasi +0 -0
  351. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  352. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  353. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  354. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  355. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  356. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  357. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  358. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  359. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  360. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  361. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  362. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  363. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  364. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  365. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  366. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  367. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  368. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/streamlit/config.toml +0 -0
  369. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  370. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  371. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  372. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/tere/terecd.sh +0 -0
  373. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  374. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  375. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  376. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  377. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/yazi/theme.toml +0 -0
  378. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  379. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zed/settings.json +0 -0
  380. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  381. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  382. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/config.kdl +0 -0
  383. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  384. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  385. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  386. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  387. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  388. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  389. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  390. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  391. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
  392. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  393. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -0
  394. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
  395. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
  396. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
  397. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/__init__.py +0 -0
  398. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  399. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  400. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
  401. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
  402. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
  403. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
  404. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
  405. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  406. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +0 -0
  407. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/wt_and_pwsh/install_nerd_fonts.py +0 -0
  408. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  409. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/__init__.py +0 -0
  410. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/accessories.py +0 -0
  411. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/ai/__init__.py +0 -0
  412. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
  413. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  414. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  415. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/code.py +0 -0
  416. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/installer.py +0 -0
  417. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  418. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  419. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  420. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/io.py +0 -0
  421. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/links.py +0 -0
  422. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/notifications.py +0 -0
  423. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/options.py +0 -0
  424. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/path_extended.py +0 -0
  425. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/path_helper.py +0 -0
  426. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/procs.py +0 -0
  427. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/scheduler.py +0 -0
  428. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/scheduling.py +0 -0
  429. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  430. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  431. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  432. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  433. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/source_of_truth.py +0 -0
  434. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/ssh.py +0 -0
  435. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/terminal.py +0 -0
  436. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/upgrade_packages.py +0 -0
  437. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig/utils/ve.py +0 -0
  438. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  439. {machineconfig-3.81 → machineconfig-3.83}/src/machineconfig.egg-info/requires.txt +0 -0
  440. {machineconfig-3.81 → machineconfig-3.83}/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.83
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.83"
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"
@@ -0,0 +1,115 @@
1
+ # gotch1: make sure we are in the right directory: repo root. Solution: check if .pyproject.toml exists, otherwise stop.
2
+ if (!(Test-Path "./pyproject.toml")) {
3
+ Write-Host "Error: pyproject.toml not found in the current directory. Please run this script from the root of a Python project." -ForegroundColor Red
4
+ exit 1
5
+ }
6
+
7
+ # Color definitions (using ANSI escape sequences for cross-platform compatibility)
8
+ $RED = "`e[0;31m"
9
+ $GREEN = "`e[0;32m"
10
+ $YELLOW = "`e[1;33m"
11
+ $BLUE = "`e[0;34m"
12
+ $PURPLE = "`e[0;35m"
13
+ $CYAN = "`e[0;36m"
14
+ $WHITE = "`e[1;37m"
15
+ $BOLD = "`e[1m"
16
+ $UNDERLINE = "`e[4m"
17
+ $NC = "`e[0m" # No Color
18
+
19
+ # Box drawing functions
20
+ function Draw-Box {
21
+ param([string]$text, [string]$color)
22
+ $width = 60
23
+ $padding = [math]::Floor(($width - $text.Length) / 2)
24
+ $line = "─" * $width
25
+
26
+ Write-Host "${color}┌${line}┐${NC}"
27
+ Write-Host ("${color}│" + (" " * $padding) + $text + (" " * $padding) + "│${NC}")
28
+ Write-Host "${color}└${line}┘${NC}"
29
+ }
30
+
31
+ function Draw-Progress {
32
+ param([int]$current, [int]$total, [string]$description)
33
+ Write-Host "${CYAN}┌────────────────────────────────────────────────────────────┐${NC}"
34
+ $padding = 50 - $description.Length - 8
35
+ Write-Host ("${CYAN}│${NC} ${BOLD}${WHITE}Step ${current}/${total}:${NC} ${description}" + (" " * $padding) + "${CYAN}│${NC}")
36
+ Write-Host "${CYAN}└────────────────────────────────────────────────────────────┘${NC}"
37
+ }
38
+
39
+ $TOTAL_STEPS = 7
40
+ $CURRENT_STEP = 0
41
+
42
+ Draw-Box "🚀 LINTING & TYPE CHECKING SUITE 🚀" "${BOLD}${CYAN}"
43
+ Write-Host
44
+
45
+ $CURRENT_STEP++
46
+ Draw-Progress $CURRENT_STEP $TOTAL_STEPS "Environment Setup"
47
+ Write-Host "${BLUE}🔧 Installing and updating development dependencies...${NC}"
48
+ # uv add pylint pyright mypy pyrefly ruff ty --dev # linters and type checkers
49
+ # uv add --dev cleanpy pylint pyright mypy pyrefly --upgrade-package cleanpy pylint pyright mypy pyrefly
50
+ uv add --dev pyright --upgrade-package pyright
51
+ uv add --dev pylint --upgrade-package pylint
52
+ uv add --dev mypy --upgrade-package mypy
53
+ uv add --dev pyrefly --upgrade-package pyrefly
54
+ uv add --dev cleanpy --upgrade-package cleanpy
55
+
56
+ uv add types-requests types-toml types-PyYAML types-pytz types-paramiko types-urllib3 --dev
57
+ uv add types-mysqlclient types-SQLAlchemy --dev
58
+
59
+ Write-Host "${GREEN}✅ Environment setup complete!${NC}"
60
+ Write-Host
61
+
62
+ $CURRENT_STEP++
63
+ Draw-Progress $CURRENT_STEP $TOTAL_STEPS "Code Cleanup"
64
+ Write-Host "${YELLOW}🧹 Cleaning and formatting code...${NC}"
65
+ uv run -m cleanpy .
66
+ uv run -m ruff clean
67
+ # uv run -m ruff format .
68
+ uv run -m ruff check . --fix
69
+ uv run --no-dev --project $HOME/code/machineconfig -m machineconfig.scripts.python.ai.generate_files
70
+
71
+ New-Item -ItemType Directory -Force -Path .linters | Out-Null
72
+
73
+ Write-Host "${GREEN}🧹 Code cleanup complete!${NC}"
74
+ Write-Host
75
+
76
+ Draw-Box "🔍 TYPE CHECKERS & LINTERS 🔍" "${BOLD}${PURPLE}"
77
+
78
+ $CURRENT_STEP++
79
+ Draw-Progress $CURRENT_STEP $TOTAL_STEPS "Pyright Type Checker"
80
+ Write-Host "${BLUE}📋 Analyzing types with Pyright...${NC}"
81
+ Remove-Item ./.linters/pyright_result.md -ErrorAction SilentlyContinue
82
+ uv run pyright . | Out-File -FilePath ./.linters/pyright_result.md
83
+ Write-Host "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/pyright_result.md${NC}"
84
+
85
+ $CURRENT_STEP++
86
+ Draw-Progress $CURRENT_STEP $TOTAL_STEPS "MyPy Type Checker"
87
+ Write-Host "${BLUE}📋 Analyzing types with MyPy...${NC}"
88
+ Remove-Item ./.linters/mypy_result.md -ErrorAction SilentlyContinue
89
+ uv run mypy . | Out-File -FilePath ./.linters/mypy_result.md
90
+ Write-Host "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/mypy_result.md${NC}"
91
+
92
+ $CURRENT_STEP++
93
+ Draw-Progress $CURRENT_STEP $TOTAL_STEPS "Pylint Code Analysis"
94
+ Write-Host "${BLUE}📋 Analyzing code quality with Pylint...${NC}"
95
+ Remove-Item ./.linters/pylint_result.md -ErrorAction SilentlyContinue
96
+ uv run pylint ./src/ | Out-File -FilePath ./.linters/pylint_result.md
97
+ Write-Host "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/pylint_result.md${NC}"
98
+
99
+ $CURRENT_STEP++
100
+ Draw-Progress $CURRENT_STEP $TOTAL_STEPS "Pyrefly Type Checker"
101
+ Write-Host "${BLUE}📋 Analyzing types with Pyrefly...${NC}"
102
+ Remove-Item ./.linters/pyrefly_result.md -ErrorAction SilentlyContinue
103
+ uv run pyrefly check . | Out-File -FilePath ./.linters/pyrefly_result.md
104
+ Write-Host "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/pyrefly_result.md${NC}"
105
+
106
+ $CURRENT_STEP++
107
+ Draw-Progress $CURRENT_STEP $TOTAL_STEPS "Ruff Linter"
108
+ Write-Host "${BLUE}📋 Checking code style with Ruff...${NC}"
109
+ Remove-Item ./.linters/ruff_result.md -ErrorAction SilentlyContinue
110
+ uv run ruff check . | Out-File -FilePath ./.linters/ruff_result.md
111
+ Write-Host "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/ruff_result.md${NC}"
112
+
113
+ Write-Host
114
+ Draw-Box "🎉 ALL CHECKS COMPLETED! 🎉" "${BOLD}${GREEN}"
115
+ Write-Host "${BOLD}${GREEN}📁 Check the ${UNDERLINE}.linters${NC}${BOLD}${GREEN} directory for detailed results.${NC}"
@@ -0,0 +1,119 @@
1
+
2
+ # gotch1: make sure we are in the right directory: repo root. Solution: check if .pyproject.toml exists, otherwise stop.
3
+ if [ ! -f "./pyproject.toml" ]; then
4
+ echo "Error: pyproject.toml not found in the current directory. Please run this script from the root of a Python project."
5
+ exit 1
6
+ fi
7
+
8
+ # Color definitions
9
+ RED='\033[0;31m'
10
+ GREEN='\033[0;32m'
11
+ YELLOW='\033[1;33m'
12
+ BLUE='\033[0;34m'
13
+ PURPLE='\033[0;35m'
14
+ CYAN='\033[0;36m'
15
+ WHITE='\033[1;37m'
16
+ BOLD='\033[1m'
17
+ UNDERLINE='\033[4m'
18
+ NC='\033[0m' # No Color
19
+
20
+ # Box drawing functions
21
+ draw_box() {
22
+ local text="$1"
23
+ local color="$2"
24
+ local width=60
25
+ local padding=$(( (width - ${#text}) / 2 ))
26
+ local line=""
27
+ for ((i=0; i<width; i++)); do line="${line}─"; done
28
+
29
+ echo -e "${color}┌${line}┐${NC}"
30
+ printf "${color}│%*s%s%*s│${NC}\n" $padding "" "$text" $padding ""
31
+ echo -e "${color}└${line}┘${NC}"
32
+ }
33
+
34
+ draw_progress() {
35
+ local current="$1"
36
+ local total="$2"
37
+ local description="$3"
38
+ echo -e "${CYAN}┌────────────────────────────────────────────────────────────┐${NC}"
39
+ echo -e "${CYAN}│${NC} ${BOLD}${WHITE}Step ${current}/${total}:${NC} ${description}${CYAN}$(printf '%*s' $((50 - ${#description} - 8)) "")│${NC}"
40
+ echo -e "${CYAN}└────────────────────────────────────────────────────────────┘${NC}"
41
+ }
42
+
43
+ TOTAL_STEPS=7
44
+ CURRENT_STEP=0
45
+
46
+ draw_box "🚀 LINTING & TYPE CHECKING SUITE 🚀" "${BOLD}${CYAN}"
47
+ echo
48
+
49
+ ((CURRENT_STEP++))
50
+ draw_progress $CURRENT_STEP $TOTAL_STEPS "Environment Setup"
51
+ echo -e "${BLUE}🔧 Installing and updating development dependencies...${NC}"
52
+ # uv add pylint pyright mypy pyrefly ruff ty --dev # linters and type checkers
53
+ # uv add --dev cleanpy pylint pyright mypy pyrefly --upgrade-package cleanpy pylint pyright mypy pyrefly
54
+ uv add --dev pyright --upgrade-package pyright
55
+ uv add --dev pylint --upgrade-package pylint
56
+ uv add --dev mypy --upgrade-package mypy
57
+ uv add --dev pyrefly --upgrade-package pyrefly
58
+ uv add --dev cleanpy --upgrade-package cleanpy
59
+
60
+ uv add types-requests types-toml types-PyYAML types-pytz types-paramiko types-urllib3 --dev
61
+ uv add types-mysqlclient types-SQLAlchemy --dev
62
+
63
+ echo -e "${GREEN}✅ Environment setup complete!${NC}"
64
+ echo
65
+
66
+ ((CURRENT_STEP++))
67
+ draw_progress $CURRENT_STEP $TOTAL_STEPS "Code Cleanup"
68
+ echo -e "${YELLOW}🧹 Cleaning and formatting code...${NC}"
69
+ uv run -m cleanpy .
70
+ uv run -m ruff clean
71
+ # uv run -m ruff format .
72
+ uv run -m ruff check . --fix
73
+ uv run --no-dev --project $HOME/code/machineconfig -m machineconfig.scripts.python.ai.generate_files
74
+
75
+ mkdir .linters
76
+
77
+ echo -e "${GREEN}🧹 Code cleanup complete!${NC}"
78
+ echo
79
+
80
+ draw_box "🔍 TYPE CHECKERS & LINTERS 🔍" "${BOLD}${PURPLE}"
81
+
82
+ ((CURRENT_STEP++))
83
+ draw_progress $CURRENT_STEP $TOTAL_STEPS "Pyright Type Checker"
84
+ echo -e "${BLUE}📋 Analyzing types with Pyright...${NC}"
85
+ rm ./.linters/pyright_result.md || true
86
+ uv run pyright . > ./.linters/pyright_result.md
87
+ echo -e "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/pyright_result.md${NC}"
88
+
89
+ ((CURRENT_STEP++))
90
+ draw_progress $CURRENT_STEP $TOTAL_STEPS "MyPy Type Checker"
91
+ echo -e "${BLUE}📋 Analyzing types with MyPy...${NC}"
92
+ rm ./.linters/mypy_result.md || true
93
+ uv run mypy . > ./.linters/mypy_result.md
94
+ echo -e "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/mypy_result.md${NC}"
95
+
96
+ ((CURRENT_STEP++))
97
+ draw_progress $CURRENT_STEP $TOTAL_STEPS "Pylint Code Analysis"
98
+ echo -e "${BLUE}📋 Analyzing code quality with Pylint...${NC}"
99
+ rm ./.linters/pylint_result.md || true
100
+ uv run pylint ./src/ > ./.linters/pylint_result.md
101
+ echo -e "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/pylint_result.md${NC}"
102
+
103
+ ((CURRENT_STEP++))
104
+ draw_progress $CURRENT_STEP $TOTAL_STEPS "Pyrefly Type Checker"
105
+ echo -e "${BLUE}📋 Analyzing types with Pyrefly...${NC}"
106
+ rm ./.linters/pyrefly_result.md || true
107
+ uv run pyrefly check . > ./.linters/pyrefly_result.md
108
+ echo -e "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/pyrefly_result.md${NC}"
109
+
110
+ ((CURRENT_STEP++))
111
+ draw_progress $CURRENT_STEP $TOTAL_STEPS "Ruff Linter"
112
+ echo -e "${BLUE}📋 Checking code style with Ruff...${NC}"
113
+ rm ./.linters/ruff_result.md || true
114
+ uv run ruff check . > ./.linters/ruff_result.md
115
+ echo -e "${GREEN}✅ Results saved to ${UNDERLINE}./.linters/ruff_result.md${NC}"
116
+
117
+ echo
118
+ draw_box "🎉 ALL CHECKS COMPLETED! 🎉" "${BOLD}${GREEN}"
119
+ echo -e "${BOLD}${GREEN}📁 Check the ${UNDERLINE}.linters${NC}${BOLD}${GREEN} directory for detailed results.${NC}"
@@ -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
 
@@ -48,11 +49,12 @@ def route(args: FireJobArgs) -> None:
48
49
  ve_root_from_file, ipy_profile = get_ve_path_and_ipython_profile(choice_file)
49
50
  if ipy_profile is None:
50
51
  ipy_profile = "default"
51
- activate_ve_line = get_ve_activate_line(ve_root=args.ve or ve_root_from_file or "$HOME/code/machineconfig/.venv")
52
52
 
53
53
  if choice_file.suffix == ".py":
54
54
  kwargs = extract_kwargs(args)
55
+ activate_ve_line = get_ve_activate_line(ve_root=args.ve or ve_root_from_file or "$HOME/code/machineconfig/.venv")
55
56
  else:
57
+ activate_ve_line = ""
56
58
  kwargs = {}
57
59
 
58
60
  # ========================= choosing function to run
@@ -92,7 +94,6 @@ def route(args: FireJobArgs) -> None:
92
94
  if choice_file.suffix == ".py":
93
95
  if args.streamlit:
94
96
  import socket
95
-
96
97
  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
97
98
  try:
98
99
  s.connect(("8.8.8.8", 1))
@@ -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,47 @@
1
+ from dataclasses import dataclass
2
+ from typing import Optional
3
+
4
+
5
+ @dataclass
6
+ class FireJobArgs:
7
+ """Type-safe dataclass for fire_jobs command line arguments."""
8
+
9
+ path: str = "."
10
+ function: Optional[str] = None
11
+ ve: str = ""
12
+ cmd: bool = False
13
+ interactive: bool = False
14
+ debug: bool = False
15
+ choose_function: bool = False
16
+ loop: bool = False
17
+ jupyter: bool = False
18
+ submit_to_cloud: bool = False
19
+ remote: bool = False
20
+ module: bool = False
21
+ streamlit: bool = False
22
+ environment: str = ""
23
+ holdDirectory: bool = False
24
+ PathExport: bool = False
25
+ git_pull: bool = False
26
+ optimized: bool = False
27
+ Nprocess: int = 1
28
+ zellij_tab: Optional[str] = None
29
+ watch: bool = False
30
+ kw: Optional[list[str]] = None
31
+ layout: bool = False
32
+
33
+
34
+ def extract_kwargs(args: FireJobArgs) -> dict[str, object]:
35
+ str2obj = {"True": True, "False": False, "None": None}
36
+ if args.kw is not None:
37
+ assert len(args.kw) % 2 == 0, f"args.kw must be a list of even length. Got {len(args.kw)}"
38
+ kwargs = dict(zip(args.kw[::2], args.kw[1::2]))
39
+ kwargs: dict[str, object]
40
+ for key, value in kwargs.items():
41
+ if value in str2obj:
42
+ kwargs[key] = str2obj[str(value)]
43
+ if args.function is None: # if user passed arguments and forgot to pass function, then assume they want to run the main function.
44
+ args.choose_function = True
45
+ else:
46
+ kwargs = {}
47
+ 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()