machineconfig 7.50__py3-none-any.whl → 8.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/cluster/remote/cloud_manager.py +1 -1
- machineconfig/cluster/sessions_managers/utils/maker.py +23 -11
- machineconfig/cluster/sessions_managers/wt_local_manager.py +22 -19
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +3 -1
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +3 -1
- machineconfig/cluster/sessions_managers/zellij_remote_manager.py +3 -2
- machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +2 -2
- machineconfig/jobs/installer/installer_data.json +1185 -165
- machineconfig/jobs/installer/linux_scripts/q.sh +10 -7
- machineconfig/jobs/installer/linux_scripts/redis.sh +1 -0
- machineconfig/jobs/installer/package_groups.py +52 -84
- machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
- machineconfig/jobs/installer/{custom → python_scripts}/boxes.py +2 -2
- machineconfig/jobs/installer/{custom_dev → python_scripts}/brave.py +5 -3
- machineconfig/jobs/installer/python_scripts/cloudflare_warp_cli.py +23 -0
- machineconfig/jobs/installer/{custom_dev → python_scripts}/code.py +4 -1
- machineconfig/jobs/installer/{custom_dev → python_scripts}/dubdb_adbc.py +1 -1
- machineconfig/jobs/installer/{custom → python_scripts}/hx.py +16 -12
- machineconfig/jobs/installer/{custom_dev → python_scripts}/nerdfont.py +2 -2
- machineconfig/jobs/installer/{custom_dev → python_scripts}/nerfont_windows_helper.py +27 -22
- machineconfig/jobs/installer/python_scripts/sysabc.py +139 -0
- machineconfig/jobs/installer/{custom_dev → python_scripts}/wezterm.py +2 -19
- machineconfig/jobs/installer/{custom_dev → python_scripts}/winget.py +10 -14
- machineconfig/jobs/installer/python_scripts/yazi.py +121 -0
- machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_nfs +0 -1
- machineconfig/jobs/scripts/powershell_scripts/mount_ssh.ps1 +13 -0
- machineconfig/jobs/scripts/powershell_scripts/obs.ps1 +4 -0
- machineconfig/jobs/scripts_dynamic/a.py +25 -0
- machineconfig/logger.py +0 -1
- machineconfig/profile/create_helper.py +21 -22
- machineconfig/profile/create_links_export.py +25 -11
- machineconfig/profile/create_shell_profile.py +14 -3
- machineconfig/profile/mapper.toml +8 -6
- machineconfig/scripts/__init__.py +0 -4
- machineconfig/scripts/linux/wrap_mcfg +20 -21
- machineconfig/scripts/python/agents.py +74 -50
- machineconfig/scripts/python/ai/initai.py +1 -1
- machineconfig/scripts/python/ai/scripts/command_runner.ps1 +33 -0
- machineconfig/scripts/python/ai/{command_runner → scripts}/command_runner.sh +1 -1
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Thinking-Beast-Mode.chatmode.md → agents/Thinking-Beast-Mode.agent.md} +0 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md → agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md} +0 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/deepResearch.chatmode.md → agents/deepResearch.agent.md} +2 -2
- machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +5 -5
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -0
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/watch_exec.prompt.md +20 -0
- machineconfig/scripts/python/ai/solutions/generic.py +1 -1
- machineconfig/scripts/python/ai/{generate_files.py → utils/generate_files.py} +2 -2
- machineconfig/scripts/python/cloud.py +6 -6
- machineconfig/scripts/python/croshell.py +67 -60
- machineconfig/scripts/python/devops.py +41 -21
- machineconfig/scripts/python/devops_navigator.py +0 -4
- machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +95 -67
- machineconfig/scripts/python/ftpx.py +44 -17
- machineconfig/scripts/python/helpers/ast_search.py +74 -0
- machineconfig/scripts/python/helpers/qr_code.py +166 -0
- machineconfig/scripts/python/helpers/repo_rag.py +325 -0
- machineconfig/scripts/python/helpers/symantic_search.py +25 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +1 -1
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +9 -7
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +21 -8
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +0 -12
- machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +30 -11
- machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +9 -2
- machineconfig/scripts/python/helpers_agents/privacy/configs/aichat/config.yaml +5 -0
- machineconfig/scripts/python/helpers_agents/privacy/configs/aider/.aider.conf.yml +2 -0
- machineconfig/scripts/python/helpers_agents/privacy/configs/copilot/config.yml +1 -0
- machineconfig/scripts/python/helpers_agents/privacy/configs/crush/crush.json +10 -0
- machineconfig/scripts/python/helpers_agents/privacy/configs/gemini/settings.json +12 -0
- machineconfig/scripts/python/helpers_agents/privacy/privacy.py +109 -0
- machineconfig/scripts/python/helpers_agents/templates/prompt.txt +8 -4
- machineconfig/scripts/python/helpers_agents/templates/template.sh +18 -8
- machineconfig/scripts/python/helpers_cloud/cloud_copy.py +28 -21
- machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +1 -1
- machineconfig/scripts/python/helpers_cloud/cloud_mount.py +19 -17
- machineconfig/scripts/python/helpers_cloud/cloud_sync.py +8 -7
- machineconfig/scripts/python/helpers_croshell/crosh.py +3 -3
- machineconfig/scripts/python/helpers_croshell/start_slidev.py +6 -7
- machineconfig/scripts/python/helpers_devops/cli_config.py +19 -25
- machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +22 -13
- machineconfig/scripts/python/helpers_devops/cli_nw.py +113 -26
- machineconfig/scripts/python/helpers_devops/cli_repos.py +37 -11
- machineconfig/scripts/python/helpers_devops/cli_self.py +84 -39
- machineconfig/scripts/python/helpers_devops/cli_share_file.py +9 -9
- machineconfig/scripts/python/helpers_devops/cli_share_server.py +13 -12
- machineconfig/scripts/python/helpers_devops/{cli_terminal.py → cli_share_terminal.py} +15 -17
- machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +4 -4
- machineconfig/scripts/python/helpers_devops/devops_status.py +7 -19
- machineconfig/scripts/python/helpers_devops/run_script.py +168 -0
- machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +1 -1
- machineconfig/scripts/python/helpers_fire_command/file_wrangler.py +2 -19
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +1 -0
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +25 -15
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg +3 -3
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +58 -1
- machineconfig/scripts/python/helpers_navigator/command_tree.py +50 -18
- machineconfig/scripts/python/helpers_network/address.py +176 -0
- machineconfig/scripts/python/helpers_network/address_switch.py +78 -0
- machineconfig/scripts/python/{nw → helpers_network}/mount_nfs.py +2 -2
- machineconfig/scripts/python/{nw → helpers_network}/mount_ssh.py +1 -1
- machineconfig/scripts/python/{nw/devops_add_identity.py → helpers_network/ssh_add_identity.py} +35 -1
- machineconfig/scripts/python/{nw/devops_add_ssh_key.py → helpers_network/ssh_add_ssh_key.py} +26 -7
- machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_linux.py +7 -7
- machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_windows.py +4 -4
- machineconfig/scripts/python/helpers_repos/clone.py +0 -1
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +13 -5
- machineconfig/scripts/python/helpers_repos/entrypoint.py +2 -1
- machineconfig/scripts/python/helpers_repos/record.py +2 -1
- machineconfig/scripts/python/helpers_repos/repo_analyzer_1.py +160 -0
- machineconfig/scripts/python/helpers_repos/{count_lines.py → repo_analyzer_2.py} +113 -192
- machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +19 -13
- machineconfig/scripts/python/helpers_utils/download.py +150 -0
- machineconfig/scripts/python/helpers_utils/pdf.py +96 -0
- machineconfig/scripts/python/helpers_utils/python.py +187 -0
- machineconfig/scripts/python/interactive.py +17 -26
- machineconfig/scripts/python/{machineconfig.py → mcfg_entry.py} +4 -5
- machineconfig/scripts/python/msearch.py +57 -6
- machineconfig/scripts/python/sessions.py +100 -31
- machineconfig/scripts/python/terminal.py +26 -17
- machineconfig/scripts/python/utils.py +17 -15
- machineconfig/scripts/windows/wrap_mcfg.ps1 +6 -3
- machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
- machineconfig/settings/linters/.ruff.toml +1 -1
- machineconfig/settings/shells/bash/init.sh +29 -2
- machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +1 -1
- machineconfig/settings/shells/nushell/config.nu +2 -2
- machineconfig/settings/shells/nushell/env.nu +45 -6
- machineconfig/settings/shells/nushell/init.nu +282 -95
- machineconfig/settings/shells/pwsh/init.ps1 +1 -0
- machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
- machineconfig/settings/shells/zsh/init.sh +1 -8
- machineconfig/settings/television/cable_unix/alias.toml +8 -0
- machineconfig/settings/television/cable_unix/aws-buckets.toml +14 -0
- machineconfig/settings/television/cable_unix/aws-instances.toml +13 -0
- machineconfig/settings/television/cable_unix/bash-history.toml +8 -0
- machineconfig/settings/television/cable_unix/channels.toml +19 -0
- machineconfig/settings/television/cable_unix/dirs.toml +13 -0
- machineconfig/settings/television/cable_unix/distrobox-list.toml +42 -0
- machineconfig/settings/television/cable_unix/docker-images.toml +13 -0
- machineconfig/settings/television/cable_unix/dotfiles.toml +11 -0
- machineconfig/settings/television/cable_unix/env.toml +17 -0
- machineconfig/settings/television/cable_unix/files.toml +11 -0
- machineconfig/settings/television/cable_unix/fish-history.toml +8 -0
- machineconfig/settings/television/cable_unix/git-branch.toml +11 -0
- machineconfig/settings/television/cable_unix/git-diff.toml +10 -0
- machineconfig/settings/television/cable_unix/git-log.toml +12 -0
- machineconfig/settings/television/cable_unix/git-reflog.toml +12 -0
- machineconfig/settings/television/cable_unix/git-repos.toml +16 -0
- machineconfig/settings/television/cable_unix/guix.toml +20 -0
- machineconfig/settings/television/cable_unix/just-recipes.toml +18 -0
- machineconfig/settings/television/cable_unix/k8s-deployments.toml +36 -0
- machineconfig/settings/television/cable_unix/k8s-pods.toml +50 -0
- machineconfig/settings/television/cable_unix/k8s-services.toml +36 -0
- machineconfig/settings/television/cable_unix/man-pages.toml +24 -0
- machineconfig/settings/television/cable_unix/nu-history.toml +7 -0
- machineconfig/settings/television/cable_unix/procs.toml +20 -0
- machineconfig/settings/television/cable_unix/text.toml +17 -0
- machineconfig/settings/television/cable_unix/tldr.toml +18 -0
- machineconfig/settings/television/cable_unix/zsh-history.toml +9 -0
- machineconfig/settings/television/cable_windows/alias.toml +7 -0
- machineconfig/settings/television/cable_windows/dirs.toml +13 -0
- machineconfig/settings/television/cable_windows/docker-images.toml +13 -0
- machineconfig/settings/television/cable_windows/dotfiles.toml +11 -0
- machineconfig/settings/television/cable_windows/env.toml +17 -0
- machineconfig/settings/television/cable_windows/files.toml +14 -0
- machineconfig/settings/television/cable_windows/git-branch.toml +11 -0
- machineconfig/settings/television/cable_windows/git-diff.toml +10 -0
- machineconfig/settings/television/cable_windows/git-log.toml +11 -0
- machineconfig/settings/television/cable_windows/git-reflog.toml +11 -0
- machineconfig/settings/television/cable_windows/git-repos.toml +15 -0
- machineconfig/settings/television/cable_windows/nu-history.toml +7 -0
- machineconfig/settings/television/cable_windows/pwsh-history.toml +6 -0
- machineconfig/settings/television/cable_windows/text.toml +17 -0
- machineconfig/settings/wt/__init__.py +0 -0
- machineconfig/settings/yazi/init.lua +49 -24
- machineconfig/settings/yazi/keymap_linux.toml +19 -4
- machineconfig/settings/yazi/keymap_windows.toml +0 -1
- machineconfig/settings/yazi/shell/yazi_cd.ps1 +29 -5
- machineconfig/settings/yazi/theme.toml +4 -0
- machineconfig/settings/yazi/yazi_linux.toml +84 -0
- machineconfig/settings/yazi/yazi_windows.toml +58 -0
- machineconfig/settings/zellij/layouts/st.kdl +39 -8
- machineconfig/setup_linux/__init__.py +1 -2
- machineconfig/setup_linux/apps_desktop.sh +8 -27
- machineconfig/setup_linux/web_shortcuts/interactive.sh +12 -10
- machineconfig/setup_linux/web_shortcuts/live_from_github.sh +31 -0
- machineconfig/setup_mac/__init__.py +2 -3
- machineconfig/setup_windows/__init__.py +3 -5
- machineconfig/setup_windows/ssh/openssh-server.ps1 +1 -1
- machineconfig/setup_windows/uv.ps1 +8 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +12 -10
- machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +30 -0
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
- machineconfig/utils/accessories.py +7 -4
- machineconfig/utils/code.py +39 -11
- machineconfig/utils/files/headers.py +2 -2
- machineconfig/utils/installer_utils/github_release_bulk.py +156 -119
- machineconfig/utils/installer_utils/install_from_url.py +183 -0
- machineconfig/utils/installer_utils/installer_class.py +43 -100
- machineconfig/utils/installer_utils/installer_cli.py +175 -0
- machineconfig/utils/installer_utils/installer_helper.py +129 -0
- machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +36 -85
- machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +16 -59
- machineconfig/utils/io.py +0 -1
- machineconfig/utils/links.py +2 -2
- machineconfig/utils/meta.py +30 -16
- machineconfig/utils/options.py +42 -24
- machineconfig/utils/options_tv.py +119 -0
- machineconfig/utils/path_extended.py +42 -20
- machineconfig/utils/path_helper.py +75 -22
- machineconfig/utils/procs.py +1 -1
- machineconfig/utils/scheduler.py +20 -53
- machineconfig/utils/schemas/layouts/layout_types.py +1 -1
- machineconfig/utils/ssh.py +159 -418
- machineconfig/utils/ssh_utils/abc.py +5 -0
- machineconfig/utils/ssh_utils/copy_from_here.py +111 -0
- machineconfig/utils/ssh_utils/copy_to_here.py +303 -0
- machineconfig/utils/ssh_utils/utils.py +142 -0
- machineconfig/utils/ssh_utils/wsl.py +210 -0
- machineconfig/utils/terminal.py +1 -0
- machineconfig/utils/upgrade_packages.py +6 -1
- machineconfig/utils/ve.py +12 -4
- machineconfig-8.12.dist-info/METADATA +132 -0
- {machineconfig-7.50.dist-info → machineconfig-8.12.dist-info}/RECORD +265 -215
- {machineconfig-7.50.dist-info → machineconfig-8.12.dist-info}/entry_points.txt +2 -4
- machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -41
- machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -71
- machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -12
- machineconfig/jobs/installer/powershell_scripts/openssh-server_add_key.ps1 +0 -7
- machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1 +0 -14
- machineconfig/scripts/linux/other/switch_ip +0 -20
- machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -9
- machineconfig/scripts/python/define.py +0 -31
- machineconfig/scripts/python/explore.py +0 -49
- machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -246
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfag +0 -17
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfrga +0 -21
- machineconfig/scripts/python/helpers_msearch/scripts_linux/skrg +0 -4
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfb.ps1 +0 -3
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfrga.bat +0 -20
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -17
- machineconfig/scripts/python/nw/add_ssh_key.py +0 -148
- machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -66
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -13
- machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
- machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -6
- machineconfig/settings/lf/windows/tst.ps1 +0 -1
- machineconfig/settings/yazi/yazi.toml +0 -17
- machineconfig/setup_linux/apps.sh +0 -66
- machineconfig/setup_linux/others/cli_installation.sh +0 -137
- machineconfig/setup_linux/ssh/openssh_all.sh +0 -25
- machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -38
- machineconfig/setup_mac/apps.sh +0 -73
- machineconfig/setup_windows/apps.ps1 +0 -62
- machineconfig/setup_windows/others/obs.ps1 +0 -4
- machineconfig/setup_windows/ssh/add_identity.ps1 +0 -11
- machineconfig/utils/installer_utils/installer.py +0 -221
- machineconfig-7.50.dist-info/METADATA +0 -92
- /machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/__init__.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/alacritty.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/bypass_paywall.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/cursor.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/espanso.py +0 -0
- /machineconfig/jobs/installer/{custom → python_scripts}/gh.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/goes.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/lvim.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/redis.py +0 -0
- /machineconfig/{setup_linux/others → jobs/scripts/bash_scripts}/android.sh +0 -0
- /machineconfig/jobs/{installer/linux_scripts → scripts/bash_scripts}/lid.sh +0 -0
- /machineconfig/{setup_linux/others → jobs/scripts/bash_scripts}/mint_keyboard_shortcuts.sh +0 -0
- /machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_drive +0 -0
- /machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_nw_drive +0 -0
- /machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_smb +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_cloud.sh +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_nfs +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/start_docker +0 -0
- /machineconfig/{scripts → jobs/scripts/powershell_scripts}/Restore-ThunderbirdProfile.ps1 +0 -0
- /machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/docker.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nfs.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nw.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_smb.ps1 +0 -0
- /machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/power_options.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_cloud.cmd +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_smb.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/unlock_bitlocker.ps1 +0 -0
- /machineconfig/scripts/python/{nw → ai/utils}/__init__.py +0 -0
- /machineconfig/scripts/python/ai/{vscode_tasks.py → utils/vscode_tasks.py} +0 -0
- /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers_fire_command/f.py} +0 -0
- /machineconfig/{setup_windows/wt_and_pwsh → scripts/python/helpers_network}/__init__.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/onetimeshare.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/wifi_conn.py +0 -0
- /machineconfig/{setup_windows/wt_and_pwsh → settings/wt}/set_wt_settings.py +0 -0
- {machineconfig-7.50.dist-info → machineconfig-8.12.dist-info}/WHEEL +0 -0
- {machineconfig-7.50.dist-info → machineconfig-8.12.dist-info}/top_level.txt +0 -0
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
# The reason it is not automated for remotes is because even though the server might have failed, the processes therein might be running, so there is no automated way to tell."""
|
|
244
244
|
# log = self.read_log()
|
|
245
245
|
# jobs_all: list[str] = [p.name for p in self.base_path.expanduser().joinpath("jobs").iterdir()]
|
|
246
|
-
# jobs_selected = choose_from_options(options=jobs_all, msg="Select Jobs to Redo", multi=True,
|
|
246
|
+
# jobs_selected = choose_from_options(options=jobs_all, msg="Select Jobs to Redo", multi=True, tv=True)
|
|
247
247
|
# for a_job in jobs_selected:
|
|
248
248
|
# # find in which log list does this job live:
|
|
249
249
|
# found_log_type = None
|
|
@@ -4,26 +4,32 @@ from typing import Optional, Literal
|
|
|
4
4
|
from machineconfig.utils.schemas.layouts.layout_types import TabConfig, LayoutConfig
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
|
|
7
|
-
def get_fire_tab_using_uv(func: FunctionType, import_module: bool, uv_with: Optional[list[str]], uv_project_dir: Optional[str]) -> tuple[TabConfig, Path]:
|
|
7
|
+
def get_fire_tab_using_uv(func: FunctionType, tab_weight: int, import_module: bool, uv_with: Optional[list[str]], uv_project_dir: Optional[str]) -> tuple[TabConfig, Path]:
|
|
8
8
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
9
|
-
|
|
9
|
+
if func.__name__ == "<lambda>":
|
|
10
|
+
py_script = lambda_to_python_script(func,
|
|
11
|
+
in_global=True, import_module=import_module)
|
|
12
|
+
else:
|
|
13
|
+
py_script = lambda_to_python_script(lambda: func(),
|
|
14
|
+
in_global=True, import_module=import_module)
|
|
10
15
|
from machineconfig.utils.code import get_uv_command_executing_python_script
|
|
11
16
|
command_to_run, py_script_path = get_uv_command_executing_python_script(python_script=py_script, uv_with=uv_with, uv_project_dir=uv_project_dir)
|
|
12
17
|
tab_config: TabConfig = {
|
|
13
18
|
"command": command_to_run,
|
|
14
19
|
"startDir": "$HOME",
|
|
15
|
-
"tabName": func.__name__
|
|
20
|
+
"tabName": func.__name__,
|
|
21
|
+
"tabWeight": tab_weight
|
|
16
22
|
}
|
|
17
23
|
return tab_config, py_script_path
|
|
18
|
-
def get_fire_tab_using_fire(func: FunctionType):
|
|
24
|
+
def get_fire_tab_using_fire(func: FunctionType, tab_weight: int) -> TabConfig:
|
|
19
25
|
import inspect
|
|
20
26
|
from machineconfig.utils.source_of_truth import CONFIG_ROOT
|
|
21
27
|
import platform
|
|
22
28
|
if platform.system().lower() == "windows":
|
|
23
|
-
wrap_mcfg = CONFIG_ROOT / "scripts/
|
|
29
|
+
wrap_mcfg = CONFIG_ROOT / "scripts/wrap_mcfg.ps1"
|
|
24
30
|
wrap_mcfg = f'& "{wrap_mcfg}"'
|
|
25
31
|
elif platform.system().lower() == "linux" or platform.system().lower() == "darwin":
|
|
26
|
-
wrap_mcfg = CONFIG_ROOT / "scripts/
|
|
32
|
+
wrap_mcfg = CONFIG_ROOT / "scripts/wrap_mcfg"
|
|
27
33
|
else:
|
|
28
34
|
raise ValueError(f"Unsupported platform: {platform.system()}")
|
|
29
35
|
path = Path(inspect.getfile(func))
|
|
@@ -32,21 +38,27 @@ def get_fire_tab_using_fire(func: FunctionType):
|
|
|
32
38
|
tab_config: TabConfig = {
|
|
33
39
|
"command": command_to_run,
|
|
34
40
|
"startDir": "$HOME",
|
|
35
|
-
"tabName": func.__name__
|
|
41
|
+
"tabName": func.__name__,
|
|
42
|
+
"tabWeight": tab_weight
|
|
36
43
|
}
|
|
37
44
|
return tab_config
|
|
38
45
|
|
|
39
46
|
|
|
40
47
|
|
|
41
|
-
def make_layout_from_functions(functions: list[FunctionType],
|
|
48
|
+
def make_layout_from_functions(functions: list[FunctionType], functions_weights: Optional[list[int]], import_module: bool, tab_configs: list[TabConfig],
|
|
49
|
+
layout_name: str, method: Literal["script", "fire"],
|
|
50
|
+
uv_with: Optional[list[str]] = None, uv_project_dir: Optional[str] = None
|
|
51
|
+
) -> LayoutConfig:
|
|
42
52
|
tabs2artifacts: list[tuple[TabConfig, list[Path]]] = []
|
|
43
|
-
for a_func in functions:
|
|
53
|
+
for a_func, tab_weight in zip(functions, functions_weights or [1]*len(functions)):
|
|
44
54
|
match method:
|
|
45
55
|
case "script":
|
|
46
|
-
tab_config, artifact_files_1 = get_fire_tab_using_uv(a_func,
|
|
56
|
+
tab_config, artifact_files_1 = get_fire_tab_using_uv(a_func, tab_weight=tab_weight, import_module=import_module,
|
|
57
|
+
uv_with=uv_with, uv_project_dir=uv_project_dir
|
|
58
|
+
)
|
|
47
59
|
artifact_files = [artifact_files_1]
|
|
48
60
|
case "fire":
|
|
49
|
-
tab_config = get_fire_tab_using_fire(a_func)
|
|
61
|
+
tab_config = get_fire_tab_using_fire(a_func, tab_weight=tab_weight)
|
|
50
62
|
artifact_files = []
|
|
51
63
|
tabs2artifacts.append((tab_config, artifact_files))
|
|
52
64
|
list_of_tabs = [tab for tab, _ in tabs2artifacts] + tab_configs
|
|
@@ -4,7 +4,7 @@ import logging
|
|
|
4
4
|
import subprocess
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
from typing import Optional, Any
|
|
7
|
-
from rich.console import Console
|
|
7
|
+
# from rich.console import Console
|
|
8
8
|
from machineconfig.utils.scheduler import Scheduler
|
|
9
9
|
from machineconfig.cluster.sessions_managers.wt_local import WTLayoutGenerator
|
|
10
10
|
from machineconfig.cluster.sessions_managers.wt_utils.wt_helpers import check_wt_session_status
|
|
@@ -20,9 +20,6 @@ from machineconfig.cluster.sessions_managers.wt_utils.status_reporting import (
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
logging.basicConfig(level=logging.INFO)
|
|
24
|
-
logger = logging.getLogger(__name__)
|
|
25
|
-
console = Console()
|
|
26
23
|
TMP_SERIALIZATION_DIR = Path.home() / "tmp_results" / "wt_sessions" / "serialized"
|
|
27
24
|
|
|
28
25
|
|
|
@@ -50,8 +47,12 @@ class WTLocalManager:
|
|
|
50
47
|
manager.create_layout_file()
|
|
51
48
|
self.managers.append(manager)
|
|
52
49
|
|
|
53
|
-
logger.info(f"Initialized WTLocalManager with {len(self.managers)} sessions")
|
|
54
50
|
|
|
51
|
+
logging.basicConfig(level=logging.INFO)
|
|
52
|
+
logger = logging.getLogger(__name__)
|
|
53
|
+
# console = Console()
|
|
54
|
+
self.logger = logger
|
|
55
|
+
self.logger.info(f"Initialized WTLocalManager with {len(self.managers)} sessions")
|
|
55
56
|
def get_all_session_names(self) -> list[str]:
|
|
56
57
|
"""Get all managed session names."""
|
|
57
58
|
return [manager.session_name for manager in self.managers]
|
|
@@ -71,19 +72,19 @@ class WTLocalManager:
|
|
|
71
72
|
# Execute the PowerShell script to start Windows Terminal
|
|
72
73
|
cmd = f'powershell -ExecutionPolicy Bypass -File "{script_path}"'
|
|
73
74
|
|
|
74
|
-
logger.info(f"Starting session '{session_name}' with script: {script_path}")
|
|
75
|
+
self.logger.info(f"Starting session '{session_name}' with script: {script_path}")
|
|
75
76
|
result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=30)
|
|
76
77
|
|
|
77
78
|
if result.returncode == 0:
|
|
78
79
|
results[session_name] = {"success": True, "message": f"Session '{session_name}' started successfully"}
|
|
79
|
-
logger.info(f"✅ Session '{session_name}' started successfully")
|
|
80
|
+
self.logger.info(f"✅ Session '{session_name}' started successfully")
|
|
80
81
|
else:
|
|
81
82
|
results[session_name] = {"success": False, "error": result.stderr or result.stdout}
|
|
82
|
-
logger.error(f"❌ Failed to start session '{session_name}': {result.stderr}")
|
|
83
|
+
self.logger.error(f"❌ Failed to start session '{session_name}': {result.stderr}")
|
|
83
84
|
|
|
84
85
|
except Exception as e:
|
|
85
86
|
results[session_name] = {"success": False, "error": str(e)}
|
|
86
|
-
logger.error(f"❌ Exception starting session '{session_name}': {e}")
|
|
87
|
+
self.logger.error(f"❌ Exception starting session '{session_name}': {e}")
|
|
87
88
|
|
|
88
89
|
return results
|
|
89
90
|
|
|
@@ -96,7 +97,7 @@ class WTLocalManager:
|
|
|
96
97
|
# Kill all Windows Terminal processes (Windows Terminal doesn't have session-specific killing)
|
|
97
98
|
cmd = "powershell -Command \"Get-Process -Name 'WindowsTerminal' -ErrorAction SilentlyContinue | Stop-Process -Force\""
|
|
98
99
|
|
|
99
|
-
logger.info(f"Killing Windows Terminal processes for session '{session_name}'")
|
|
100
|
+
self.logger.info(f"Killing Windows Terminal processes for session '{session_name}'")
|
|
100
101
|
result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=10)
|
|
101
102
|
|
|
102
103
|
results[session_name] = {"success": result.returncode == 0, "message": "Windows Terminal processes killed" if result.returncode == 0 else result.stderr}
|
|
@@ -211,8 +212,10 @@ class WTLocalManager:
|
|
|
211
212
|
global_summary = self.get_global_summary()
|
|
212
213
|
print(f"📊 Quick Summary: {global_summary['running_commands']}/{global_summary['total_commands']} commands running across {global_summary['healthy_sessions']}/{global_summary['total_sessions']} sessions")
|
|
213
214
|
|
|
214
|
-
logger.info(f"Starting monitoring routine with {wait_ms}ms intervals")
|
|
215
|
-
|
|
215
|
+
self.logger.info(f"Starting monitoring routine with {wait_ms}ms intervals")
|
|
216
|
+
from machineconfig.utils.scheduler import LoggerTemplate
|
|
217
|
+
from typing import cast
|
|
218
|
+
sched = Scheduler(routine=routine, wait_ms=wait_ms, logger=cast(LoggerTemplate, self.logger))
|
|
216
219
|
sched.run(max_cycles=None)
|
|
217
220
|
|
|
218
221
|
def save(self, session_id: Optional[str] = None) -> str:
|
|
@@ -228,11 +231,11 @@ class WTLocalManager:
|
|
|
228
231
|
for i, manager in enumerate(self.managers):
|
|
229
232
|
manager_data = {"session_name": manager.session_name, "layout_config": manager.layout_config, "script_path": manager.script_path}
|
|
230
233
|
save_json_file(managers_dir / f"manager_{i}_{manager.session_name}.json", manager_data, f"manager {i}")
|
|
231
|
-
logger.info(f"✅ Saved WTLocalManager session to: {session_dir}")
|
|
234
|
+
self.logger.info(f"✅ Saved WTLocalManager session to: {session_dir}")
|
|
232
235
|
return session_id
|
|
233
236
|
|
|
234
|
-
@
|
|
235
|
-
def load(
|
|
237
|
+
@staticmethod
|
|
238
|
+
def load(session_id: str) -> "WTLocalManager":
|
|
236
239
|
session_dir = TMP_SERIALIZATION_DIR / session_id
|
|
237
240
|
if not session_dir.exists():
|
|
238
241
|
raise FileNotFoundError(f"Session directory not found: {session_dir}")
|
|
@@ -241,7 +244,7 @@ class WTLocalManager:
|
|
|
241
244
|
metadata_data = load_json_file(session_dir / "metadata.json", "Metadata file") if (session_dir / "metadata.json").exists() else {}
|
|
242
245
|
metadata = metadata_data if isinstance(metadata_data, dict) else {} # type: ignore[arg-type]
|
|
243
246
|
session_name_prefix = metadata.get("session_name_prefix", "LocalWTMgr") # type: ignore[union-attr]
|
|
244
|
-
instance =
|
|
247
|
+
instance = WTLocalManager(session_layouts=session_layouts, session_name_prefix=session_name_prefix)
|
|
245
248
|
managers_dir = session_dir / "managers"
|
|
246
249
|
if managers_dir.exists():
|
|
247
250
|
instance.managers = []
|
|
@@ -253,8 +256,8 @@ class WTLocalManager:
|
|
|
253
256
|
manager.script_path = manager_data["script_path"] # type: ignore[typeddict-item]
|
|
254
257
|
instance.managers.append(manager)
|
|
255
258
|
except Exception as e:
|
|
256
|
-
logger.warning(f"Failed to load manager from {manager_file}: {e}")
|
|
257
|
-
logger.info(f"✅ Loaded WTLocalManager session from: {session_dir}")
|
|
259
|
+
instance.logger.warning(f"Failed to load manager from {manager_file}: {e}")
|
|
260
|
+
instance.logger.info(f"✅ Loaded WTLocalManager session from: {session_dir}")
|
|
258
261
|
return instance
|
|
259
262
|
|
|
260
263
|
@staticmethod
|
|
@@ -299,7 +302,7 @@ class WTLocalManager:
|
|
|
299
302
|
)
|
|
300
303
|
|
|
301
304
|
except Exception as e:
|
|
302
|
-
logger.error(f"Error listing active sessions: {e}")
|
|
305
|
+
self.logger.error(f"Error listing active sessions: {e}")
|
|
303
306
|
|
|
304
307
|
return active_sessions
|
|
305
308
|
|
|
@@ -68,7 +68,9 @@ class WTSessionManager:
|
|
|
68
68
|
else:
|
|
69
69
|
statuses = collect_session_statuses(self.managers)
|
|
70
70
|
print_session_statuses(statuses)
|
|
71
|
-
|
|
71
|
+
from machineconfig.utils.scheduler import LoggerTemplate
|
|
72
|
+
from typing import cast
|
|
73
|
+
sched = Scheduler(routine=routine, wait_ms=wait_ms, logger=cast(LoggerTemplate, logger))
|
|
72
74
|
sched.run()
|
|
73
75
|
|
|
74
76
|
def save(self, session_id: Optional[str] = None) -> str:
|
|
@@ -276,7 +276,9 @@ class ZellijLocalManager:
|
|
|
276
276
|
print(f"📊 Quick Summary: {global_summary['running_commands']}/{global_summary['total_commands']} commands running across {global_summary['healthy_sessions']}/{global_summary['total_sessions']} sessions")
|
|
277
277
|
|
|
278
278
|
logger.info(f"Starting monitoring routine with {wait_ms}ms intervals")
|
|
279
|
-
|
|
279
|
+
from machineconfig.utils.scheduler import LoggerTemplate
|
|
280
|
+
from typing import cast
|
|
281
|
+
sched = Scheduler(routine=routine, wait_ms=wait_ms, logger=cast(LoggerTemplate, logger))
|
|
280
282
|
sched.run()
|
|
281
283
|
|
|
282
284
|
def save(self, session_id: Optional[str]) -> str:
|
|
@@ -88,8 +88,9 @@ class ZellijSessionManager:
|
|
|
88
88
|
# Print statuses
|
|
89
89
|
for i, status in enumerate(statuses):
|
|
90
90
|
print(f"Manager {i}: {status}")
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
from machineconfig.utils.scheduler import LoggerTemplate
|
|
92
|
+
from typing import cast
|
|
93
|
+
sched = Scheduler(routine=routine, wait_ms=60_000, logger=cast(LoggerTemplate, logger))
|
|
93
94
|
sched.run()
|
|
94
95
|
|
|
95
96
|
def save(self, session_id: Optional[str]) -> str:
|
|
@@ -53,7 +53,7 @@ class ProcessMonitor:
|
|
|
53
53
|
command = tab_config["command"]
|
|
54
54
|
try:
|
|
55
55
|
check_script = self._create_process_check_script(command)
|
|
56
|
-
remote_cmd = f"$HOME/.local/bin devops self
|
|
56
|
+
remote_cmd = f"$HOME/.local/bin devops self python -c {shlex.quote(check_script)}"
|
|
57
57
|
result = self.remote_executor.run_command(remote_cmd, timeout=15)
|
|
58
58
|
if result.returncode == 0:
|
|
59
59
|
try:
|
|
@@ -139,7 +139,7 @@ if __name__ == "__main__":
|
|
|
139
139
|
check_timestamp = timestamp_result.stdout.strip() if timestamp_result.returncode == 0 else "unknown"
|
|
140
140
|
|
|
141
141
|
check_script = self._create_fresh_check_script(command)
|
|
142
|
-
remote_cmd = f"$HOME/.local/bin/devops self
|
|
142
|
+
remote_cmd = f"$HOME/.local/bin/devops self python -c {shlex.quote(check_script)}"
|
|
143
143
|
result = self.remote_executor.run_command(remote_cmd, timeout=15)
|
|
144
144
|
|
|
145
145
|
if result.returncode == 0:
|