machineconfig 5.63__py3-none-any.whl → 5.65__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 +6 -2
- machineconfig/scripts/python/cloud.py +10 -5
- machineconfig/scripts/python/croshell.py +5 -5
- machineconfig/scripts/python/devops.py +20 -21
- machineconfig/scripts/python/devops_helpers/cli_config.py +1 -1
- machineconfig/scripts/python/devops_helpers/cli_self.py +1 -1
- machineconfig/scripts/python/entry.py +21 -16
- machineconfig/scripts/python/fire_jobs.py +8 -9
- machineconfig/scripts/python/ftpx.py +4 -4
- machineconfig/scripts/python/nw/mount_nfs +1 -1
- machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +1 -1
- machineconfig/scripts/python/sessions.py +7 -2
- 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.63.dist-info → machineconfig-5.65.dist-info}/METADATA +1 -2
- {machineconfig-5.63.dist-info → machineconfig-5.65.dist-info}/RECORD +21 -21
- machineconfig-5.65.dist-info/entry_points.txt +9 -0
- machineconfig-5.63.dist-info/entry_points.txt +0 -9
- {machineconfig-5.63.dist-info → machineconfig-5.65.dist-info}/WHEEL +0 -0
- {machineconfig-5.63.dist-info → machineconfig-5.65.dist-info}/top_level.txt +0 -0
|
@@ -191,14 +191,18 @@ def generate_files():
|
|
|
191
191
|
from machineconfig.scripts.python.ai.generate_files import main
|
|
192
192
|
main()
|
|
193
193
|
|
|
194
|
-
def
|
|
195
|
-
import sys
|
|
194
|
+
def get_app():
|
|
196
195
|
agents_app = typer.Typer(help="🤖 AI Agents management subcommands")
|
|
197
196
|
agents_app.command("create", no_args_is_help=True, help="Create agents layout file, ready to run.")(create)
|
|
198
197
|
agents_app.command("collect", no_args_is_help=True, help="Collect all agent materials into a single file.")(collect)
|
|
199
198
|
agents_app.command("make-template", no_args_is_help=False, help="Create a template for fire agents")(template)
|
|
200
199
|
agents_app.command("make-config", no_args_is_help=False, help="Initialize AI configurations in the current repository")(init_config)
|
|
201
200
|
agents_app.command("make-todo", no_args_is_help=False, help="Generate a markdown file listing all Python files in the repo")(generate_files)
|
|
201
|
+
return agents_app
|
|
202
|
+
|
|
203
|
+
def main():
|
|
204
|
+
agents_app = get_app()
|
|
205
|
+
import sys
|
|
202
206
|
if len(sys.argv) == 1:
|
|
203
207
|
agents_app(["--help"])
|
|
204
208
|
else:
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
|
|
2
2
|
import typer
|
|
3
|
-
from machineconfig.scripts.python.cloud_helpers.cloud_sync import main
|
|
3
|
+
from machineconfig.scripts.python.cloud_helpers.cloud_sync import main as sync_main
|
|
4
4
|
from machineconfig.scripts.python.cloud_helpers.cloud_copy import main as copy_main
|
|
5
5
|
from machineconfig.scripts.python.cloud_helpers.cloud_mount import main as mount_main
|
|
6
6
|
|
|
7
|
+
def get_app():
|
|
8
|
+
app = typer.Typer(add_completion=False, no_args_is_help=True)
|
|
9
|
+
app.command(name="sync", no_args_is_help=True, help="""🔄 Synchronize files/folders between local and cloud storage.""")(sync_main)
|
|
10
|
+
app.command(name="copy", no_args_is_help=True, short_help="""📤 Upload or 📥 Download files/folders to/from cloud storage services like Google Drive, Dropbox, OneDrive, etc.""")(copy_main)
|
|
11
|
+
app.command(name="mount", no_args_is_help=True, short_help="""🔗 Mount cloud storage services like Google Drive, Dropbox, OneDrive, etc. as local drives.""")(mount_main)
|
|
12
|
+
return app
|
|
7
13
|
|
|
8
|
-
app = typer.Typer(add_completion=False, no_args_is_help=True)
|
|
9
|
-
app.command(name="sync", no_args_is_help=True, help="""🔄 Synchronize files/folders between local and cloud storage.""")(main)
|
|
10
|
-
app.command(name="copy", no_args_is_help=True, short_help="""📤 Upload or 📥 Download files/folders to/from cloud storage services like Google Drive, Dropbox, OneDrive, etc.""")(copy_main)
|
|
11
|
-
app.command(name="mount", no_args_is_help=True, short_help="""🔗 Mount cloud storage services like Google Drive, Dropbox, OneDrive, etc. as local drives.""")(mount_main)
|
|
12
14
|
|
|
15
|
+
def main():
|
|
16
|
+
app = get_app()
|
|
17
|
+
app()
|
|
@@ -62,7 +62,7 @@ except Exception as e:
|
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
|
|
65
|
-
def
|
|
65
|
+
def croshell(
|
|
66
66
|
python: Annotated[bool, typer.Option("--python", "-p", help="flag to use python over IPython.")] = False,
|
|
67
67
|
fzf: Annotated[bool, typer.Option("--fzf", "-F", help="search with fuzzy finder for python scripts and run them")] = False,
|
|
68
68
|
profile: Annotated[Optional[str], typer.Option("--profile", "-P", help="ipython profile to use, defaults to default profile.")] = None,
|
|
@@ -150,16 +150,16 @@ from pathlib import Path
|
|
|
150
150
|
else:
|
|
151
151
|
console.print(Panel("❌ Could not determine the local machineconfig repo root. Please ensure the `REPO_ROOT` in `source_of_truth.py` is correctly set to the local path of the machineconfig repo, or do not use the `--local` flag.", title="Error", border_style="red"))
|
|
152
152
|
return
|
|
153
|
-
else: ve_line = "--with machineconfig[plot]>=5.
|
|
153
|
+
else: ve_line = "--with machineconfig[plot]>=5.65"
|
|
154
154
|
fire_line = f"uv run --python 3.14 {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
|
|
155
155
|
|
|
156
156
|
from machineconfig.utils.code import run_shell_script
|
|
157
157
|
run_shell_script(fire_line, clean_env=False)
|
|
158
158
|
|
|
159
159
|
|
|
160
|
-
def
|
|
161
|
-
typer.run(
|
|
160
|
+
def main() -> None:
|
|
161
|
+
typer.run(croshell)
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
if __name__ == "__main__":
|
|
165
|
-
|
|
165
|
+
main()
|
|
@@ -10,25 +10,24 @@ import machineconfig.scripts.python.devops_helpers.cli_data as cli_data
|
|
|
10
10
|
import machineconfig.scripts.python.devops_helpers.cli_nw as cli_network
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
app.add_typer(cli_repos.app, name="repos")
|
|
25
|
-
app.add_typer(cli_config.config_apps, name="config")
|
|
26
|
-
app.add_typer(cli_data.app_data, name="data")
|
|
27
|
-
app.add_typer(cli_self.cli_app, name="self")
|
|
28
|
-
app.add_typer(cli_network.nw_apps, name="network")
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if __name__ == "__main__":
|
|
13
|
+
def get_app():
|
|
14
|
+
app = typer.Typer(help="🛠️ DevOps operations", no_args_is_help=True, add_completion=True)
|
|
15
|
+
@app.command(no_args_is_help=True)
|
|
16
|
+
def install( which: Optional[str] = typer.Option(None, "--which", "-w", help="Comma-separated list of program names to install."),
|
|
17
|
+
group: Optional[str] = typer.Option(None, "--group", "-g", help="Groups names. A group is bundle of apps. See available groups when running interactively."),
|
|
18
|
+
interactive: bool = typer.Option(False, "--interactive", "-ia", help="Interactive selection of programs to install."),
|
|
19
|
+
) -> None:
|
|
20
|
+
"""📦 Install essential packages"""
|
|
21
|
+
import machineconfig.utils.installer_utils.installer as installer_entry_point
|
|
22
|
+
installer_entry_point.main(which=which, group=group, interactive=interactive)
|
|
23
|
+
_ = install
|
|
24
|
+
app.add_typer(cli_repos.app, name="repos")
|
|
25
|
+
app.add_typer(cli_config.config_apps, name="config")
|
|
26
|
+
app.add_typer(cli_data.app_data, name="data")
|
|
27
|
+
app.add_typer(cli_self.cli_app, name="self")
|
|
28
|
+
app.add_typer(cli_network.nw_apps, name="network")
|
|
29
|
+
return app
|
|
30
|
+
|
|
31
|
+
def main():
|
|
32
|
+
app = get_app()
|
|
34
33
|
app()
|
|
@@ -48,7 +48,7 @@ def path():
|
|
|
48
48
|
from pathlib import Path
|
|
49
49
|
path = Path(navigator.__file__).resolve().parent.joinpath("path_manager_tui.py")
|
|
50
50
|
from machineconfig.utils.code import run_shell_script
|
|
51
|
-
run_shell_script(f"uv run --no-dev --with machineconfig>=5.
|
|
51
|
+
run_shell_script(f"uv run --no-dev --with machineconfig>=5.65,textual {path}")
|
|
52
52
|
|
|
53
53
|
@config_apps.command(no_args_is_help=False)
|
|
54
54
|
def pwsh_theme():
|
|
@@ -42,7 +42,7 @@ def navigate():
|
|
|
42
42
|
from pathlib import Path
|
|
43
43
|
path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
|
|
44
44
|
from machineconfig.utils.code import run_shell_script
|
|
45
|
-
run_shell_script(f"uv run --no-dev --with machineconfig>=5.
|
|
45
|
+
run_shell_script(f"uv run --no-dev --with machineconfig>=5.65,textual {path}")
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
@cli_app.command(no_args_is_help=True)
|
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
|
|
2
|
-
from machineconfig.scripts.python.devops import
|
|
3
|
-
from machineconfig.scripts.python.cloud import
|
|
2
|
+
from machineconfig.scripts.python.devops import get_app as get_devops_app
|
|
3
|
+
from machineconfig.scripts.python.cloud import get_app as get_cloud_app
|
|
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
|
+
from machineconfig.scripts.python.sessions import get_app as get_sessions_app
|
|
4
7
|
|
|
5
|
-
from machineconfig.scripts.python.ftpx import
|
|
6
|
-
from machineconfig.scripts.python.
|
|
7
|
-
from machineconfig.scripts.python.croshell import main as croshell_app
|
|
8
|
-
from machineconfig.scripts.python.fire_jobs import main_from_parser as fire_jobs_app
|
|
9
|
-
from machineconfig.scripts.python.sessions import main_from_parser as sessions_app
|
|
8
|
+
from machineconfig.scripts.python.ftpx import ftpx as ftpx_func
|
|
9
|
+
from machineconfig.scripts.python.croshell import croshell as croshell_func
|
|
10
10
|
|
|
11
|
-
import typer
|
|
12
11
|
|
|
12
|
+
def get_app():
|
|
13
|
+
import typer
|
|
14
|
+
app = typer.Typer(help="MachineConfig CLI - Manage your machine configurations and workflows", no_args_is_help=True)
|
|
15
|
+
app.add_typer(get_devops_app(), name="devops", help="DevOps related commands")
|
|
16
|
+
app.add_typer(get_cloud_app(), name="cloud", help="Cloud management commands")
|
|
17
|
+
app.add_typer(get_sessions_app(), name="sessions", help="Session and layout management")
|
|
18
|
+
app.add_typer(get_fire_jobs_app(), name="fire", help="Fire and manage jobs")
|
|
19
|
+
app.add_typer(get_agents_app(), name="agents", help="🤖 AI Agents management commands")
|
|
13
20
|
|
|
14
|
-
app =
|
|
15
|
-
app.
|
|
16
|
-
app.add_typer(cloud_app, name="cloud", help="Cloud management commands")
|
|
21
|
+
app.command("ftpx", no_args_is_help=True, help="File transfer utility though SSH")(ftpx_func)
|
|
22
|
+
app.command("croshell", no_args_is_help=False, help="Cross-shell command execution")(croshell_func)
|
|
17
23
|
|
|
18
|
-
app
|
|
19
|
-
app.command("agents", no_args_is_help=True, help="🤖 AI Agents management commands")(agents_app)
|
|
20
|
-
app.command("croshell", no_args_is_help=True, help="Cross-shell command execution")(croshell_app)
|
|
21
|
-
app.command("fire-jobs", no_args_is_help=True, help="Fire and manage jobs")(fire_jobs_app)
|
|
22
|
-
app.command("sessions", no_args_is_help=True, help="Session and layout management")(sessions_app)
|
|
24
|
+
return app
|
|
23
25
|
|
|
26
|
+
def main():
|
|
27
|
+
app = get_app()
|
|
28
|
+
app()
|
|
@@ -196,7 +196,7 @@ python -m machineconfig.cluster.templates.cli_click --file {choice_file} """
|
|
|
196
196
|
run_shell_script(command)
|
|
197
197
|
|
|
198
198
|
|
|
199
|
-
def
|
|
199
|
+
def fire(
|
|
200
200
|
ctx: typer.Context,
|
|
201
201
|
path: Annotated[str, typer.Argument(help="Path to the Python file to run")] = ".",
|
|
202
202
|
function: Annotated[Optional[str], typer.Argument(help="Function to run")] = None,
|
|
@@ -259,17 +259,16 @@ def main(
|
|
|
259
259
|
sys.exit(1)
|
|
260
260
|
|
|
261
261
|
|
|
262
|
-
def
|
|
263
|
-
# from trogon.typer import init_tui
|
|
264
|
-
# from trogon.typer import init_tui
|
|
262
|
+
def get_app():
|
|
265
263
|
from typer import Typer
|
|
266
|
-
|
|
267
264
|
app = Typer(add_completion=False)
|
|
268
|
-
app.command(context_settings={"allow_extra_args": True, "allow_interspersed_args": False})(
|
|
269
|
-
|
|
270
|
-
|
|
265
|
+
app.command(context_settings={"allow_extra_args": True, "allow_interspersed_args": False})(fire)
|
|
266
|
+
return app
|
|
267
|
+
|
|
268
|
+
def main():
|
|
269
|
+
app = get_app()
|
|
271
270
|
app()
|
|
272
271
|
|
|
273
272
|
|
|
274
273
|
if __name__ == "__main__":
|
|
275
|
-
|
|
274
|
+
pass
|
|
@@ -19,7 +19,7 @@ from machineconfig.utils.accessories import pprint
|
|
|
19
19
|
console = Console()
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
def
|
|
22
|
+
def ftpx(
|
|
23
23
|
source: Annotated[str, typer.Argument(help="Source path (machine:path)")],
|
|
24
24
|
target: Annotated[str, typer.Argument(help="Target path (machine:path)")],
|
|
25
25
|
recursive: Annotated[bool, typer.Option("--recursive", "-r", help="Send recursively.")] = False,
|
|
@@ -210,12 +210,12 @@ def main(
|
|
|
210
210
|
)
|
|
211
211
|
|
|
212
212
|
|
|
213
|
-
def
|
|
213
|
+
def main() -> None:
|
|
214
214
|
"""Entry point function that uses typer to parse arguments and call main."""
|
|
215
215
|
app = typer.Typer()
|
|
216
|
-
app.command(no_args_is_help=True, help="File transfer utility though SSH.")(
|
|
216
|
+
app.command(no_args_is_help=True, help="File transfer utility though SSH.")(ftpx)
|
|
217
217
|
app()
|
|
218
218
|
|
|
219
219
|
|
|
220
220
|
if __name__ == "__main__":
|
|
221
|
-
|
|
221
|
+
main()
|
|
@@ -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
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
from typing import Optional, Literal
|
|
4
4
|
import typer
|
|
5
|
-
from machineconfig.scripts.python.sessions_helpers.sessions_multiprocess import create_from_function
|
|
6
5
|
|
|
7
6
|
def balance_load(layout_path: Path = typer.Argument(..., help="Path to the layout.json file"),
|
|
8
7
|
max_thresh: int = typer.Option(..., help="Maximum tabs per layout"),
|
|
@@ -136,12 +135,18 @@ def kill_process():
|
|
|
136
135
|
from machineconfig.utils.procs import main
|
|
137
136
|
main()
|
|
138
137
|
|
|
139
|
-
def
|
|
138
|
+
def get_app():
|
|
140
139
|
layouts_app = typer.Typer(help="Layouts management subcommands", no_args_is_help=True)
|
|
140
|
+
from machineconfig.scripts.python.sessions_helpers.sessions_multiprocess import create_from_function
|
|
141
141
|
layouts_app.command("create-from-function", no_args_is_help=True, help="Create a layout from a function")(create_from_function)
|
|
142
142
|
layouts_app.command("run", no_args_is_help=True, help="Run the selected layout(s)")(run)
|
|
143
143
|
layouts_app.command("balance-load", no_args_is_help=True, help="Balance the load across sessions")(balance_load)
|
|
144
144
|
layouts_app.command("kill-process", no_args_is_help=True, help="Choose a process to kill")(kill_process)
|
|
145
|
+
return layouts_app
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def main():
|
|
149
|
+
layouts_app = get_app()
|
|
145
150
|
layouts_app()
|
|
146
151
|
|
|
147
152
|
|
|
@@ -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.65
|
|
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,16 +120,16 @@ 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=
|
|
124
|
-
machineconfig/scripts/python/cloud.py,sha256=
|
|
125
|
-
machineconfig/scripts/python/croshell.py,sha256=
|
|
126
|
-
machineconfig/scripts/python/devops.py,sha256=
|
|
123
|
+
machineconfig/scripts/python/agents.py,sha256=WmMbj7MNLgELNuy5fKmgoF6BklSGwQ7xx8o63FnXLlo,10531
|
|
124
|
+
machineconfig/scripts/python/cloud.py,sha256=_05zIiBzG4fKhFytg9mjvMBv4qMUtQJL0RtpYUJFZ3Y,920
|
|
125
|
+
machineconfig/scripts/python/croshell.py,sha256=WGTsrk-ywJgotsZoWeFjUlY52r3YfmQa1gZHTBmZOA4,7186
|
|
126
|
+
machineconfig/scripts/python/devops.py,sha256=U0_6h9R-1b9PBQraTVoYAzrhGdtjbwyVjlJl4iyeF2E,1583
|
|
127
127
|
machineconfig/scripts/python/devops_navigator.py,sha256=_PlZrFrxbNHC1tRTx2n57pteUFdkszH9GtKq2JxEm4E,34940
|
|
128
|
-
machineconfig/scripts/python/entry.py,sha256=
|
|
129
|
-
machineconfig/scripts/python/fire_jobs.py,sha256=
|
|
130
|
-
machineconfig/scripts/python/ftpx.py,sha256=
|
|
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
131
|
machineconfig/scripts/python/interactive.py,sha256=IRveYja_9omEEhRyM1M6_SlljPY2Eo_GGoK9tTi1nsk,11778
|
|
132
|
-
machineconfig/scripts/python/sessions.py,sha256=
|
|
132
|
+
machineconfig/scripts/python/sessions.py,sha256=PaMqJvlTbBdz_q5KxLiPwmpDGZvieg0ZTwqOxaoFfrA,9080
|
|
133
133
|
machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
134
134
|
machineconfig/scripts/python/ai/generate_files.py,sha256=Vfjgd0skJu-WTgqUxmOVFzaNMfSFBaFmY5oGGVY7MZY,2860
|
|
135
135
|
machineconfig/scripts/python/ai/initai.py,sha256=53MuUgk92avRPM-U3dy6o_pnEj2thlurC8U6dz41_W0,2089
|
|
@@ -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=zAvEn5faletvuZupQfve0BYwbOOGp3nKI6BD7k3qH5g,3962
|
|
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=SIqqvrgQYNGFcJnRb7kwMaIcoJuKSDaCHCASR7g2IK0,2285
|
|
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
|
|
@@ -216,7 +216,7 @@ machineconfig/scripts/python/helpers_repos/grource.py,sha256=IywQ1NDPcLXM5Tr9xhm
|
|
|
216
216
|
machineconfig/scripts/python/helpers_repos/secure_repo.py,sha256=G_quiKOLNkWD5UG8ekexgh9xbpW4Od-J1pLJbLLWnpg,993
|
|
217
217
|
machineconfig/scripts/python/nw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
218
218
|
machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
|
|
219
|
-
machineconfig/scripts/python/nw/mount_nfs,sha256=
|
|
219
|
+
machineconfig/scripts/python/nw/mount_nfs,sha256=tqeI0eqW2KjReOjCAjMfF2nlivshTDi3egB-iCcQ9gI,1852
|
|
220
220
|
machineconfig/scripts/python/nw/mount_nfs.py,sha256=aECrL64j9g-9rF49sVJAjGmzaoGgcMnl3g9v17kQF4c,3239
|
|
221
221
|
machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
|
|
222
222
|
machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
|
|
@@ -228,7 +228,7 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=534zlYe3Xsr0mqegA
|
|
|
228
228
|
machineconfig/scripts/python/repos_helpers/action.py,sha256=t6x9K43Uy7r5aRpdODfsN-5UoMrYXEG2cVw-Y8l9prw,14847
|
|
229
229
|
machineconfig/scripts/python/repos_helpers/clone.py,sha256=9vGb9NCXT0lkerPzOJjmFfhU8LSzE-_1LDvjkhgnal0,5461
|
|
230
230
|
machineconfig/scripts/python/repos_helpers/count_lines.py,sha256=ZLEajCLmlFFY969BehabqGOB9_kkpATO3Lt09L7KULk,15968
|
|
231
|
-
machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=
|
|
231
|
+
machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=MLdquCMrc75vUiX3RtzUnWJbN5hyyAmWxBsNKcq73ec,566
|
|
232
232
|
machineconfig/scripts/python/repos_helpers/entrypoint.py,sha256=C-_D03abE0TkVCJ4jZoliUMAhRRkZ77mcwMoPOuieJQ,2827
|
|
233
233
|
machineconfig/scripts/python/repos_helpers/record.py,sha256=3T5VmMbvywScZhTW2j4cGLK0T2LSWxKfnXkRTxkuLP4,10994
|
|
234
234
|
machineconfig/scripts/python/repos_helpers/sync.py,sha256=CLLWy2n2gY9beXPF-mblOQ6R7cKoenkJjMiX7tHQsBk,3091
|
|
@@ -241,7 +241,7 @@ machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqk
|
|
|
241
241
|
machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
|
|
242
242
|
machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
|
|
243
243
|
machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
|
|
244
|
-
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=
|
|
244
|
+
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=KS7vIrvLqWNP08JH9R6b_hXfegADd1O0eYrEEzfiW7g,319
|
|
245
245
|
machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
|
|
246
246
|
machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
|
|
247
247
|
machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
|
|
@@ -356,7 +356,7 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
|
|
|
356
356
|
machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
|
|
357
357
|
machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
|
|
358
358
|
machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
|
|
359
|
-
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=
|
|
359
|
+
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=prIudL9ywdaDXko6qMoSEj3Hn0Vd4axtclrCnzcgHoc,863
|
|
360
360
|
machineconfig/setup_windows/__init__.py,sha256=NnSVZkIBoxoMgkj-_KAqGonH3YziBIWXOKDEcmNAGTY,386
|
|
361
361
|
machineconfig/setup_windows/apps.ps1,sha256=G5GqZ9G0aiQr_A-HaahtRdzpaTTdW6n3DRKMZWDTSPc,11214
|
|
362
362
|
machineconfig/setup_windows/uv.ps1,sha256=mzkFJUQ57dukVQtY7WqAQIVUDMcixnkir8aNM_TYrl4,350
|
|
@@ -366,7 +366,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
|
|
|
366
366
|
machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
|
|
367
367
|
machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
|
|
368
368
|
machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
|
|
369
|
-
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=
|
|
369
|
+
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=hDXBz9v1zgx8bNHF44adKak3koiYEh8jO-VXkUWYzFA,905
|
|
370
370
|
machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
371
371
|
machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
|
|
372
372
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -384,7 +384,7 @@ machineconfig/utils/procs.py,sha256=w75oGKfR7FpT1pGTGd2XscnEOO0IHBWxohLbi69hLqg,
|
|
|
384
384
|
machineconfig/utils/scheduler.py,sha256=jZ_1yghqA3-aINPRmE_76gboqJc0UElroR7urNOfXKs,14940
|
|
385
385
|
machineconfig/utils/scheduling.py,sha256=RF1iXJpqf4Dg18jdZWtBixz97KAHC6VKYqTFSpdLWuc,11188
|
|
386
386
|
machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
|
|
387
|
-
machineconfig/utils/ssh.py,sha256
|
|
387
|
+
machineconfig/utils/ssh.py,sha256=9Bp3G2KJyMkJGbSNYmH1wJTH0bMkU85PXaHYaSH2pB4,22243
|
|
388
388
|
machineconfig/utils/terminal.py,sha256=IlmOByfQG-vjhaFFxxzU5rWzP5_qUzmalRfuey3PAmc,11801
|
|
389
389
|
machineconfig/utils/upgrade_packages.py,sha256=H96zVJEWXJW07nh5vhjuSCrPtXGqoUb7xeJsFYYdmCI,3330
|
|
390
390
|
machineconfig/utils/ve.py,sha256=L-6PBXnQGXThiwWgheJMQoisAZOZA6SVCbGw2J-GFnI,2414
|
|
@@ -408,8 +408,8 @@ machineconfig/utils/schemas/fire_agents/fire_agents_input.py,sha256=Xbi59rU35AzR
|
|
|
408
408
|
machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoSpdmTIdgS9LS-RvE-QZ-D260tD3o,1214
|
|
409
409
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
410
410
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
411
|
-
machineconfig-5.
|
|
412
|
-
machineconfig-5.
|
|
413
|
-
machineconfig-5.
|
|
414
|
-
machineconfig-5.
|
|
415
|
-
machineconfig-5.
|
|
411
|
+
machineconfig-5.65.dist-info/METADATA,sha256=01MoV1Z9D9xY_qsMQISvMoGoNvNOXlJvNLgNW6e38l8,3103
|
|
412
|
+
machineconfig-5.65.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
413
|
+
machineconfig-5.65.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
|
|
414
|
+
machineconfig-5.65.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
415
|
+
machineconfig-5.65.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
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
[console_scripts]
|
|
2
|
-
agents = machineconfig.scripts.python.agents:main_from_parser
|
|
3
|
-
cloud = machineconfig.scripts.python.cloud:app
|
|
4
|
-
croshell = machineconfig.scripts.python.croshell:arg_parser
|
|
5
|
-
devops = machineconfig.scripts.python.devops:app
|
|
6
|
-
fire = machineconfig.scripts.python.fire_jobs:main_from_parser
|
|
7
|
-
ftpx = machineconfig.scripts.python.ftpx:main_from_parser
|
|
8
|
-
mcfg = machineconfig.scripts.python.entry:app
|
|
9
|
-
sessions = machineconfig.scripts.python.sessions:main_from_parser
|
|
File without changes
|
|
File without changes
|