machineconfig 5.14__py3-none-any.whl → 5.15__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.

@@ -8,8 +8,8 @@ def analyze_repo_development(repo_path: str = typer.Argument(..., help="Path to
8
8
  count_lines_path = Path(count_lines.__file__)
9
9
  # --project $HOME/code/machineconfig
10
10
  cmd = f"""uv run --python 3.13 --with machineconfig[plot] {count_lines_path} analyze-over-time {repo_path}"""
11
- from machineconfig.utils.code import run_script
12
- run_script(cmd)
11
+ from machineconfig.utils.code import run_shell_script
12
+ run_shell_script(cmd)
13
13
 
14
14
 
15
15
  if __name__ == "__main__":
@@ -145,8 +145,8 @@ from pathlib import Path
145
145
  else: profile = ""
146
146
  fire_line = f"uv run --python 3.13 --with machineconfig[plot] {interpreter} {interactivity} {profile} {str(pyfile)}"
147
147
 
148
- from machineconfig.utils.code import run_script
149
- run_script(fire_line)
148
+ from machineconfig.utils.code import run_shell_script
149
+ run_shell_script(fire_line)
150
150
 
151
151
 
152
152
  def arg_parser() -> None:
@@ -221,8 +221,8 @@ python -m machineconfig.cluster.templates.cli_click --file {choice_file} """
221
221
  command = "$ErrorActionPreference = 'SilentlyContinue';\n" + command + "\nStart-Sleep -Seconds 0.5"
222
222
  else:
223
223
  raise NotImplementedError(f"Platform {platform.system()} not supported.")
224
- from machineconfig.utils.code import run_script
225
- run_script(command)
224
+ from machineconfig.utils.code import run_shell_script
225
+ run_shell_script(command)
226
226
 
227
227
 
228
228
  def main(
@@ -27,27 +27,23 @@ from questionary import Choice
27
27
  from rich.console import Console
28
28
  from rich.panel import Panel
29
29
  from rich.text import Text
30
- from machineconfig.utils.code import run_script as run_command
30
+ from machineconfig.utils.code import run_shell_script
31
31
 
32
32
  _ = cast
33
33
  console = Console()
34
34
 
35
35
 
36
36
  def display_header() -> None:
37
- """Display the script header."""
38
37
  header_text = Text("MACHINE CONFIGURATION", style="bold magenta")
39
38
  subtitle_text = Text("Interactive Installation Script", style="italic cyan")
40
39
  console.print(Panel(f"📦 {header_text}\n{subtitle_text}", border_style="blue", padding=(1, 2)))
41
40
  def display_completion_message() -> None:
42
- """Display completion message."""
43
41
  completion_text = Text("INSTALLATION COMPLETE", style="bold green")
44
42
  subtitle_text = Text("System setup finished successfully", style="italic green")
45
43
  console.print(Panel(f"✨ {completion_text}\n{subtitle_text}\n\n🎉 Your system has been configured successfully!\n🔄 You may need to reboot to apply all changes.", border_style="green", padding=(1, 2)))
46
44
  def display_dotfiles_instructions() -> None:
47
- """Display instructions for dotfiles migration."""
48
45
  header_text = Text("DOTFILES MIGRATION", style="bold yellow")
49
46
  subtitle_text = Text("Configuration transfer options", style="italic yellow")
50
-
51
47
  instructions = """
52
48
  🖱️ [bold blue]Method 1: USING MOUSE WITHOUT KB OR BROWSER SHARE[/bold blue]
53
49
  On original machine, run:
@@ -65,32 +61,9 @@ def display_dotfiles_instructions() -> None:
65
61
  [dim]cd ~
66
62
  cloud_copy SHARE_URL . --config ss[/dim]
67
63
  (requires symlinks to be created first)"""
68
-
69
64
  console.print(Panel(f"📂 {header_text}\n{subtitle_text}\n\n{instructions}", border_style="yellow", padding=(1, 2)))
70
65
 
71
66
 
72
- def install_windows_desktop_apps() -> bool:
73
- """Install Windows desktop applications using winget."""
74
- if system() != "Windows":
75
- console.print("❌ This function is only available on Windows systems.", style="bold red")
76
- return False
77
- console.print("🔧 Installing Nerd Fonts", style="bold cyan")
78
- try:
79
- from machineconfig.jobs.installer.custom_dev.nerfont_windows_helper import install_nerd_fonts
80
- install_nerd_fonts()
81
- console.print("✅ Nerd Fonts installed successfully", style="bold green")
82
- except Exception as e:
83
- console.print(f"❌ Error installing Nerd Fonts: {e}", style="bold red")
84
- console.print("🔧 Setting Windows Terminal settings", style="bold cyan")
85
- try:
86
- from machineconfig.setup_windows.wt_and_pwsh.set_wt_settings import main as set_wt_settings_main
87
- set_wt_settings_main()
88
- console.print("✅ Windows Terminal settings configured successfully", style="bold green")
89
- except Exception as e:
90
- console.print(f"❌ Error setting Windows Terminal settings: {e}", style="bold red")
91
- return True
92
-
93
-
94
67
  def get_installation_choices() -> list[str]:
95
68
  """Get user choices for installation options."""
96
69
  choices = [
@@ -114,11 +87,15 @@ def get_installation_choices() -> list[str]:
114
87
 
115
88
 
116
89
  def execute_installations(selected_options: list[str]) -> None:
117
- """Execute the selected installation options."""
118
90
  if system() == "Windows":
119
- run_command("$HOME/.local/bin/uv.exe self update")
91
+ from machineconfig import setup_windows as module
92
+ script_path = Path(module.__file__).parent / "ve.ps1"
93
+ run_shell_script(script_path.read_text(encoding="utf-8"))
120
94
  else:
121
- run_command("$HOME/.local/bin/uv self update")
95
+ from machineconfig import setup_linux as module
96
+ script_path = Path(module.__file__).parent / "ve.sh"
97
+ run_shell_script(script_path.read_text(encoding="utf-8"))
98
+
122
99
  for maybe_a_group in selected_options:
123
100
  if maybe_a_group in ("ESSENTIAL", "DEV", "ESSENTIAL_SYSTEM", "DEV_SYSTEM", "TerminalEyeCandy"):
124
101
  console.print(Panel("⚡ [bold bright_yellow]CLI APPLICATIONS[/bold bright_yellow]\n[italic]Command-line tools installation[/italic]", border_style="bright_yellow"))
@@ -129,21 +106,25 @@ def execute_installations(selected_options: list[str]) -> None:
129
106
  console.print("✅ CLI applications installed successfully", style="bold green")
130
107
  except Exception as e:
131
108
  console.print(f"❌ Error installing CLI applications: {e}", style="bold red")
132
- run_command(". $HOME/.bashrc")
109
+ run_shell_script(". $HOME/.bashrc")
133
110
 
134
111
  if "upgrade_system" in selected_options:
135
112
  if system() == "Windows":
136
113
  console.print("❌ System upgrade is not applicable on Windows via this script.", style="bold red")
137
114
  elif system() == "Linux":
138
115
  console.print(Panel("🔄 [bold magenta]SYSTEM UPDATE[/bold magenta]\n[italic]Package management[/italic]", border_style="magenta"))
139
- run_command("sudo nala upgrade -y")
116
+ run_shell_script("sudo nala upgrade -y")
140
117
  else:
141
118
  console.print(f"❌ System upgrade not supported on {system()}.", style="bold red")
142
119
  if "install_repos" in selected_options:
143
120
  console.print(Panel("🐍 [bold green]PYTHON ENVIRONMENT[/bold green]\n[italic]Virtual environment setup[/italic]", border_style="green"))
144
- from machineconfig import setup_linux as module
145
- script = Path(module.__file__).parent / "repos.sh"
146
- run_command(f"bash {script}")
121
+ if system() == "Windows":
122
+ from machineconfig import setup_windows as module
123
+ script_path = Path(module.__file__).parent / "repos.ps1"
124
+ else:
125
+ from machineconfig import setup_linux as module
126
+ script_path = Path(module.__file__).parent / "repos.sh"
127
+ run_shell_script(script_path.read_text(encoding="utf-8"))
147
128
 
148
129
  if "install_ssh_server" in selected_options:
149
130
  console.print(Panel("🔒 [bold red]SSH SERVER[/bold red]\n[italic]Remote access setup[/italic]", border_style="red"))
@@ -152,9 +133,9 @@ def execute_installations(selected_options: list[str]) -> None:
152
133
  Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
153
134
  Start-Service sshd
154
135
  Set-Service -Name sshd -StartupType 'Automatic'"""
155
- run_command(f'powershell -Command "{powershell_script}"')
136
+ run_shell_script(f'powershell -Command "{powershell_script}"')
156
137
  else:
157
- run_command("sudo nala install openssh-server -y")
138
+ run_shell_script("sudo nala install openssh-server -y")
158
139
 
159
140
  if "install_shell_profile" in selected_options:
160
141
  console.print(Panel("🐚 [bold green]SHELL PROFILE[/bold green]\n[italic]Shell configuration setup[/italic]", border_style="green"))
@@ -179,8 +160,8 @@ Set-Service -Name sshd -StartupType 'Automatic'"""
179
160
  console.print("✅ Symlinks created successfully", style="bold green")
180
161
  except Exception as e:
181
162
  console.print(f"❌ Error creating symlinks: {e}", style="bold red")
182
- run_command("sudo chmod 600 $HOME/.ssh/*")
183
- run_command("sudo chmod 700 $HOME/.ssh")
163
+ run_shell_script("sudo chmod 600 $HOME/.ssh/*")
164
+ run_shell_script("sudo chmod 700 $HOME/.ssh")
184
165
  else:
185
166
  console.print("⏭️ Skipping symlink creation - finish dotfiles transfer first", style="yellow")
186
167
 
@@ -200,7 +181,10 @@ Set-Service -Name sshd -StartupType 'Automatic'"""
200
181
  console.print(f"❌ Error retrieving backup data: {e}", style="bold red")
201
182
 
202
183
  if "install_windows_desktop" in selected_options:
203
- install_windows_desktop_apps()
184
+ from machineconfig.jobs.installer.custom_dev.nerfont_windows_helper import install_nerd_fonts
185
+ install_nerd_fonts()
186
+ from machineconfig.setup_windows.wt_and_pwsh.set_wt_settings import main as set_wt_settings_main
187
+ set_wt_settings_main()
204
188
 
205
189
 
206
190
  def main() -> None:
@@ -210,7 +194,7 @@ def main() -> None:
210
194
  if not selected_options:
211
195
  console.print("❌ No options selected. Exiting...", style="bold red")
212
196
  sys.exit(0)
213
- console.print(f"\n✅ Selected options: {', '.join(selected_options)}", style="bold green")
197
+ console.print(f"\n✅ Selected options: {'\n'.join(selected_options)}", style="bold green")
214
198
  proceed = questionary.confirm("🚀 Proceed with installation?", default=True).ask()
215
199
  if not proceed:
216
200
  console.print("❌ Installation cancelled.", style="bold red")
@@ -132,8 +132,8 @@ def main(
132
132
  #!/bin/bash
133
133
  ttyd --writable -t enableSixel=true {ssl_args} --port {port} --credential "{username}:{password}" -t 'theme={{"background": "black"}}' {start_command}
134
134
  """
135
- from machineconfig.utils.code import run_script
136
- run_script(code)
135
+ from machineconfig.utils.code import run_shell_script
136
+ run_shell_script(code)
137
137
 
138
138
 
139
139
  def main_with_parser():
@@ -10,3 +10,4 @@ Invoke-WebRequest -Uri "https://raw.githubusercontent.com/thisismygitrepo/machin
10
10
  rm ve.ps1
11
11
 
12
12
  uv run --python 3.13 --with machineconfig devops interactive
13
+ # uv run --python 3.13 --with machineconfig https://raw.githubusercontent.com/thisismygitrepo/machineconfig/ee4f69e838e1acbb275bfb5a3d3faee23345f2a8/src/machineconfig/scripts/python/devops.py
@@ -98,7 +98,7 @@ def print_code(code: str, lexer: str, desc: str, subtitle: str = ""):
98
98
  console.print(Panel(Syntax(code=code, lexer=lexer), title=f"📄 {desc}", subtitle=subtitle), style="bold red")
99
99
 
100
100
 
101
- def run_script(program: str):
101
+ def run_shell_script(program: str):
102
102
  import tempfile
103
103
  if platform.system() == "Windows":
104
104
  suffix = ".ps1"
@@ -6,21 +6,28 @@ import random
6
6
  from pathlib import Path
7
7
  from rich import pretty
8
8
  from rich.console import Console
9
- from rich.text import Text
10
9
  from typing import Optional
11
10
 
12
11
 
13
12
  def print_header():
14
13
  console = Console()
15
14
  pretty.install()
16
- _header = f"🐍 Python {platform.python_version()} in VE `{os.getenv('VIRTUAL_ENV')}` On {platform.system()} 🐍"
17
- _header = Text(_header)
18
- _header.stylize("bold blue")
19
- console.rule(_header, style="bold red", align="center")
20
- version = "14.5"
21
- _ = Text(f"✨ 🐊 Crocodile Shell {version} ✨" + f" Made with 🐍 | Built with ❤️. Running @ {Path.cwd()}")
22
- _.stylize("#05f8fc on #293536")
23
- console.print(_)
15
+
16
+ # Environment Information Panel
17
+ from rich.panel import Panel
18
+ from rich.table import Table
19
+
20
+ table = Table(show_header=False, show_edge=False, pad_edge=False)
21
+ table.add_column("Label", style="cyan", no_wrap=True)
22
+ table.add_column("Value", style="white")
23
+
24
+ table.add_row("Python Version", platform.python_version())
25
+ table.add_row("Operating System", platform.system())
26
+ table.add_row("Virtual Environment", os.getenv('VIRTUAL_ENV', 'None'))
27
+ table.add_row("Running @", str(Path.cwd()))
28
+
29
+
30
+ console.print(Panel(table, title="[bold blue]✨ 🐊 Crocodile Shell 14.5 ✨ Made with 🐍 | Built with ❤️[/bold blue]", border_style="blue"))
24
31
  def print_logo(logo: str):
25
32
  from machineconfig.utils.files.ascii_art import font_box_color, character_color, character_or_box_color
26
33
  if platform.system() == "Windows":
@@ -125,12 +125,12 @@ def install_group(package_group: PACKAGE_GROUPS):
125
125
  else:
126
126
  options_system = get_installers_system_groups()
127
127
  from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
128
- from machineconfig.utils.code import run_script
128
+ from machineconfig.utils.code import run_shell_script
129
129
  for an_item in options_system:
130
130
  if an_item["appName"] == package_group:
131
131
  program = an_item["fileNamePattern"][get_normalized_arch()][get_os_name()]
132
132
  if program is not None:
133
- run_script(program)
133
+ run_shell_script(program)
134
134
  break
135
135
 
136
136
 
@@ -147,7 +147,7 @@ class Terminal:
147
147
  return os.getuid() == 0 # Check for root on Posix
148
148
  '''
149
149
 
150
- # def run_script(self, script: str, shell: SHELLS = "default", verbose: bool = False):
150
+ # def run_shell_script(self, script: str, shell: SHELLS = "default", verbose: bool = False):
151
151
  # if self.machine == "Linux":
152
152
  # script = "#!/bin/bash" + "\n" + script # `source` is only available in bash.
153
153
  # script_file = PathExtended.tmpfile(name="tmp_shell_script", suffix=".ps1" if self.machine == "Windows" else ".sh", folder="tmp_scripts")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.14
3
+ Version: 5.15
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -143,8 +143,8 @@ machineconfig/scripts/python/cloud_mount.py,sha256=GwcXbd5ohoHGESfX5edtCEl2-umDD
143
143
  machineconfig/scripts/python/cloud_repo_sync.py,sha256=8dnlHbQqRymPRU0v01pNIuaIvFeY4fReP7ewNSSCt34,9765
144
144
  machineconfig/scripts/python/cloud_sync.py,sha256=RWGpAfJ9fnN18yNBSgN44dzA38Hmd4879JL5r2pcyrM,3514
145
145
  machineconfig/scripts/python/count_lines.py,sha256=ZexMRsV70pe9fhLbGuens9EP5gCf078EwTDRHRZo5A0,15960
146
- machineconfig/scripts/python/count_lines_frontend.py,sha256=tqUiJggHC8_uy5ZV81i_ycxM1x0j-2nJin3e3FJqLXs,521
147
- machineconfig/scripts/python/croshell.py,sha256=ggLy1X45Dqo8AV8qUY2-O74r7yQNc9nnRhzt8RisMX8,6535
146
+ machineconfig/scripts/python/count_lines_frontend.py,sha256=bIha5lKjWxKiO1OJAbt9gKzVyECXFbWKWIy69bdyaJg,533
147
+ machineconfig/scripts/python/croshell.py,sha256=zHUhOqWG81AOTeawZoDkpURnV1fAisY2lyZ0apvlmVY,6547
148
148
  machineconfig/scripts/python/devops.py,sha256=JB4_M6S-nO3yqas8wtAlU2r6jsmHu_nlq7aoEOH-54Y,3486
149
149
  machineconfig/scripts/python/devops_add_identity.py,sha256=wvjNgqsLmqD2SxbNCW_usqfp0LI-TDvcJJKGOWt2oFw,3775
150
150
  machineconfig/scripts/python/devops_add_ssh_key.py,sha256=BXB-9RvuSZO0YTbnM2azeABW2ngLW4SKhhAGAieMzfw,6873
@@ -155,14 +155,14 @@ machineconfig/scripts/python/fire_agents_help_launch.py,sha256=1ymWiszfjCyPv3ofi
155
155
  machineconfig/scripts/python/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
156
156
  machineconfig/scripts/python/fire_agents_helper_types.py,sha256=zKu8Vr6iucaGSkCm_Tkt_WrYU7-6Nript3coYyzTXzY,295
157
157
  machineconfig/scripts/python/fire_agents_load_balancer.py,sha256=mpqx3uaQdBXYieuvhdK-qsvLepf9oIMo3pwPj9mSEDI,1079
158
- machineconfig/scripts/python/fire_jobs.py,sha256=Mg7M6pm3PvyJlnMGYas8hEVYLIJYiyy-pBiRWCGLFjQ,15895
158
+ machineconfig/scripts/python/fire_jobs.py,sha256=VIZZOjnE0u1g7U1jmYN3YUTFsLt8MM4_z67U951oEm4,15907
159
159
  machineconfig/scripts/python/fire_jobs_args_helper.py,sha256=-gl5I-26Op12nToIpAA-YEpvn8MMkNlI5XjhUbj50I0,4273
160
160
  machineconfig/scripts/python/fire_jobs_route_helper.py,sha256=EFWsg6F9TeSAtYQec57WtPopUbm2euGZTUZv6J4RhNE,3026
161
161
  machineconfig/scripts/python/fire_jobs_streamlit_helper.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
162
  machineconfig/scripts/python/ftpx.py,sha256=QfQTp-6jQP6yxfbLc5sKxiMtTgAgc8sjN7d17_uLiZc,9400
163
163
  machineconfig/scripts/python/get_zellij_cmd.py,sha256=e35-18hoXM9N3PFbvbizfkNY_-63iMicieWE3TbGcCQ,576
164
164
  machineconfig/scripts/python/gh_models.py,sha256=3BLfW25mBRiPO5VKtVm-nMlKLv-PaZDw7mObajq6F6M,5538
165
- machineconfig/scripts/python/interactive.py,sha256=wjxwxU5KtCh8MgujCQjEQctZPpKfPc71lMVFLhODQFE,11769
165
+ machineconfig/scripts/python/interactive.py,sha256=gxAaVasW37TbSPswiyli-ImNQLU8jQbCb6Csnk5Igdg,11188
166
166
  machineconfig/scripts/python/mount_nfs.py,sha256=aECrL64j9g-9rF49sVJAjGmzaoGgcMnl3g9v17kQF4c,3239
167
167
  machineconfig/scripts/python/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
168
168
  machineconfig/scripts/python/mount_ssh.py,sha256=k2fKq3f5dKq_7anrFOlqvJoI_3U4EWNHLRZ1o3Lsy6M,2268
@@ -176,7 +176,7 @@ machineconfig/scripts/python/repos_helper_record.py,sha256=dtnnInQPn00u1cyr0oOgJ
176
176
  machineconfig/scripts/python/repos_helper_update.py,sha256=AYyKIB7eQ48yoYmFjydIhRI1lV39TBv_S4_LCa-oKuQ,11042
177
177
  machineconfig/scripts/python/scheduler.py,sha256=rKhssuxkD697EY6qaV6CSdNhxpAQLDWO4fE8GMCQ9FA,3061
178
178
  machineconfig/scripts/python/sessions.py,sha256=e8gL0fVWOZ5WcJsA3ZWfqJBc5c7g-rMlVf0SF63rIaU,8547
179
- machineconfig/scripts/python/share_terminal.py,sha256=pqKnly6QRtcPmw0lLyRN6NRuK2bntM1hOdqQfw5jJnc,5324
179
+ machineconfig/scripts/python/share_terminal.py,sha256=D9zwPZk4cV2ix5f-fHDfp0awtMsI5C5ANlfv1vW-VKE,5336
180
180
  machineconfig/scripts/python/snapshot.py,sha256=aDvKeoniZaeTSNv9zWBUajaj2yagAxVdfuvO1_tgq5Y,1026
181
181
  machineconfig/scripts/python/start_slidev.py,sha256=FAJ1_WkAQ7KcbRZ3cSN_72NDgV_flRrwxmXv1imyulI,4897
182
182
  machineconfig/scripts/python/start_terminals.py,sha256=DRWbMZumhPmL0DvvsCsbRNFL5AVQn1SgaziafTio3YQ,6149
@@ -370,13 +370,13 @@ machineconfig/setup_windows/others/obs.ps1,sha256=2andchcXpxS3rqZjGaMpY5VShxTAKW
370
370
  machineconfig/setup_windows/web_shortcuts/all.ps1,sha256=L03JJ4Jua_bzgtF3kuDOkuQ-Nqaj_ZcV3CFEkCHD1WI,908
371
371
  machineconfig/setup_windows/web_shortcuts/ascii_art.ps1,sha256=pUVTtgKHOdgaK3hxz7JoMZzTyQ7vm2RfE_OJgB7e4cw,1270
372
372
  machineconfig/setup_windows/web_shortcuts/croshell.ps1,sha256=cTQnegGLGYhuFY3YuuAj2ortN__adA2dznk2E737h4A,644
373
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=-76toOluRnxtgo6NuAHgHWMnZQT3zroeCBBLkMTd13g,522
373
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=RMUq_GNf0FCD_o4g4BEbBRg098VOyUEh9ezL2rRNEOI,714
374
374
  machineconfig/setup_windows/web_shortcuts/ssh.ps1,sha256=Tj9axEugJE7I3AQ0w1eUGLPb8ufME5jvU5S7VUjlLJE,424
375
375
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
376
376
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
377
377
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
378
378
  machineconfig/utils/accessories.py,sha256=W_9dLzjwNTW5JQk_pe3B2ijQ1nA2-8Kdg2r7VBtzgQs,4340
379
- machineconfig/utils/code.py,sha256=S7uY5kLPxLcLlR7B2KHeYkenlysAYSPcxFiUYHXSxX8,5646
379
+ machineconfig/utils/code.py,sha256=Q44GVBgI5wEphGAKsMmXE2wEtzjJngy5pfJV9NCJ8EA,5652
380
380
  machineconfig/utils/installer.py,sha256=xYM6tyctqLmr2lLXUKWgobTRufGIua31uspMXP4HGjY,9945
381
381
  machineconfig/utils/io.py,sha256=ZXB3aataS1IZ_0WMcCRSmoN1nbkvEO-bWYcs-TpngqU,2872
382
382
  machineconfig/utils/links.py,sha256=S0XICdbcFESUqm5RINDrOf3O8G1b7QEADncXXcC8IQc,15520
@@ -389,7 +389,7 @@ machineconfig/utils/scheduler.py,sha256=pOzpOowapfC6Fl_k82JbESmLS8eh-zk4FyjJyUX1
389
389
  machineconfig/utils/scheduling.py,sha256=RF1iXJpqf4Dg18jdZWtBixz97KAHC6VKYqTFSpdLWuc,11188
390
390
  machineconfig/utils/source_of_truth.py,sha256=GnjcVkKm11RyZFHGnPbne5YDEBYoZ5yryBNkpfGC7O4,854
391
391
  machineconfig/utils/ssh.py,sha256=KTUp42nT4Vuh350_EvArQoR2N5iVXrc2BFld93fRUX4,20919
392
- machineconfig/utils/terminal.py,sha256=Jqojb1xta_SLftUIXmWK7Mn87e1NJXavC5Hbf3fRT-I,11795
392
+ machineconfig/utils/terminal.py,sha256=IlmOByfQG-vjhaFFxxzU5rWzP5_qUzmalRfuey3PAmc,11801
393
393
  machineconfig/utils/upgrade_packages.py,sha256=H96zVJEWXJW07nh5vhjuSCrPtXGqoUb7xeJsFYYdmCI,3330
394
394
  machineconfig/utils/ve.py,sha256=L-6PBXnQGXThiwWgheJMQoisAZOZA6SVCbGw2J-GFnI,2414
395
395
  machineconfig/utils/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -397,19 +397,19 @@ machineconfig/utils/ai/generate_file_checklist.py,sha256=ajbmhcBToRugl75c_KZRq2X
397
397
  machineconfig/utils/cloud/onedrive/setup_oauth.py,sha256=ZTVkqgrwbV_EoPvyT8dyOTUE0ur3BW4sa9o6QYtt5Bo,2341
398
398
  machineconfig/utils/cloud/onedrive/transaction.py,sha256=m-aNcnWj_gfZVvJOSpkdIqjZxU_3nXx2CA-qKbQgP3I,26232
399
399
  machineconfig/utils/files/ascii_art.py,sha256=cNJaJC07vx94fS44-tzgfbfBeCwXVrgpnWGBLUnfC38,5212
400
- machineconfig/utils/files/headers.py,sha256=crnjWt5R0rmZOQ45KhF6HtFpsUm1oeCPoYeptR4o-U0,3437
400
+ machineconfig/utils/files/headers.py,sha256=L54G11DfLadyZGyQXSQ7y8UI_tNvlld7zqP4qEAWL88,3647
401
401
  machineconfig/utils/files/read.py,sha256=dyf-DDkLnCKgwmRH0Af4UtBIZh6iMUaYmjgJtdSGRFg,4744
402
402
  machineconfig/utils/installer_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
403
403
  machineconfig/utils/installer_utils/github_release_bulk.py,sha256=WJf_qZlF02SmIc6C7o1h4Gy4gAaJAfeAS8O9s2Itj-k,6535
404
- machineconfig/utils/installer_utils/installer.py,sha256=_XcatwArhwRepMYfaGYpjd-lqNGfijnjeZB8l4uKd-c,9266
404
+ machineconfig/utils/installer_utils/installer.py,sha256=H9wukQBSZDLlpB6Xn4Sa2hSV8iCUr9UQChcgOa3u-L8,9278
405
405
  machineconfig/utils/installer_utils/installer_abc.py,sha256=VTHe5O3jA6k6rnUnXhgnEf6mVvkVQlEuXjzYLEDgEAs,11140
406
406
  machineconfig/utils/installer_utils/installer_class.py,sha256=fN4Nfqn4tlSfQGW52A_Ipi6GT6utC30ZuSj5WM_yxIY,20252
407
407
  machineconfig/utils/schemas/fire_agents/fire_agents_input.py,sha256=pTxvLzIpD5RF508lUUBBkWcc4V1B10J4ylvVgVGkcM0,2037
408
408
  machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoSpdmTIdgS9LS-RvE-QZ-D260tD3o,1214
409
409
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
410
410
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
411
- machineconfig-5.14.dist-info/METADATA,sha256=mFhObJHO12yrWPAN5ujBFZSEscyXA61ekpyxdMlytj0,8030
412
- machineconfig-5.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
413
- machineconfig-5.14.dist-info/entry_points.txt,sha256=2afE1mw-o4MUlfxyX73SV02XaQI4SV_LdL2r6_CzhPU,1074
414
- machineconfig-5.14.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
415
- machineconfig-5.14.dist-info/RECORD,,
411
+ machineconfig-5.15.dist-info/METADATA,sha256=8JyyiMszEzLFyVI_-3rScZA_eBYO8Jd8dPOj3FyGHjQ,8030
412
+ machineconfig-5.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
413
+ machineconfig-5.15.dist-info/entry_points.txt,sha256=2afE1mw-o4MUlfxyX73SV02XaQI4SV_LdL2r6_CzhPU,1074
414
+ machineconfig-5.15.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
415
+ machineconfig-5.15.dist-info/RECORD,,