machineconfig 6.49__tar.gz → 6.51__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 (442) hide show
  1. {machineconfig-6.49/src/machineconfig.egg-info → machineconfig-6.51}/PKG-INFO +1 -1
  2. {machineconfig-6.49 → machineconfig-6.51}/pyproject.toml +1 -1
  3. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/croshell.py +28 -29
  4. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  5. machineconfig-6.51/src/machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
  6. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
  7. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
  8. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
  9. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
  10. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/mount_nfs +1 -1
  11. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  12. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
  13. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
  14. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/meta.py +178 -1
  15. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/ssh.py +1 -1
  16. {machineconfig-6.49 → machineconfig-6.51/src/machineconfig.egg-info}/PKG-INFO +1 -1
  17. machineconfig-6.49/src/machineconfig/scripts/python/helpers_croshell/crosh.py +0 -43
  18. {machineconfig-6.49 → machineconfig-6.51}/MANIFEST.in +0 -0
  19. {machineconfig-6.49 → machineconfig-6.51}/README.md +0 -0
  20. {machineconfig-6.49 → machineconfig-6.51}/setup.cfg +0 -0
  21. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/__init__.py +0 -0
  22. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/__init__.py +0 -0
  23. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  24. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  25. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/distribute.py +0 -0
  26. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  27. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/job_params.py +0 -0
  28. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  29. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  30. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  31. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  32. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  33. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  34. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  35. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  36. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
  37. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
  38. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  39. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/utils/maker.py +0 -0
  40. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  41. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  42. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  43. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  44. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  45. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  46. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  47. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  48. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  49. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  50. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  51. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  52. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  53. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  54. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  55. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  56. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  57. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  58. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  59. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  60. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
  61. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
  62. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
  63. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
  64. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/templates/__init__.py +0 -0
  65. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  66. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/__init__.py +0 -0
  67. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/__init__.py +0 -0
  68. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/check_installations.py +0 -0
  69. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  70. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  71. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  72. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  73. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  74. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  75. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  76. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  77. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  78. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  79. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  80. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  81. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  82. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  83. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  84. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  85. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  86. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/installer_data.json +0 -0
  87. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  88. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  89. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  90. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  91. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  92. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  93. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  94. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  95. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  96. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  97. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  98. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  99. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  100. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  101. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  102. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  103. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  104. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  105. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/python/__init__.py +0 -0
  106. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  107. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  108. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  109. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  110. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  111. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  112. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  113. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/logger.py +0 -0
  114. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/__init__.py +0 -0
  115. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/backup.toml +0 -0
  116. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  117. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/create_helper.py +0 -0
  118. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/create_links.py +0 -0
  119. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/create_links_export.py +0 -0
  120. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/create_shell_profile.py +0 -0
  121. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/mapper.toml +0 -0
  122. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  123. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  124. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  125. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  126. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  127. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  128. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/__init__.py +0 -0
  129. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/fzf2g +0 -0
  130. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/fzfag +0 -0
  131. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/fzffg +0 -0
  132. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/fzfg +0 -0
  133. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/fzfrga +0 -0
  134. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  135. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  136. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/other/share_smb +0 -0
  137. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  138. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  139. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/skrg +0 -0
  140. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  141. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/linux/z_ls +0 -0
  142. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/__init__.py +0 -0
  143. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/agents.py +0 -0
  144. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  145. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
  146. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
  147. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  148. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  149. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  150. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  151. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  152. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  153. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  154. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  155. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  156. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  157. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  158. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  159. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  160. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  161. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  162. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  163. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  164. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  165. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  166. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  167. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  168. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  169. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  170. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  171. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  172. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  173. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
  174. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/cloud.py +0 -0
  175. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/devops.py +0 -0
  176. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  177. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/entry.py +0 -0
  178. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
  179. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
  180. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  181. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/ftpx.py +0 -0
  182. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_cloud/__init__.py +0 -0
  183. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_cloud/cloud_copy.py +0 -0
  184. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +0 -0
  185. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_cloud/cloud_mount.py +0 -0
  186. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_cloud/cloud_sync.py +0 -0
  187. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_cloud/helpers2.py +0 -0
  188. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_cloud/helpers5.py +0 -0
  189. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_croshell/__init__.py +0 -0
  190. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_croshell/pomodoro.py +0 -0
  191. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_croshell/scheduler.py +0 -0
  192. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_croshell/start_slidev.py +0 -0
  193. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_croshell/viewer.py +0 -0
  194. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_croshell/viewer_template.py +0 -0
  195. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/__init__.py +0 -0
  196. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -0
  197. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_data.py +0 -0
  198. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -0
  199. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -0
  200. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_share_server.py +0 -0
  201. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_terminal.py +0 -0
  202. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -0
  203. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -0
  204. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/devops_status.py +0 -0
  205. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/devops_update_repos.py +0 -0
  206. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/themes/__init__.py +0 -0
  207. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
  208. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +0 -0
  209. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
  210. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
  211. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
  212. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
  213. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
  214. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
  215. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
  216. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
  217. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
  218. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
  219. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
  220. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
  221. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
  222. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
  223. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
  224. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  225. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  226. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  227. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  228. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  229. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_navigator/__init__.py +0 -0
  230. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_navigator/command_builder.py +0 -0
  231. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -0
  232. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -0
  233. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_navigator/data_models.py +0 -0
  234. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_navigator/main_app.py +0 -0
  235. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_navigator/search_bar.py +0 -0
  236. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/action.py +0 -0
  237. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/clone.py +0 -0
  238. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/count_lines.py +0 -0
  239. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -0
  240. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  241. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/record.py +0 -0
  242. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  243. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/sync.py +0 -0
  244. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_repos/update.py +0 -0
  245. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  246. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +0 -0
  247. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/interactive.py +0 -0
  248. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  249. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
  250. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
  251. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
  252. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  253. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  254. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  255. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  256. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  257. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  258. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  259. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
  260. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
  261. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  262. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  263. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/python/sessions.py +0 -0
  264. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  265. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  266. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  267. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  268. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  269. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  270. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  271. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  272. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  273. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/__init__.py +0 -0
  274. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/broot/br.sh +0 -0
  275. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  276. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/broot/conf.toml +0 -0
  277. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/glow/glow.yml +0 -0
  278. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  279. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/helix/config.toml +0 -0
  280. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/helix/languages.toml +0 -0
  281. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/keras/keras.json +0 -0
  282. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  283. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  284. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  285. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  286. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  287. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  288. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  289. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  290. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  291. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  292. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/colors +0 -0
  293. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  294. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  295. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  296. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  297. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  298. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  299. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/icons +0 -0
  300. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  301. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  302. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  303. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  304. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  305. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  306. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  307. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  308. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  309. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  310. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  311. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/colors +0 -0
  312. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  313. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/icons +0 -0
  314. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  315. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  316. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  317. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  318. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  319. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  320. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  321. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/linters/.flake8 +0 -0
  322. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  323. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/linters/.pylintrc +0 -0
  324. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  325. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  326. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  327. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  328. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  329. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/marimo/marimo.toml +0 -0
  330. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  331. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/mprocs/windows/other +0 -0
  332. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  333. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  334. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/procs/.procs.toml +0 -0
  335. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  336. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/rofi/config.rasi +0 -0
  337. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  338. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  339. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  340. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  341. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  342. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  343. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  344. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  345. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  346. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  347. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  348. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  349. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  350. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  351. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  352. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  353. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  354. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/streamlit/config.toml +0 -0
  355. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  356. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  357. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  358. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/tere/terecd.sh +0 -0
  359. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  360. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  361. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  362. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  363. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/yazi/theme.toml +0 -0
  364. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  365. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zed/settings.json +0 -0
  366. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  367. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  368. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/config.kdl +0 -0
  369. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  370. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  371. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  372. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  373. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  374. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  375. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/__init__.py +0 -0
  376. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/apps.sh +0 -0
  377. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  378. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  379. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  380. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  381. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  382. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  383. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/uv.sh +0 -0
  384. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  385. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/__init__.py +0 -0
  386. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  387. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  388. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  389. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  390. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  391. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  392. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  393. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  394. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  395. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  396. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/__init__.py +0 -0
  397. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/accessories.py +0 -0
  398. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/ai/__init__.py +0 -0
  399. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  400. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  401. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  402. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/code.py +0 -0
  403. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/art/fat_croco.txt +0 -0
  404. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/art/halfwit_croco.txt +0 -0
  405. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/art/happy_croco.txt +0 -0
  406. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/art/water_croco.txt +0 -0
  407. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/ascii_art.py +0 -0
  408. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/dbms.py +0 -0
  409. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/headers.py +0 -0
  410. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  411. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  412. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/files/read.py +0 -0
  413. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/installer.py +0 -0
  414. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  415. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  416. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  417. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  418. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  419. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/io.py +0 -0
  420. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/links.py +0 -0
  421. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/notifications.py +0 -0
  422. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/options.py +0 -0
  423. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/path_extended.py +0 -0
  424. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/path_helper.py +0 -0
  425. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/procs.py +0 -0
  426. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/scheduler.py +0 -0
  427. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/scheduling.py +0 -0
  428. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  429. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  430. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  431. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  432. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/source_of_truth.py +0 -0
  433. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
  434. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/terminal.py +0 -0
  435. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/tst.py +0 -0
  436. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/upgrade_packages.py +0 -0
  437. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig/utils/ve.py +0 -0
  438. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig.egg-info/SOURCES.txt +0 -0
  439. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  440. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig.egg-info/entry_points.txt +0 -0
  441. {machineconfig-6.49 → machineconfig-6.51}/src/machineconfig.egg-info/requires.txt +0 -0
  442. {machineconfig-6.49 → machineconfig-6.51}/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: 6.49
3
+ Version: 6.51
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 = "6.49"
9
+ version = "6.51"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -5,8 +5,8 @@ croshell
5
5
  """
6
6
 
7
7
  from typing import Annotated, Optional
8
- from machineconfig.scripts.python.helpers_croshell.crosh import add_print_header_pycode
9
- from machineconfig.scripts.python.helpers_croshell.crosh import get_read_data_pycode
8
+ from machineconfig.scripts.python.helpers_croshell.crosh import code, get_read_data_pycode
9
+ from machineconfig.utils.meta import lambda_to_defstring
10
10
  import typer
11
11
  from machineconfig.utils.path_extended import PathExtended
12
12
  from pathlib import Path
@@ -26,10 +26,9 @@ def croshell(
26
26
  profile: Annotated[Optional[str], typer.Option("--profile", "-P", help="ipython profile to use, defaults to default profile.")] = None,
27
27
  jupyter: Annotated[bool, typer.Option("--jupyter", "-j", help="run in jupyter interactive console")] = False,
28
28
  vscode: Annotated[bool, typer.Option("--vscode", "-c", help="open the script in vscode")] = False,
29
- streamlit_viewer: Annotated[bool, typer.Option("--stViewer", "-s", help="view in streamlit app")] = False,
30
- visidata: Annotated[bool, typer.Option("--visidata", "-V", help="open data file in visidata")] = False,
29
+ streamlit_viewer: Annotated[bool, typer.Option("--streamlit", "-s", help="view in streamlit app")] = False,
30
+ visidata: Annotated[bool, typer.Option("--visidata", "-v", help="open data file in visidata")] = False,
31
31
  marimo: Annotated[bool, typer.Option("--marimo", "-m", help="open the notebook using marimo if available")] = False,
32
- local: Annotated[bool, typer.Option("--local", "-l", help="run in local mode, not in virtual env.")]= False,
33
32
  ) -> None:
34
33
  # ==================================================================================
35
34
  # flags processing
@@ -59,9 +58,10 @@ def croshell(
59
58
  # streamlit run {py_file_path}
60
59
  # """
61
60
  # PROGRAM_PATH.write_text(data=final_program, encoding="utf-8")
61
+ print("Streamlit viewer is not yet implemented in this version.")
62
62
  return None
63
63
  file_obj = PathExtended(str(path).lstrip()).expanduser().absolute()
64
- program = get_read_data_pycode(str(file_obj))
64
+ program = lambda_to_defstring(lambda: get_read_data_pycode(path=str(file_obj)), in_global=True)
65
65
  text = f"📄 Reading data from: {file_obj.name}"
66
66
  console.print(Panel(text, title="[bold blue]Info[/bold blue]"))
67
67
  else: # if nothing is specified, then run in interactive mode.
@@ -71,23 +71,29 @@ def croshell(
71
71
  # InteractiveShell().run()
72
72
  # return None
73
73
  program = ""
74
-
75
74
  preprogram = """
76
-
77
75
  #%%
78
-
79
- from machineconfig.utils.files.headers import print_header, print_logo
80
- print_header()
81
- print_logo("CROCODILE")
82
- from pathlib import Path
83
-
84
76
  """
77
+ def preprogram_func():
78
+ from machineconfig.utils.files.headers import print_header, print_logo
79
+ print_header()
80
+ print_logo("CROCODILE")
81
+ from pathlib import Path
82
+ from machineconfig.utils.path_extended import PathExtended
83
+ _ = Path, PathExtended # avoid unused import warnings
84
+ import inspect, textwrap
85
+ from types import FunctionType
86
+ def get_body_simple_function_no_args(f: FunctionType):
87
+ return textwrap.dedent("\n".join(inspect.getsource(f).splitlines()[1:]))
88
+ preprogram += get_body_simple_function_no_args(preprogram_func)
85
89
 
86
90
  pyfile = PathExtended.tmp().joinpath(f"tmp_scripts/python/croshell/{randstr()}/script.py")
87
91
  pyfile.parent.mkdir(parents=True, exist_ok=True)
88
92
 
89
93
  title = "Reading Data"
90
- python_program = preprogram + add_print_header_pycode(str(pyfile), title=title) + program
94
+ def_code = lambda_to_defstring(lambda: code(path=str(pyfile), title=title))
95
+ # print(def_code)
96
+ python_program = preprogram + "\n\n" + def_code + program
91
97
  pyfile.write_text(python_program, encoding="utf-8")
92
98
  # ve_root_from_file, ipython_profile = get_ve_path_and_ipython_profile(PathExtended(file))
93
99
  ipython_profile = ipython_profile if ipython_profile is not None else "default"
@@ -120,38 +126,31 @@ from pathlib import Path
120
126
  if visidata:
121
127
  fire_line = f"uv run --with visidata,pyarrow vd {str(file_obj)}"
122
128
  elif marimo:
123
- if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
124
- else: requirements = """--with "marimo,machineconfig[plot]>=6.49" """
129
+ if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--with marimo --project "{str(Path.home().joinpath("code/machineconfig"))}" """
130
+ else: requirements = """--with "marimo,machineconfig[plot]>=6.51" """
125
131
  fire_line = f"""
126
132
  cd {str(pyfile.parent)}
127
133
  uv run --with "marimo" marimo convert {pyfile.name} -o marimo_nb.py
128
134
  uv run {requirements} marimo edit --host 0.0.0.0 marimo_nb.py
129
135
  """
130
136
  elif jupyter:
131
- if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
132
- else: requirements = """--with "machineconfig[plot]>=6.49" """
137
+ if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with jupyterlab """
138
+ else: requirements = """--with "machineconfig[plot]>=6.51" """
133
139
  fire_line = f"uv run {requirements} jupyter-lab {str(nb_target)}"
134
140
  elif vscode:
135
141
  fire_line = f"""
136
142
  cd {str(pyfile.parent)}
137
143
  uv init --python 3.14
138
144
  uv venv
139
- uv add "machineconfig[plot]>=6.49"
145
+ uv add "machineconfig[plot]>=6.51"
140
146
  # code serve-web
141
147
  code --new-window {str(pyfile)}
142
148
  """
143
149
  else:
144
150
  if interpreter == "ipython": profile = f" --profile {ipython_profile} --no-banner"
145
151
  else: profile = ""
146
- if local:
147
- from machineconfig.utils.source_of_truth import LIBRARY_ROOT
148
- repo_root = LIBRARY_ROOT.parent.parent
149
- if repo_root.parent.name == "code" and repo_root.name == "machineconfig" and repo_root.exists() and repo_root.is_dir():
150
- ve_line = f"--project {str(repo_root)}"
151
- else:
152
- console.print(Panel("❌ Could not determine the local machineconfig repo root. Please ensure the `REPO_ROOT` in `source_of_truth.py` is correctly set to the local path of the machineconfig repo, or do not use the `--local` flag.", title="Error", border_style="red"))
153
- return
154
- else: ve_line = """--with "machineconfig[plot]>=6.49" """
152
+ if Path.home().joinpath("code/machineconfig").exists(): ve_line = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
153
+ else: ve_line = """--with "machineconfig[plot]>=6.51" """
155
154
  # ve_path_maybe, ipython_profile_maybe = get_ve_path_and_ipython_profile(Path.cwd())
156
155
  # --python 3.14
157
156
  fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=6.49",
5
+ # "machineconfig>=6.51",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -0,0 +1,39 @@
1
+
2
+
3
+ def code(path: str, title: str):
4
+ from pathlib import Path
5
+ print("Reading code from path:", path)
6
+ pycode = Path(path).read_text(encoding="utf-8")
7
+ pycode = pycode.split("except Exception: print(pycode)")[2]
8
+ try:
9
+ # from rich.text import Text
10
+ from rich.panel import Panel
11
+ from rich.console import Console
12
+ from rich.syntax import Syntax
13
+ console = Console()
14
+ if pycode.strip() != "":
15
+ console.print(Panel(Syntax(pycode, lexer="python"), title=title), style="bold red")
16
+ except Exception: print(pycode)
17
+
18
+
19
+ def get_read_data_pycode(path: str):
20
+ from rich.panel import Panel
21
+ from rich.text import Text
22
+ from rich.console import Console
23
+ from machineconfig.utils.path_extended import PathExtended
24
+ console = Console()
25
+ p = PathExtended(path).absolute()
26
+ try:
27
+ from machineconfig.utils.files.read import Read
28
+ from machineconfig.utils.accessories import pprint
29
+ dat = Read.read(p)
30
+ if isinstance(dat, dict):
31
+ panel_title = f"📄 File Data: {p.name}"
32
+ console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
33
+ pprint(dat, p.name)
34
+ else:
35
+ panel_title = f"📄 Successfully read the file: {p.name}"
36
+ console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
37
+ except Exception as e:
38
+ error_message = f'''❌ ERROR READING FILE\nFile: {p.name}\nError: {e}'''
39
+ console.print(Panel(Text(error_message, justify="left"), title="Error", expand=False, border_style="red"))
@@ -42,7 +42,7 @@ def path():
42
42
  from pathlib import Path
43
43
  path = Path(navigator.__file__).resolve().parent.joinpath("path_manager_tui.py")
44
44
  from machineconfig.utils.code import run_shell_script
45
- if not Path.home().joinpath("code/machineconfig").exists(): executable = """--with "machineconfig>=6.49,textual" """
45
+ if not Path.home().joinpath("code/machineconfig").exists(): executable = """--with "machineconfig>=6.51,textual" """
46
46
  else: executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
47
47
  run_shell_script(f"""uv run {executable} {path}""")
48
48
 
@@ -40,9 +40,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
40
40
  else:
41
41
  import platform
42
42
  if platform.system() == "Windows":
43
- run_shell_script(r"""$HOME\.local\bin\uv.exe tool install --upgrade "machineconfig>=6.49" """)
43
+ run_shell_script(r"""$HOME\.local\bin\uv.exe tool install --upgrade "machineconfig>=6.51" """)
44
44
  else:
45
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.49" """)
45
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.51" """)
46
46
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
47
47
  if not no_copy_assets:
48
48
  create_default_shell_profile() # involves copying assets too
@@ -67,7 +67,7 @@ def navigate():
67
67
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
68
68
  from machineconfig.utils.code import run_shell_script
69
69
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
70
- else: executable = """--with "machineconfig>=6.49,textual" """
70
+ else: executable = """--with "machineconfig>=6.51,textual" """
71
71
  run_shell_script(f"""uv run {executable} {path}""")
72
72
 
73
73
 
@@ -77,7 +77,7 @@ git pull originEnc master
77
77
  """
78
78
 
79
79
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""uv run --project "{str(Path.home().joinpath("code/machineconfig"))}" """
80
- else: executable = """uv run --with "machineconfig>=6.49" """
80
+ else: executable = """uv run --with "machineconfig>=6.51" """
81
81
 
82
82
  shell_path = write_shell_script_to_file(shell_script=script)
83
83
  command = f". {shell_path}"
@@ -8,7 +8,7 @@ def analyze_repo_development(repo_path: Annotated[str, typer.Argument(..., help=
8
8
  from pathlib import Path
9
9
  count_lines_path = Path(count_lines.__file__)
10
10
  # --project $HOME/code/ machineconfig --group plot
11
- cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.49" {count_lines_path} analyze-over-time {repo_path}"""
11
+ cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.51" {count_lines_path} analyze-over-time {repo_path}"""
12
12
  from machineconfig.utils.code import run_shell_script
13
13
  run_shell_script(cmd)
14
14
 
@@ -5,7 +5,7 @@
5
5
  # mkdir ~/data/local
6
6
  # sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
7
7
 
8
- uv run --python 3.14 --with "machineconfig>=6.49" python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with "machineconfig>=6.51" python -m machineconfig.scripts.python.mount_nfs
9
9
  # Check if remote server is reachable and share folder exists
10
10
  if ! ping -c 1 "$remote_server" &> /dev/null; then
11
11
  echo "💥 Error: Remote server $remote_server is not reachable."
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with "machineconfig>=6.49" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=6.51" python -m machineconfig.scripts.python.mount_ssh
11
11
 
12
12
  net use T: \\sshfs.kr\$user@$host.local
13
13
  # this worked: net use T: \\sshfs\alex@alex-p51s-5.local
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  mcfg() {
4
- "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.49" mcfg "$@"
4
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.51" mcfg "$@"
5
5
  }
6
6
  alias d="mcfg devops"
7
7
  alias c="mcfg cloud"
@@ -2,7 +2,7 @@
2
2
 
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
4
  function mcfg {
5
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.49" mcfg $args
5
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.51" mcfg $args
6
6
  }
7
7
  function d { mcfg devops @args }
8
8
  function c { mcfg cloud @args }
@@ -5,7 +5,7 @@ import inspect
5
5
  import textwrap
6
6
  from collections.abc import Callable, Mapping
7
7
  from types import FunctionType, ModuleType
8
- from typing import ParamSpec
8
+ from typing import Any, ParamSpec
9
9
 
10
10
  P = ParamSpec("P")
11
11
 
@@ -245,6 +245,183 @@ def _generate_call_statement(func: FunctionType, kwargs: dict[str, object]) -> s
245
245
  return f"{func.__name__}({args_str})"
246
246
 
247
247
 
248
+ def lambda_to_defstring(lmb: Callable[[], Any], in_global: bool = False) -> str:
249
+ """
250
+ Given a no-arg lambda like `lambda: func(a=var1, b=var2)`,
251
+ return a string containing the full function definition of `func`
252
+ but with the defaults for the parameters provided in the call replaced
253
+ by the *actual* values (repr) taken from the lambda's globals.
254
+
255
+ All imports are local to this function.
256
+
257
+ Args:
258
+ lmb: A lambda function with no arguments
259
+ in_global: If True, return kwargs as global variable assignments followed by dedented body.
260
+ If False (default), return the full function definition with updated defaults.
261
+ """
262
+ # local imports
263
+ import inspect as _inspect
264
+ import ast as _ast
265
+ import textwrap as _textwrap
266
+ import types as _types
267
+
268
+ # sanity checks
269
+ if not (callable(lmb) and isinstance(lmb, _types.LambdaType)):
270
+ raise TypeError("Expected a lambda function object")
271
+
272
+ src = _inspect.getsource(lmb)
273
+ src = _textwrap.dedent(src)
274
+ tree = _ast.parse(src)
275
+
276
+ # find first Lambda node
277
+ lambda_node = None
278
+ for n in _ast.walk(tree):
279
+ if isinstance(n, _ast.Lambda):
280
+ lambda_node = n
281
+ break
282
+ if lambda_node is None:
283
+ raise ValueError("Could not find a lambda expression in source")
284
+
285
+ body = lambda_node.body
286
+ if not isinstance(body, _ast.Call):
287
+ raise ValueError("Lambda body is not a call expression")
288
+
289
+ globals_dict = getattr(lmb, "__globals__", {})
290
+
291
+ # Also capture closure variables from the lambda
292
+ closure_dict: dict[str, Any] = {}
293
+ if lmb.__closure__:
294
+ code_obj = lmb.__code__
295
+ freevars = code_obj.co_freevars
296
+ for i, var_name in enumerate(freevars):
297
+ closure_dict[var_name] = lmb.__closure__[i].cell_contents
298
+
299
+ # Merge globals and closures (closures take precedence for shadowing)
300
+ eval_namespace = {**globals_dict, **closure_dict}
301
+
302
+ # resolve the function object being called
303
+ try:
304
+ func_ref_src = _ast.unparse(body.func)
305
+ except AttributeError:
306
+ func_ref_src = _ast.get_source_segment(src, body.func) or ""
307
+ try:
308
+ func_obj = eval(func_ref_src, eval_namespace)
309
+ except Exception as e:
310
+ raise RuntimeError(f"Could not resolve function reference '{func_ref_src}': {e}")
311
+
312
+ if not callable(func_obj):
313
+ raise TypeError("Resolved object is not callable")
314
+
315
+ func_name = getattr(func_obj, "__name__", "<unknown>")
316
+
317
+ # Evaluate each keyword argument value in the lambda's globals to get real Python objects
318
+ call_kwargs = {}
319
+ for kw in body.keywords:
320
+ if kw.arg is None:
321
+ # **kwargs in call — evaluate to dict and merge
322
+ try:
323
+ val = eval(compile(_ast.Expression(kw.value), "<lambda_eval>", "eval"), eval_namespace)
324
+ if isinstance(val, dict):
325
+ call_kwargs.update(val)
326
+ else:
327
+ raise ValueError("Keyword expansion did not evaluate to a dict")
328
+ except Exception as e:
329
+ raise RuntimeError(f"Failed to evaluate **kwargs expression: {e}")
330
+ else:
331
+ try:
332
+ val = eval(compile(_ast.Expression(kw.value), "<lambda_eval>", "eval"), eval_namespace)
333
+ call_kwargs[kw.arg] = val
334
+ except Exception as e:
335
+ raise RuntimeError(f"Failed to evaluate value for kw '{kw.arg}': {e}")
336
+
337
+ # Try to get original source and dedent it for body extraction
338
+ try:
339
+ orig_src = _inspect.getsource(func_obj)
340
+ ded = _textwrap.dedent(orig_src)
341
+ lines = ded.splitlines()
342
+ # find the line that starts with def <name>(
343
+ def_index = None
344
+ for i, ln in enumerate(lines):
345
+ if ln.lstrip().startswith(f"def {func_name}("):
346
+ def_index = i
347
+ break
348
+ if def_index is None:
349
+ body_lines = ded.splitlines()
350
+ else:
351
+ body_lines = lines[def_index + 1 :]
352
+ # ensure we have a body, otherwise use pass
353
+ if not any(line.strip() for line in body_lines):
354
+ body_text = " pass\n"
355
+ else:
356
+ # keep the dedented body lines exactly as-is (they should be indented)
357
+ body_text = "\n".join(body_lines) + ("\n" if not body_lines[-1].endswith("\n") else "")
358
+ except (OSError, IOError, TypeError):
359
+ body_text = " pass\n"
360
+
361
+ # Build a replaced signature using inspect.signature
362
+ sig = _inspect.signature(func_obj)
363
+ new_params = []
364
+ for name, param in sig.parameters.items():
365
+ # If the call provided a value for this parameter, replace default
366
+ if name in call_kwargs:
367
+ new_default = call_kwargs[name]
368
+ else:
369
+ new_default = param.default
370
+
371
+ # Recreate the Parameter (keeping annotation and kind)
372
+ if new_default is _inspect.Parameter.empty:
373
+ new_param = _inspect.Parameter(name, param.kind, annotation=param.annotation)
374
+ else:
375
+ new_param = _inspect.Parameter(
376
+ name, param.kind, default=new_default, annotation=param.annotation
377
+ )
378
+ new_params.append(new_param)
379
+
380
+ new_sig = _inspect.Signature(parameters=new_params, return_annotation=sig.return_annotation)
381
+
382
+ # If in_global mode, return kwargs as global assignments + dedented body
383
+ if in_global:
384
+ global_assignments: list[str] = []
385
+ for name, param in sig.parameters.items():
386
+ # Get the value from call_kwargs if provided, else use original default
387
+ if name in call_kwargs:
388
+ value = call_kwargs[name]
389
+ elif param.default is not _inspect.Parameter.empty:
390
+ value = param.default
391
+ else:
392
+ # No value provided and no default - skip this parameter
393
+ continue
394
+
395
+ # Build type annotation string if available
396
+ if param.annotation is not _inspect.Parameter.empty:
397
+ # Try to get a nice string representation of the annotation
398
+ try:
399
+ if hasattr(param.annotation, "__name__"):
400
+ type_str = param.annotation.__name__
401
+ else:
402
+ type_str = str(param.annotation)
403
+ except Exception:
404
+ type_str = str(param.annotation)
405
+ global_assignments.append(f"{name}: {type_str} = {repr(value)}")
406
+ else:
407
+ global_assignments.append(f"{name} = {repr(value)}")
408
+
409
+ # Dedent the body text to remove function indentation
410
+ dedented_body = _textwrap.dedent(body_text).rstrip()
411
+
412
+ # Combine global assignments and body
413
+ if global_assignments:
414
+ result_parts = ["\n".join(global_assignments), "", dedented_body]
415
+ return "\n".join(result_parts)
416
+ else:
417
+ return dedented_body
418
+
419
+ # Compose final function definition text
420
+ header = f"def {func_name}{new_sig}:\n"
421
+ final_src = header + body_text
422
+ return final_src
423
+
424
+
248
425
  if __name__ == "__main__":
249
426
  # Example usage
250
427
  a = True
@@ -6,7 +6,7 @@ from machineconfig.utils.terminal import Response, MACHINE
6
6
  from machineconfig.utils.accessories import pprint
7
7
 
8
8
  UV_RUN_CMD = "$HOME/.local/bin/uv run"
9
- MACHINECONFIG_VERSION = "machineconfig>=6.49"
9
+ MACHINECONFIG_VERSION = "machineconfig>=6.51"
10
10
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
11
11
 
12
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 6.49
3
+ Version: 6.51
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -1,43 +0,0 @@
1
- def add_print_header_pycode(path: str, title: str):
2
- return f"""
3
-
4
- from machineconfig.utils.path_extended import PathExtended
5
- pycode = PathExtended(r'{path}').read_text(encoding="utf-8")
6
- pycode = pycode.split("except Exception: print(pycode)")[2]
7
-
8
- try:
9
- from rich.text import Text
10
- from rich.panel import Panel
11
- from rich.console import Console
12
- from rich.syntax import Syntax
13
- console = Console()
14
- if pycode.strip() != "":
15
- console.print(Panel(Syntax(pycode, lexer="python"), title='{title}'), style="bold red")
16
- except Exception: print(pycode)
17
- """
18
-
19
-
20
- def get_read_data_pycode(path: str):
21
- return f"""
22
- from rich.panel import Panel
23
- from rich.text import Text
24
- from rich.console import Console
25
- console = Console()
26
- p = PathExtended(r'{path}').absolute()
27
- try:
28
- from machineconfig.utils.files.read import Read
29
- from machineconfig.utils.accessories import pprint
30
- dat = Read.read(p)
31
- if isinstance(dat, dict):
32
- panel_title = f"📄 File Data: {{p.name}}"
33
- console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
34
- pprint(dat, PathExtended.name)
35
- else:
36
- panel_title = f"📄 Successfully read the file: {{p.name}}"
37
- console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
38
- except Exception as e:
39
- error_message = f'''❌ ERROR READING FILE\nFile: {{p.name}}\nError: {{e}}'''
40
- console.print(Panel(Text(error_message, justify="left"), title="Error", expand=False, border_style="red"))
41
- """
42
-
43
-
File without changes
File without changes
File without changes