machineconfig 3.8__tar.gz → 3.82__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- {machineconfig-3.8/src/machineconfig.egg-info → machineconfig-3.82}/PKG-INFO +2 -1
- {machineconfig-3.8 → machineconfig-3.82}/pyproject.toml +6 -5
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_repo_sync.py +11 -17
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/croshell.py +2 -3
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/devops.py +21 -38
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_devapps_install.py +11 -4
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_jobs.py +59 -6
- machineconfig-3.82/src/machineconfig/scripts/python/fire_jobs_args_helper.py +48 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ftpx.py +55 -48
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/repos.py +43 -44
- {machineconfig-3.8 → machineconfig-3.82/src/machineconfig.egg-info}/PKG-INFO +2 -1
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig.egg-info/SOURCES.txt +0 -4
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig.egg-info/entry_points.txt +4 -3
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig.egg-info/requires.txt +1 -0
- machineconfig-3.8/src/machineconfig/cluster/templates/cli_click.py +0 -102
- machineconfig-3.8/src/machineconfig/scripts/python/archive/im2text.py +0 -34
- machineconfig-3.8/src/machineconfig/scripts/python/archive/tmate_conn.py +0 -41
- machineconfig-3.8/src/machineconfig/scripts/python/archive/tmate_start.py +0 -44
- machineconfig-3.8/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -84
- {machineconfig-3.8 → machineconfig-3.82}/MANIFEST.in +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/README.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/setup.cfg +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/enhanced_command_runner.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/templates/cli_gooey.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/templates/run_cloud.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/templates/run_cluster.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/templates/run_remote.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/cluster/templates/utils.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/check_installations.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/create_bootable_media.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/tasks.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/vscode/link_ve.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/vscode/select_interpreter.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/archive/ngrok.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/aider.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/alacritty.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/brave.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/code.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/cursor.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/espanso.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/goes.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/lvim.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/nerdfont.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/redis.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/reverse_proxy.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/wezterm.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/dev/winget.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/docker.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/gh.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/hx.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_custom_installers/warp-cli.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/config.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/config.json.bak +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/dev/config.archive.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/dev/config.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_generic_installers/dev/config.json.bak +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/archive/config.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/archive/config.json.bak +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/config.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/config.json.bak +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/dev/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/dev/config.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_linux_installers/dev/config.json.bak +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/archive/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/archive/file.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/config.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/config.json.bak +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/dev/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/dev/config.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/python_windows_installers/dev/config.json.bak +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/logger.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/profile/create.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/profile/shell.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/cloud/init.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/cloud_copy +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/cloud_mount +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/cloud_sync +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/croshell +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/devops +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/fire +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/fire_agents +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/ftpx +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/gh_models +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/initai +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/kill_process +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/mount_drive +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/mount_nfs +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/mount_smb +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/programs +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/repos +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/scheduler +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/share_nfs +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/share_smb +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/start_docker +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/start_slidev +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/start_terminals +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/switch_ip +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/wifi_conn +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/dotfile.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_agents.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_agents_help_launch.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/gh_models.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/pomodoro.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/scheduler.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/snapshot.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/start_slidev.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/start_terminals.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/viewer.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/viewer_template.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/repos.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/wt_and_pwsh/install_nerd_fonts.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/ssh.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-3.8 → machineconfig-3.82}/src/machineconfig.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: machineconfig
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.82
|
|
4
4
|
Summary: Dotfiles management package
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -24,6 +24,7 @@ Requires-Dist: gitpython>=3.1.44
|
|
|
24
24
|
Requires-Dist: pyfzf>=0.3.1
|
|
25
25
|
Requires-Dist: rclone-python>=0.1.23
|
|
26
26
|
Requires-Dist: pyjson5>=1.6.9
|
|
27
|
+
Requires-Dist: typer-slim>=0.19.2
|
|
27
28
|
Provides-Extra: windows
|
|
28
29
|
Requires-Dist: pywin32; extra == "windows"
|
|
29
30
|
Provides-Extra: docs
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "machineconfig"
|
|
9
|
-
version = "3.
|
|
9
|
+
version = "3.82"
|
|
10
10
|
description = "Dotfiles management package"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -33,6 +33,7 @@ dependencies = [
|
|
|
33
33
|
"pyfzf>=0.3.1",
|
|
34
34
|
"rclone-python>=0.1.23",
|
|
35
35
|
"pyjson5>=1.6.9",
|
|
36
|
+
"typer-slim>=0.19.2",
|
|
36
37
|
]
|
|
37
38
|
|
|
38
39
|
[project.optional-dependencies]
|
|
@@ -50,20 +51,20 @@ docs = [
|
|
|
50
51
|
|
|
51
52
|
[project.scripts]
|
|
52
53
|
devops = "machineconfig.scripts.python.devops:args_parser"
|
|
53
|
-
|
|
54
|
+
install = "machineconfig.scripts.python.devops_devapps_install:main_with_parser"
|
|
54
55
|
choose_wezterm_theme = "machineconfig.scripts.python.choose_wezterm_theme:main"
|
|
55
56
|
cloud_copy = "machineconfig.scripts.python.cloud_copy:arg_parser"
|
|
56
57
|
cloud_mount = "machineconfig.scripts.python.cloud_mount:main"
|
|
57
58
|
cloud_repo_sync = "machineconfig.scripts.python.cloud_repo_sync:args_parser"
|
|
58
59
|
cloud_sync = "machineconfig.scripts.python.cloud_sync:args_parser"
|
|
59
60
|
croshell = "machineconfig.scripts.python.croshell:build_parser"
|
|
60
|
-
fire = "machineconfig.scripts.python.fire_jobs:
|
|
61
|
+
fire = "machineconfig.scripts.python.fire_jobs:main_from_parser"
|
|
61
62
|
fire_agents = "machineconfig.scripts.python.fire_agents:main"
|
|
62
|
-
ftpx = "machineconfig.scripts.python.ftpx:
|
|
63
|
+
ftpx = "machineconfig.scripts.python.ftpx:main_from_parser"
|
|
63
64
|
initai = "machineconfig.scripts.python.ai.initai:main"
|
|
64
65
|
mount_nfs = "machineconfig.scripts.python.mount_nfs:main"
|
|
65
66
|
mount_nw_drive = "machineconfig.scripts.python.mount_nw_drive:main"
|
|
66
|
-
repos = "machineconfig.scripts.python.repos:
|
|
67
|
+
repos = "machineconfig.scripts.python.repos:main_from_parser"
|
|
67
68
|
start_slidev = "machineconfig.scripts.python.start_slidev:main"
|
|
68
69
|
wifi_conn = "machineconfig.scripts.python.wifi_conn:main"
|
|
69
70
|
kill_process = "machineconfig.utils.procs:main"
|
{machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/cloud_repo_sync.py
RENAMED
|
@@ -5,14 +5,12 @@ import git
|
|
|
5
5
|
from machineconfig.utils.io import read_ini
|
|
6
6
|
from machineconfig.utils.path_extended import PathExtended as PathExtended
|
|
7
7
|
from machineconfig.utils.terminal import Terminal
|
|
8
|
-
from machineconfig.utils.accessories import randstr
|
|
9
8
|
|
|
10
9
|
from machineconfig.scripts.python.helpers.repo_sync_helpers import fetch_dotfiles
|
|
11
10
|
from machineconfig.utils.source_of_truth import CONFIG_PATH, DEFAULTS_PATH
|
|
12
11
|
from machineconfig.utils.options import choose_from_options
|
|
13
12
|
from machineconfig.utils.code import get_shell_file_executing_python_script, write_shell_script_to_file
|
|
14
13
|
import platform
|
|
15
|
-
import argparse
|
|
16
14
|
from typing import Optional, Literal
|
|
17
15
|
from rich.console import Console
|
|
18
16
|
from rich.panel import Panel
|
|
@@ -171,21 +169,17 @@ git commit -am "finished merging"
|
|
|
171
169
|
|
|
172
170
|
|
|
173
171
|
def args_parser():
|
|
174
|
-
console.print(Panel("🔄 Repository Synchronization Utility", title_align="left", border_style="blue"))
|
|
175
|
-
|
|
176
|
-
parser =
|
|
177
|
-
# parser.add_argument("
|
|
178
|
-
parser.add_argument("
|
|
179
|
-
# parser.add_argument("--
|
|
180
|
-
parser.add_argument("--
|
|
181
|
-
|
|
182
|
-
#
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
# parser.add_argument("--no_push", "-u", help="push to reomte.", action="store_true") # default is False
|
|
186
|
-
parser.add_argument("--action", "-a", help="Action to take if merge fails.", choices=["ask", "pushLocalMerge", "overwriteLocal", "InspectRepos", "RemoveLocalRclone"], default="ask")
|
|
187
|
-
args = parser.parse_args()
|
|
188
|
-
main(cloud=args.cloud, path=args.path, message=args.message, action=args.action)
|
|
172
|
+
# console.print(Panel("🔄 Repository Synchronization Utility", title_align="left", border_style="blue"))
|
|
173
|
+
# parser = argparse.ArgumentParser(description="Secure Repo CLI.")
|
|
174
|
+
# parser.add_argument("path", nargs="?", type=str, help="Repository path, defaults to cwd.", default=None)
|
|
175
|
+
# parser.add_argument("--cloud", "-c", help="rclone cloud profile name.", default=None)
|
|
176
|
+
# parser.add_argument("--message", "-m", help="Commit Message", default=f"new message {randstr()}")
|
|
177
|
+
# parser.add_argument("--pwd", "-p", help="Password for encryption", default=None)
|
|
178
|
+
# parser.add_argument("--action", "-a", help="Action to take if merge fails.", choices=["ask", "pushLocalMerge", "overwriteLocal", "InspectRepos", "RemoveLocalRclone"], default="ask")
|
|
179
|
+
# args = parser.parse_args()
|
|
180
|
+
# main(cloud=args.cloud, path=args.path, message=args.message, action=args.action)
|
|
181
|
+
import typer
|
|
182
|
+
typer.run(main)
|
|
189
183
|
|
|
190
184
|
|
|
191
185
|
if __name__ == "__main__":
|
|
@@ -13,8 +13,7 @@ from machineconfig.utils.ve import get_ve_activate_line
|
|
|
13
13
|
from typing import Optional
|
|
14
14
|
from rich.console import Console
|
|
15
15
|
from rich.panel import Panel
|
|
16
|
-
from rich.text import Text
|
|
17
|
-
# from machineconfig.utils.utils2 import pprint
|
|
16
|
+
from rich.text import Text
|
|
18
17
|
|
|
19
18
|
console = Console()
|
|
20
19
|
|
|
@@ -24,7 +23,7 @@ def add_print_header_pycode(path: str, title: str):
|
|
|
24
23
|
try:
|
|
25
24
|
from crocodile.file_management import P as PathExtended
|
|
26
25
|
except ImportError:
|
|
27
|
-
from machineconfig.utils.
|
|
26
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
28
27
|
pycode = PathExtended(r'{path}').read_text(encoding="utf-8")
|
|
29
28
|
pycode = pycode.split("except Exception: print(pycode)")[2]
|
|
30
29
|
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
from machineconfig.utils.options import choose_from_options
|
|
4
4
|
|
|
5
5
|
from platform import system
|
|
6
|
-
from
|
|
7
|
-
from typing import Optional
|
|
6
|
+
from typing import Optional, Literal, TypeAlias
|
|
8
7
|
from rich.console import Console
|
|
9
8
|
from rich.panel import Panel
|
|
10
9
|
|
|
@@ -13,36 +12,20 @@ console = Console()
|
|
|
13
12
|
BOX_WIDTH = 150 # width for box drawing
|
|
14
13
|
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
update = "🔄 UPDATE essential repos"
|
|
18
|
-
cli_install = "⚙️ DEVAPPS install"
|
|
19
|
-
sym_path_shell = "🔗 SYMLINKS, SHELL PROFILE, FONT, TERMINAL SETTINGS."
|
|
20
|
-
sym_new = "🆕 SYMLINKS new"
|
|
21
|
-
ssh_add_pubkey = "🔑 SSH add pub key to this machine"
|
|
22
|
-
ssh_add_id = "🗝️ SSH add identity (private key) to this machine"
|
|
23
|
-
ssh_use_pair = "🔐 SSH use key pair to connect two machines"
|
|
24
|
-
ssh_setup = "📡 SSH setup"
|
|
25
|
-
ssh_setup_wsl = "🐧 SSH setup wsl"
|
|
26
|
-
backup = "💾 BACKUP"
|
|
27
|
-
retreive = "📥 RETRIEVE"
|
|
28
|
-
scheduler = "⏰ SCHEDULER"
|
|
15
|
+
Options: TypeAlias = Literal["🔄 UPDATE essential repos", "⚙️ DEVAPPS install", "🔗 SYMLINKS, SHELL PROFILE, FONT, TERMINAL SETTINGS.", "🆕 SYMLINKS new", "🔑 SSH add pub key to this machine", "🗝️ SSH add identity (private key) to this machine", "🔐 SSH use key pair to connect two machines", "📡 SSH setup", "🐧 SSH setup wsl", "💾 BACKUP", "📥 RETRIEVE", "⏰ SCHEDULER"]
|
|
29
16
|
|
|
17
|
+
options_list = list(Options.__args__)
|
|
30
18
|
|
|
31
|
-
def args_parser():
|
|
32
|
-
console.print(Panel("🛠️ DevOps Tool Suite", title_align="left", border_style="blue", width=BOX_WIDTH))
|
|
33
|
-
import argparse
|
|
34
19
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
args = parser.parse_args()
|
|
39
|
-
main(which=args.which)
|
|
20
|
+
def args_parser():
|
|
21
|
+
import typer
|
|
22
|
+
typer.run(main)
|
|
40
23
|
|
|
41
24
|
|
|
42
|
-
def main(which: Optional[
|
|
25
|
+
def main(which: Optional[Options] = None):
|
|
43
26
|
# PathExtended(_program_PATH).delete(sure=True, verbose=False)
|
|
44
27
|
console.print(Panel("🚀 Initializing DevOps operation...", width=BOX_WIDTH, border_style="blue"))
|
|
45
|
-
options =
|
|
28
|
+
options = options_list
|
|
46
29
|
if which is None:
|
|
47
30
|
try:
|
|
48
31
|
choice_key = choose_from_options(msg="", options=options, header="🛠️ DEVOPS", default=options[0], multi=False)
|
|
@@ -50,51 +33,51 @@ def main(which: Optional[str] = None):
|
|
|
50
33
|
console.print(Panel("❌ Operation cancelled by user", title_align="left", border_style="red", width=BOX_WIDTH))
|
|
51
34
|
return
|
|
52
35
|
else:
|
|
53
|
-
choice_key =
|
|
36
|
+
choice_key = which
|
|
54
37
|
|
|
55
38
|
console.print(Panel(f"🔧 SELECTED OPERATION\n{choice_key}", title_align="left", border_style="green", width=BOX_WIDTH))
|
|
56
39
|
|
|
57
|
-
if choice_key ==
|
|
40
|
+
if choice_key == "🔄 UPDATE essential repos":
|
|
58
41
|
console.print(Panel("🔄 Updating essential repositories...", width=BOX_WIDTH, border_style="blue"))
|
|
59
42
|
import machineconfig.scripts.python.devops_update_repos as helper
|
|
60
43
|
|
|
61
44
|
helper.main()
|
|
62
|
-
elif choice_key ==
|
|
45
|
+
elif choice_key == "⚙️ DEVAPPS install":
|
|
63
46
|
console.print(Panel("⚙️ Installing development applications...", width=BOX_WIDTH, border_style="blue"))
|
|
64
47
|
import machineconfig.scripts.python.devops_devapps_install as helper
|
|
65
48
|
|
|
66
49
|
helper.main(which=None)
|
|
67
50
|
|
|
68
|
-
elif choice_key ==
|
|
51
|
+
elif choice_key == "🆕 SYMLINKS new":
|
|
69
52
|
console.print(Panel("🔄 Creating new symlinks...", width=BOX_WIDTH, border_style="blue"))
|
|
70
53
|
import machineconfig.jobs.python.python_ve_symlink as helper
|
|
71
54
|
|
|
72
55
|
helper.main()
|
|
73
56
|
|
|
74
|
-
elif choice_key ==
|
|
57
|
+
elif choice_key == "🔗 SYMLINKS, SHELL PROFILE, FONT, TERMINAL SETTINGS.":
|
|
75
58
|
console.print(Panel("🔗 Setting up symlinks, PATH, and shell profile...", width=BOX_WIDTH, border_style="blue"))
|
|
76
59
|
import machineconfig.profile.create as helper
|
|
77
60
|
|
|
78
61
|
helper.main()
|
|
79
62
|
"echo '✅ done with symlinks'"
|
|
80
63
|
|
|
81
|
-
elif choice_key ==
|
|
64
|
+
elif choice_key == "🔑 SSH add pub key to this machine":
|
|
82
65
|
console.print(Panel("🔑 Adding public SSH key to this machine...", width=BOX_WIDTH, border_style="blue"))
|
|
83
66
|
import machineconfig.scripts.python.devops_add_ssh_key as helper
|
|
84
67
|
|
|
85
68
|
helper.main()
|
|
86
69
|
|
|
87
|
-
elif choice_key ==
|
|
70
|
+
elif choice_key == "🔐 SSH use key pair to connect two machines":
|
|
88
71
|
console.print(Panel("❌ ERROR: Not Implemented\nSSH key pair connection feature is not yet implemented", title_align="left", border_style="red", width=BOX_WIDTH))
|
|
89
72
|
raise NotImplementedError
|
|
90
73
|
|
|
91
|
-
elif choice_key ==
|
|
74
|
+
elif choice_key == "🗝️ SSH add identity (private key) to this machine": # so that you can SSH directly withuot pointing to identity key.
|
|
92
75
|
console.print(Panel("🗝️ Adding SSH identity (private key) to this machine...", width=BOX_WIDTH, border_style="blue"))
|
|
93
76
|
import machineconfig.scripts.python.devops_add_identity as helper
|
|
94
77
|
|
|
95
78
|
helper.main()
|
|
96
79
|
|
|
97
|
-
elif choice_key ==
|
|
80
|
+
elif choice_key == "📡 SSH setup":
|
|
98
81
|
console.print(Panel("📡 Setting up SSH...", width=BOX_WIDTH, border_style="blue"))
|
|
99
82
|
_program_windows = """Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/openssh_all.ps1 | Invoke-Expression # https://github.com/thisismygitrepo.keys"""
|
|
100
83
|
_program_linux = """curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_all.sh | sudo bash # https://github.com/thisismygitrepo.keys"""
|
|
@@ -103,23 +86,23 @@ def main(which: Optional[str] = None):
|
|
|
103
86
|
|
|
104
87
|
subprocess.run(_program_linux if system() == "Linux" else _program_windows, shell=True, check=True)
|
|
105
88
|
|
|
106
|
-
elif choice_key ==
|
|
89
|
+
elif choice_key == "🐧 SSH setup wsl":
|
|
107
90
|
console.print(Panel("🐧 Setting up SSH for WSL...", width=BOX_WIDTH, border_style="blue"))
|
|
108
91
|
"""curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_wsl.sh | sudo bash"""
|
|
109
92
|
|
|
110
|
-
elif choice_key ==
|
|
93
|
+
elif choice_key == "💾 BACKUP":
|
|
111
94
|
console.print(Panel("💾 Creating backup...", width=BOX_WIDTH, border_style="blue"))
|
|
112
95
|
from machineconfig.scripts.python.devops_backup_retrieve import main_backup_retrieve
|
|
113
96
|
|
|
114
97
|
main_backup_retrieve(direction="BACKUP")
|
|
115
98
|
|
|
116
|
-
elif choice_key ==
|
|
99
|
+
elif choice_key == "📥 RETRIEVE":
|
|
117
100
|
console.print(Panel("📥 Retrieving backup...", width=BOX_WIDTH, border_style="blue"))
|
|
118
101
|
from machineconfig.scripts.python.devops_backup_retrieve import main_backup_retrieve
|
|
119
102
|
|
|
120
103
|
main_backup_retrieve(direction="RETRIEVE")
|
|
121
104
|
|
|
122
|
-
elif choice_key ==
|
|
105
|
+
elif choice_key == "⏰ SCHEDULER":
|
|
123
106
|
console.print(Panel("⏰ Setting up scheduler...", width=BOX_WIDTH, border_style="blue"))
|
|
124
107
|
# from machineconfig.scripts.python.scheduler import main as helper
|
|
125
108
|
# helper()
|
{machineconfig-3.8 → machineconfig-3.82}/src/machineconfig/scripts/python/devops_devapps_install.py
RENAMED
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
"""Devops Devapps Install"""
|
|
2
2
|
|
|
3
3
|
# import subprocess
|
|
4
|
+
import typer
|
|
4
5
|
from rich.progress import Progress, SpinnerColumn, TextColumn
|
|
5
6
|
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
6
7
|
from machineconfig.utils.options import choose_from_options
|
|
7
8
|
from machineconfig.utils.installer import get_installers, install_all
|
|
8
9
|
from platform import system
|
|
9
|
-
from typing import Any, Optional, Literal, TypeAlias, get_args
|
|
10
|
-
|
|
10
|
+
from typing import Any, Optional, Literal, TypeAlias, get_args, Annotated
|
|
11
11
|
|
|
12
12
|
WHICH_CAT: TypeAlias = Literal["AllEssentials", "EssentialsAndOthers", "SystemInstallers", "PrecheckedCloudInstaller"]
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
def
|
|
15
|
+
def main_with_parser():
|
|
16
|
+
import typer
|
|
17
|
+
app = typer.Typer()
|
|
18
|
+
app.command()(main)
|
|
19
|
+
app()
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def main(which: Annotated[Optional[str], typer.Argument(help=f"Choose a category or program to install, {list(get_args(WHICH_CAT))} or <program_name>")]) -> None:
|
|
16
23
|
if which is not None and which in get_args(WHICH_CAT): # install by category
|
|
17
24
|
return get_programs_by_category(program_name=which) # type: ignore
|
|
18
25
|
|
|
@@ -123,7 +130,7 @@ def get_programs_by_category(program_name: WHICH_CAT):
|
|
|
123
130
|
if sub_program.startswith("#winget"):
|
|
124
131
|
sub_program = sub_program[1:]
|
|
125
132
|
program += "\n" + sub_program
|
|
126
|
-
|
|
133
|
+
# case "CHOOSE": raise NotImplementedError("CHOOSE is not implemented yet.")
|
|
127
134
|
# case "OtherDevApps":
|
|
128
135
|
# installers = get_installers(dev=True, system=system())
|
|
129
136
|
# options__: list[str] = [x.get_description() for x in tqdm(installers, desc="Checking installed programs")]
|
|
@@ -17,11 +17,12 @@ from machineconfig.utils.path_helper import match_file_name, sanitize_path
|
|
|
17
17
|
|
|
18
18
|
from machineconfig.utils.path_extended import PathExtended as PathExtended
|
|
19
19
|
from machineconfig.utils.accessories import get_repo_root, randstr
|
|
20
|
-
from machineconfig.scripts.python.fire_jobs_args_helper import
|
|
20
|
+
from machineconfig.scripts.python.fire_jobs_args_helper import FireJobArgs, extract_kwargs
|
|
21
21
|
import platform
|
|
22
|
-
from typing import Optional
|
|
22
|
+
from typing import Optional, Annotated
|
|
23
23
|
from pathlib import Path
|
|
24
24
|
import tomllib
|
|
25
|
+
import typer
|
|
25
26
|
# import os
|
|
26
27
|
|
|
27
28
|
|
|
@@ -328,12 +329,64 @@ python -m machineconfig.cluster.templates.cli_click --file {choice_file} """
|
|
|
328
329
|
subprocess.run(command, shell=True, check=True)
|
|
329
330
|
|
|
330
331
|
|
|
331
|
-
def main(
|
|
332
|
-
|
|
332
|
+
def main(
|
|
333
|
+
path: Annotated[str, typer.Argument(help="The directory containing the jobs")] = ".",
|
|
334
|
+
function: Annotated[Optional[str], typer.Argument(help="Function to run")] = None,
|
|
335
|
+
ve: Annotated[str, typer.Option("--ve", "-v", help="Virtual environment name")] = "",
|
|
336
|
+
cmd: Annotated[bool, typer.Option("--cmd", "-B", help="Create a cmd fire command to launch the job asynchronously")] = False,
|
|
337
|
+
interactive: Annotated[bool, typer.Option("--interactive", "-i", help="Whether to run the job interactively using IPython")] = False,
|
|
338
|
+
debug: Annotated[bool, typer.Option("--debug", "-d", help="Enable debug mode")] = False,
|
|
339
|
+
choose_function: Annotated[bool, typer.Option("--choose_function", "-c", help="Choose function interactively")] = False,
|
|
340
|
+
loop: Annotated[bool, typer.Option("--loop", "-l", help="Infinite recursion (runs again after completion/interruption)")] = False,
|
|
341
|
+
jupyter: Annotated[bool, typer.Option("--jupyter", "-j", help="Open in a jupyter notebook")] = False,
|
|
342
|
+
submit_to_cloud: Annotated[bool, typer.Option("--submit_to_cloud", "-C", help="Submit to cloud compute")] = False,
|
|
343
|
+
remote: Annotated[bool, typer.Option("--remote", "-r", help="Launch on a remote machine")] = False,
|
|
344
|
+
module: Annotated[bool, typer.Option("--module", "-m", help="Launch the main file")] = False,
|
|
345
|
+
streamlit: Annotated[bool, typer.Option("--streamlit", "-S", help="Run as streamlit app")] = False,
|
|
346
|
+
environment: Annotated[str, typer.Option("--environment", "-E", help="Choose ip, localhost, hostname or arbitrary url")] = "",
|
|
347
|
+
holdDirectory: Annotated[bool, typer.Option("--holdDirectory", "-D", help="Hold current directory and avoid cd'ing to the script directory")] = False,
|
|
348
|
+
PathExport: Annotated[bool, typer.Option("--PathExport", "-P", help="Augment the PYTHONPATH with repo root")] = False,
|
|
349
|
+
git_pull: Annotated[bool, typer.Option("--git_pull", "-g", help="Start by pulling the git repo")] = False,
|
|
350
|
+
optimized: Annotated[bool, typer.Option("--optimized", "-O", help="Run the optimized version of the function")] = False,
|
|
351
|
+
Nprocess: Annotated[int, typer.Option("--Nprocess", "-p", help="Number of processes to use")] = 1,
|
|
352
|
+
zellij_tab: Annotated[Optional[str], typer.Option("--zellij_tab", "-z", help="Open in a new zellij tab")] = None,
|
|
353
|
+
watch: Annotated[bool, typer.Option("--watch", "-w", help="Watch the file for changes")] = False,
|
|
354
|
+
kw: Annotated[Optional[list[str]], typer.Option("--kw", help="Keyword arguments to pass to the function in the form of k1 v1 k2 v2 ... (meaning k1=v1, k2=v2, etc)")] = None,
|
|
355
|
+
layout: Annotated[bool, typer.Option("--layout", "-L", help="Use layout configuration (Zellij Or WindowsTerminal)")] = False,
|
|
356
|
+
) -> None:
|
|
357
|
+
"""Main function to process fire jobs arguments."""
|
|
358
|
+
args = FireJobArgs(
|
|
359
|
+
path=path,
|
|
360
|
+
function=function,
|
|
361
|
+
ve=ve,
|
|
362
|
+
cmd=cmd,
|
|
363
|
+
interactive=interactive,
|
|
364
|
+
debug=debug,
|
|
365
|
+
choose_function=choose_function,
|
|
366
|
+
loop=loop,
|
|
367
|
+
jupyter=jupyter,
|
|
368
|
+
submit_to_cloud=submit_to_cloud,
|
|
369
|
+
remote=remote,
|
|
370
|
+
module=module,
|
|
371
|
+
streamlit=streamlit,
|
|
372
|
+
environment=environment,
|
|
373
|
+
holdDirectory=holdDirectory,
|
|
374
|
+
PathExport=PathExport,
|
|
375
|
+
git_pull=git_pull,
|
|
376
|
+
optimized=optimized,
|
|
377
|
+
Nprocess=Nprocess,
|
|
378
|
+
zellij_tab=zellij_tab,
|
|
379
|
+
watch=watch,
|
|
380
|
+
kw=kw,
|
|
381
|
+
layout=layout,
|
|
382
|
+
)
|
|
333
383
|
route(args)
|
|
334
384
|
|
|
335
385
|
|
|
386
|
+
def main_from_parser():
|
|
387
|
+
typer.run(main)
|
|
388
|
+
|
|
389
|
+
|
|
336
390
|
if __name__ == "__main__":
|
|
337
391
|
# options, func_args = parse_pyfile(file_path="C:/Users/aalsaf01/code/machineconfig/myresources/crocodile/core.py")
|
|
338
|
-
|
|
339
|
-
route(args)
|
|
392
|
+
pass
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import Optional, Annotated
|
|
3
|
+
import typer
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@dataclass
|
|
7
|
+
class FireJobArgs:
|
|
8
|
+
"""Type-safe dataclass for fire_jobs command line arguments."""
|
|
9
|
+
|
|
10
|
+
path: str = "."
|
|
11
|
+
function: Optional[str] = None
|
|
12
|
+
ve: str = ""
|
|
13
|
+
cmd: bool = False
|
|
14
|
+
interactive: bool = False
|
|
15
|
+
debug: bool = False
|
|
16
|
+
choose_function: bool = False
|
|
17
|
+
loop: bool = False
|
|
18
|
+
jupyter: bool = False
|
|
19
|
+
submit_to_cloud: bool = False
|
|
20
|
+
remote: bool = False
|
|
21
|
+
module: bool = False
|
|
22
|
+
streamlit: bool = False
|
|
23
|
+
environment: str = ""
|
|
24
|
+
holdDirectory: bool = False
|
|
25
|
+
PathExport: bool = False
|
|
26
|
+
git_pull: bool = False
|
|
27
|
+
optimized: bool = False
|
|
28
|
+
Nprocess: int = 1
|
|
29
|
+
zellij_tab: Optional[str] = None
|
|
30
|
+
watch: bool = False
|
|
31
|
+
kw: Optional[list[str]] = None
|
|
32
|
+
layout: bool = False
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def extract_kwargs(args: FireJobArgs) -> dict[str, object]:
|
|
36
|
+
str2obj = {"True": True, "False": False, "None": None}
|
|
37
|
+
if args.kw is not None:
|
|
38
|
+
assert len(args.kw) % 2 == 0, f"args.kw must be a list of even length. Got {len(args.kw)}"
|
|
39
|
+
kwargs = dict(zip(args.kw[::2], args.kw[1::2]))
|
|
40
|
+
kwargs: dict[str, object]
|
|
41
|
+
for key, value in kwargs.items():
|
|
42
|
+
if value in str2obj:
|
|
43
|
+
kwargs[key] = str2obj[str(value)]
|
|
44
|
+
if args.function is None: # if user passed arguments and forgot to pass function, then assume they want to run the main function.
|
|
45
|
+
args.choose_function = True
|
|
46
|
+
else:
|
|
47
|
+
kwargs = {}
|
|
48
|
+
return kwargs
|
|
@@ -6,39 +6,40 @@ Currently, the only way to work around this is to predifine the host in ~/.ssh/c
|
|
|
6
6
|
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import typer
|
|
10
|
+
from typing_extensions import Annotated
|
|
10
11
|
from machineconfig.utils.ssh import SSH
|
|
11
12
|
from machineconfig.utils.path_extended import PathExtended as PathExtended
|
|
12
13
|
from machineconfig.scripts.python.helpers.helpers2 import ES
|
|
13
14
|
from machineconfig.utils.accessories import pprint
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
def main(
|
|
17
|
+
def main(
|
|
18
|
+
source: Annotated[str, typer.Argument(help="Source path (machine:path)")],
|
|
19
|
+
target: Annotated[str, typer.Argument(help="Target path (machine:path)")],
|
|
20
|
+
recursive: Annotated[bool, typer.Option("--recursive", "-r", help="Send recursively.")] = False,
|
|
21
|
+
zipFirst: Annotated[bool, typer.Option("--zipFirst", "-z", help="Zip before sending.")] = False,
|
|
22
|
+
cloud: Annotated[bool, typer.Option("--cloud", "-c", help="Transfer through the cloud.")] = False,
|
|
23
|
+
) -> None:
|
|
17
24
|
print("""
|
|
18
25
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
19
26
|
┃ 🚀 FTP File Transfer
|
|
20
27
|
┃ 📋 Starting transfer process...
|
|
21
28
|
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
parser.add_argument("--zipFirst", "-z", help="Zip before sending.", action="store_true") # default is False
|
|
30
|
-
parser.add_argument("--cloud", "-c", help="Transfer through the cloud.", action="store_true") # default is False
|
|
31
|
-
|
|
32
|
-
args = parser.parse_args()
|
|
33
|
-
|
|
34
|
-
if ":" in args.source and (args.source[1] != ":" if len(args.source) > 1 else True): # avoid the case of "C:/":
|
|
29
|
+
|
|
30
|
+
# Initialize variables
|
|
31
|
+
resolved_source: str | None = None
|
|
32
|
+
resolved_target: str | None = None
|
|
33
|
+
machine: str = ""
|
|
34
|
+
|
|
35
|
+
if ":" in source and (source[1] != ":" if len(source) > 1 else True): # avoid the case of "C:/":
|
|
35
36
|
source_is_remote = True
|
|
36
37
|
|
|
37
38
|
# calculating source:
|
|
38
|
-
source_parts =
|
|
39
|
+
source_parts = source.split(":")
|
|
39
40
|
machine = source_parts[0]
|
|
40
41
|
if len(source_parts) > 1 and source_parts[1] == ES: # the source path is to be inferred from target.
|
|
41
|
-
if
|
|
42
|
+
if target == ES:
|
|
42
43
|
raise ValueError(f"""
|
|
43
44
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
44
45
|
┃ ❌ Configuration Error
|
|
@@ -46,21 +47,22 @@ def main():
|
|
|
46
47
|
┃ This creates a cyclical inference dependency
|
|
47
48
|
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
|
|
48
49
|
else:
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
target_path_obj = PathExtended(target).expanduser().absolute()
|
|
51
|
+
resolved_source = target_path_obj.collapseuser().as_posix()
|
|
52
|
+
resolved_target = target
|
|
51
53
|
else:
|
|
52
|
-
|
|
53
|
-
if
|
|
54
|
-
|
|
54
|
+
resolved_source = ":".join(source.split(":")[1:])
|
|
55
|
+
if target == ES:
|
|
56
|
+
resolved_target = None
|
|
55
57
|
else:
|
|
56
|
-
|
|
58
|
+
resolved_target = PathExtended(target).expanduser().absolute().as_posix()
|
|
57
59
|
|
|
58
|
-
elif ":" in
|
|
60
|
+
elif ":" in target and (target[1] != ":" if len(target) > 1 else True): # avoid the case of "C:/":
|
|
59
61
|
source_is_remote = False
|
|
60
|
-
target_parts =
|
|
62
|
+
target_parts = target.split(":")
|
|
61
63
|
machine = target_parts[0]
|
|
62
64
|
if len(target_parts) > 1 and target_parts[1] == ES:
|
|
63
|
-
if
|
|
65
|
+
if source == ES:
|
|
64
66
|
raise ValueError(f"""
|
|
65
67
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
66
68
|
┃ ❌ Configuration Error
|
|
@@ -68,14 +70,14 @@ def main():
|
|
|
68
70
|
┃ This creates a cyclical inference dependency
|
|
69
71
|
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
|
|
70
72
|
else:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
resolved_source = source
|
|
74
|
+
resolved_target = None
|
|
73
75
|
else:
|
|
74
|
-
|
|
75
|
-
if
|
|
76
|
-
|
|
76
|
+
resolved_target = ":".join(target.split(":")[1:])
|
|
77
|
+
if source == ES:
|
|
78
|
+
resolved_source = None
|
|
77
79
|
else:
|
|
78
|
-
|
|
80
|
+
resolved_source = PathExtended(source).expanduser().absolute().as_posix()
|
|
79
81
|
|
|
80
82
|
else:
|
|
81
83
|
raise ValueError("""
|
|
@@ -85,7 +87,7 @@ def main():
|
|
|
85
87
|
┃ Format should be: machine:path
|
|
86
88
|
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
|
|
87
89
|
|
|
88
|
-
pprint({"source": str(
|
|
90
|
+
pprint({"source": str(resolved_source), "target": str(resolved_target), "machine": machine}, "CLI Resolution")
|
|
89
91
|
|
|
90
92
|
from paramiko.ssh_exception import AuthenticationException # type: ignore
|
|
91
93
|
|
|
@@ -105,43 +107,43 @@ def main():
|
|
|
105
107
|
pwd = getpass.getpass()
|
|
106
108
|
ssh = SSH(rf"{machine}", pwd=pwd)
|
|
107
109
|
|
|
108
|
-
if
|
|
110
|
+
if cloud:
|
|
109
111
|
print("""
|
|
110
112
|
┌────────────────────────────────────────────────────────────────
|
|
111
113
|
│ ☁️ Cloud Transfer Mode
|
|
112
114
|
│ Uploading from remote to cloud...
|
|
113
115
|
└────────────────────────────────────────────────────────────────""")
|
|
114
|
-
ssh.run(f"cloud_copy {
|
|
116
|
+
ssh.run(f"cloud_copy {resolved_source} :^", desc="Uploading from remote to the cloud.").print()
|
|
115
117
|
print("""
|
|
116
118
|
┌────────────────────────────────────────────────────────────────
|
|
117
119
|
│ ⬇️ Cloud Transfer Mode
|
|
118
120
|
│ Downloading from cloud to local...
|
|
119
121
|
└────────────────────────────────────────────────────────────────""")
|
|
120
|
-
ssh.run_locally(f"cloud_copy :^ {
|
|
121
|
-
received_file = PathExtended(
|
|
122
|
+
ssh.run_locally(f"cloud_copy :^ {resolved_target}").print()
|
|
123
|
+
received_file = PathExtended(resolved_target) # type: ignore
|
|
122
124
|
else:
|
|
123
125
|
if source_is_remote:
|
|
124
|
-
assert
|
|
126
|
+
assert resolved_source is not None, """
|
|
125
127
|
❌ Path Error: Source must be a remote path (machine:path)"""
|
|
126
128
|
print(f"""
|
|
127
129
|
┌────────────────────────────────────────────────────────────────
|
|
128
130
|
│ 📥 Transfer Mode: Remote → Local
|
|
129
|
-
│ Source: {
|
|
130
|
-
│ Target: {
|
|
131
|
-
│ Options: {"ZIP compression" if
|
|
131
|
+
│ Source: {resolved_source}
|
|
132
|
+
│ Target: {resolved_target}
|
|
133
|
+
│ Options: {"ZIP compression" if zipFirst else "No compression"}, {"Recursive" if recursive else "Non-recursive"}
|
|
132
134
|
└────────────────────────────────────────────────────────────────""")
|
|
133
|
-
received_file = ssh.copy_to_here(source=
|
|
135
|
+
received_file = ssh.copy_to_here(source=resolved_source, target=resolved_target, z=zipFirst, r=recursive)
|
|
134
136
|
else:
|
|
135
|
-
assert
|
|
137
|
+
assert resolved_source is not None, """
|
|
136
138
|
❌ Path Error: Target must be a remote path (machine:path)"""
|
|
137
139
|
print(f"""
|
|
138
140
|
┌────────────────────────────────────────────────────────────────
|
|
139
141
|
│ 📤 Transfer Mode: Local → Remote
|
|
140
|
-
│ Source: {
|
|
141
|
-
│ Target: {
|
|
142
|
-
│ Options: {"ZIP compression" if
|
|
142
|
+
│ Source: {resolved_source}
|
|
143
|
+
│ Target: {resolved_target}
|
|
144
|
+
│ Options: {"ZIP compression" if zipFirst else "No compression"}, {"Recursive" if recursive else "Non-recursive"}
|
|
143
145
|
└────────────────────────────────────────────────────────────────""")
|
|
144
|
-
received_file = ssh.copy_from_here(source=
|
|
146
|
+
received_file = ssh.copy_from_here(source=resolved_source, target=resolved_target, z=zipFirst, r=recursive)
|
|
145
147
|
|
|
146
148
|
if source_is_remote and isinstance(received_file, PathExtended):
|
|
147
149
|
print(f"""
|
|
@@ -157,5 +159,10 @@ def main():
|
|
|
157
159
|
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
|
|
158
160
|
|
|
159
161
|
|
|
162
|
+
def main_from_parser() -> None:
|
|
163
|
+
"""Entry point function that uses typer to parse arguments and call main."""
|
|
164
|
+
typer.run(main)
|
|
165
|
+
|
|
166
|
+
|
|
160
167
|
if __name__ == "__main__":
|
|
161
|
-
|
|
168
|
+
main_from_parser()
|