machineconfig 1.95__py3-none-any.whl → 1.96__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/cloud_manager.py +445 -343
- machineconfig/cluster/data_transfer.py +63 -57
- machineconfig/cluster/distribute.py +284 -280
- machineconfig/cluster/file_manager.py +234 -237
- machineconfig/cluster/job_params.py +133 -133
- machineconfig/cluster/loader_runner.py +183 -149
- machineconfig/cluster/remote_machine.py +269 -252
- machineconfig/cluster/script_execution.py +215 -209
- machineconfig/cluster/script_notify_upon_completion.py +50 -43
- machineconfig/cluster/self_ssh.py +52 -54
- machineconfig/cluster/sessions_managers/__init__.py +0 -0
- machineconfig/cluster/sessions_managers/archive/__init__.py +0 -0
- machineconfig/{jobs/python → cluster/sessions_managers/archive}/create_zellij_template.py +5 -3
- machineconfig/cluster/sessions_managers/archive/session_managers.py +184 -0
- machineconfig/cluster/sessions_managers/demo_rich_zellij.py +0 -0
- machineconfig/cluster/sessions_managers/enhanced_command_runner.py +160 -0
- machineconfig/cluster/sessions_managers/wt_local.py +494 -0
- machineconfig/cluster/sessions_managers/wt_local_manager.py +577 -0
- machineconfig/cluster/sessions_managers/wt_remote.py +288 -0
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +483 -0
- machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +196 -0
- machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +418 -0
- machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +175 -0
- machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +300 -0
- machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +228 -0
- machineconfig/cluster/sessions_managers/zellij_local.py +418 -0
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +533 -0
- machineconfig/cluster/sessions_managers/zellij_remote.py +229 -0
- machineconfig/cluster/sessions_managers/zellij_remote_manager.py +188 -0
- machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +64 -0
- machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +126 -0
- machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +334 -0
- machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +68 -0
- machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +119 -0
- machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +85 -0
- machineconfig/cluster/templates/cli_click.py +0 -1
- machineconfig/cluster/templates/cli_gooey.py +102 -104
- machineconfig/cluster/templates/run_cloud.py +51 -51
- machineconfig/cluster/templates/run_cluster.py +103 -59
- machineconfig/cluster/templates/run_remote.py +57 -58
- machineconfig/cluster/templates/utils.py +69 -36
- machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python/check_installations.py +258 -190
- machineconfig/jobs/python/create_bootable_media.py +7 -3
- machineconfig/jobs/python/python_cargo_build_share.py +50 -50
- machineconfig/jobs/python/python_ve_symlink.py +6 -6
- machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
- machineconfig/jobs/python/vscode/api.py +1 -1
- machineconfig/jobs/python/vscode/link_ve.py +2 -2
- machineconfig/jobs/python/vscode/select_interpreter.py +9 -5
- machineconfig/jobs/python/vscode/sync_code.py +8 -5
- machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_custom_installers/archive/ngrok.py +1 -1
- machineconfig/jobs/python_custom_installers/dev/alacritty.py +3 -2
- machineconfig/jobs/python_custom_installers/dev/brave.py +7 -3
- machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +3 -4
- machineconfig/jobs/python_custom_installers/dev/code.py +3 -1
- machineconfig/jobs/python_custom_installers/dev/cursor.py +66 -5
- machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -1
- machineconfig/jobs/python_custom_installers/dev/espanso.py +13 -9
- machineconfig/jobs/python_custom_installers/dev/goes.py +2 -8
- machineconfig/jobs/python_custom_installers/dev/lvim.py +3 -2
- machineconfig/jobs/python_custom_installers/dev/nerdfont.py +1 -1
- machineconfig/jobs/python_custom_installers/dev/redis.py +7 -3
- machineconfig/jobs/python_custom_installers/dev/wezterm.py +8 -4
- machineconfig/jobs/python_custom_installers/dev/winget.py +194 -0
- machineconfig/jobs/python_custom_installers/{dev/docker.py → docker.py} +8 -3
- machineconfig/jobs/python_custom_installers/gh.py +4 -3
- machineconfig/jobs/python_custom_installers/hx.py +9 -8
- machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +97 -30
- machineconfig/jobs/python_custom_installers/{dev/warp-cli.py → warp-cli.py} +1 -1
- machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_generic_installers/config.json +133 -9
- machineconfig/jobs/python_generic_installers/dev/config.json +208 -37
- machineconfig/jobs/python_generic_installers/update.py +3 -0
- machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_linux_installers/config.json +42 -6
- machineconfig/jobs/python_linux_installers/dev/config.json +79 -11
- machineconfig/jobs/python_windows_installers/config.json +6 -0
- machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
- machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
- machineconfig/profile/create.py +5 -5
- machineconfig/profile/create_hardlinks.py +5 -5
- machineconfig/profile/shell.py +44 -17
- machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/linux/fire_agents +27 -0
- machineconfig/scripts/linux/wifi_conn +24 -0
- machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
- machineconfig/scripts/python/archive/im2text.py +1 -3
- machineconfig/scripts/python/choose_wezterm_theme.py +3 -3
- machineconfig/scripts/python/cloud_copy.py +10 -10
- machineconfig/scripts/python/cloud_manager.py +77 -99
- machineconfig/scripts/python/cloud_mount.py +13 -12
- machineconfig/scripts/python/cloud_repo_sync.py +14 -11
- machineconfig/scripts/python/croshell.py +24 -21
- machineconfig/scripts/python/devops.py +12 -17
- machineconfig/scripts/python/devops_add_identity.py +32 -10
- machineconfig/scripts/python/devops_add_ssh_key.py +10 -10
- machineconfig/scripts/python/devops_backup_retrieve.py +9 -8
- machineconfig/scripts/python/devops_devapps_install.py +6 -6
- machineconfig/scripts/python/devops_update_repos.py +4 -3
- machineconfig/scripts/python/dotfile.py +10 -7
- machineconfig/scripts/python/fire_agents.py +69 -0
- machineconfig/scripts/python/fire_jobs.py +56 -65
- machineconfig/scripts/python/ftpx.py +8 -8
- machineconfig/scripts/python/get_zellij_cmd.py +3 -3
- machineconfig/scripts/python/gh_models.py +6 -4
- machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/cloud_helpers.py +12 -12
- machineconfig/scripts/python/helpers/helpers2.py +9 -8
- machineconfig/scripts/python/helpers/helpers4.py +23 -35
- machineconfig/scripts/python/helpers/repo_sync_helpers.py +17 -16
- machineconfig/scripts/python/mount_nfs.py +8 -11
- machineconfig/scripts/python/mount_nw_drive.py +4 -4
- machineconfig/scripts/python/mount_ssh.py +2 -2
- machineconfig/scripts/python/onetimeshare.py +56 -57
- machineconfig/scripts/python/pomodoro.py +55 -55
- machineconfig/scripts/python/repos.py +26 -18
- machineconfig/scripts/python/scheduler.py +70 -53
- machineconfig/scripts/python/snapshot.py +21 -24
- machineconfig/scripts/python/start_slidev.py +6 -5
- machineconfig/scripts/python/start_terminals.py +3 -1
- machineconfig/scripts/python/viewer.py +5 -4
- machineconfig/scripts/python/viewer_template.py +138 -140
- machineconfig/scripts/python/wifi_conn.py +412 -60
- machineconfig/scripts/python/wsl_windows_transfer.py +18 -3
- machineconfig/settings/linters/.pylintrc +6 -7
- machineconfig/settings/lvim/windows/config.lua +0 -0
- machineconfig/settings/shells/bash/init.sh +6 -0
- machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +7 -6
- machineconfig/settings/shells/pwsh/init.ps1 +6 -6
- machineconfig/settings/shells/wt/settings.json +51 -266
- machineconfig/setup_linux/web_shortcuts/interactive.sh +5 -2
- machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +3 -6
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +11 -9
- machineconfig/utils/ai/url2md.py +2 -2
- machineconfig/utils/cloud/onedrive/setup_oauth.py +59 -0
- machineconfig/utils/cloud/onedrive/transaction.py +796 -0
- machineconfig/utils/code.py +22 -13
- machineconfig/utils/installer.py +78 -35
- machineconfig/utils/installer_utils/installer_abc.py +7 -6
- machineconfig/utils/installer_utils/installer_class.py +44 -25
- machineconfig/utils/io_save.py +107 -0
- machineconfig/utils/links.py +19 -15
- machineconfig/utils/options.py +4 -8
- machineconfig/utils/path.py +91 -78
- machineconfig/utils/path_reduced.py +608 -0
- machineconfig/utils/procs.py +110 -45
- machineconfig/utils/scheduling.py +312 -222
- machineconfig/utils/utils.py +7 -7
- machineconfig/utils/utils2.py +42 -0
- machineconfig/utils/utils5.py +84 -0
- machineconfig/utils/ve.py +49 -87
- {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/METADATA +2 -2
- machineconfig-1.96.dist-info/RECORD +437 -0
- machineconfig/cluster/session_managers.py +0 -183
- machineconfig/cluster/templates/f.py +0 -4
- machineconfig/jobs/python/__pycache__/check_installations.cpython-311.pyc +0 -0
- machineconfig/jobs/python/__pycache__/checkout_version.cpython-311.pyc +0 -0
- machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
- machineconfig/jobs/python/checkout_version.py +0 -123
- machineconfig/jobs/python/vscode/__pycache__/api.cpython-311.pyc +0 -0
- machineconfig/jobs/python/vscode/__pycache__/link_ve.cpython-311.pyc +0 -0
- machineconfig/jobs/python_custom_installers/__pycache__/hx.cpython-311.pyc +0 -0
- machineconfig/jobs/python_windows_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/python/.mypy_cache/.gitignore +0 -2
- machineconfig/scripts/python/.mypy_cache/3.11/@plugins_snapshot.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/__future__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/__future__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_ast.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_ast.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_bz2.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_bz2.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_codecs.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_codecs.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_compression.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_compression.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_decimal.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_decimal.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_io.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_io.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_locale.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_locale.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_stat.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_stat.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_struct.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_struct.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_thread.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_thread.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_warnings.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_warnings.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_weakref.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_weakref.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/argparse.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/argparse.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/ast.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/ast.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/binascii.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/binascii.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/builtins.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/builtins.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/bz2.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/bz2.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/calendar.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/calendar.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/codecs.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/codecs.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/configparser.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/configparser.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/contextlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/contextlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/datetime.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/datetime.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/decimal.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/decimal.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/dis.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/dis.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/charset.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/charset.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/errors.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/errors.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/header.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/header.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/message.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/message.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/policy.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/policy.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/enum.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/enum.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/functools.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/functools.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/gc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/gc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/genericpath.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/genericpath.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/getpass.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/getpass.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/compat.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/compat.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/config.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/config.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/db.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/db.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/diff.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/diff.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/exc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/exc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/remote.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/remote.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/types.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/types.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/util.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/util.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/glob.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/glob.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/gzip.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/gzip.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/inspect.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/inspect.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/io.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/io.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/itertools.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/itertools.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/locale.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/locale.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/mmap.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/mmap.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/numbers.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/numbers.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/opcode.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/opcode.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/os/path.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/os/path.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/pathlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/pathlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/platform.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/platform.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/posixpath.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/posixpath.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/re.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/re.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/resource.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/resource.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/shlex.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/shlex.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/shutil.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/shutil.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/signal.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/signal.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/stat.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/stat.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/string.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/string.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/struct.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/struct.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/subprocess.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/subprocess.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/tarfile.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/tarfile.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/tempfile.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/tempfile.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/textwrap.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/textwrap.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/threading.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/threading.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/time.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/time.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/types.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/types.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/typing.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/typing.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/uuid.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/uuid.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/warnings.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/warnings.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/weakref.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/weakref.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/zlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/zlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/CACHEDIR.TAG +0 -3
- machineconfig/scripts/python/__pycache__/cloud_repo_sync.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/gh_models.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/url2md.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/viewer.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/vscode_api.cpython-311.pyc +0 -0
- machineconfig/settings/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/linters/.ruff_cache/.gitignore +0 -2
- machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +0 -1
- machineconfig/settings/shells/ipy/profiles/default/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/playext.cpython-311.pyc +0 -0
- machineconfig/utils/ve_utils/ve1.py +0 -111
- machineconfig/utils/ve_utils/ve2.py +0 -155
- machineconfig-1.95.dist-info/RECORD +0 -712
- {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/WHEEL +0 -0
- {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/top_level.txt +0 -0
|
@@ -17,7 +17,6 @@ BOX_WIDTH = 150 # width for box drawing
|
|
|
17
17
|
class Options(Enum):
|
|
18
18
|
update = '🔄 UPDATE essential repos'
|
|
19
19
|
cli_install = '⚙️ DEVAPPS install'
|
|
20
|
-
ve = '🐍 VE install'
|
|
21
20
|
sym_path_shell = '🔗 SYMLINKS, PATH & SHELL PROFILE'
|
|
22
21
|
sym_new = '🆕 SYMLINKS new'
|
|
23
22
|
ssh_add_pubkey = '🔑 SSH add pub key to this machine'
|
|
@@ -43,25 +42,25 @@ def args_parser():
|
|
|
43
42
|
main(which=args.which)
|
|
44
43
|
|
|
45
44
|
|
|
46
|
-
def display_title(title):
|
|
45
|
+
def display_title(title: str) -> None:
|
|
47
46
|
console.print(Panel(title, box=box.DOUBLE_EDGE, title_align="left")) # Replace print with Panel
|
|
48
47
|
|
|
49
|
-
def display_task_title(title):
|
|
48
|
+
def display_task_title(title: str) -> None:
|
|
50
49
|
console.print(Panel(title, box=box.ROUNDED, title_align="left")) # Replace print with Panel
|
|
51
50
|
|
|
52
|
-
def display_task_status(status):
|
|
51
|
+
def display_task_status(status: str) -> None:
|
|
53
52
|
console.print(Panel(status, box=box.ROUNDED, title_align="left")) # Replace print with Panel
|
|
54
53
|
|
|
55
|
-
def display_task_result(result):
|
|
54
|
+
def display_task_result(result: str) -> None:
|
|
56
55
|
console.print(Panel(result, box=box.ROUNDED, title_align="left")) # Replace print with Panel
|
|
57
56
|
|
|
58
|
-
def display_task_error(error):
|
|
57
|
+
def display_task_error(error: str) -> None:
|
|
59
58
|
console.print(Panel(error, box=box.ROUNDED, border_style="red", title_align="left")) # Replace print with Panel
|
|
60
59
|
|
|
61
|
-
def display_task_warning(warning):
|
|
60
|
+
def display_task_warning(warning: str) -> None:
|
|
62
61
|
console.print(Panel(warning, box=box.ROUNDED, border_style="yellow", title_align="left")) # Replace print with Panel
|
|
63
62
|
|
|
64
|
-
def display_task_success(success):
|
|
63
|
+
def display_task_success(success: str) -> None:
|
|
65
64
|
console.print(Panel(success, box=box.ROUNDED, border_style="green", title_align="left")) # Replace print with Panel
|
|
66
65
|
|
|
67
66
|
|
|
@@ -85,11 +84,6 @@ def main(which: Optional[str] = None):
|
|
|
85
84
|
import machineconfig.scripts.python.devops_update_repos as helper
|
|
86
85
|
program = helper.main()
|
|
87
86
|
|
|
88
|
-
elif choice_key == Options.ve.value:
|
|
89
|
-
console.print(Panel("🐍 Setting up virtual environment...", width=BOX_WIDTH, border_style="blue"))
|
|
90
|
-
from machineconfig.utils.ve import get_ve_install_script
|
|
91
|
-
program = get_ve_install_script()
|
|
92
|
-
|
|
93
87
|
elif choice_key == Options.cli_install.value:
|
|
94
88
|
console.print(Panel("⚙️ Installing development applications...", width=BOX_WIDTH, border_style="blue"))
|
|
95
89
|
import machineconfig.scripts.python.devops_devapps_install as helper
|
|
@@ -142,13 +136,14 @@ def main(which: Optional[str] = None):
|
|
|
142
136
|
|
|
143
137
|
elif choice_key == Options.scheduler.value:
|
|
144
138
|
console.print(Panel("⏰ Setting up scheduler...", width=BOX_WIDTH, border_style="blue"))
|
|
145
|
-
from machineconfig.scripts.python.scheduler import main as helper
|
|
146
|
-
program = helper()
|
|
139
|
+
# from machineconfig.scripts.python.scheduler import main as helper
|
|
140
|
+
# program = helper()
|
|
141
|
+
program = ""
|
|
147
142
|
|
|
148
143
|
elif choice_key == Options.dot_files_sync.value:
|
|
149
144
|
console.print(Panel("🔗 Synchronizing dotfiles...", width=BOX_WIDTH, border_style="blue"))
|
|
150
|
-
from machineconfig.scripts.python.cloud_repo_sync import main as helper,
|
|
151
|
-
program = helper(cloud=None, path=str(
|
|
145
|
+
from machineconfig.scripts.python.cloud_repo_sync import main as helper, PathExtended
|
|
146
|
+
program = helper(cloud=None, path=str(PathExtended.home() / "dotfiles"), pwd=None, action="ask")
|
|
152
147
|
|
|
153
148
|
else:
|
|
154
149
|
console.print(Panel("❌ ERROR: Invalid choice", title_align="left", border_style="red", width=BOX_WIDTH))
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
# from platform import system
|
|
6
|
-
from
|
|
6
|
+
from machineconfig.utils.path_reduced import P as PathExtended, modify_text
|
|
7
7
|
from machineconfig.utils.options import display_options
|
|
8
8
|
from rich.panel import Panel
|
|
9
9
|
from rich.text import Text
|
|
@@ -17,7 +17,7 @@ def main():
|
|
|
17
17
|
|
|
18
18
|
print(Panel("🔍 Searching for existing SSH keys...", expand=False))
|
|
19
19
|
|
|
20
|
-
private_keys =
|
|
20
|
+
private_keys = PathExtended.home().joinpath(".ssh").search("*.pub").apply(lambda x: x.with_name(x.stem)).filter(lambda x: x.exists())
|
|
21
21
|
|
|
22
22
|
if private_keys:
|
|
23
23
|
print(Panel(f"✅ Found {len(private_keys)} SSH private key(s)", expand=False))
|
|
@@ -28,17 +28,17 @@ def main():
|
|
|
28
28
|
|
|
29
29
|
if choice == "I have the path to the key file":
|
|
30
30
|
print(Panel("📄 Please enter the path to your private key file", expand=False))
|
|
31
|
-
path_to_key =
|
|
31
|
+
path_to_key = PathExtended(input("📋 Input path here: ")).expanduser().absolute()
|
|
32
32
|
print(Panel(f"📂 Using key from custom path: {path_to_key}", expand=False))
|
|
33
33
|
|
|
34
34
|
elif choice == "I want to paste the key itself":
|
|
35
35
|
print(Panel("📋 Please provide a filename and paste the private key content", expand=False))
|
|
36
36
|
key_filename = input("📝 File name (default: my_pasted_key): ") or "my_pasted_key"
|
|
37
|
-
path_to_key =
|
|
37
|
+
path_to_key = PathExtended.home().joinpath(f".ssh/{key_filename}").write_text(input("🔑 Paste the private key here: "))
|
|
38
38
|
print(Panel(f"💾 Key saved to: {path_to_key}", expand=False))
|
|
39
39
|
|
|
40
40
|
elif isinstance(choice, str):
|
|
41
|
-
path_to_key =
|
|
41
|
+
path_to_key = PathExtended(choice)
|
|
42
42
|
print(Panel(f"🔑 Using selected key: {path_to_key.name}", expand=False))
|
|
43
43
|
|
|
44
44
|
else:
|
|
@@ -47,18 +47,40 @@ def main():
|
|
|
47
47
|
raise NotImplementedError(f"Choice {choice} not supported")
|
|
48
48
|
|
|
49
49
|
txt = f"IdentityFile {path_to_key.collapseuser().as_posix()}" # adds this id for all connections, no host specified.
|
|
50
|
-
config_path =
|
|
50
|
+
config_path = PathExtended.home().joinpath(".ssh/config")
|
|
51
51
|
|
|
52
52
|
print(Panel("📝 Updating SSH configuration...", expand=False))
|
|
53
53
|
|
|
54
|
+
# Inline the previous P.modify_text behavior (now deprecated):
|
|
55
|
+
# - If file doesn't exist, seed content with txt_search
|
|
56
|
+
# - Then run modify_text to replace/append accordingly and write back
|
|
54
57
|
if config_path.exists():
|
|
55
|
-
config_path.
|
|
58
|
+
current = config_path.read_text()
|
|
56
59
|
print(Panel("✏️ Updated existing SSH config file", expand=False))
|
|
57
60
|
else:
|
|
58
|
-
|
|
61
|
+
current = txt
|
|
59
62
|
print(Panel("📄 Created new SSH config file", expand=False))
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
new_content = modify_text(
|
|
64
|
+
txt_raw=current,
|
|
65
|
+
txt_search=txt,
|
|
66
|
+
txt_alt=txt,
|
|
67
|
+
replace_line=True,
|
|
68
|
+
notfound_append=True,
|
|
69
|
+
prepend=True,
|
|
70
|
+
)
|
|
71
|
+
config_path.write_text(new_content)
|
|
72
|
+
|
|
73
|
+
panel_complete = Panel(
|
|
74
|
+
Text(
|
|
75
|
+
"✅ SSH IDENTITY CONFIGURATION COMPLETE\n"
|
|
76
|
+
"Identity added to SSH config file\n"
|
|
77
|
+
"Consider reloading the SSH config to apply changes",
|
|
78
|
+
justify="center"
|
|
79
|
+
),
|
|
80
|
+
expand=False,
|
|
81
|
+
border_style="green"
|
|
82
|
+
)
|
|
83
|
+
program = f"echo '{panel_complete}'"
|
|
62
84
|
|
|
63
85
|
success_message = f"🎉 CONFIGURATION SUCCESSFUL\nIdentity added: {path_to_key.name}\nConfig file: {config_path}"
|
|
64
86
|
print(Panel(Text(success_message, justify="center"), expand=False, border_style="green"))
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
from platform import system
|
|
6
6
|
from machineconfig.utils.utils import LIBRARY_ROOT, display_options
|
|
7
|
-
from
|
|
7
|
+
from machineconfig.utils.path_reduced import P as PathExtended
|
|
8
8
|
from rich.console import Console
|
|
9
9
|
from rich.panel import Panel
|
|
10
10
|
from rich import box # Import box
|
|
@@ -13,14 +13,14 @@ from rich import box # Import box
|
|
|
13
13
|
console = Console()
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
def get_add_ssh_key_script(path_to_key:
|
|
16
|
+
def get_add_ssh_key_script(path_to_key: PathExtended):
|
|
17
17
|
console.print(Panel("🔑 SSH KEY CONFIGURATION", title="[bold blue]SSH Setup[/bold blue]"))
|
|
18
18
|
|
|
19
19
|
if system() == "Linux":
|
|
20
|
-
authorized_keys =
|
|
20
|
+
authorized_keys = PathExtended.home().joinpath(".ssh/authorized_keys")
|
|
21
21
|
console.print(Panel(f"🐧 Linux SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
|
|
22
22
|
elif system() == "Windows":
|
|
23
|
-
authorized_keys =
|
|
23
|
+
authorized_keys = PathExtended("C:/ProgramData/ssh/administrators_authorized_keys")
|
|
24
24
|
console.print(Panel(f"🪟 Windows SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
|
|
25
25
|
else:
|
|
26
26
|
console.print(Panel("❌ ERROR: Unsupported operating system\nOnly Linux and Windows are supported", title="[bold red]Error[/bold red]"))
|
|
@@ -53,7 +53,7 @@ def get_add_ssh_key_script(path_to_key: P):
|
|
|
53
53
|
program = f"cat {path_to_key} > ~/.ssh/authorized_keys"
|
|
54
54
|
else:
|
|
55
55
|
program_path = LIBRARY_ROOT.joinpath("setup_windows/openssh-server_add-sshkey.ps1")
|
|
56
|
-
program =
|
|
56
|
+
program = PathExtended(program_path).expanduser().read_text().replace('$sshfile=""', f'$sshfile="{path_to_key}"')
|
|
57
57
|
console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Set key path in script", title="[bold blue]Configuration[/bold blue]"))
|
|
58
58
|
|
|
59
59
|
if system() == "Linux":
|
|
@@ -73,7 +73,7 @@ def main():
|
|
|
73
73
|
|
|
74
74
|
console.print(Panel("🔍 Searching for public keys...", title="[bold blue]SSH Setup[/bold blue]", border_style="blue"))
|
|
75
75
|
|
|
76
|
-
pub_keys =
|
|
76
|
+
pub_keys = PathExtended.home().joinpath(".ssh").search("*.pub")
|
|
77
77
|
|
|
78
78
|
if pub_keys:
|
|
79
79
|
console.print(Panel(f"✅ Found {len(pub_keys)} public key(s)", title="[bold green]Status[/bold green]", border_style="green"))
|
|
@@ -93,21 +93,21 @@ def main():
|
|
|
93
93
|
|
|
94
94
|
elif res == i_have_path_option:
|
|
95
95
|
console.print(Panel("📂 Please provide the path to your public key", title="[bold blue]Input Required[/bold blue]", border_style="blue"))
|
|
96
|
-
key_path =
|
|
96
|
+
key_path = PathExtended(input("📋 Path: ")).expanduser().absolute()
|
|
97
97
|
console.print(Panel(f"📄 Using key from path: {key_path}", title="[bold blue]Info[/bold blue]", border_style="blue"))
|
|
98
98
|
program = get_add_ssh_key_script(key_path)
|
|
99
99
|
|
|
100
100
|
elif res == i_paste_option:
|
|
101
101
|
console.print(Panel("📋 Please provide a filename and paste the public key content", title="[bold blue]Input Required[/bold blue]", border_style="blue"))
|
|
102
102
|
key_filename = input("📝 File name (default: my_pasted_key.pub): ") or "my_pasted_key.pub"
|
|
103
|
-
key_path =
|
|
103
|
+
key_path = PathExtended.home().joinpath(f".ssh/{key_filename}")
|
|
104
104
|
key_path.write_text(input("🔑 Paste the public key here: "))
|
|
105
105
|
console.print(Panel(f"💾 Key saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
|
|
106
106
|
program = get_add_ssh_key_script(key_path)
|
|
107
107
|
|
|
108
108
|
else:
|
|
109
|
-
console.print(Panel(f"🔑 Using selected key: {
|
|
110
|
-
program = get_add_ssh_key_script(
|
|
109
|
+
console.print(Panel(f"🔑 Using selected key: {PathExtended(res).name}", title="[bold blue]Info[/bold blue]", border_style="blue"))
|
|
110
|
+
program = get_add_ssh_key_script(PathExtended(res))
|
|
111
111
|
|
|
112
112
|
console.print(Panel("🚀 SSH KEY AUTHORIZATION READY\nRun the generated script to apply changes", box=box.DOUBLE_EDGE, title_align="left"))
|
|
113
113
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
"""
|
|
3
3
|
|
|
4
4
|
# import subprocess
|
|
5
|
-
from
|
|
5
|
+
from machineconfig.utils.path_reduced import P as PathExtended
|
|
6
|
+
from machineconfig.utils.utils2 import read_ini, read_toml
|
|
6
7
|
from machineconfig.utils.utils import LIBRARY_ROOT, DEFAULTS_PATH, print_code, choose_cloud_interactively, choose_multiple_options
|
|
7
8
|
from machineconfig.scripts.python.helpers.helpers2 import ES
|
|
8
9
|
from platform import system
|
|
@@ -18,13 +19,13 @@ def main_backup_retrieve(direction: OPTIONS, which: Optional[str] = None):
|
|
|
18
19
|
console = Console()
|
|
19
20
|
|
|
20
21
|
try:
|
|
21
|
-
cloud: str =
|
|
22
|
+
cloud: str = read_ini(DEFAULTS_PATH)['general']['rclone_config_name']
|
|
22
23
|
console.print(Panel(f"⚠️ DEFAULT CLOUD CONFIGURATION\n🌥️ Using default cloud: {cloud}", title="[bold blue]Cloud Configuration[/bold blue]", border_style="blue"))
|
|
23
24
|
except (FileNotFoundError, KeyError, IndexError):
|
|
24
25
|
console.print(Panel("🔍 DEFAULT CLOUD NOT FOUND\n🔄 Please select a cloud configuration from the options below", title="[bold red]Error: Cloud Not Found[/bold red]", border_style="red"))
|
|
25
26
|
cloud = choose_cloud_interactively()
|
|
26
27
|
|
|
27
|
-
bu_file: dict[str, Any] =
|
|
28
|
+
bu_file: dict[str, Any] = read_toml(LIBRARY_ROOT.joinpath("profile/backup.toml"))
|
|
28
29
|
|
|
29
30
|
console.print(Panel(f"🧰 LOADING BACKUP CONFIGURATION\n📄 File: {LIBRARY_ROOT.joinpath('profile/backup.toml')}", title="[bold blue]Backup Configuration[/bold blue]", border_style="blue"))
|
|
30
31
|
|
|
@@ -39,7 +40,7 @@ def main_backup_retrieve(direction: OPTIONS, which: Optional[str] = None):
|
|
|
39
40
|
console.print(Panel(f"🔍 SELECT {direction} ITEMS\n📋 Choose which configuration entries to process", title="[bold blue]Select Items[/bold blue]", border_style="blue"))
|
|
40
41
|
choices = choose_multiple_options(msg=f"WHICH FILE of the following do you want to {direction}?", options=['all'] + list(bu_file.keys()))
|
|
41
42
|
else:
|
|
42
|
-
choices = which.split(",") if
|
|
43
|
+
choices = which.split(",") if which else []
|
|
43
44
|
console.print(Panel(f"🔖 PRE-SELECTED ITEMS\n📝 Using: {', '.join(choices)}", title="[bold blue]Pre-selected Items[/bold blue]", border_style="blue"))
|
|
44
45
|
|
|
45
46
|
if "all" in choices:
|
|
@@ -56,12 +57,12 @@ def main_backup_retrieve(direction: OPTIONS, which: Optional[str] = None):
|
|
|
56
57
|
flags += 'e' if item['encrypt'] == 'True' else ''
|
|
57
58
|
flags += 'r' if item['rel2home'] == 'True' else ''
|
|
58
59
|
flags += 'o' if system().lower() in item_name else ''
|
|
59
|
-
console.print(Panel(f"📦 PROCESSING: {item_name}\n📂 Path: {
|
|
60
|
+
console.print(Panel(f"📦 PROCESSING: {item_name}\n📂 Path: {PathExtended(item['path']).as_posix()}\n🏳️ Flags: {flags or 'None'}", title=f"[bold blue]Processing Item: {item_name}[/bold blue]", border_style="blue"))
|
|
60
61
|
if flags: flags = "-" + flags
|
|
61
62
|
if direction == "BACKUP":
|
|
62
|
-
program += f"""\ncloud_copy "{
|
|
63
|
+
program += f"""\ncloud_copy "{PathExtended(item['path']).as_posix()}" $cloud {flags}\n"""
|
|
63
64
|
elif direction == "RETRIEVE":
|
|
64
|
-
program += f"""\ncloud_copy $cloud "{
|
|
65
|
+
program += f"""\ncloud_copy $cloud "{PathExtended(item['path']).as_posix()}" {flags}\n"""
|
|
65
66
|
else:
|
|
66
67
|
console.print(Panel("❌ ERROR: INVALID DIRECTION\n⚠️ Direction must be either \"BACKUP\" or \"RETRIEVE\"", title="[bold red]Error: Invalid Direction[/bold red]", border_style="red"))
|
|
67
68
|
raise RuntimeError(f"Unknown direction: {direction}")
|
|
@@ -83,7 +84,7 @@ def main(direction: OPTIONS, which: Optional[str] = None):
|
|
|
83
84
|
|
|
84
85
|
console.print(Panel("💾 GENERATING SHELL SCRIPT\n📄 Filename: backup_retrieve.sh", title="[bold blue]Shell Script Generation[/bold blue]", border_style="blue"))
|
|
85
86
|
|
|
86
|
-
write_shell_script_to_default_program_path(program=code, desc="backup_retrieve.sh")
|
|
87
|
+
write_shell_script_to_default_program_path(program=code, desc="backup_retrieve.sh", preserve_cwd=True, display=True, execute=False)
|
|
87
88
|
|
|
88
89
|
|
|
89
90
|
if __name__ == "__main__":
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
# import subprocess
|
|
5
5
|
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
6
6
|
from tqdm import tqdm
|
|
7
|
-
from crocodile.core import List as L
|
|
8
7
|
from machineconfig.utils.utils import LIBRARY_ROOT, choose_multiple_options
|
|
9
8
|
from machineconfig.utils.installer import get_installers, install_all, get_all_dicts
|
|
10
9
|
from platform import system
|
|
@@ -67,7 +66,7 @@ def get_programs_by_category(program_name: WHICH_CAT):
|
|
|
67
66
|
installers_ = get_installers(dev=False, system=system())
|
|
68
67
|
if program_name == "EssentialsAndOthers":
|
|
69
68
|
installers_ += get_installers(dev=True, system=system())
|
|
70
|
-
install_all(installers=
|
|
69
|
+
install_all(installers=installers_)
|
|
71
70
|
program = ""
|
|
72
71
|
|
|
73
72
|
case "SystemInstallers":
|
|
@@ -107,10 +106,11 @@ def get_programs_by_category(program_name: WHICH_CAT):
|
|
|
107
106
|
# sub_program = installers[idx].install_robust(version=None) # finish the task
|
|
108
107
|
|
|
109
108
|
case "PrecheckedCloudInstaller":
|
|
110
|
-
from machineconfig.jobs.python.check_installations import PrecheckedCloudInstaller
|
|
111
|
-
ci = PrecheckedCloudInstaller()
|
|
112
|
-
ci.download_safe_apps(name="AllEssentials")
|
|
113
|
-
program = ""
|
|
109
|
+
# from machineconfig.jobs.python.check_installations import PrecheckedCloudInstaller
|
|
110
|
+
# ci = PrecheckedCloudInstaller()
|
|
111
|
+
# ci.download_safe_apps(name="AllEssentials")
|
|
112
|
+
# program = ""
|
|
113
|
+
raise NotImplementedError("PrecheckedCloudInstaller is not implemented yet.")
|
|
114
114
|
return program
|
|
115
115
|
|
|
116
116
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"""Update repositories with fancy output
|
|
2
2
|
"""
|
|
3
3
|
|
|
4
|
-
from
|
|
4
|
+
from machineconfig.utils.path_reduced import P as PathExtended
|
|
5
5
|
from machineconfig.utils.utils import DEFAULTS_PATH
|
|
6
|
+
from machineconfig.utils.utils2 import read_ini
|
|
6
7
|
from platform import system
|
|
7
8
|
|
|
8
9
|
|
|
@@ -13,7 +14,7 @@ def main(verbose: bool=True) -> str:
|
|
|
13
14
|
_ = verbose
|
|
14
15
|
repos: list[str] = ["~/code/crocodile", "~/code/machineconfig", ]
|
|
15
16
|
try:
|
|
16
|
-
tmp =
|
|
17
|
+
tmp = read_ini(DEFAULTS_PATH)['general']['repos'].split(",")
|
|
17
18
|
if tmp[-1] == "": tmp = tmp[:-1]
|
|
18
19
|
repos += tmp
|
|
19
20
|
except (FileNotFoundError, KeyError, IndexError):
|
|
@@ -37,7 +38,7 @@ def main(verbose: bool=True) -> str:
|
|
|
37
38
|
for a_package_path in repos:
|
|
38
39
|
try:
|
|
39
40
|
import git
|
|
40
|
-
repo = git.Repo(str(
|
|
41
|
+
repo = git.Repo(str(PathExtended(a_package_path).expanduser()), search_parent_directories=True)
|
|
41
42
|
repos_objs.append(repo)
|
|
42
43
|
except Exception as ex:
|
|
43
44
|
print(f"""
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"""
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from machineconfig.utils.path_reduced import P as PathExtended
|
|
6
6
|
from machineconfig.profile.create import symlink_func
|
|
7
7
|
from machineconfig.utils.utils import LIBRARY_ROOT, REPO_ROOT
|
|
8
8
|
import argparse
|
|
@@ -18,14 +18,17 @@ def main():
|
|
|
18
18
|
parser.add_argument("-d", "--dest", help="destination folder", default="")
|
|
19
19
|
|
|
20
20
|
args = parser.parse_args()
|
|
21
|
-
orig_path =
|
|
21
|
+
orig_path = PathExtended(args.file).expanduser().absolute()
|
|
22
22
|
if args.dest == "":
|
|
23
|
-
if "Local" in orig_path: junction = orig_path.split(at="Local", sep=-1)[1]
|
|
24
|
-
elif "Roaming" in orig_path: junction = orig_path.split(at="Roaming", sep=-1)[1]
|
|
25
|
-
elif ".config" in orig_path: junction = orig_path.split(at=".config", sep=-1)[1]
|
|
23
|
+
if "Local" in str(orig_path): junction = orig_path.split(at="Local", sep=-1)[1]
|
|
24
|
+
elif "Roaming" in str(orig_path): junction = orig_path.split(at="Roaming", sep=-1)[1]
|
|
25
|
+
elif ".config" in str(orig_path): junction = orig_path.split(at=".config", sep=-1)[1]
|
|
26
26
|
else: junction = orig_path.rel2home()
|
|
27
27
|
new_path = REPO_ROOT.joinpath(junction)
|
|
28
|
-
else:
|
|
28
|
+
else:
|
|
29
|
+
dest_path = PathExtended(args.dest).expanduser().absolute()
|
|
30
|
+
dest_path.mkdir(parents=True, exist_ok=True)
|
|
31
|
+
new_path = dest_path.joinpath(orig_path.name)
|
|
29
32
|
|
|
30
33
|
symlink_func(this=orig_path, to_this=new_path, prioritize_to_this=args.overwrite)
|
|
31
34
|
|
|
@@ -39,7 +42,7 @@ def main():
|
|
|
39
42
|
📝 Edit configuration file: nano {LIBRARY_ROOT}/symlinks/mapper.toml
|
|
40
43
|
|
|
41
44
|
[{new_path.parent.name}]
|
|
42
|
-
{orig_path.
|
|
45
|
+
{orig_path.name.split('.')[0]} = {{ this = '{orig_path.collapseuser().as_posix()}', to_this = '{new_path.collapseuser().as_posix()}' }}
|
|
43
46
|
""")
|
|
44
47
|
|
|
45
48
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
# from machineconfig.cluster.sessions_managers.zellij_local import run_zellij_layout
|
|
5
|
+
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def launch_agents(repo_root: Path, prompts: list[str]):
|
|
9
|
+
tab_config: dict[str, tuple[str, str]] = {}
|
|
10
|
+
for idx, a_prompt in enumerate(prompts):
|
|
11
|
+
tmp_file_path = repo_root.joinpath(f".ai/tmp_prompts/agent{idx}.txt")
|
|
12
|
+
tmp_file_path.parent.mkdir(parents=True, exist_ok=True)
|
|
13
|
+
Path(tmp_file_path).write_text(a_prompt)
|
|
14
|
+
tab_config[f"Agent{idx}"] = (str(repo_root), f"cursor-agent --print --output-format text < .ai/tmp_prompts/agent{idx}.txt")
|
|
15
|
+
if len(tab_config) > 15:
|
|
16
|
+
raise RuntimeError(f"Too many agents (#{len(tab_config)}), please cut them down to 15 or less")
|
|
17
|
+
print(f"Launching a template with #{len(tab_config)} agents")
|
|
18
|
+
return tab_config
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def main():
|
|
22
|
+
repo_root = Path.cwd()
|
|
23
|
+
print(f"Operating @ {repo_root}")
|
|
24
|
+
file_path = input("Enter path to target file [press Enter to generate it from searching]: ")
|
|
25
|
+
if file_path == "":
|
|
26
|
+
keyword = input("Enter keyword to search recursively for all .py files containing it. ")
|
|
27
|
+
py_files = list(repo_root.rglob("*.py"))
|
|
28
|
+
matching_files = [
|
|
29
|
+
f for f in py_files
|
|
30
|
+
if keyword in f.read_text(encoding='utf-8', errors='ignore')
|
|
31
|
+
]
|
|
32
|
+
if not matching_files:
|
|
33
|
+
print(f"💥 No .py files found containing keyword: {keyword}")
|
|
34
|
+
return
|
|
35
|
+
print(f"Found {len(matching_files)} .py files containing keyword: {keyword}")
|
|
36
|
+
file_path = repo_root.joinpath(".ai", "target_file.txt")
|
|
37
|
+
file_path.parent.mkdir(parents=True, exist_ok=True)
|
|
38
|
+
file_path.write_text("\n".join(str(f) for f in matching_files), encoding='utf-8')
|
|
39
|
+
separator = "\n"
|
|
40
|
+
else:
|
|
41
|
+
separator = input("Enter separator [\\n]: ") or "\n"
|
|
42
|
+
|
|
43
|
+
err_file = Path(file_path).expanduser().absolute().read_text(encoding='utf-8', errors='ignore')
|
|
44
|
+
prefix = input("Enter prefix prompt: ")
|
|
45
|
+
prompts = [item for item in err_file.split(separator)]
|
|
46
|
+
# Dynamically choose chunk size so we end up with <= 15 combined prompts.
|
|
47
|
+
# If we already have 15 or fewer, keep them as-is.
|
|
48
|
+
if len(prompts) <= 15:
|
|
49
|
+
combined_prompts = prompts
|
|
50
|
+
else:
|
|
51
|
+
# Compute minimal chunk size so that number_of_chunks <= 15.
|
|
52
|
+
# number_of_chunks = ceil(len(prompts)/chunk_size) <= 15
|
|
53
|
+
# => chunk_size >= len(prompts)/15 -> choose ceil(len/15)
|
|
54
|
+
from math import ceil
|
|
55
|
+
chunk_size = ceil(len(prompts) / 15)
|
|
56
|
+
combined_prompts: list[str] = []
|
|
57
|
+
for i in range(0, len(prompts), chunk_size):
|
|
58
|
+
combined_prompts.append("\nTargeted Locations:\n".join(prompts[i:i+chunk_size]))
|
|
59
|
+
combined_prompts = [prefix + "\n" + item for item in combined_prompts]
|
|
60
|
+
tab_config = launch_agents(repo_root=repo_root, prompts=combined_prompts)
|
|
61
|
+
from machineconfig.utils.utils2 import randstr
|
|
62
|
+
random_name = randstr(length=3)
|
|
63
|
+
manager = ZellijLocalManager(session2zellij_tabs={"Agents": tab_config}, session_name_prefix=random_name)
|
|
64
|
+
manager.start_all_sessions()
|
|
65
|
+
manager.run_monitoring_routine()
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
if __name__ == "__main__":
|
|
69
|
+
main()
|