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

@@ -221,7 +221,6 @@ APP_SUMMARY_PATH = CONFIG_ROOT.joinpath(f"profile/records/{platform.system().low
221
221
  # # cli_installers = get_cli_py_installers()
222
222
  # # else: raise NotImplementedError(f"Platform {platform.system().lower()} is not supported yet.")
223
223
 
224
- # if name == "essentials":
225
224
  # print(f"""
226
225
  # {'=' * 150}
227
226
  # 📥 DOWNLOAD | Downloading {len(self.data)} apps...
@@ -2144,6 +2144,23 @@
2144
2144
  }
2145
2145
  }
2146
2146
  },
2147
+ {
2148
+ "appName": "cline",
2149
+ "repoURL": "CMD",
2150
+ "doc": "Cline agent extension in the terminal",
2151
+ "fileNamePattern": {
2152
+ "amd64": {
2153
+ "linux": "npm install -g cline",
2154
+ "windows": "npm install -g cline",
2155
+ "macos": "npm install -g cline"
2156
+ },
2157
+ "arm64": {
2158
+ "linux": "npm install -g cline",
2159
+ "windows": "npm install -g cline",
2160
+ "macos": "npm install -g cline"
2161
+ }
2162
+ }
2163
+ },
2147
2164
  {
2148
2165
  "appName": "copilot",
2149
2166
  "repoURL": "CMD",
@@ -127,7 +127,7 @@ def croshell(
127
127
  fire_line = f"uv run --with visidata,pyarrow vd {str(file_obj)}"
128
128
  elif marimo:
129
129
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--with marimo --project "{str(Path.home().joinpath("code/machineconfig"))}" """
130
- else: requirements = """--with "marimo,machineconfig[plot]>=6.51" """
130
+ else: requirements = """--with "marimo,machineconfig[plot]>=6.52" """
131
131
  fire_line = f"""
132
132
  cd {str(pyfile.parent)}
133
133
  uv run --with "marimo" marimo convert {pyfile.name} -o marimo_nb.py
@@ -135,14 +135,14 @@ uv run {requirements} marimo edit --host 0.0.0.0 marimo_nb.py
135
135
  """
136
136
  elif jupyter:
137
137
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with jupyterlab """
138
- else: requirements = """--with "machineconfig[plot]>=6.51" """
138
+ else: requirements = """--with "machineconfig[plot]>=6.52" """
139
139
  fire_line = f"uv run {requirements} jupyter-lab {str(nb_target)}"
140
140
  elif vscode:
141
141
  fire_line = f"""
142
142
  cd {str(pyfile.parent)}
143
143
  uv init --python 3.14
144
144
  uv venv
145
- uv add "machineconfig[plot]>=6.51"
145
+ uv add "machineconfig[plot]>=6.52"
146
146
  # code serve-web
147
147
  code --new-window {str(pyfile)}
148
148
  """
@@ -150,7 +150,7 @@ code --new-window {str(pyfile)}
150
150
  if interpreter == "ipython": profile = f" --profile {ipython_profile} --no-banner"
151
151
  else: profile = ""
152
152
  if Path.home().joinpath("code/machineconfig").exists(): ve_line = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
153
- else: ve_line = """--with "machineconfig[plot]>=6.51" """
153
+ else: ve_line = """--with "machineconfig[plot]>=6.52" """
154
154
  # ve_path_maybe, ipython_profile_maybe = get_ve_path_and_ipython_profile(Path.cwd())
155
155
  # --python 3.14
156
156
  fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=6.51",
5
+ # "machineconfig>=6.52",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -204,19 +204,22 @@ def fire(
204
204
  cmd: Annotated[bool, typer.Option("--cmd", "-B", help="Create a cmd fire command to launch the job asynchronously")] = False,
205
205
  interactive: Annotated[bool, typer.Option("--interactive", "-i", help="Whether to run the job interactively using IPython")] = False,
206
206
  debug: Annotated[bool, typer.Option("--debug", "-d", help="Enable debug mode")] = False,
207
- choose_function: Annotated[bool, typer.Option("--choose_function", "-c", help="Choose function interactively")] = False,
207
+ choose_function: Annotated[bool, typer.Option("--choose-function", "-c", help="Choose function interactively")] = False,
208
208
  loop: Annotated[bool, typer.Option("--loop", "-l", help="Infinite recursion (runs again after completion/interruption)")] = False,
209
209
  jupyter: Annotated[bool, typer.Option("--jupyter", "-j", help="Open in a jupyter notebook")] = False,
210
- submit_to_cloud: Annotated[bool, typer.Option("--submit_to_cloud", "-C", help="Submit to cloud compute")] = False,
211
- remote: Annotated[bool, typer.Option("--remote", "-r", help="Launch on a remote machine")] = False,
212
210
  module: Annotated[bool, typer.Option("--module", "-m", help="Launch the main file")] = False,
211
+ optimized: Annotated[bool, typer.Option("--optimized", "-O", help="Run the optimized version of the function")] = False,
212
+ zellij_tab: Annotated[Optional[str], typer.Option("--zellij-tab", "-z", help="Open in a new zellij tab")] = None,
213
+
214
+ submit_to_cloud: Annotated[bool, typer.Option("--submit-to-cloud", "-C", help="Submit to cloud compute")] = False,
215
+ remote: Annotated[bool, typer.Option("--remote", "-r", help="Launch on a remote machine")] = False,
216
+
213
217
  streamlit: Annotated[bool, typer.Option("--streamlit", "-S", help="Run as streamlit app")] = False,
214
218
  environment: Annotated[str, typer.Option("--environment", "-E", help="Choose ip, localhost, hostname or arbitrary url")] = "",
215
219
  holdDirectory: Annotated[bool, typer.Option("--holdDirectory", "-D", help="Hold current directory and avoid cd'ing to the script directory")] = False,
216
220
  PathExport: Annotated[bool, typer.Option("--PathExport", "-P", help="Augment the PYTHONPATH with repo root")] = False,
217
- git_pull: Annotated[bool, typer.Option("--git_pull", "-g", help="Start by pulling the git repo")] = False,
218
- optimized: Annotated[bool, typer.Option("--optimized", "-O", help="Run the optimized version of the function")] = False,
219
- zellij_tab: Annotated[Optional[str], typer.Option("--zellij_tab", "-z", help="Open in a new zellij tab")] = None,
221
+
222
+ git_pull: Annotated[bool, typer.Option("--git-pull", "-g", help="Start by pulling the git repo")] = False,
220
223
  watch: Annotated[bool, typer.Option("--watch", "-w", help="Watch the file for changes")] = False,
221
224
  ) -> None:
222
225
  """Main function to process fire jobs arguments."""
@@ -254,7 +257,6 @@ def fire(
254
257
  except Exception as e:
255
258
  # For other exceptions, print clean error message and exit
256
259
  import sys
257
-
258
260
  print(f"❌ Error: {e}", file=sys.stderr)
259
261
  sys.exit(1)
260
262
 
@@ -36,13 +36,14 @@ def shell():
36
36
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
37
37
  create_default_shell_profile()
38
38
 
39
+
39
40
  def path():
40
41
  """📚 NAVIGATE PATH variable with TUI"""
41
42
  from machineconfig.scripts.python import env_manager as navigator
42
43
  from pathlib import Path
43
44
  path = Path(navigator.__file__).resolve().parent.joinpath("path_manager_tui.py")
44
45
  from machineconfig.utils.code import run_shell_script
45
- if not Path.home().joinpath("code/machineconfig").exists(): executable = """--with "machineconfig>=6.51,textual" """
46
+ if not Path.home().joinpath("code/machineconfig").exists(): executable = """--with "machineconfig>=6.52,textual" """
46
47
  else: executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
47
48
  run_shell_script(f"""uv run {executable} {path}""")
48
49
 
@@ -78,7 +79,7 @@ def get_app():
78
79
  config_apps.command("path", no_args_is_help=False, help="📚 [p] NAVIGATE PATH variable with TUI")(path)
79
80
  config_apps.command("p", no_args_is_help=False, help="NAVIGATE PATH variable with TUI", hidden=True)(path)
80
81
  config_apps.command("pwsh-theme", no_args_is_help=False, help="🔗 [t] Select powershell prompt theme.")(pwsh_theme)
81
- config_apps.command("t", no_args_is_help=True, help="Select powershell prompt theme.", hidden=True)(pwsh_theme)
82
+ config_apps.command("t", no_args_is_help=False, help="Select powershell prompt theme.", hidden=True)(pwsh_theme)
82
83
  config_apps.command("copy-assets", no_args_is_help=True, help="🔗 [c] Copy asset files from library to machine.", hidden=False)(copy_assets)
83
84
  config_apps.command("c", no_args_is_help=True, help="Copy asset files from library to machine.", hidden=True)(copy_assets)
84
85
  return config_apps
@@ -40,9 +40,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
40
40
  else:
41
41
  import platform
42
42
  if platform.system() == "Windows":
43
- run_shell_script(r"""$HOME\.local\bin\uv.exe tool install --upgrade "machineconfig>=6.51" """)
43
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.52" """)
44
44
  else:
45
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.51" """)
45
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.52" """)
46
46
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
47
47
  if not no_copy_assets:
48
48
  create_default_shell_profile() # involves copying assets too
@@ -67,7 +67,7 @@ def navigate():
67
67
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
68
68
  from machineconfig.utils.code import run_shell_script
69
69
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
70
- else: executable = """--with "machineconfig>=6.51,textual" """
70
+ else: executable = """--with "machineconfig>=6.52,textual" """
71
71
  run_shell_script(f"""uv run {executable} {path}""")
72
72
 
73
73
 
@@ -77,7 +77,7 @@ git pull originEnc master
77
77
  """
78
78
 
79
79
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""uv run --project "{str(Path.home().joinpath("code/machineconfig"))}" """
80
- else: executable = """uv run --with "machineconfig>=6.51" """
80
+ else: executable = """uv run --with "machineconfig>=6.52" """
81
81
 
82
82
  shell_path = write_shell_script_to_file(shell_script=script)
83
83
  command = f". {shell_path}"
@@ -8,7 +8,7 @@ def analyze_repo_development(repo_path: Annotated[str, typer.Argument(..., help=
8
8
  from pathlib import Path
9
9
  count_lines_path = Path(count_lines.__file__)
10
10
  # --project $HOME/code/ machineconfig --group plot
11
- cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.51" {count_lines_path} analyze-over-time {repo_path}"""
11
+ cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.52" {count_lines_path} analyze-over-time {repo_path}"""
12
12
  from machineconfig.utils.code import run_shell_script
13
13
  run_shell_script(cmd)
14
14
 
@@ -5,7 +5,7 @@
5
5
  # mkdir ~/data/local
6
6
  # sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
7
7
 
8
- uv run --python 3.14 --with "machineconfig>=6.51" python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with "machineconfig>=6.52" python -m machineconfig.scripts.python.mount_nfs
9
9
  # Check if remote server is reachable and share folder exists
10
10
  if ! ping -c 1 "$remote_server" &> /dev/null; then
11
11
  echo "💥 Error: Remote server $remote_server is not reachable."
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with "machineconfig>=6.51" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=6.52" python -m machineconfig.scripts.python.mount_ssh
11
11
 
12
12
  net use T: \\sshfs.kr\$user@$host.local
13
13
  # this worked: net use T: \\sshfs\alex@alex-p51s-5.local
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  mcfg() {
4
- "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.51" mcfg "$@"
4
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.52" mcfg "$@"
5
5
  }
6
6
  alias d="mcfg devops"
7
7
  alias c="mcfg cloud"
@@ -0,0 +1,17 @@
1
+ """Mac setup module for machineconfig.
2
+
3
+ This module provides setup script locations and configurations for macOS systems.
4
+ It mirrors the layout used by the Linux setup module and exposes Path objects
5
+ pointing at common scripts (so other code can import these paths).
6
+ """
7
+
8
+ from pathlib import Path
9
+
10
+ # Path to main installer script for macOS
11
+ APPS = Path(__file__).parent.joinpath("apps.sh")
12
+ # Optional helper scripts (may or may not exist)
13
+ UV = Path(__file__).parent.joinpath("uv.sh")
14
+ # Path to macOS SSH helper
15
+ SSH_SETUP = Path(__file__).parent.joinpath("ssh/openssh_setup.sh")
16
+
17
+ __all__ = ["APPS", "UV", "SSH_SETUP"]
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env bash
2
+
3
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
4
+ echo "🔄 Updating Homebrew..."
5
+ brew update || true
6
+
7
+ # --GROUP:ESSENTIAL_SYSTEM:git,nano,curl,nvm,nodejs,brave-browser,visual-studio-code
8
+ echo "📥 Installing essential tools..."
9
+ echo "📥 Installing Git version control..."
10
+ echo "📥 Installing Nano text editor..."
11
+ echo "📥 Installing Node Version Manager (NVM)..."
12
+ # Note: git and nano are pre-installed on macOS, but we install via Homebrew to ensure latest versions
13
+ brew install git || true
14
+ brew install nano || true
15
+ brew install curl || true
16
+ # Install NVM
17
+ if [ ! -s "$HOME/.nvm/nvm.sh" ]; then
18
+ echo "📥 Installing NVM (Node Version Manager)..."
19
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
20
+ fi
21
+ echo "🔧 Configuring NVM environment..."
22
+ export NVM_DIR="$HOME/.nvm"
23
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
24
+ echo "📥 Installing latest Node.js..."
25
+ nvm install node || true
26
+ brew install --cask brave-browser || true
27
+ brew install --cask visual-studio-code || true
28
+
29
+ # Database tools
30
+ # echo "📥 Installing SQLite - lightweight SQL database..."
31
+ # echo "📥 Installing PostgreSQL client..."
32
+ # echo "📥 Installing Redis command-line tools..."
33
+ # brew install sqlite3 || true
34
+ # brew install postgresql || true
35
+ # brew install redis || true
36
+
37
+ # --GROUP:TerminalEyeCandy:fortune,toilet,sl,cmatrix,chafa
38
+ echo "📥 Installing fortune - random wisdom generator..."
39
+ echo "📥 Installing figlet - ASCII art text generator..."
40
+ echo "📥 Installing cowsay - ASCII cow speech generator..."
41
+ echo "📥 Installing lolcat - colorized text output..."
42
+ echo "📥 Installing chafa - terminal image viewer..."
43
+ brew install fortune || true
44
+ brew install figlet || true
45
+ brew install cowsay || true
46
+ brew install lolcat || true
47
+ brew install chafa || true
48
+
49
+ # --GROUP:NetworkTools: sshfs,nfs-utils
50
+ echo "📥 Installing SSHFS - mount remote filesystems over SSH..."
51
+ echo "📥 Installing NFS utilities..."
52
+ brew install sshfs || true
53
+ brew install nfs-utils || true
54
+
55
+ # --GROUP:DEV_SYSTEM: graphviz,make,rust,sqlite3,postgresql-client,redis-tools,ffmpeg
56
+ echo "📥 Installing Graphviz - graph visualization software..."
57
+ echo "📥 Installing make - build automation tool..."
58
+ echo "📥 Installing FFmpeg - multimedia framework..."
59
+ echo "📥 Installing SSL/TLS development libraries..."
60
+ echo "📥 Installing Rust programming language and toolchain..."
61
+ brew install graphviz || true
62
+ brew install make || true
63
+ brew install ffmpeg || true
64
+ brew install openssl || true
65
+
66
+ # Install Rust if not already installed
67
+ if ! command -v rustc &> /dev/null; then
68
+ echo "📥 Installing Rust..."
69
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y || true
70
+ fi
71
+
72
+
73
+
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 🔐 OpenSSH Setup for macOS
4
+ # This script sets up SSH configuration and permissions on macOS
5
+
6
+ echo "🔐 Starting OpenSSH setup for macOS..."
7
+
8
+ # ✅ SSH is built-in on macOS (OpenSSH comes pre-installed)
9
+ echo "✅ OpenSSH is pre-installed on macOS"
10
+
11
+ # 📁 Create SSH directory with correct permissions
12
+ echo "📁 Setting up SSH directory..."
13
+ mkdir -p ~/.ssh
14
+ chmod 700 ~/.ssh
15
+ echo "✅ SSH directory created with correct permissions (700)"
16
+
17
+ # 📝 Create authorized_keys file if it doesn't exist
18
+ if [ ! -f ~/.ssh/authorized_keys ]; then
19
+ touch ~/.ssh/authorized_keys
20
+ chmod 600 ~/.ssh/authorized_keys
21
+ echo "✅ Created authorized_keys file"
22
+ else
23
+ echo "✅ authorized_keys file already exists"
24
+ chmod 600 ~/.ssh/authorized_keys
25
+ fi
26
+
27
+ # 🔑 Create SSH keys if they don't exist
28
+ if [ ! -f ~/.ssh/id_rsa ]; then
29
+ echo "🔑 Generating SSH keys (RSA)..."
30
+ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -C "$(whoami)@$(hostname)"
31
+ echo "✅ SSH RSA keys generated: ~/.ssh/id_rsa"
32
+ else
33
+ echo "✅ SSH keys already exist"
34
+ fi
35
+
36
+ # 🔐 Create Ed25519 keys (modern alternative)
37
+ if [ ! -f ~/.ssh/id_ed25519 ]; then
38
+ echo "🔑 Generating SSH keys (Ed25519)..."
39
+ ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N "" -C "$(whoami)@$(hostname)"
40
+ echo "✅ SSH Ed25519 keys generated: ~/.ssh/id_ed25519"
41
+ else
42
+ echo "✅ SSH Ed25519 keys already exist"
43
+ fi
44
+
45
+ # 🔧 Configure SSH config file for convenience
46
+ SSH_CONFIG="$HOME/.ssh/config"
47
+ if [ ! -f "$SSH_CONFIG" ]; then
48
+ echo "📝 Creating SSH config file..."
49
+ cat > "$SSH_CONFIG" << 'EOF'
50
+ # SSH Config File for macOS
51
+ # Add your remote hosts below
52
+
53
+ # Example host configuration:
54
+ # Host myserver
55
+ # HostName example.com
56
+ # User username
57
+ # Port 22
58
+ # IdentityFile ~/.ssh/id_ed25519
59
+ # IdentityFile ~/.ssh/id_rsa
60
+
61
+ # Global settings
62
+ Host *
63
+ AddKeysToAgent yes
64
+ UseKeychain yes
65
+ IdentityFile ~/.ssh/id_ed25519
66
+ IdentityFile ~/.ssh/id_rsa
67
+ ServerAliveInterval 60
68
+ EOF
69
+ chmod 600 "$SSH_CONFIG"
70
+ echo "✅ SSH config file created: $SSH_CONFIG"
71
+ else
72
+ echo "✅ SSH config file already exists"
73
+ fi
74
+
75
+ # 🔒 Ensure correct file permissions
76
+ echo "🔒 Setting correct SSH file permissions..."
77
+ chmod 700 ~/.ssh
78
+ chmod 600 ~/.ssh/authorized_keys 2>/dev/null || true
79
+ chmod 600 ~/.ssh/id_rsa 2>/dev/null || true
80
+ chmod 644 ~/.ssh/id_rsa.pub 2>/dev/null || true
81
+ chmod 600 ~/.ssh/id_ed25519 2>/dev/null || true
82
+ chmod 644 ~/.ssh/id_ed25519.pub 2>/dev/null || true
83
+ chmod 600 ~/.ssh/config 2>/dev/null || true
84
+ echo "✅ SSH file permissions configured correctly"
85
+
86
+ # ℹ️ Display SSH key information
87
+ echo ""
88
+ echo "📋 SSH Setup Summary:"
89
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
90
+ echo "SSH Directory: ~/.ssh"
91
+ echo "SSH Config: ~/.ssh/config"
92
+ echo ""
93
+ echo "Available SSH Keys:"
94
+ if [ -f ~/.ssh/id_rsa.pub ]; then
95
+ echo " • RSA Key: ~/.ssh/id_rsa"
96
+ fi
97
+ if [ -f ~/.ssh/id_ed25519.pub ]; then
98
+ echo " • Ed25519 Key: ~/.ssh/id_ed25519"
99
+ fi
100
+ echo ""
101
+ echo "💡 Next Steps:"
102
+ echo " 1. View your public key:"
103
+ echo " cat ~/.ssh/id_ed25519.pub (or id_rsa.pub)"
104
+ echo " 2. Add it to your GitHub/GitLab/server authorized_keys"
105
+ echo " 3. Test connection:"
106
+ echo " ssh -v your_server"
107
+ echo " 4. Configure hosts in ~/.ssh/config for easy access"
108
+ echo ""
109
+ echo "📚 Learn more about SSH:"
110
+ echo " • man ssh"
111
+ echo " • man ssh-keygen"
112
+ echo " • man ssh_config"
113
+ echo ""
114
+ echo "✅ OpenSSH setup complete!"
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Install or update uv (universal version manager) on macOS
4
+ # Mirrors Linux uv installer but adapts PATH and locations for mac
5
+
6
+ set -euo pipefail
7
+
8
+ UV_BIN="$HOME/.local/bin/uv"
9
+
10
+ if [ ! -f "$UV_BIN" ]; then
11
+ echo "📦 uv binary not found — installing uv to $HOME/.local/bin..."
12
+ mkdir -p "$HOME/.local/bin"
13
+ curl -LsSf https://astral.sh/uv/install.sh | sh
14
+ echo "✅ uv installed to $UV_BIN"
15
+ else
16
+ echo "🔄 uv binary found — attempting self-update..."
17
+ "$UV_BIN" self update || true
18
+ fi
19
+
20
+ # Ensure local bin is in PATH for this run
21
+ export PATH="$HOME/.local/bin:$PATH"
22
+
23
+ if ! command -v uv &> /dev/null; then
24
+ echo "⚠️ uv not found in PATH even after install; add \"$HOME/.local/bin\" to your shell profile"
25
+ else
26
+ echo "🔧 uv available: $(command -v uv)"
27
+ fi
28
+
29
+ # Example uv usage: ensure Python 3.14 is available (adjust as needed)
30
+ if command -v uv &> /dev/null; then
31
+ echo "📥 Ensuring Python 3.14 via uv (if supported)"
32
+ # uv may manage various runtimes; this is an example command and will be skipped gracefully if unsupported
33
+ uv python install 3.14 || true
34
+ fi
35
+
36
+ echo "✅ uv setup complete"
@@ -2,7 +2,7 @@
2
2
 
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
4
  function mcfg {
5
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.51" mcfg $args
5
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.52" mcfg $args
6
6
  }
7
7
  function d { mcfg devops @args }
8
8
  function c { mcfg cloud @args }
@@ -123,9 +123,14 @@ def dynamically_extract_installers_system_groups_from_scripts():
123
123
  res_final: list[InstallerData] = []
124
124
  from platform import system
125
125
  if system() == "Windows":
126
- options_system = parse_apps_installer_windows(LIBRARY_ROOT.joinpath("setup_windows/apps.ps1").read_text(encoding="utf-8"))
126
+ from machineconfig.setup_windows import APPS
127
+ options_system = parse_apps_installer_windows(APPS.read_text(encoding="utf-8"))
127
128
  elif system() == "Linux" or system() == "Darwin":
128
- options_system = parse_apps_installer_linux(LIBRARY_ROOT.joinpath("setup_linux/apps.sh").read_text(encoding="utf-8"))
129
+ from machineconfig.setup_linux import APPS
130
+ options_system = parse_apps_installer_linux(APPS.read_text(encoding="utf-8"))
131
+ elif system() == "Darwin":
132
+ from machineconfig.setup_mac import APPS
133
+ options_system = parse_apps_installer_linux(APPS.read_text(encoding="utf-8"))
129
134
  else:
130
135
  raise NotImplementedError(f"❌ System {system()} not supported")
131
136
  os_name = get_os_name()
@@ -6,7 +6,7 @@ from machineconfig.utils.terminal import Response, MACHINE
6
6
  from machineconfig.utils.accessories import pprint
7
7
 
8
8
  UV_RUN_CMD = "$HOME/.local/bin/uv run"
9
- MACHINECONFIG_VERSION = "machineconfig>=6.51"
9
+ MACHINECONFIG_VERSION = "machineconfig>=6.52"
10
10
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
11
11
 
12
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 6.51
3
+ Version: 6.52
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -46,8 +46,8 @@ machineconfig/cluster/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
46
46
  machineconfig/cluster/templates/cli_trogon.py,sha256=PFWGy8SFYIhT9r3ZV4oIEYfImsQwzAHH_04stPuV5bY,647
47
47
  machineconfig/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  machineconfig/jobs/installer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
- machineconfig/jobs/installer/check_installations.py,sha256=uFuxhgI8rIMtClcGmuc9gpG6iJ7X0__peGUQfGkreT8,10778
50
- machineconfig/jobs/installer/installer_data.json,sha256=NDm-igW86P2LmyaNn5lAOePE4ikjyx_Tj3mfNnQ4vgE,75405
49
+ machineconfig/jobs/installer/check_installations.py,sha256=hkHmmT7Bx3_QWRn2v8dCKOzAapFzqHRzbe-Q08GLnKE,10743
50
+ machineconfig/jobs/installer/installer_data.json,sha256=04KvR0X55GRYh8gyzOCtJItfVrNYpzF0GM9n08Kv89g,75876
51
51
  machineconfig/jobs/installer/package_groups.py,sha256=i4z83F_rk7BVsrwFhz5Vn4SLF0IHxyQBFSxpAaZBl8M,5270
52
52
  machineconfig/jobs/installer/custom/gh.py,sha256=gn7TUSrsLx7uqFqj1Z-iYglS0EYBSgtJ9jWHxaJIfXM,4119
53
53
  machineconfig/jobs/installer/custom/hx.py,sha256=YQClQXqWtGvon8BLFGf1Fp20JPkHgZeEZ6ebmCJQQfI,5838
@@ -122,11 +122,11 @@ machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP
122
122
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  machineconfig/scripts/python/agents.py,sha256=gGeeWCI0AN_DyDJ3G5KR9qSsXv8zkUd5dBRRWqz-dQE,10722
124
124
  machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
125
- machineconfig/scripts/python/croshell.py,sha256=SRubnCMUdgi0yAdQ3maHPbSzoWLJIl3gLA04nEFO0Fo,8046
125
+ machineconfig/scripts/python/croshell.py,sha256=BCwiH_Wi_2_Y8fr-D2Cn9TpSTnzMPufXF7SF7Ri2fn8,8046
126
126
  machineconfig/scripts/python/devops.py,sha256=LGra1YiLEQYjaRevNjJB51Bia81IgjrvUQkA6z8wq8I,2440
127
127
  machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
128
128
  machineconfig/scripts/python/entry.py,sha256=a0Zk_3RnIFTQ55zSQrvOOiKom_SaoxElPMmWQgGy4V0,2221
129
- machineconfig/scripts/python/fire_jobs.py,sha256=O5DrckUGLxGblOcLf_iXU31pmCSpTg-c0hQZxQKD1os,13591
129
+ machineconfig/scripts/python/fire_jobs.py,sha256=My7sFn1R2vh21uIHGfNppgX99WTEitCFgJ1MSasBUOQ,13597
130
130
  machineconfig/scripts/python/ftpx.py,sha256=vm4QNJA0z1Vu-85wFliGNoDHMZZ-Yy8zQACL6x7Wo6U,9760
131
131
  machineconfig/scripts/python/interactive.py,sha256=zt3g6nGKR_Y5A57UnR4Y5-JpLzrpnCOSaqU1bnaikK0,11666
132
132
  machineconfig/scripts/python/sessions.py,sha256=UERxO472EDtN7nKHEULbn6G3S5PJIpsDG9Gq3TlByqI,9823
@@ -162,7 +162,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
162
162
  machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
163
163
  machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
164
164
  machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
165
- machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=jVIpEwvRbkaqw7HXl0Ufy_m4tBGhxhfC8gKrC4fTTds,6932
165
+ machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=SuaYgj8UFgFYLf1fAKCSLIJC7dDqsscCw3Epp3uyqlY,6932
166
166
  machineconfig/scripts/python/helpers_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
167
  machineconfig/scripts/python/helpers_cloud/cloud_copy.py,sha256=OV1w3ajFVFs6FJytjIPOntYB_aW2ywGohKi73V4Dm2Y,8691
168
168
  machineconfig/scripts/python/helpers_cloud/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
@@ -178,12 +178,12 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
178
178
  machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
179
179
  machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
180
180
  machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
- machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=YB97BaIgxT9VPWYoVc0rk_pzL2BjBn5v6-VccreS8J4,5652
181
+ machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=kbIULtkfHecOzfUA3gbRyRKxdIOXjitnoO3BH1HleEg,5654
182
182
  machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
183
183
  machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
184
184
  machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=B5Xa9pV5MdC4vPo3EmKaHvNMlThsY3c5F92YPE5j3rI,4176
185
185
  machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
186
- machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=zcEeQsgbR7OgPkvzAuHPKntT-YMVXYmRJU5cE7kkbes,6167
186
+ machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=-IyJpuw8Wnttls8y2vcNNkxtI9jUveROMPT-eudOoC4,6171
187
187
  machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
188
188
  machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
189
189
  machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=G2RHnOvNfEWjxETZjXVu688xyLL-c0Zq22p24kXLLQ8,3487
@@ -222,9 +222,9 @@ machineconfig/scripts/python/helpers_navigator/main_app.py,sha256=R1vOBMUKaiFHOg
222
222
  machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
223
223
  machineconfig/scripts/python/helpers_repos/action.py,sha256=9AxWy8mB9HFeV5t11-qD_l-KA5jkUmm0pXVKT1L6-Qk,14894
224
224
  machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
225
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=wWlO5-3yT70R8FSU254f4LUMCIaGzrqZexmgzI2ddAU,10412
225
+ machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=fLWZN1ZRlfFvKQHBLyFNHayYZAYQTZqBerRcpb7XBII,10412
226
226
  machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
227
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=iOPc9iLfgMwMFwCguiutfPHHPfpNDYCqHj0W4pFkm-k,607
227
+ machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=epbXDwuXe_9jXaX3KA2JlG1sPXybdGq1NX4dRljHpF8,607
228
228
  machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
229
229
  machineconfig/scripts/python/helpers_repos/grource.py,sha256=oJj1-gqlkV3Z_BrIOXRmtzoXcuBl0xTYfulJ5D0srOc,14656
230
230
  machineconfig/scripts/python/helpers_repos/record.py,sha256=FQo0swuJZOp0I2XGK-t1OQU4zJHmQ2z9zTpDD30Tmg4,11001
@@ -238,7 +238,7 @@ machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdC
238
238
  machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
239
239
  machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
240
240
  machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
241
- machineconfig/scripts/python/nw/mount_nfs,sha256=q75al-z70gQhjUwtZzM-hu-U3cATaDrGtEyjgbegQrI,1855
241
+ machineconfig/scripts/python/nw/mount_nfs,sha256=OCPbADc0AlkYOb0hcEWyHXOhjnnkA3uoP2uP5yqqwcQ,1855
242
242
  machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
243
243
  machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
244
244
  machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
@@ -255,7 +255,7 @@ machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqk
255
255
  machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
256
256
  machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
257
257
  machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
258
- machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=EJ7EzPIesIMmpvReVpu5tJGZBcBqzH4EgNfhUnO4vLg,322
258
+ machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=eKKep-_E-eQLUEN8d3yPEjLaJF5yxE_L5l8_pBatGZU,322
259
259
  machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
260
260
  machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
261
261
  machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
@@ -371,7 +371,11 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
371
371
  machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
372
372
  machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
373
373
  machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
374
- machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=-33Rd_a52za-bO_OVIRXS4AhNvcG7uzOGjlWAOfRdDU,441
374
+ machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=4DjErSCQ4A2TUPYCkqFITqsJRfnViqZd0jWbVzx8JyQ,441
375
+ machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
376
+ machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
377
+ machineconfig/setup_mac/uv.sh,sha256=CSN8oCBKS-LK1vJJqYOhAMcrouTf4Q_F3cpplc_ddMA,1157
378
+ machineconfig/setup_mac/ssh/openssh_setup.sh,sha256=TxfySnwFYg1UQLXmJbEQ2gfEWIT084F5JvNZI9ncpc0,3537
375
379
  machineconfig/setup_windows/__init__.py,sha256=NnSVZkIBoxoMgkj-_KAqGonH3YziBIWXOKDEcmNAGTY,386
376
380
  machineconfig/setup_windows/apps.ps1,sha256=dmZQZD4ZlNZo9jYkjIS3ag4qDAYZvaLysjmo9ELwBA4,11218
377
381
  machineconfig/setup_windows/uv.ps1,sha256=ukk1Abh-q-RfpoEqI2XTE2dcQJmHk0VFF6WqkK3TW8Q,350
@@ -381,13 +385,13 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
381
385
  machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
382
386
  machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
383
387
  machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
384
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=cO6kEXDbTCufPuBeksWtf728owbTK6pXmp8RLZ54fz8,547
388
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=AXszMmuVfiukqy_9E56G-0JzcDDitF0epTpqPqNG75A,547
385
389
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
386
390
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
387
391
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
388
392
  machineconfig/utils/accessories.py,sha256=W_9dLzjwNTW5JQk_pe3B2ijQ1nA2-8Kdg2r7VBtzgQs,4340
389
393
  machineconfig/utils/code.py,sha256=W0JFDF1ynJJIYtrAP6IqCcmrhvS-_zyDz43etnWW7_4,7543
390
- machineconfig/utils/installer.py,sha256=wNkX2r6dlZD9zmuIkBKj5AliNPfI9zVWgtu8XqgUVIg,10204
394
+ machineconfig/utils/installer.py,sha256=afQgxDGsiS6HM0UQzQ85cPT4EcoXX2H0QOH5mQ18wtM,10391
391
395
  machineconfig/utils/io.py,sha256=4dSieoqZO8Vvi4vW8lLoITDHBvmFp4dtl3kyeZHQ6Co,2528
392
396
  machineconfig/utils/links.py,sha256=KM6vIn3hag9FYEzLSHP5MAM9tU_RStw2mCq2_OvmmZA,23672
393
397
  machineconfig/utils/meta.py,sha256=r557UPqgNLXzQpk8Umeujj9RnRBeIz3RwOwjZ7hWsw0,17309
@@ -399,7 +403,7 @@ machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,
399
403
  machineconfig/utils/scheduler.py,sha256=44CASABJg3epccxhAwv2CX7TVgZh6zVy3K4vqHKTuf4,14228
400
404
  machineconfig/utils/scheduling.py,sha256=RF1iXJpqf4Dg18jdZWtBixz97KAHC6VKYqTFSpdLWuc,11188
401
405
  machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
402
- machineconfig/utils/ssh.py,sha256=QDY3ti-V8PwZlAlNIw_4mPbPrRznJQjqb9ohN1x4HTM,39079
406
+ machineconfig/utils/ssh.py,sha256=pBGZPmai5x_9zhIsmd66xiZvHZLDVUbeOn8pBZibKp4,39079
403
407
  machineconfig/utils/terminal.py,sha256=IlmOByfQG-vjhaFFxxzU5rWzP5_qUzmalRfuey3PAmc,11801
404
408
  machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
405
409
  machineconfig/utils/upgrade_packages.py,sha256=mSFyKvB3JhHte_x1dtmEgrJZCAXgTUQoaJUSx1OXQ3Y,4145
@@ -428,8 +432,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
428
432
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
429
433
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
430
434
  machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
431
- machineconfig-6.51.dist-info/METADATA,sha256=gDZDg13wSRXMkH_JmCW_3OPQdHyWfRSK7S2SaS2VsYU,2928
432
- machineconfig-6.51.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
433
- machineconfig-6.51.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
434
- machineconfig-6.51.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
435
- machineconfig-6.51.dist-info/RECORD,,
435
+ machineconfig-6.52.dist-info/METADATA,sha256=Utdnwcdeihed2hrfWbWheAB2vgB30EKxqNlPxUk6OSI,2928
436
+ machineconfig-6.52.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
437
+ machineconfig-6.52.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
438
+ machineconfig-6.52.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
439
+ machineconfig-6.52.dist-info/RECORD,,