machineconfig 5.64__py3-none-any.whl → 5.66__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/python/agents.py +12 -48
- machineconfig/scripts/python/ai/generate_files.py +197 -42
- machineconfig/scripts/python/croshell.py +5 -5
- machineconfig/scripts/python/devops_helpers/cli_config.py +1 -1
- machineconfig/scripts/python/devops_helpers/cli_self.py +3 -3
- machineconfig/scripts/python/devops_navigator.py +1 -890
- machineconfig/scripts/python/entry.py +17 -12
- machineconfig/scripts/python/fire_jobs.py +4 -4
- machineconfig/scripts/python/ftpx.py +4 -4
- machineconfig/scripts/python/helper_navigator/__init__.py +20 -0
- machineconfig/scripts/python/helper_navigator/command_builder.py +111 -0
- machineconfig/scripts/python/helper_navigator/command_detail.py +44 -0
- machineconfig/scripts/python/helper_navigator/command_tree.py +470 -0
- machineconfig/scripts/python/helper_navigator/data_models.py +28 -0
- machineconfig/scripts/python/helper_navigator/main_app.py +262 -0
- machineconfig/scripts/python/helper_navigator/search_bar.py +15 -0
- machineconfig/scripts/python/helpers_fire/template.sh +1 -0
- machineconfig/scripts/python/interactive.py +2 -2
- machineconfig/scripts/python/nw/mount_nfs +1 -1
- machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +1 -1
- machineconfig/scripts/python/sessions.py +1 -1
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/setup_linux/web_shortcuts/interactive.sh +7 -7
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +7 -7
- machineconfig/utils/ssh.py +2 -2
- {machineconfig-5.64.dist-info → machineconfig-5.66.dist-info}/METADATA +1 -2
- {machineconfig-5.64.dist-info → machineconfig-5.66.dist-info}/RECORD +30 -24
- machineconfig-5.66.dist-info/entry_points.txt +9 -0
- machineconfig/utils/ai/generate_file_checklist.py +0 -68
- machineconfig-5.64.dist-info/entry_points.txt +0 -9
- {machineconfig-5.64.dist-info → machineconfig-5.66.dist-info}/WHEEL +0 -0
- {machineconfig-5.64.dist-info → machineconfig-5.66.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Main TUI application for navigating machineconfig commands.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import subprocess
|
|
6
|
+
from textual.app import App, ComposeResult
|
|
7
|
+
from textual.widgets import Header, Footer, Input, Tree
|
|
8
|
+
from textual.binding import Binding
|
|
9
|
+
from machineconfig.scripts.python.helper_navigator.command_builder import CommandBuilderScreen
|
|
10
|
+
from machineconfig.scripts.python.helper_navigator.command_tree import CommandTree
|
|
11
|
+
from machineconfig.scripts.python.helper_navigator.command_detail import CommandDetail
|
|
12
|
+
from machineconfig.scripts.python.helper_navigator.search_bar import SearchBar
|
|
13
|
+
from machineconfig.scripts.python.helper_navigator.data_models import CommandInfo
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CommandNavigatorApp(App[None]):
|
|
17
|
+
"""TUI application for navigating machineconfig commands."""
|
|
18
|
+
|
|
19
|
+
CSS = """
|
|
20
|
+
Screen {
|
|
21
|
+
layout: grid;
|
|
22
|
+
grid-size: 2 3;
|
|
23
|
+
grid-rows: auto 1fr auto;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
Header {
|
|
27
|
+
column-span: 2;
|
|
28
|
+
background: $boost;
|
|
29
|
+
color: $text;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#search-bar {
|
|
33
|
+
column-span: 2;
|
|
34
|
+
padding: 1;
|
|
35
|
+
background: $surface;
|
|
36
|
+
height: auto;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.search-label {
|
|
40
|
+
width: auto;
|
|
41
|
+
padding-right: 1;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
#search-input {
|
|
45
|
+
width: 1fr;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#command-tree {
|
|
49
|
+
row-span: 1;
|
|
50
|
+
border: solid $primary;
|
|
51
|
+
padding: 1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#command-detail {
|
|
55
|
+
row-span: 1;
|
|
56
|
+
border: solid $primary;
|
|
57
|
+
padding: 1;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
Footer {
|
|
61
|
+
column-span: 2;
|
|
62
|
+
background: $boost;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
Button {
|
|
66
|
+
margin: 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
CommandBuilderScreen {
|
|
70
|
+
align: center middle;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
CommandBuilderScreen > VerticalScroll {
|
|
74
|
+
width: 80;
|
|
75
|
+
height: auto;
|
|
76
|
+
max-height: 90%;
|
|
77
|
+
background: $surface;
|
|
78
|
+
border: thick $primary;
|
|
79
|
+
padding: 2;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
CommandBuilderScreen .title {
|
|
83
|
+
margin-bottom: 1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
CommandBuilderScreen Label {
|
|
87
|
+
margin-top: 1;
|
|
88
|
+
margin-bottom: 0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
CommandBuilderScreen Input {
|
|
92
|
+
margin-bottom: 1;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
CommandBuilderScreen .buttons {
|
|
96
|
+
margin-top: 2;
|
|
97
|
+
height: auto;
|
|
98
|
+
align: center middle;
|
|
99
|
+
}
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
BINDINGS = [
|
|
103
|
+
Binding("q", "quit", "Quit", priority=True),
|
|
104
|
+
Binding("c", "copy_command", "Copy Command"),
|
|
105
|
+
Binding("/", "focus_search", "Search"),
|
|
106
|
+
Binding("?", "help", "Help"),
|
|
107
|
+
Binding("r", "run_command", "Run Command"),
|
|
108
|
+
Binding("b", "build_command", "Build Command"),
|
|
109
|
+
]
|
|
110
|
+
|
|
111
|
+
def compose(self) -> ComposeResult:
|
|
112
|
+
"""Create child widgets for the app."""
|
|
113
|
+
yield Header(show_clock=True)
|
|
114
|
+
yield SearchBar(id="search-bar")
|
|
115
|
+
yield CommandTree("📚 machineconfig Commands", id="command-tree")
|
|
116
|
+
yield CommandDetail(id="command-detail")
|
|
117
|
+
yield Footer()
|
|
118
|
+
|
|
119
|
+
def on_mount(self) -> None:
|
|
120
|
+
"""Actions when app is mounted."""
|
|
121
|
+
self.title = "machineconfig Command Navigator"
|
|
122
|
+
self.sub_title = "Navigate and explore all available commands"
|
|
123
|
+
tree = self.query_one(CommandTree)
|
|
124
|
+
tree.focus()
|
|
125
|
+
|
|
126
|
+
def on_tree_node_selected(self, event: Tree.NodeSelected[CommandInfo]) -> None:
|
|
127
|
+
"""Handle tree node selection."""
|
|
128
|
+
command_info = event.node.data
|
|
129
|
+
detail_widget = self.query_one("#command-detail", CommandDetail)
|
|
130
|
+
detail_widget.update_command(command_info)
|
|
131
|
+
|
|
132
|
+
def on_input_changed(self, event: Input.Changed) -> None:
|
|
133
|
+
"""Handle search input changes."""
|
|
134
|
+
if event.input.id != "search-input":
|
|
135
|
+
return
|
|
136
|
+
|
|
137
|
+
search_term = event.value.lower()
|
|
138
|
+
tree = self.query_one(CommandTree)
|
|
139
|
+
|
|
140
|
+
if not search_term:
|
|
141
|
+
# Show all nodes - expand all root children
|
|
142
|
+
for node in tree.root.children:
|
|
143
|
+
node.expand()
|
|
144
|
+
return
|
|
145
|
+
|
|
146
|
+
# Filter nodes based on search term
|
|
147
|
+
def filter_tree(node): # type: ignore
|
|
148
|
+
if node.data and not node.data.is_group:
|
|
149
|
+
match = (search_term in node.data.name.lower() or
|
|
150
|
+
search_term in node.data.description.lower() or
|
|
151
|
+
search_term in node.data.command.lower())
|
|
152
|
+
return match
|
|
153
|
+
return False
|
|
154
|
+
|
|
155
|
+
# Expand parents of matching nodes by walking through all nodes
|
|
156
|
+
def walk_nodes(node): # type: ignore
|
|
157
|
+
"""Recursively walk through tree nodes."""
|
|
158
|
+
yield node
|
|
159
|
+
for child in node.children:
|
|
160
|
+
yield from walk_nodes(child)
|
|
161
|
+
|
|
162
|
+
for node in walk_nodes(tree.root):
|
|
163
|
+
if filter_tree(node):
|
|
164
|
+
parent = node.parent
|
|
165
|
+
while parent and parent != tree.root:
|
|
166
|
+
parent.expand()
|
|
167
|
+
parent = parent.parent # type: ignore
|
|
168
|
+
|
|
169
|
+
def action_copy_command(self) -> None:
|
|
170
|
+
"""Copy the selected command to clipboard."""
|
|
171
|
+
tree = self.query_one(CommandTree)
|
|
172
|
+
if tree.cursor_node and tree.cursor_node.data:
|
|
173
|
+
command = tree.cursor_node.data.command
|
|
174
|
+
try:
|
|
175
|
+
import pyperclip # type: ignore
|
|
176
|
+
pyperclip.copy(command)
|
|
177
|
+
self.notify(f"Copied: {command}", severity="information")
|
|
178
|
+
except ImportError:
|
|
179
|
+
self.notify("Install pyperclip to enable clipboard support", severity="warning")
|
|
180
|
+
|
|
181
|
+
def action_run_command(self) -> None:
|
|
182
|
+
"""Run the selected command without arguments."""
|
|
183
|
+
tree = self.query_one(CommandTree)
|
|
184
|
+
if tree.cursor_node and tree.cursor_node.data:
|
|
185
|
+
command_info = tree.cursor_node.data
|
|
186
|
+
if command_info.is_group:
|
|
187
|
+
self.notify("Cannot run command groups directly", severity="warning")
|
|
188
|
+
return
|
|
189
|
+
|
|
190
|
+
self._execute_command(command_info.command)
|
|
191
|
+
|
|
192
|
+
def action_build_command(self) -> None:
|
|
193
|
+
"""Open command builder for selected command."""
|
|
194
|
+
tree = self.query_one(CommandTree)
|
|
195
|
+
if tree.cursor_node and tree.cursor_node.data:
|
|
196
|
+
command_info = tree.cursor_node.data
|
|
197
|
+
if command_info.is_group:
|
|
198
|
+
self.notify("Cannot build command for groups", severity="warning")
|
|
199
|
+
return
|
|
200
|
+
|
|
201
|
+
self.push_screen(CommandBuilderScreen(command_info), self._handle_builder_result)
|
|
202
|
+
|
|
203
|
+
def _handle_builder_result(self, result: str | None) -> None:
|
|
204
|
+
"""Handle result from command builder."""
|
|
205
|
+
if not result:
|
|
206
|
+
return
|
|
207
|
+
|
|
208
|
+
if result.startswith("EXECUTE:"):
|
|
209
|
+
command = result[8:]
|
|
210
|
+
self._execute_command(command)
|
|
211
|
+
elif result.startswith("COPY:"):
|
|
212
|
+
command = result[5:]
|
|
213
|
+
self._copy_to_clipboard(command)
|
|
214
|
+
|
|
215
|
+
def _execute_command(self, command: str) -> None:
|
|
216
|
+
"""Execute a shell command."""
|
|
217
|
+
try:
|
|
218
|
+
self.notify(f"Executing: {command}", severity="information")
|
|
219
|
+
result = subprocess.run(command, shell=True, capture_output=True, text=True, timeout=30)
|
|
220
|
+
|
|
221
|
+
if result.returncode == 0:
|
|
222
|
+
output = result.stdout.strip()
|
|
223
|
+
if output:
|
|
224
|
+
self.notify(f"Success: {output[:100]}...", severity="information", timeout=5)
|
|
225
|
+
else:
|
|
226
|
+
self.notify("Command executed successfully", severity="information")
|
|
227
|
+
else:
|
|
228
|
+
error = result.stderr.strip() or "Unknown error"
|
|
229
|
+
self.notify(f"Error: {error[:100]}...", severity="error", timeout=10)
|
|
230
|
+
except subprocess.TimeoutExpired:
|
|
231
|
+
self.notify("Command timed out after 30 seconds", severity="warning")
|
|
232
|
+
except Exception as e:
|
|
233
|
+
self.notify(f"Failed to execute: {str(e)}", severity="error")
|
|
234
|
+
|
|
235
|
+
def _copy_to_clipboard(self, command: str) -> None:
|
|
236
|
+
"""Copy command to clipboard."""
|
|
237
|
+
try:
|
|
238
|
+
import pyperclip # type: ignore
|
|
239
|
+
pyperclip.copy(command)
|
|
240
|
+
self.notify(f"Copied: {command}", severity="information")
|
|
241
|
+
except ImportError:
|
|
242
|
+
self.notify("Install pyperclip to enable clipboard support", severity="warning")
|
|
243
|
+
|
|
244
|
+
def action_focus_search(self) -> None:
|
|
245
|
+
"""Focus the search input."""
|
|
246
|
+
search_input = self.query_one("#search-input", Input)
|
|
247
|
+
search_input.focus()
|
|
248
|
+
|
|
249
|
+
def action_help(self) -> None:
|
|
250
|
+
"""Show help information."""
|
|
251
|
+
help_text = """
|
|
252
|
+
Navigation:
|
|
253
|
+
- ↑↓: Navigate tree
|
|
254
|
+
- Enter: Expand/collapse node
|
|
255
|
+
- /: Focus search
|
|
256
|
+
- c: Copy command to clipboard
|
|
257
|
+
- r: Run command directly (no args)
|
|
258
|
+
- b: Build command with arguments
|
|
259
|
+
- q: Quit
|
|
260
|
+
- ?: Show this help
|
|
261
|
+
"""
|
|
262
|
+
self.notify(help_text, severity="information", timeout=10)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Search bar widget for filtering commands.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from textual.app import ComposeResult
|
|
6
|
+
from textual.containers import Horizontal
|
|
7
|
+
from textual.widgets import Label, Input
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SearchBar(Horizontal):
|
|
11
|
+
"""Search bar widget."""
|
|
12
|
+
|
|
13
|
+
def compose(self) -> ComposeResult:
|
|
14
|
+
yield Label("🔍 Search: ", classes="search-label")
|
|
15
|
+
yield Input(placeholder="Type to search commands...", id="search-input")
|
|
@@ -10,6 +10,7 @@ PROMPT_PATH="$REPO_ROOT/src/machineconfig/scripts/python/helpers_fire/prompt.txt
|
|
|
10
10
|
AGENTS_DIR="$REPO_ROOT/.ai/agents/$JOB_NAME"
|
|
11
11
|
LAYOUT_PATH_UNBALANCED="$REPO_ROOT/.ai/agents/$JOB_NAME/layout_unbalanced.json"
|
|
12
12
|
|
|
13
|
+
# agents make-todo --output-path $CONTEXT_PATH
|
|
13
14
|
agents create \
|
|
14
15
|
--context-path "$CONTEXT_PATH" \
|
|
15
16
|
--tasks-per-prompt 1 \
|
|
@@ -130,9 +130,9 @@ def execute_installations(selected_options: list[str]) -> None:
|
|
|
130
130
|
console.print(Panel("🐍 [bold green]PYTHON ENVIRONMENT[/bold green]\n[italic]Virtual environment setup[/italic]", border_style="green"))
|
|
131
131
|
import platform
|
|
132
132
|
if platform.system() == "Windows":
|
|
133
|
-
run_shell_script(r"""$HOME\.local\bin\uv.exe tool install machineconfig""")
|
|
133
|
+
run_shell_script(r"""$HOME\.local\bin\uv.exe tool install machineconfig>=5.65""")
|
|
134
134
|
else:
|
|
135
|
-
run_shell_script("""$HOME/.local/bin/uv tool install machineconfig""")
|
|
135
|
+
run_shell_script("""$HOME/.local/bin/uv tool install machineconfig>=5.65""")
|
|
136
136
|
if "install_ssh_server" in selected_options:
|
|
137
137
|
console.print(Panel("🔒 [bold red]SSH SERVER[/bold red]\n[italic]Remote access setup[/italic]", border_style="red"))
|
|
138
138
|
import platform
|
|
@@ -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>=5.
|
|
8
|
+
uv run --python 3.14 --with machineconfig>=5.65python -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 @@ def analyze_repo_development(repo_path: str = typer.Argument(..., help="Path to
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
count_lines_path = Path(count_lines.__file__)
|
|
9
9
|
# --project $HOME/code/ machineconfig --group plot
|
|
10
|
-
cmd = f"""uv run --python 3.14 --with machineconfig[plot]>=5.
|
|
10
|
+
cmd = f"""uv run --python 3.14 --with machineconfig[plot]>=5.65 {count_lines_path} analyze-over-time {repo_path}"""
|
|
11
11
|
from machineconfig.utils.code import run_shell_script
|
|
12
12
|
run_shell_script(cmd)
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ $user = ''
|
|
|
7
7
|
$sharePath = ''
|
|
8
8
|
$driveLetter = ''
|
|
9
9
|
|
|
10
|
-
uv run --python 3.14 --with machineconfig>=5.
|
|
10
|
+
uv run --python 3.14 --with machineconfig>=5.65python -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,25 +1,25 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
|
|
3
3
|
devops() {
|
|
4
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.
|
|
4
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.65 devops "$@"
|
|
5
5
|
}
|
|
6
6
|
agents() {
|
|
7
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.
|
|
7
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.65 agents "$@"
|
|
8
8
|
}
|
|
9
9
|
cloud() {
|
|
10
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.
|
|
10
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.65 cloud "$@"
|
|
11
11
|
}
|
|
12
12
|
croshell() {
|
|
13
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.
|
|
13
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.65 croshell "$@"
|
|
14
14
|
}
|
|
15
15
|
fire() {
|
|
16
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.
|
|
16
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.65fire "$@"
|
|
17
17
|
}
|
|
18
18
|
ftpx() {
|
|
19
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.
|
|
19
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.65ftpx "$@"
|
|
20
20
|
}
|
|
21
21
|
sessions() {
|
|
22
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.
|
|
22
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.65sessions "$@"
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
echo "devops command is now defined in this shell session."
|
|
@@ -2,30 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
|
|
4
4
|
function devops {
|
|
5
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.
|
|
5
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.65 devops $args
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
function cloud {
|
|
9
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.
|
|
9
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.65 cloud $args
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function croshell {
|
|
13
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.
|
|
13
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.65 croshell $args
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
function agents {
|
|
17
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.
|
|
17
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.65 agents $args
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
function fire {
|
|
21
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.
|
|
21
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.65 fire $args
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
function ftpx {
|
|
25
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.
|
|
25
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.65 ftpx $args
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
function sessions {
|
|
29
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.
|
|
29
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.65 sessions $args
|
|
30
30
|
}
|
|
31
31
|
|
machineconfig/utils/ssh.py
CHANGED
|
@@ -223,7 +223,7 @@ class SSH: # inferior alternative: https://github.com/fabric/fabric
|
|
|
223
223
|
cmd_path.write_text(cmd, encoding="utf-8")
|
|
224
224
|
self.copy_from_here(source=cmd_path, target=None)
|
|
225
225
|
return self.run(
|
|
226
|
-
cmd=f"""$HOME/.local/bin/uv run --with machineconfig>=5.
|
|
226
|
+
cmd=f"""$HOME/.local/bin/uv run --with machineconfig>=5.65python {cmd_path.relative_to(Path.home())}""" + '"',
|
|
227
227
|
desc=desc or f"run_py on {self.get_remote_repr()}",
|
|
228
228
|
verbose=verbose,
|
|
229
229
|
strict_err=strict_err,
|
|
@@ -243,7 +243,7 @@ class SSH: # inferior alternative: https://github.com/fabric/fabric
|
|
|
243
243
|
"""
|
|
244
244
|
cmd_path.write_text(cmd_total, encoding="utf-8")
|
|
245
245
|
self.copy_from_here(source=cmd_path, target=None)
|
|
246
|
-
_resp = self.run(f"""$HOME/.local/bin/uv run --with machineconfig>=5.
|
|
246
|
+
_resp = self.run(f"""$HOME/.local/bin/uv run --with machineconfig>=5.65python {cmd_path}""", desc=desc, verbose=verbose, strict_err=True, strict_returncode=True).op.split("\n")[-1]
|
|
247
247
|
res = self.copy_to_here(source=None, target=return_path)
|
|
248
248
|
import pickle
|
|
249
249
|
return pickle.loads(res.read_bytes())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: machineconfig
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.66
|
|
4
4
|
Summary: Dotfiles management package
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -27,7 +27,6 @@ Requires-Dist: pyjson5>=1.6.9
|
|
|
27
27
|
Requires-Dist: questionary>=2.1.1
|
|
28
28
|
Requires-Dist: typer-slim>=0.19.2
|
|
29
29
|
Requires-Dist: typer>=0.19.2
|
|
30
|
-
Requires-Dist: textual>=6.2.1
|
|
31
30
|
Provides-Extra: windows
|
|
32
31
|
Requires-Dist: pywin32; extra == "windows"
|
|
33
32
|
Provides-Extra: plot
|
|
@@ -120,18 +120,18 @@ machineconfig/scripts/linux/other/share_smb,sha256=HZX8BKgMlS9JzkGIYnxTsPvoxEBBu
|
|
|
120
120
|
machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
|
|
121
121
|
machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP96DTp77KHk2tU8,613
|
|
122
122
|
machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
123
|
-
machineconfig/scripts/python/agents.py,sha256=
|
|
123
|
+
machineconfig/scripts/python/agents.py,sha256=hWft2sX7ruBU7nmvBfdrjtqNE4Stpu29W12KI-qhPRQ,8721
|
|
124
124
|
machineconfig/scripts/python/cloud.py,sha256=_05zIiBzG4fKhFytg9mjvMBv4qMUtQJL0RtpYUJFZ3Y,920
|
|
125
|
-
machineconfig/scripts/python/croshell.py,sha256=
|
|
125
|
+
machineconfig/scripts/python/croshell.py,sha256=WGTsrk-ywJgotsZoWeFjUlY52r3YfmQa1gZHTBmZOA4,7186
|
|
126
126
|
machineconfig/scripts/python/devops.py,sha256=U0_6h9R-1b9PBQraTVoYAzrhGdtjbwyVjlJl4iyeF2E,1583
|
|
127
|
-
machineconfig/scripts/python/devops_navigator.py,sha256=
|
|
128
|
-
machineconfig/scripts/python/entry.py,sha256=
|
|
129
|
-
machineconfig/scripts/python/fire_jobs.py,sha256=
|
|
130
|
-
machineconfig/scripts/python/ftpx.py,sha256=
|
|
131
|
-
machineconfig/scripts/python/interactive.py,sha256=
|
|
132
|
-
machineconfig/scripts/python/sessions.py,sha256=
|
|
127
|
+
machineconfig/scripts/python/devops_navigator.py,sha256=4O9_-ACeP748NcMjWQXZF7mBQpMPxqCGhLvPG3DMi4Q,236
|
|
128
|
+
machineconfig/scripts/python/entry.py,sha256=hBqrwVDgUH-tISrscELh_FwVN576W1sb-RBO4ZVWRqU,1371
|
|
129
|
+
machineconfig/scripts/python/fire_jobs.py,sha256=O5DrckUGLxGblOcLf_iXU31pmCSpTg-c0hQZxQKD1os,13591
|
|
130
|
+
machineconfig/scripts/python/ftpx.py,sha256=Kgp0dKX_ULqLV2SP7-G9S_3yjpCqmNUu86X9fsYi4Rg,9399
|
|
131
|
+
machineconfig/scripts/python/interactive.py,sha256=Ulxi1Abku8-FtIU7fVtB9PK2cYM3QdH8WuOb9seSCTw,11790
|
|
132
|
+
machineconfig/scripts/python/sessions.py,sha256=PaMqJvlTbBdz_q5KxLiPwmpDGZvieg0ZTwqOxaoFfrA,9080
|
|
133
133
|
machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
134
|
-
machineconfig/scripts/python/ai/generate_files.py,sha256=
|
|
134
|
+
machineconfig/scripts/python/ai/generate_files.py,sha256=5nFiXc__J_8jy77y2B6jWMleCso2zP4Z3YQpZENqH5s,9829
|
|
135
135
|
machineconfig/scripts/python/ai/initai.py,sha256=53MuUgk92avRPM-U3dy6o_pnEj2thlurC8U6dz41_W0,2089
|
|
136
136
|
machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1,sha256=m_z4vzLrvi6bgTZumN8twcbIWb9i8ZHfVJPE8jPdxyc,5074
|
|
137
137
|
machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh,sha256=Mt9D0LSEwbvVaq_wxTAch4NLyFUuDGHjn6rtEt_9alU,4615
|
|
@@ -171,12 +171,12 @@ machineconfig/scripts/python/croshell_helpers/start_slidev.py,sha256=HfJReOusTPh
|
|
|
171
171
|
machineconfig/scripts/python/croshell_helpers/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
|
|
172
172
|
machineconfig/scripts/python/croshell_helpers/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
|
|
173
173
|
machineconfig/scripts/python/devops_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
174
|
-
machineconfig/scripts/python/devops_helpers/cli_config.py,sha256=
|
|
174
|
+
machineconfig/scripts/python/devops_helpers/cli_config.py,sha256=9-dfbtZEZc_NOeP7KxruP-OavIGBzJJJAI0cRx36p_g,3953
|
|
175
175
|
machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
|
|
176
176
|
machineconfig/scripts/python/devops_helpers/cli_data.py,sha256=f_2espL92n6SoNb5sFVMvrK7LA29HzfrFAKhxKaud1M,510
|
|
177
177
|
machineconfig/scripts/python/devops_helpers/cli_nw.py,sha256=4Ko4dA8YXqiRJvuOuwZv3YOvnSJQ7-A11ezJ8EztDis,2068
|
|
178
178
|
machineconfig/scripts/python/devops_helpers/cli_repos.py,sha256=GQJaCSnvNbIo_CmpYBDZOUyi0kPgn8VCr3a5Dnfy0_w,9681
|
|
179
|
-
machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=
|
|
179
|
+
machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=c0-DTkImxDPQyraxCTGO4z0pHAt-brC1pQw5nKLLVoI,2288
|
|
180
180
|
machineconfig/scripts/python/devops_helpers/cli_share_server.py,sha256=285OzxttCx7YsrpOkaapMKP1eVGHmG5TkkaSQnY7i3c,3976
|
|
181
181
|
machineconfig/scripts/python/devops_helpers/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
|
|
182
182
|
machineconfig/scripts/python/devops_helpers/devops_add_identity.py,sha256=wvjNgqsLmqD2SxbNCW_usqfp0LI-TDvcJJKGOWt2oFw,3775
|
|
@@ -190,6 +190,13 @@ machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py,sha25
|
|
|
190
190
|
machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
|
|
191
191
|
machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
|
|
192
192
|
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=YAZb1KOVpkfTzwApk-KYPplwvDELeU62OIDdg82m-eQ,6748
|
|
193
|
+
machineconfig/scripts/python/helper_navigator/__init__.py,sha256=6YBy1l9ISjHE0LctVwSRMV_OFq29FOInwXFN0Ff7owM,758
|
|
194
|
+
machineconfig/scripts/python/helper_navigator/command_builder.py,sha256=tMIonhYPWpdPGaiGPRg8JDCvyW0h2uxL15uL_JyWsnk,4617
|
|
195
|
+
machineconfig/scripts/python/helper_navigator/command_detail.py,sha256=i4MdiCOVaXdRmLqr4K-F1Mk1u93bl5heIN97cRPCnzg,1692
|
|
196
|
+
machineconfig/scripts/python/helper_navigator/command_tree.py,sha256=EcyQmQJNW5HA1Zq_wwl6-uWwyrP1vd0hOWyDQny79Tc,19501
|
|
197
|
+
machineconfig/scripts/python/helper_navigator/data_models.py,sha256=62CIZ01rfCD2mKX_ihEVuhNzZ8FDnRSEIIQuyKOtmOg,533
|
|
198
|
+
machineconfig/scripts/python/helper_navigator/main_app.py,sha256=SCH2o7B-7clIMf9wTDs7yHtayPDqxP9atOQ0v6uaQr8,8621
|
|
199
|
+
machineconfig/scripts/python/helper_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
|
|
193
200
|
machineconfig/scripts/python/helpers_fire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
201
|
machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=vgJMzSyLRTik2lnKYZsNzwoAF-z8Tp1aVi4wMvIJzPs,5627
|
|
195
202
|
machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
|
|
@@ -198,7 +205,7 @@ machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py,sha256=mp
|
|
|
198
205
|
machineconfig/scripts/python/helpers_fire/helpers4.py,sha256=iKR5vVJygaDIpFXhcdma9jOpyxKtUhmqcmalFxJmY0w,4749
|
|
199
206
|
machineconfig/scripts/python/helpers_fire/prompt.txt,sha256=Ni6r-Dh0Ez2XwfOZl3MOMDhfn6BJ2z4IdK3wFvA3c_o,116
|
|
200
207
|
machineconfig/scripts/python/helpers_fire/template.ps1,sha256=NWkYlM4_l9eT52lS9NdOxmEn548gyy-bl1Q3AU3YKxY,1085
|
|
201
|
-
machineconfig/scripts/python/helpers_fire/template.sh,sha256=
|
|
208
|
+
machineconfig/scripts/python/helpers_fire/template.sh,sha256=ohK-hlH4IdUl827CacLmMLB8i5OgmY6q00ETd7bN9GQ,1172
|
|
202
209
|
machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
203
210
|
machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json,sha256=YGuJF-qlMjhICPf0QnNfQlGNPsYrJJDlNcgmes0TFhM,252
|
|
204
211
|
machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py,sha256=-yRdVcKX_1XTUzWKNoNW9rjmn_NsJuk1pB5EKC4TKpU,1622
|
|
@@ -216,7 +223,7 @@ machineconfig/scripts/python/helpers_repos/grource.py,sha256=IywQ1NDPcLXM5Tr9xhm
|
|
|
216
223
|
machineconfig/scripts/python/helpers_repos/secure_repo.py,sha256=G_quiKOLNkWD5UG8ekexgh9xbpW4Od-J1pLJbLLWnpg,993
|
|
217
224
|
machineconfig/scripts/python/nw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
218
225
|
machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
|
|
219
|
-
machineconfig/scripts/python/nw/mount_nfs,sha256=
|
|
226
|
+
machineconfig/scripts/python/nw/mount_nfs,sha256=tqeI0eqW2KjReOjCAjMfF2nlivshTDi3egB-iCcQ9gI,1852
|
|
220
227
|
machineconfig/scripts/python/nw/mount_nfs.py,sha256=aECrL64j9g-9rF49sVJAjGmzaoGgcMnl3g9v17kQF4c,3239
|
|
221
228
|
machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
|
|
222
229
|
machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
|
|
@@ -228,7 +235,7 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=534zlYe3Xsr0mqegA
|
|
|
228
235
|
machineconfig/scripts/python/repos_helpers/action.py,sha256=t6x9K43Uy7r5aRpdODfsN-5UoMrYXEG2cVw-Y8l9prw,14847
|
|
229
236
|
machineconfig/scripts/python/repos_helpers/clone.py,sha256=9vGb9NCXT0lkerPzOJjmFfhU8LSzE-_1LDvjkhgnal0,5461
|
|
230
237
|
machineconfig/scripts/python/repos_helpers/count_lines.py,sha256=ZLEajCLmlFFY969BehabqGOB9_kkpATO3Lt09L7KULk,15968
|
|
231
|
-
machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=
|
|
238
|
+
machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=MLdquCMrc75vUiX3RtzUnWJbN5hyyAmWxBsNKcq73ec,566
|
|
232
239
|
machineconfig/scripts/python/repos_helpers/entrypoint.py,sha256=C-_D03abE0TkVCJ4jZoliUMAhRRkZ77mcwMoPOuieJQ,2827
|
|
233
240
|
machineconfig/scripts/python/repos_helpers/record.py,sha256=3T5VmMbvywScZhTW2j4cGLK0T2LSWxKfnXkRTxkuLP4,10994
|
|
234
241
|
machineconfig/scripts/python/repos_helpers/sync.py,sha256=CLLWy2n2gY9beXPF-mblOQ6R7cKoenkJjMiX7tHQsBk,3091
|
|
@@ -241,7 +248,7 @@ machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqk
|
|
|
241
248
|
machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
|
|
242
249
|
machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
|
|
243
250
|
machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
|
|
244
|
-
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=
|
|
251
|
+
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=KS7vIrvLqWNP08JH9R6b_hXfegADd1O0eYrEEzfiW7g,319
|
|
245
252
|
machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
|
|
246
253
|
machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
|
|
247
254
|
machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
|
|
@@ -356,7 +363,7 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
|
|
|
356
363
|
machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
|
|
357
364
|
machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
|
|
358
365
|
machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
|
|
359
|
-
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=
|
|
366
|
+
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=prIudL9ywdaDXko6qMoSEj3Hn0Vd4axtclrCnzcgHoc,863
|
|
360
367
|
machineconfig/setup_windows/__init__.py,sha256=NnSVZkIBoxoMgkj-_KAqGonH3YziBIWXOKDEcmNAGTY,386
|
|
361
368
|
machineconfig/setup_windows/apps.ps1,sha256=G5GqZ9G0aiQr_A-HaahtRdzpaTTdW6n3DRKMZWDTSPc,11214
|
|
362
369
|
machineconfig/setup_windows/uv.ps1,sha256=mzkFJUQ57dukVQtY7WqAQIVUDMcixnkir8aNM_TYrl4,350
|
|
@@ -366,7 +373,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
|
|
|
366
373
|
machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
|
|
367
374
|
machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
|
|
368
375
|
machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
|
|
369
|
-
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=
|
|
376
|
+
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=hDXBz9v1zgx8bNHF44adKak3koiYEh8jO-VXkUWYzFA,905
|
|
370
377
|
machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
371
378
|
machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
|
|
372
379
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -384,12 +391,11 @@ machineconfig/utils/procs.py,sha256=w75oGKfR7FpT1pGTGd2XscnEOO0IHBWxohLbi69hLqg,
|
|
|
384
391
|
machineconfig/utils/scheduler.py,sha256=jZ_1yghqA3-aINPRmE_76gboqJc0UElroR7urNOfXKs,14940
|
|
385
392
|
machineconfig/utils/scheduling.py,sha256=RF1iXJpqf4Dg18jdZWtBixz97KAHC6VKYqTFSpdLWuc,11188
|
|
386
393
|
machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
|
|
387
|
-
machineconfig/utils/ssh.py,sha256
|
|
394
|
+
machineconfig/utils/ssh.py,sha256=9Bp3G2KJyMkJGbSNYmH1wJTH0bMkU85PXaHYaSH2pB4,22243
|
|
388
395
|
machineconfig/utils/terminal.py,sha256=IlmOByfQG-vjhaFFxxzU5rWzP5_qUzmalRfuey3PAmc,11801
|
|
389
396
|
machineconfig/utils/upgrade_packages.py,sha256=H96zVJEWXJW07nh5vhjuSCrPtXGqoUb7xeJsFYYdmCI,3330
|
|
390
397
|
machineconfig/utils/ve.py,sha256=L-6PBXnQGXThiwWgheJMQoisAZOZA6SVCbGw2J-GFnI,2414
|
|
391
398
|
machineconfig/utils/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
392
|
-
machineconfig/utils/ai/generate_file_checklist.py,sha256=ajbmhcBToRugl75c_KZRq2XJumxKgIqQhyf7_YtF5q4,2729
|
|
393
399
|
machineconfig/utils/cloud/onedrive/README.md,sha256=i20oRG110AN0yLF3DARHfWXDJjPBiSgWI8CP2HQAqrk,3774
|
|
394
400
|
machineconfig/utils/cloud/onedrive/setup_oauth.py,sha256=ZTVkqgrwbV_EoPvyT8dyOTUE0ur3BW4sa9o6QYtt5Bo,2341
|
|
395
401
|
machineconfig/utils/cloud/onedrive/transaction.py,sha256=m-aNcnWj_gfZVvJOSpkdIqjZxU_3nXx2CA-qKbQgP3I,26232
|
|
@@ -408,8 +414,8 @@ machineconfig/utils/schemas/fire_agents/fire_agents_input.py,sha256=Xbi59rU35AzR
|
|
|
408
414
|
machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoSpdmTIdgS9LS-RvE-QZ-D260tD3o,1214
|
|
409
415
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
410
416
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
411
|
-
machineconfig-5.
|
|
412
|
-
machineconfig-5.
|
|
413
|
-
machineconfig-5.
|
|
414
|
-
machineconfig-5.
|
|
415
|
-
machineconfig-5.
|
|
417
|
+
machineconfig-5.66.dist-info/METADATA,sha256=BdV63xX7hcbFUOPR31m0wbyRF5oK3fnC2edq8ux033w,3103
|
|
418
|
+
machineconfig-5.66.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
419
|
+
machineconfig-5.66.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
|
|
420
|
+
machineconfig-5.66.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
421
|
+
machineconfig-5.66.dist-info/RECORD,,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[console_scripts]
|
|
2
|
+
agents = machineconfig.scripts.python.agents:main
|
|
3
|
+
cloud = machineconfig.scripts.python.cloud:main
|
|
4
|
+
croshell = machineconfig.scripts.python.croshell:main
|
|
5
|
+
devops = machineconfig.scripts.python.devops:main
|
|
6
|
+
fire = machineconfig.scripts.python.fire_jobs:main
|
|
7
|
+
ftpx = machineconfig.scripts.python.ftpx:main
|
|
8
|
+
mcfg = machineconfig.scripts.python.entry:main
|
|
9
|
+
sessions = machineconfig.scripts.python.sessions:main
|