machineconfig 6.67__py3-none-any.whl → 6.69__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/scripts/linux/mcfgp +14 -0
- machineconfig/scripts/python/croshell.py +9 -2
- machineconfig/scripts/python/entry.py +3 -5
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +10 -2
- machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
- machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
- machineconfig/scripts/python/helpers_navigator/command_tree.py +126 -21
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
- machineconfig/scripts/python/nw/mount_nfs +1 -1
- machineconfig/scripts/windows/mcfgp.ps1 +17 -0
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
- machineconfig/utils/scheduler.py +2 -8
- machineconfig/utils/ssh.py +1 -1
- {machineconfig-6.67.dist-info → machineconfig-6.69.dist-info}/METADATA +1 -1
- {machineconfig-6.67.dist-info → machineconfig-6.69.dist-info}/RECORD +21 -19
- {machineconfig-6.67.dist-info → machineconfig-6.69.dist-info}/WHEEL +0 -0
- {machineconfig-6.67.dist-info → machineconfig-6.69.dist-info}/entry_points.txt +0 -0
- {machineconfig-6.67.dist-info → machineconfig-6.69.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
RANDOM_NAME=$(date +%s%N | sha256sum | head -c 16)
|
|
5
|
+
export OP_PROGRAM_PATH="$HOME/tmp_results/tmp_scripts/machineconfig/${RANDOM_NAME}.sh"
|
|
6
|
+
|
|
7
|
+
mcfg "$@"
|
|
8
|
+
|
|
9
|
+
if [[ -f "$OP_PROGRAM_PATH" ]]; then
|
|
10
|
+
echo "Found op program at: $OP_PROGRAM_PATH"
|
|
11
|
+
bash "$OP_PROGRAM_PATH"
|
|
12
|
+
else
|
|
13
|
+
echo "no op program found"
|
|
14
|
+
fi
|
|
@@ -158,8 +158,15 @@ code --new-window {str(pyfile)}
|
|
|
158
158
|
# --python 3.14
|
|
159
159
|
fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
|
|
160
160
|
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
import os
|
|
162
|
+
program_path_maybe = os.environ.get("OP_PROGRAM_PATH", None)
|
|
163
|
+
if program_path_maybe is not None:
|
|
164
|
+
program_path_obj = PathExtended(program_path_maybe)
|
|
165
|
+
program_path_obj.parent.mkdir(parents=True, exist_ok=True)
|
|
166
|
+
program_path_obj.write_text(data=fire_line, encoding="utf-8")
|
|
167
|
+
else:
|
|
168
|
+
from machineconfig.utils.code import run_shell_script
|
|
169
|
+
run_shell_script(fire_line, clean_env=False)
|
|
163
170
|
|
|
164
171
|
|
|
165
172
|
def main() -> None:
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
from machineconfig.scripts.python.devops import get_app as get_devops_app
|
|
3
3
|
from machineconfig.scripts.python.cloud import get_app as get_cloud_app
|
|
4
4
|
from machineconfig.scripts.python.agents import get_app as get_agents_app
|
|
5
|
-
from machineconfig.scripts.python.fire_jobs import get_app as get_fire_jobs_app
|
|
6
5
|
from machineconfig.scripts.python.sessions import get_app as get_sessions_app
|
|
7
6
|
from machineconfig.scripts.python.utils import get_app as get_utils_app
|
|
8
7
|
|
|
9
8
|
from machineconfig.scripts.python.ftpx import ftpx as ftpx_func
|
|
10
9
|
from machineconfig.scripts.python.croshell import croshell as croshell_func
|
|
11
|
-
|
|
10
|
+
from machineconfig.scripts.python.fire_jobs import fire as get_fire_jobs_app
|
|
12
11
|
|
|
13
12
|
def get_app():
|
|
14
13
|
import typer
|
|
@@ -25,14 +24,13 @@ def get_app():
|
|
|
25
24
|
app.add_typer(sessions_app, name="sessions", help="[s] Session and layout management", no_args_is_help=True)
|
|
26
25
|
app.add_typer(sessions_app, name="s", hidden=True) # short alias
|
|
27
26
|
|
|
28
|
-
fire_jobs_app = get_fire_jobs_app()
|
|
29
|
-
app.add_typer(fire_jobs_app, name="fire", help="[f] Fire and manage jobs", no_args_is_help=True)
|
|
30
|
-
app.add_typer(fire_jobs_app, name="f", hidden=True) # short alias
|
|
31
27
|
|
|
32
28
|
agents_app = get_agents_app()
|
|
33
29
|
app.add_typer(agents_app, name="agents", help="[a] 🤖 AI Agents management commands", no_args_is_help=True)
|
|
34
30
|
app.add_typer(agents_app, name="a", hidden=True) # short alias
|
|
35
31
|
|
|
32
|
+
app.command(name="fire", help="[f] Fire and manage jobs", no_args_is_help=False)(get_fire_jobs_app)
|
|
33
|
+
app.command(name="f", hidden=True, no_args_is_help=False)(get_fire_jobs_app)
|
|
36
34
|
app.command("ftpx", no_args_is_help=True, help="[ff] File transfer utility though SSH")(ftpx_func)
|
|
37
35
|
app.command("ff", no_args_is_help=True, hidden=True)(ftpx_func) # short alias
|
|
38
36
|
app.command("croshell", no_args_is_help=False, help="[r] Cross-shell command execution")(croshell_func)
|
|
@@ -192,8 +192,15 @@ python -m machineconfig.cluster.templates.cli_click --file {choice_file} """
|
|
|
192
192
|
command = "$ErrorActionPreference = 'SilentlyContinue';\n" + command + "\nStart-Sleep -Seconds 0.5"
|
|
193
193
|
else:
|
|
194
194
|
raise NotImplementedError(f"Platform {platform.system()} not supported.")
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
import os
|
|
196
|
+
op_program_path = os.environ.get("OP_PROGRAM_PATH", None)
|
|
197
|
+
if op_program_path is not None:
|
|
198
|
+
op_program_path = PathExtended(op_program_path)
|
|
199
|
+
op_program_path.parent.mkdir(parents=True, exist_ok=True)
|
|
200
|
+
op_program_path.write_text(command, encoding="utf-8")
|
|
201
|
+
else:
|
|
202
|
+
from machineconfig.utils.code import run_shell_script
|
|
203
|
+
run_shell_script(command)
|
|
197
204
|
|
|
198
205
|
|
|
199
206
|
def fire(
|
|
@@ -267,6 +274,7 @@ def get_app():
|
|
|
267
274
|
app.command(context_settings={"allow_extra_args": True, "allow_interspersed_args": False})(fire)
|
|
268
275
|
return app
|
|
269
276
|
|
|
277
|
+
|
|
270
278
|
def main():
|
|
271
279
|
app = get_app()
|
|
272
280
|
app()
|
|
@@ -46,7 +46,7 @@ def path():
|
|
|
46
46
|
uv_with = ["textual"]
|
|
47
47
|
uv_project_dir = None
|
|
48
48
|
if not Path.home().joinpath("code/machineconfig").exists():
|
|
49
|
-
uv_with.append("machineconfig>=6.
|
|
49
|
+
uv_with.append("machineconfig>=6.69")
|
|
50
50
|
else:
|
|
51
51
|
uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
|
|
52
52
|
run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
|
|
@@ -41,9 +41,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
|
|
|
41
41
|
else:
|
|
42
42
|
import platform
|
|
43
43
|
if platform.system() == "Windows":
|
|
44
|
-
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.
|
|
44
|
+
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.69" """)
|
|
45
45
|
else:
|
|
46
|
-
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.
|
|
46
|
+
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.69" """)
|
|
47
47
|
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
48
48
|
if not no_copy_assets:
|
|
49
49
|
create_default_shell_profile() # involves copying assets too
|
|
@@ -68,7 +68,7 @@ def navigate():
|
|
|
68
68
|
path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
|
|
69
69
|
from machineconfig.utils.code import run_shell_script
|
|
70
70
|
if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
|
|
71
|
-
else: executable = """--with "machineconfig>=6.
|
|
71
|
+
else: executable = """--with "machineconfig>=6.69,textual" """
|
|
72
72
|
run_shell_script(f"""uv run {executable} {path}""")
|
|
73
73
|
|
|
74
74
|
|
|
@@ -191,12 +191,36 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
191
191
|
help_text="devops config shell <copy|reference>"
|
|
192
192
|
))
|
|
193
193
|
|
|
194
|
-
config_node.add("🔗
|
|
195
|
-
name="
|
|
196
|
-
description="
|
|
197
|
-
command="devops config
|
|
194
|
+
config_node.add("🔗 path - Navigate PATH variable", data=CommandInfo(
|
|
195
|
+
name="path",
|
|
196
|
+
description="Navigate PATH variable with TUI",
|
|
197
|
+
command="devops config path",
|
|
198
198
|
parent="config",
|
|
199
|
-
help_text="devops config
|
|
199
|
+
help_text="devops config path"
|
|
200
|
+
))
|
|
201
|
+
|
|
202
|
+
config_node.add("🔗 starship-theme - Select starship theme", data=CommandInfo(
|
|
203
|
+
name="starship-theme",
|
|
204
|
+
description="Select starship prompt theme",
|
|
205
|
+
command="devops config starship-theme",
|
|
206
|
+
parent="config",
|
|
207
|
+
help_text="devops config starship-theme"
|
|
208
|
+
))
|
|
209
|
+
|
|
210
|
+
config_node.add("🔗 pwsh-theme - Configure PowerShell theme", data=CommandInfo(
|
|
211
|
+
name="pwsh-theme",
|
|
212
|
+
description="Select powershell prompt theme",
|
|
213
|
+
command="devops config pwsh-theme",
|
|
214
|
+
parent="config",
|
|
215
|
+
help_text="devops config pwsh-theme"
|
|
216
|
+
))
|
|
217
|
+
|
|
218
|
+
config_node.add("🔗 copy-assets - Copy asset files", data=CommandInfo(
|
|
219
|
+
name="copy-assets",
|
|
220
|
+
description="Copy asset files from library to machine",
|
|
221
|
+
command="devops config copy-assets",
|
|
222
|
+
parent="config",
|
|
223
|
+
help_text="devops config copy-assets <scripts|settings|both>"
|
|
200
224
|
))
|
|
201
225
|
|
|
202
226
|
# data subcommands
|
|
@@ -241,28 +265,52 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
241
265
|
help_text="devops network share-terminal"
|
|
242
266
|
))
|
|
243
267
|
|
|
244
|
-
network_node.add("
|
|
245
|
-
name="
|
|
268
|
+
network_node.add("🌐 share-server - Start local/global server", data=CommandInfo(
|
|
269
|
+
name="share-server",
|
|
270
|
+
description="Start local/global server to share files/folders via web browser",
|
|
271
|
+
command="devops network share-server",
|
|
272
|
+
parent="network",
|
|
273
|
+
help_text="devops network share-server"
|
|
274
|
+
))
|
|
275
|
+
|
|
276
|
+
network_node.add("📡 install-ssh-server - Install SSH server", data=CommandInfo(
|
|
277
|
+
name="install-ssh-server",
|
|
246
278
|
description="Install SSH server",
|
|
247
|
-
command="devops network
|
|
279
|
+
command="devops network install-ssh-server",
|
|
248
280
|
parent="network",
|
|
249
|
-
help_text="devops network
|
|
281
|
+
help_text="devops network install-ssh-server"
|
|
250
282
|
))
|
|
251
283
|
|
|
252
|
-
network_node.add("
|
|
253
|
-
name="
|
|
284
|
+
network_node.add("🔑 add-ssh-key - Add SSH public key", data=CommandInfo(
|
|
285
|
+
name="add-ssh-key",
|
|
254
286
|
description="Add SSH public key to this machine",
|
|
255
|
-
command="devops network
|
|
287
|
+
command="devops network add-ssh-key",
|
|
256
288
|
parent="network",
|
|
257
|
-
help_text="devops network
|
|
289
|
+
help_text="devops network add-ssh-key --path <file> --choose --value --github <username>"
|
|
258
290
|
))
|
|
259
291
|
|
|
260
|
-
network_node.add("
|
|
261
|
-
name="
|
|
292
|
+
network_node.add("🗝️ add-ssh-identity - Add SSH identity", data=CommandInfo(
|
|
293
|
+
name="add-ssh-identity",
|
|
262
294
|
description="Add SSH identity (private key) to this machine",
|
|
263
|
-
command="devops network
|
|
295
|
+
command="devops network add-ssh-identity",
|
|
296
|
+
parent="network",
|
|
297
|
+
help_text="devops network add-ssh-identity"
|
|
298
|
+
))
|
|
299
|
+
|
|
300
|
+
network_node.add("📌 show-address - Show computer addresses", data=CommandInfo(
|
|
301
|
+
name="show-address",
|
|
302
|
+
description="Show this computer addresses on network",
|
|
303
|
+
command="devops network show-address",
|
|
264
304
|
parent="network",
|
|
265
|
-
help_text="devops network
|
|
305
|
+
help_text="devops network show-address"
|
|
306
|
+
))
|
|
307
|
+
|
|
308
|
+
network_node.add("🐛 debug-ssh - Debug SSH connection", data=CommandInfo(
|
|
309
|
+
name="debug-ssh",
|
|
310
|
+
description="Debug SSH connection",
|
|
311
|
+
command="devops network debug-ssh",
|
|
312
|
+
parent="network",
|
|
313
|
+
help_text="devops network debug-ssh"
|
|
266
314
|
))
|
|
267
315
|
|
|
268
316
|
# self subcommands
|
|
@@ -314,6 +362,22 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
314
362
|
help_text="devops self navigate"
|
|
315
363
|
))
|
|
316
364
|
|
|
365
|
+
self_node.add("📚 readme - Render README markdown", data=CommandInfo(
|
|
366
|
+
name="readme",
|
|
367
|
+
description="Render readme markdown in terminal",
|
|
368
|
+
command="devops self readme",
|
|
369
|
+
parent="self",
|
|
370
|
+
help_text="devops self readme"
|
|
371
|
+
))
|
|
372
|
+
|
|
373
|
+
self_node.add("🐍 python - Run Python command/file", data=CommandInfo(
|
|
374
|
+
name="python",
|
|
375
|
+
description="Run python command/file in the machineconfig environment",
|
|
376
|
+
command="devops self python",
|
|
377
|
+
parent="self",
|
|
378
|
+
help_text="devops self python <path> --command"
|
|
379
|
+
))
|
|
380
|
+
|
|
317
381
|
# fire command - now a typer sub-app
|
|
318
382
|
fire_node = self.root.add("🔥 fire - Fire jobs execution", data=CommandInfo(
|
|
319
383
|
name="fire",
|
|
@@ -463,9 +527,9 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
463
527
|
))
|
|
464
528
|
|
|
465
529
|
# croshell command
|
|
466
|
-
self.root.add("
|
|
530
|
+
self.root.add("🔄 croshell - Cross-shell command execution", data=CommandInfo(
|
|
467
531
|
name="croshell",
|
|
468
|
-
description="
|
|
532
|
+
description="Cross-shell command execution",
|
|
469
533
|
command="croshell",
|
|
470
534
|
is_group=False,
|
|
471
535
|
module_path="machineconfig.scripts.python.croshell",
|
|
@@ -473,11 +537,52 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
473
537
|
))
|
|
474
538
|
|
|
475
539
|
# ftpx command
|
|
476
|
-
self.root.add("📡 ftpx - File transfer", data=CommandInfo(
|
|
540
|
+
self.root.add("📡 ftpx - File transfer utility", data=CommandInfo(
|
|
477
541
|
name="ftpx",
|
|
478
|
-
description="File transfer
|
|
542
|
+
description="File transfer utility through SSH",
|
|
479
543
|
command="ftpx",
|
|
480
544
|
is_group=False,
|
|
481
545
|
module_path="machineconfig.scripts.python.ftpx",
|
|
482
546
|
help_text="ftpx <source> <target> --recursive --zipFirst --cloud"
|
|
547
|
+
))
|
|
548
|
+
|
|
549
|
+
# utils command
|
|
550
|
+
utils_node = self.root.add("🛠️ utils - Utility commands", data=CommandInfo(
|
|
551
|
+
name="utils",
|
|
552
|
+
description="Utility commands",
|
|
553
|
+
command="utils",
|
|
554
|
+
is_group=True,
|
|
555
|
+
module_path="machineconfig.scripts.python.utils"
|
|
556
|
+
))
|
|
557
|
+
|
|
558
|
+
utils_node.add("💀 kill-process - Kill processes", data=CommandInfo(
|
|
559
|
+
name="kill-process",
|
|
560
|
+
description="Choose a process to kill interactively",
|
|
561
|
+
command="utils kill-process",
|
|
562
|
+
parent="utils",
|
|
563
|
+
help_text="utils kill-process"
|
|
564
|
+
))
|
|
565
|
+
|
|
566
|
+
utils_node.add("⬇️ download - Download file", data=CommandInfo(
|
|
567
|
+
name="download",
|
|
568
|
+
description="Download a file from a URL and optionally decompress it",
|
|
569
|
+
command="utils download",
|
|
570
|
+
parent="utils",
|
|
571
|
+
help_text="utils download <url> --destination <path> --decompress"
|
|
572
|
+
))
|
|
573
|
+
|
|
574
|
+
utils_node.add("📄 merge-pdfs - Merge PDF files", data=CommandInfo(
|
|
575
|
+
name="merge-pdfs",
|
|
576
|
+
description="Merge two PDF files into one",
|
|
577
|
+
command="utils merge-pdfs",
|
|
578
|
+
parent="utils",
|
|
579
|
+
help_text="utils merge-pdfs <file1> <file2> --output <file>"
|
|
580
|
+
))
|
|
581
|
+
|
|
582
|
+
utils_node.add("🖥️ get-machine-specs - Get machine specifications", data=CommandInfo(
|
|
583
|
+
name="get-machine-specs",
|
|
584
|
+
description="Get machine specifications",
|
|
585
|
+
command="utils get-machine-specs",
|
|
586
|
+
parent="utils",
|
|
587
|
+
help_text="utils get-machine-specs"
|
|
483
588
|
))
|
|
@@ -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.
|
|
8
|
+
uv run --python 3.14 --with "machineconfig>=6.69" 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."
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Generate a random name (based on current timestamp hashed with SHA256)
|
|
2
|
+
$timestamp = Get-Date -Format o | Get-FileHash -Algorithm SHA256
|
|
3
|
+
$randomName = ($timestamp.Hash.Substring(0, 16))
|
|
4
|
+
|
|
5
|
+
# Define the output path
|
|
6
|
+
$env:OP_PROGRAM_PATH = "$HOME/tmp_results/tmp_scripts/machineconfig/${randomName}.ps1"
|
|
7
|
+
|
|
8
|
+
# Run your equivalent command (replace with your actual command)
|
|
9
|
+
mcfg @args
|
|
10
|
+
|
|
11
|
+
# Check if the file exists
|
|
12
|
+
if (Test-Path $env:OP_PROGRAM_PATH) {
|
|
13
|
+
Write-Host "Found op program at: $env:OP_PROGRAM_PATH"
|
|
14
|
+
& $env:OP_PROGRAM_PATH
|
|
15
|
+
} else {
|
|
16
|
+
Write-Host "no op program found"
|
|
17
|
+
}
|
|
@@ -7,7 +7,7 @@ $user = ''
|
|
|
7
7
|
$sharePath = ''
|
|
8
8
|
$driveLetter = ''
|
|
9
9
|
|
|
10
|
-
uv run --python 3.14 --with "machineconfig>=6.
|
|
10
|
+
uv run --python 3.14 --with "machineconfig>=6.69" 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.
|
|
4
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.69" mcfg "$@"
|
|
5
5
|
}
|
|
6
6
|
alias d="mcfg devops"
|
|
7
7
|
alias c="mcfg cloud"
|
|
@@ -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.
|
|
5
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.69" mcfg $args
|
|
6
6
|
}
|
|
7
7
|
function d { mcfg devops @args }
|
|
8
8
|
function c { mcfg cloud @args }
|
machineconfig/utils/scheduler.py
CHANGED
|
@@ -160,10 +160,6 @@ class CacheMemory[T]():
|
|
|
160
160
|
self.logger = logger
|
|
161
161
|
self.expire = expire
|
|
162
162
|
self.name = name if isinstance(name, str) else self.source_func.__name__
|
|
163
|
-
@property
|
|
164
|
-
def age(self) -> timedelta:
|
|
165
|
-
return datetime.now() - self.time_produced
|
|
166
|
-
|
|
167
163
|
def __call__(self, fresh: bool = False, tolerance_seconds: int = 1000000000000) -> T:
|
|
168
164
|
if fresh or not hasattr(self, "cache"):
|
|
169
165
|
why = "There was an explicit fresh order." if fresh else "Previous cache never existed."
|
|
@@ -175,7 +171,7 @@ class CacheMemory[T]():
|
|
|
175
171
|
self.logger.warning(f"⏱️ Cache population took {time.time() - t0:.2f} seconds.")
|
|
176
172
|
self.time_produced = datetime.now()
|
|
177
173
|
else:
|
|
178
|
-
age = self.
|
|
174
|
+
age = datetime.now() - self.time_produced
|
|
179
175
|
if (age > self.expire) or (fresh and (age.total_seconds() > tolerance_seconds)):
|
|
180
176
|
self.logger.warning(f"""
|
|
181
177
|
🔄 ════════════════════ CACHE UPDATE ════════════════════
|
|
@@ -214,8 +210,6 @@ class Cache[T](): # This class helps to accelrate access to latest data coming
|
|
|
214
210
|
self.logger = logger
|
|
215
211
|
self.expire = expire
|
|
216
212
|
self.name = name if isinstance(name, str) else self.source_func.__name__
|
|
217
|
-
def get_age(self):
|
|
218
|
-
return datetime.now() - self.time_produced
|
|
219
213
|
def __call__(self, fresh: bool = False, tolerance_seconds: int = 1000000000000) -> T:
|
|
220
214
|
if not hasattr(self, "cache"): # populate cache for the first time: we have two options, populate from disk or from source func.
|
|
221
215
|
if self.path.exists(): # prefer to read from disk over source func as a default source of cache.
|
|
@@ -262,7 +256,7 @@ class Cache[T](): # This class helps to accelrate access to latest data coming
|
|
|
262
256
|
self.time_produced = datetime.now()
|
|
263
257
|
self.save(self.cache, self.path)
|
|
264
258
|
else: # memory cache exists
|
|
265
|
-
age =
|
|
259
|
+
age = datetime.now() - self.time_produced
|
|
266
260
|
if (age > self.expire) or (fresh and (age.total_seconds() > tolerance_seconds)): # cache is old or if fresh flag is raised
|
|
267
261
|
self.logger.warning(f"""
|
|
268
262
|
🔄 ════════════════════ CACHE UPDATE ════════════════════
|
machineconfig/utils/ssh.py
CHANGED
|
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
|
|
|
8
8
|
from machineconfig.utils.accessories import pprint, randstr
|
|
9
9
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
10
10
|
UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
|
|
11
|
-
MACHINECONFIG_VERSION = "machineconfig>=6.
|
|
11
|
+
MACHINECONFIG_VERSION = "machineconfig>=6.69"
|
|
12
12
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
13
13
|
|
|
14
14
|
class SSH:
|
|
@@ -111,6 +111,7 @@ machineconfig/scripts/linux/fzfag,sha256=x0rX7vM_YjKLZ822D2Xh0HdaTj5kR_gG3g_5_w6
|
|
|
111
111
|
machineconfig/scripts/linux/fzffg,sha256=jjeeyFkWmBbwH2taRqC3EOzZep2KR-ZYoI4UI-5kHqg,1090
|
|
112
112
|
machineconfig/scripts/linux/fzfg,sha256=ClGnJZUsIk4y0qs3W5iXGo-nd0FaqAHMsnh8uoXQFy8,1190
|
|
113
113
|
machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS3WITM,460
|
|
114
|
+
machineconfig/scripts/linux/mcfgp,sha256=GYxtQrFCxa56hvuAyjfEDGHfp2ghU11pTKzmCHUMicg,300
|
|
114
115
|
machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
|
|
115
116
|
machineconfig/scripts/linux/warp-cli.sh,sha256=shFFZ9viet_DSEEHT8kxlGRHoJpO6o85pKYnc3rIkaA,3868
|
|
116
117
|
machineconfig/scripts/linux/z_ls,sha256=h5YJYfnJrmtLe4c2iKk5aZdaK_Zeaj3CpQX8SSr7fr0,3310
|
|
@@ -122,11 +123,11 @@ machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP
|
|
|
122
123
|
machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
123
124
|
machineconfig/scripts/python/agents.py,sha256=gGeeWCI0AN_DyDJ3G5KR9qSsXv8zkUd5dBRRWqz-dQE,10722
|
|
124
125
|
machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
|
|
125
|
-
machineconfig/scripts/python/croshell.py,sha256=
|
|
126
|
+
machineconfig/scripts/python/croshell.py,sha256=gidD9wF4A23WlRNfzbKcPa2BvIKqcAkzQ1CSlN3A2NY,8580
|
|
126
127
|
machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
|
|
127
128
|
machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
|
|
128
|
-
machineconfig/scripts/python/entry.py,sha256=
|
|
129
|
-
machineconfig/scripts/python/fire_jobs.py,sha256=
|
|
129
|
+
machineconfig/scripts/python/entry.py,sha256=TB5lZDZDImGqX4_mMSEv4ZoFigIPA0RXn-9H2cmPS6g,2457
|
|
130
|
+
machineconfig/scripts/python/fire_jobs.py,sha256=7L9g4NCr-0gGw3XGNvRCtu77fpfTrTTXMWZ_R4EoSlc,13912
|
|
130
131
|
machineconfig/scripts/python/ftpx.py,sha256=A13hL_tDYfcsaK9PkshK-0lrUS6KPhPCtwqWtLSo6IM,9764
|
|
131
132
|
machineconfig/scripts/python/interactive.py,sha256=zt3g6nGKR_Y5A57UnR4Y5-JpLzrpnCOSaqU1bnaikK0,11666
|
|
132
133
|
machineconfig/scripts/python/sessions.py,sha256=JfN8M7r7f8DkfiGJ4jz2NfXvABm90nOZJmLGxPgw_2M,9518
|
|
@@ -163,7 +164,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
|
|
|
163
164
|
machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
164
165
|
machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
|
|
165
166
|
machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
|
|
166
|
-
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=
|
|
167
|
+
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=ZHbx3nNxmn7doyzrTjruqZZuaEEAD3revPLXX_zzQUQ,6932
|
|
167
168
|
machineconfig/scripts/python/helpers_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
168
169
|
machineconfig/scripts/python/helpers_cloud/cloud_copy.py,sha256=OV1w3ajFVFs6FJytjIPOntYB_aW2ywGohKi73V4Dm2Y,8691
|
|
169
170
|
machineconfig/scripts/python/helpers_cloud/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
|
|
@@ -179,12 +180,12 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
|
|
|
179
180
|
machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
|
|
180
181
|
machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
|
|
181
182
|
machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
|
-
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=
|
|
183
|
+
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=O2j7s3RethPmf3R0ZUuq98SP7uF9fH5SR53U2mh9diw,7218
|
|
183
184
|
machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
|
|
184
185
|
machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
|
|
185
186
|
machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=B5Xa9pV5MdC4vPo3EmKaHvNMlThsY3c5F92YPE5j3rI,4176
|
|
186
187
|
machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
|
|
187
|
-
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=
|
|
188
|
+
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=0slPJsKIia5Yto_UY4_AZqQXnWyfkJdb3Hg0YK8q000,6225
|
|
188
189
|
machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
|
|
189
190
|
machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
|
|
190
191
|
machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=gj9KNY6GyzSflXJRkX0lzyvypvwdgseudXhgJcmAtPY,6074
|
|
@@ -219,13 +220,13 @@ machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py,
|
|
|
219
220
|
machineconfig/scripts/python/helpers_navigator/__init__.py,sha256=5qPsu5ztoj0gkrioY0Yg0GTZ9JAn6SG2gAk-6DpuQ00,764
|
|
220
221
|
machineconfig/scripts/python/helpers_navigator/command_builder.py,sha256=59ipLYdkWvj_l1xqrC6rz2E2GNCP91BVBsX8vqTRnjQ,4618
|
|
221
222
|
machineconfig/scripts/python/helpers_navigator/command_detail.py,sha256=9cL2wVqa_vzgsSIYg-eVjeuac9f3aQJvrTl0T-SRAOU,1693
|
|
222
|
-
machineconfig/scripts/python/helpers_navigator/command_tree.py,sha256=
|
|
223
|
+
machineconfig/scripts/python/helpers_navigator/command_tree.py,sha256=Kw673rk7QbRBL1lCvCDC5HsoQemzh2mEw5aJSQPbgtk,24421
|
|
223
224
|
machineconfig/scripts/python/helpers_navigator/data_models.py,sha256=62CIZ01rfCD2mKX_ihEVuhNzZ8FDnRSEIIQuyKOtmOg,533
|
|
224
225
|
machineconfig/scripts/python/helpers_navigator/main_app.py,sha256=R1vOBMUKaiFHOg0D4SzTcu48Wsc8lO0LKAzrZxCsCtg,8849
|
|
225
226
|
machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
|
|
226
227
|
machineconfig/scripts/python/helpers_repos/action.py,sha256=9AxWy8mB9HFeV5t11-qD_l-KA5jkUmm0pXVKT1L6-Qk,14894
|
|
227
228
|
machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
|
|
228
|
-
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=
|
|
229
|
+
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=KoYM6JqM-dcN8cyR6lP_hkUhKWPTDf00gYbt9CoxEcw,10450
|
|
229
230
|
machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
|
|
230
231
|
machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=vSDtrF4829jziwp6WZmGt9G8MJ9jY4hfXqtf0vhkYSE,607
|
|
231
232
|
machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
|
|
@@ -241,7 +242,7 @@ machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdC
|
|
|
241
242
|
machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
|
|
242
243
|
machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
|
|
243
244
|
machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
|
|
244
|
-
machineconfig/scripts/python/nw/mount_nfs,sha256=
|
|
245
|
+
machineconfig/scripts/python/nw/mount_nfs,sha256=JTx0HgVLWdJ77mcpAzDUBf8Q5FNLLaPVtMGokk1t2BE,1855
|
|
245
246
|
machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
|
|
246
247
|
machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
|
|
247
248
|
machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
|
|
@@ -255,10 +256,11 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=jHJyFTuks_Kw4cgE8
|
|
|
255
256
|
machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
|
|
256
257
|
machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
|
|
257
258
|
machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
|
|
259
|
+
machineconfig/scripts/windows/mcfgp.ps1,sha256=uuK5pEz38D3_SOjfhbvkDT8Kt4I62YhNzkExlW8VSps,577
|
|
258
260
|
machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
|
|
259
261
|
machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
|
|
260
262
|
machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
|
|
261
|
-
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=
|
|
263
|
+
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=zsDa_sKBxIV9_pUJdiKXtwNOIiHKeMAIibjA1swv_vo,322
|
|
262
264
|
machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
|
|
263
265
|
machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
|
|
264
266
|
machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
|
|
@@ -375,7 +377,7 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
|
|
|
375
377
|
machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
|
|
376
378
|
machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
|
|
377
379
|
machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
|
|
378
|
-
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=
|
|
380
|
+
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=ofIWdLyM-_cyaP8fy_DAbWj9790ARnDMS9IEsISpugk,464
|
|
379
381
|
machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
|
|
380
382
|
machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
|
|
381
383
|
machineconfig/setup_mac/uv.sh,sha256=CSN8oCBKS-LK1vJJqYOhAMcrouTf4Q_F3cpplc_ddMA,1157
|
|
@@ -389,7 +391,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
|
|
|
389
391
|
machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
|
|
390
392
|
machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
|
|
391
393
|
machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
|
|
392
|
-
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=
|
|
394
|
+
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=xooNUprrTC2YGZpg04jYuAoj-TRpvmawVVaREOEwtDo,581
|
|
393
395
|
machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
394
396
|
machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
|
|
395
397
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -404,10 +406,10 @@ machineconfig/utils/options.py,sha256=vUO4Kej-vDOv64wHr2HNDyu6PATURpjd7xp6N8OOoJ
|
|
|
404
406
|
machineconfig/utils/path_extended.py,sha256=WyJwoHnXdvSQQJ-yrxTX78FpqYmgVeKDYpNEB9UsRck,53223
|
|
405
407
|
machineconfig/utils/path_helper.py,sha256=0e3Xh3BAEv27oqcezNeVLHJllGmLEgLH4T1l90m-650,8014
|
|
406
408
|
machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,10957
|
|
407
|
-
machineconfig/utils/scheduler.py,sha256=
|
|
409
|
+
machineconfig/utils/scheduler.py,sha256=AwSUzGr7rbDVzHtw7k2xA2GpSoV1b6Ml1z7FsUPIa9w,14737
|
|
408
410
|
machineconfig/utils/scheduling.py,sha256=6x5zLA7sY5gohrEtN6zGrXIqNFasMoyBfwLcOjrjiME,11109
|
|
409
411
|
machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
|
|
410
|
-
machineconfig/utils/ssh.py,sha256=
|
|
412
|
+
machineconfig/utils/ssh.py,sha256=XiS4FGlnPseM3JRP6vPF0iCx6TCqIChy0-DCBJLWFPQ,38991
|
|
411
413
|
machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
|
|
412
414
|
machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
|
|
413
415
|
machineconfig/utils/upgrade_packages.py,sha256=mSFyKvB3JhHte_x1dtmEgrJZCAXgTUQoaJUSx1OXQ3Y,4145
|
|
@@ -436,8 +438,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
|
|
|
436
438
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
437
439
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
438
440
|
machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
439
|
-
machineconfig-6.
|
|
440
|
-
machineconfig-6.
|
|
441
|
-
machineconfig-6.
|
|
442
|
-
machineconfig-6.
|
|
443
|
-
machineconfig-6.
|
|
441
|
+
machineconfig-6.69.dist-info/METADATA,sha256=OjoqjFg_BAU1nsDHXXY-bpb26z6bQw64v0uXHHlpcnI,2928
|
|
442
|
+
machineconfig-6.69.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
443
|
+
machineconfig-6.69.dist-info/entry_points.txt,sha256=NTW7hbUlpt5Vx9DdQrONLkYMCuBXpvYh1dt0AtlGxeI,466
|
|
444
|
+
machineconfig-6.69.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
445
|
+
machineconfig-6.69.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|