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

Files changed (54) hide show
  1. machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
  2. machineconfig/scripts/linux/{wifi_conn → cloud} +1 -1
  3. machineconfig/scripts/python/agents.py +6 -0
  4. machineconfig/scripts/python/ai/initai.py +0 -9
  5. machineconfig/scripts/python/cloud.py +12 -0
  6. machineconfig/scripts/python/{cloud_copy.py → cloud_helpers/cloud_copy.py} +3 -3
  7. machineconfig/scripts/python/{cloud_sync.py → cloud_helpers/cloud_sync.py} +3 -10
  8. machineconfig/scripts/python/{helpers → cloud_helpers}/helpers2.py +1 -1
  9. machineconfig/scripts/python/croshell.py +1 -1
  10. machineconfig/scripts/python/devops_helpers/cli_repos.py +9 -9
  11. machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py +1 -1
  12. machineconfig/scripts/python/devops_helpers/devops_update_repos.py +1 -1
  13. machineconfig/scripts/python/fire_jobs.py +2 -2
  14. machineconfig/scripts/python/ftpx.py +1 -1
  15. machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +3 -3
  16. machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +1 -1
  17. machineconfig/scripts/python/repos_helpers/{repos_helper_action.py → action.py} +1 -1
  18. machineconfig/scripts/python/repos_helpers/{repos_helper.py → entrypoint.py} +2 -2
  19. machineconfig/scripts/python/{helpers/repo_sync_helpers.py → repos_helpers/sync.py} +0 -20
  20. machineconfig/scripts/python/sessions.py +1 -1
  21. machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py +1 -1
  22. machineconfig/scripts/windows/{initai.ps1 → cloud.ps1} +1 -1
  23. machineconfig/utils/code.py +5 -3
  24. machineconfig/utils/files/headers.py +5 -3
  25. {machineconfig-5.31.dist-info → machineconfig-5.33.dist-info}/METADATA +1 -2
  26. {machineconfig-5.31.dist-info → machineconfig-5.33.dist-info}/RECORD +41 -51
  27. machineconfig-5.33.dist-info/entry_points.txt +9 -0
  28. machineconfig/scripts/linux/choose_wezterm_theme +0 -3
  29. machineconfig/scripts/linux/cloud_copy +0 -2
  30. machineconfig/scripts/linux/cloud_mount +0 -2
  31. machineconfig/scripts/linux/cloud_sync +0 -2
  32. machineconfig/scripts/linux/gh_models +0 -2
  33. machineconfig/scripts/linux/initai +0 -2
  34. machineconfig/scripts/linux/scheduler +0 -2
  35. machineconfig/scripts/linux/start_slidev +0 -2
  36. machineconfig/scripts/python/helpers_fire/fire_q.py +0 -19
  37. machineconfig/scripts/windows/cloud_copy.ps1 +0 -1
  38. machineconfig/scripts/windows/cloud_mount.ps1 +0 -1
  39. machineconfig/scripts/windows/cloud_sync.ps1 +0 -1
  40. machineconfig-5.31.dist-info/entry_points.txt +0 -18
  41. /machineconfig/scripts/python/{helpers → cloud_helpers}/__init__.py +0 -0
  42. /machineconfig/scripts/python/{helpers → cloud_helpers}/cloud_helpers.py +0 -0
  43. /machineconfig/scripts/python/{cloud_mount.py → cloud_helpers/cloud_mount.py} +0 -0
  44. /machineconfig/scripts/python/{helpers → cloud_helpers}/helpers5.py +0 -0
  45. /machineconfig/scripts/python/{helpers → helpers_fire}/helpers4.py +0 -0
  46. /machineconfig/scripts/{linux → python/nw}/mount_drive +0 -0
  47. /machineconfig/scripts/{linux → python/nw}/mount_nfs +0 -0
  48. /machineconfig/scripts/{linux → python/nw}/mount_nw_drive +0 -0
  49. /machineconfig/scripts/{linux → python/nw}/mount_smb +0 -0
  50. /machineconfig/scripts/python/repos_helpers/{repos_helper_clone.py → clone.py} +0 -0
  51. /machineconfig/scripts/python/repos_helpers/{repos_helper_record.py → record.py} +0 -0
  52. /machineconfig/scripts/python/repos_helpers/{repos_helper_update.py → update.py} +0 -0
  53. {machineconfig-5.31.dist-info → machineconfig-5.33.dist-info}/WHEEL +0 -0
  54. {machineconfig-5.31.dist-info → machineconfig-5.33.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,30 @@
1
+
2
+
3
+
4
+ from machineconfig.utils.schemas.installer.installer_types import InstallerData
5
+ from typing import Optional
6
+
7
+ installer_data: InstallerData = {
8
+ "appName": "libduckdb.so",
9
+ "repoURL": "https://github.com/duckdb/duckdb",
10
+ "doc": "🗃️ An in-process SQL OLAP database management system",
11
+ "fileNamePattern": {
12
+ "amd64": {
13
+ "linux": "libduckdb-linux-amd64.zip",
14
+ "macos": None,
15
+ "windows": None
16
+ },
17
+ "arm64": {
18
+ "linux": "libduckdb-linux-arm64.zip",
19
+ "macos": None,
20
+ "windows": None
21
+ }
22
+ }
23
+ }
24
+
25
+
26
+ def main(installer_data: InstallerData, version: Optional[str]) -> None:
27
+ _ = version
28
+ from machineconfig.utils.installer import Installer
29
+ installer = Installer(installer_data)
30
+ installer.install(version=None)
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig wifi_conn
2
+ uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud $@
@@ -184,12 +184,18 @@ def template():
184
184
  typer.echo(f"Template bash script written to {save_path}")
185
185
 
186
186
 
187
+ def init_config():
188
+ from machineconfig.scripts.python.ai.initai import add_ai_configs
189
+ add_ai_configs(repo_root=Path.cwd())
190
+
191
+
187
192
  def main_from_parser():
188
193
  import sys
189
194
  agents_app = typer.Typer(help="🤖 AI Agents management subcommands")
190
195
  agents_app.command("create", no_args_is_help=True)(create)
191
196
  agents_app.command("collect", no_args_is_help=True)(collect)
192
197
  agents_app.command("create-template", no_args_is_help=False, help="Create a template for fire agents")(template)
198
+ agents_app.command("init-config", no_args_is_help=False, help="Initialize AI configurations in the current repository")(init_config)
193
199
  if len(sys.argv) == 1:
194
200
  agents_app(["--help"])
195
201
  else:
@@ -47,12 +47,3 @@ uv add --upgrade-package pytest --dev
47
47
  crush.build_configuration(repo_root=repo_root)
48
48
  cline.build_configuration(repo_root=repo_root)
49
49
 
50
-
51
-
52
- def main() -> None:
53
- repo_root = Path.cwd()
54
- add_ai_configs(repo_root=repo_root)
55
-
56
-
57
- if __name__ == "__main__":
58
- add_ai_configs(repo_root=Path.cwd())
@@ -0,0 +1,12 @@
1
+
2
+ import typer
3
+ from machineconfig.scripts.python.cloud_helpers.cloud_sync import main
4
+ from machineconfig.scripts.python.cloud_helpers.cloud_copy import main as copy_main
5
+ from machineconfig.scripts.python.cloud_helpers.cloud_mount import main as mount_main
6
+
7
+
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
+
@@ -10,8 +10,8 @@ from typing import Optional, Annotated
10
10
 
11
11
  import typer
12
12
 
13
- from machineconfig.scripts.python.helpers.helpers2 import parse_cloud_source_target
14
- from machineconfig.scripts.python.helpers.cloud_helpers import ArgsDefaults, Args
13
+ from machineconfig.scripts.python.cloud_helpers.helpers2 import parse_cloud_source_target
14
+ from machineconfig.scripts.python.cloud_helpers.cloud_helpers import ArgsDefaults, Args
15
15
  from rich.console import Console
16
16
  from rich.panel import Panel
17
17
  from rich.progress import Progress
@@ -76,8 +76,8 @@ def main(
76
76
  os_specific: Annotated[bool, typer.Option(help="💻 choose path specific for this OS.")] = ArgsDefaults.os_specific,
77
77
  config: Annotated[Optional[str], typer.Option(help="⚙️ path to cloud.json file.")] = None,
78
78
  ) -> None:
79
+ """📤 Upload or 📥 Download files/folders to/from cloud storage services like Google Drive, Dropbox, OneDrive, etc."""
79
80
  console.print(Panel("☁️ Cloud Copy Utility", title="[bold blue]Cloud Copy[/bold blue]", border_style="blue", width=152))
80
-
81
81
  args_obj = Args(
82
82
  overwrite=overwrite,
83
83
  share=share,
@@ -2,9 +2,9 @@
2
2
  TODO: use typer or typed-argument-parser to parse args
3
3
  """
4
4
 
5
- from machineconfig.scripts.python.helpers.helpers2 import parse_cloud_source_target
6
- from machineconfig.scripts.python.helpers.cloud_helpers import Args
7
- from machineconfig.scripts.python.cloud_mount import get_mprocs_mount_txt
5
+ from machineconfig.scripts.python.cloud_helpers.helpers2 import parse_cloud_source_target
6
+ from machineconfig.scripts.python.cloud_helpers.cloud_helpers import Args
7
+ from machineconfig.scripts.python.cloud_helpers.cloud_mount import get_mprocs_mount_txt
8
8
 
9
9
  from typing import Annotated, Optional
10
10
  import typer
@@ -78,10 +78,3 @@ def main(
78
78
 
79
79
  subprocess.run(txt, shell=True, check=True)
80
80
 
81
-
82
- def arg_parser() -> None:
83
- typer.run(main)
84
-
85
-
86
- if __name__ == "__main__":
87
- arg_parser()
@@ -1,4 +1,4 @@
1
- from machineconfig.scripts.python.helpers.cloud_helpers import Args, ArgsDefaults, absolute, find_cloud_config, get_secure_share_cloud_config
1
+ from machineconfig.scripts.python.cloud_helpers.cloud_helpers import Args, ArgsDefaults, absolute, find_cloud_config, get_secure_share_cloud_config
2
2
  from machineconfig.utils.io import read_ini
3
3
  from machineconfig.utils.source_of_truth import DEFAULTS_PATH
4
4
  from machineconfig.utils.accessories import pprint
@@ -144,7 +144,7 @@ from pathlib import Path
144
144
  fire_line = f"uv run --python 3.13 --with machineconfig[plot] {interpreter} {interactivity} {profile} {str(pyfile)}"
145
145
 
146
146
  from machineconfig.utils.code import run_shell_script
147
- run_shell_script(fire_line)
147
+ run_shell_script(fire_line, clean_env=True)
148
148
 
149
149
 
150
150
  def arg_parser() -> None:
@@ -25,7 +25,7 @@ CloudOption = Annotated[Optional[str], typer.Option("--cloud", "-c", help="☁
25
25
  @app.command(no_args_is_help=True)
26
26
  def push(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_sync: NoSyncOption = False) -> None:
27
27
  """🚀 Push changes across repositories."""
28
- from machineconfig.scripts.python.repos_helpers.repos_helper import git_operations
28
+ from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
29
29
 
30
30
  git_operations(directory, pull=False, commit=False, push=True, recursive=recursive, no_sync=no_sync)
31
31
 
@@ -33,7 +33,7 @@ def push(directory: DirectoryArgument = None, recursive: RecursiveOption = False
33
33
  @app.command(no_args_is_help=True)
34
34
  def pull(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_sync: NoSyncOption = False) -> None:
35
35
  """⬇️ Pull changes across repositories."""
36
- from machineconfig.scripts.python.repos_helpers.repos_helper import git_operations
36
+ from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
37
37
 
38
38
  git_operations(directory, pull=True, commit=False, push=False, recursive=recursive, no_sync=no_sync)
39
39
 
@@ -41,7 +41,7 @@ def pull(directory: DirectoryArgument = None, recursive: RecursiveOption = False
41
41
  @app.command(no_args_is_help=True)
42
42
  def commit(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_sync: NoSyncOption = False) -> None:
43
43
  """💾 Commit changes across repositories."""
44
- from machineconfig.scripts.python.repos_helpers.repos_helper import git_operations
44
+ from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
45
45
 
46
46
  git_operations(directory, pull=False, commit=True, push=False, recursive=recursive, no_sync=no_sync)
47
47
 
@@ -49,16 +49,16 @@ def commit(directory: DirectoryArgument = None, recursive: RecursiveOption = Fal
49
49
  @app.command(no_args_is_help=True)
50
50
  def sync(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_sync: NoSyncOption = False) -> None:
51
51
  """🔄 Pull, commit, and push changes across repositories."""
52
- from machineconfig.scripts.python.repos_helpers.repos_helper import git_operations
52
+ from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
53
53
  git_operations(directory, pull=True, commit=True, push=True, recursive=recursive, no_sync=no_sync)
54
54
 
55
55
 
56
56
  @sync_app.command(no_args_is_help=True)
57
57
  def capture(directory: DirectoryArgument = None, cloud: CloudOption = None) -> None:
58
58
  """📝 Record repositories into a repos.json specification."""
59
- from machineconfig.scripts.python.repos_helpers.repos_helper import resolve_directory
59
+ from machineconfig.scripts.python.repos_helpers.entrypoint import resolve_directory
60
60
  repos_root = resolve_directory(directory)
61
- from machineconfig.scripts.python.repos_helpers.repos_helper_record import main as record_repos
61
+ from machineconfig.scripts.python.repos_helpers.record import main as record_repos
62
62
 
63
63
  save_path = record_repos(repos_root=repos_root)
64
64
  from machineconfig.utils.path_extended import PathExtended
@@ -70,7 +70,7 @@ def capture(directory: DirectoryArgument = None, cloud: CloudOption = None) -> N
70
70
  @sync_app.command(no_args_is_help=True)
71
71
  def clone(directory: DirectoryArgument = None, cloud: CloudOption = None) -> None:
72
72
  """📥 Clone repositories described by a repos.json specification."""
73
- from machineconfig.scripts.python.repos_helpers.repos_helper import clone_from_specs
73
+ from machineconfig.scripts.python.repos_helpers.entrypoint import clone_from_specs
74
74
 
75
75
 
76
76
  clone_from_specs(directory, cloud, checkout_branch_flag=False, checkout_commit_flag=False)
@@ -79,7 +79,7 @@ def clone(directory: DirectoryArgument = None, cloud: CloudOption = None) -> Non
79
79
  @sync_app.command(name="checkout-to-commit", no_args_is_help=True)
80
80
  def checkout_command(directory: DirectoryArgument = None, cloud: CloudOption = None) -> None:
81
81
  """🔀 Check out specific commits listed in the specification."""
82
- from machineconfig.scripts.python.repos_helpers.repos_helper import clone_from_specs
82
+ from machineconfig.scripts.python.repos_helpers.entrypoint import clone_from_specs
83
83
 
84
84
 
85
85
  clone_from_specs(directory, cloud, checkout_branch_flag=False, checkout_commit_flag=True)
@@ -88,7 +88,7 @@ def checkout_command(directory: DirectoryArgument = None, cloud: CloudOption = N
88
88
  @sync_app.command(name="checkout-to-branch", no_args_is_help=True)
89
89
  def checkout_to_branch_command(directory: DirectoryArgument = None, cloud: CloudOption = None) -> None:
90
90
  """🔀 Check out to the main branch defined in the specification."""
91
- from machineconfig.scripts.python.repos_helpers.repos_helper import clone_from_specs
91
+ from machineconfig.scripts.python.repos_helpers.entrypoint import clone_from_specs
92
92
  clone_from_specs(directory, cloud, checkout_branch_flag=True, checkout_commit_flag=False)
93
93
 
94
94
 
@@ -6,7 +6,7 @@ from machineconfig.utils.path_extended import PathExtended
6
6
  from machineconfig.utils.source_of_truth import LIBRARY_ROOT, DEFAULTS_PATH
7
7
  from machineconfig.utils.code import print_code
8
8
  from machineconfig.utils.options import choose_cloud_interactively, choose_from_options
9
- from machineconfig.scripts.python.helpers.helpers2 import ES
9
+ from machineconfig.scripts.python.cloud_helpers.helpers2 import ES
10
10
  from platform import system
11
11
  from typing import Any, Literal, Optional
12
12
  from rich.console import Console
@@ -8,7 +8,7 @@ from rich.panel import Panel
8
8
  from rich.table import Table
9
9
  from rich.text import Text
10
10
 
11
- from machineconfig.scripts.python.repos_helpers.repos_helper_update import RepositoryUpdateResult, run_uv_sync, update_repository
11
+ from machineconfig.scripts.python.repos_helpers.update import RepositoryUpdateResult, run_uv_sync, update_repository
12
12
  from machineconfig.utils.io import read_ini
13
13
  from machineconfig.utils.source_of_truth import DEFAULTS_PATH
14
14
 
@@ -26,7 +26,7 @@ def route(args: FireJobArgs, fire_args: str = "") -> None:
26
26
  suffixes = {".py", ".sh", ".ps1"}
27
27
  choice_file = match_file_name(sub_string=args.path, search_root=PathExtended.cwd(), suffixes=suffixes)
28
28
  elif path_obj.is_dir():
29
- from machineconfig.scripts.python.helpers.helpers4 import search_for_files_of_interest
29
+ from machineconfig.scripts.python.helpers_fire.helpers4 import search_for_files_of_interest
30
30
  print(f"🔍 Searching recursively for Python, PowerShell and Shell scripts in directory `{path_obj}`")
31
31
  files = search_for_files_of_interest(path_obj)
32
32
  print(f"🔍 Got #{len(files)} results.")
@@ -72,7 +72,7 @@ def route(args: FireJobArgs, fire_args: str = "") -> None:
72
72
 
73
73
  if args.module or (args.debug and args.choose_function): # because debugging tools do not support choosing functions and don't interplay with fire module. So the only way to have debugging and choose function options is to import the file as a module into a new script and run the function of interest there and debug the new script.
74
74
  assert choice_file.suffix == ".py", f"File must be a python file to be imported as a module. Got {choice_file}"
75
- from machineconfig.scripts.python.helpers.helpers4 import get_import_module_code
75
+ from machineconfig.scripts.python.helpers_fire.helpers4 import get_import_module_code
76
76
  import_line = get_import_module_code(str(choice_file))
77
77
  if repo_root is not None:
78
78
  repo_root_add = f"""sys.path.append(r'{repo_root}')"""
@@ -13,7 +13,7 @@ from rich.panel import Panel
13
13
 
14
14
  from machineconfig.utils.ssh import SSH
15
15
  from machineconfig.utils.path_extended import PathExtended
16
- from machineconfig.scripts.python.helpers.helpers2 import ES
16
+ from machineconfig.scripts.python.cloud_helpers.helpers2 import ES
17
17
  from machineconfig.utils.accessories import pprint
18
18
 
19
19
 
@@ -77,9 +77,9 @@ sleep 0.1
77
77
  api_keys = get_api_keys(provider=provider)
78
78
  api_key = api_keys[idx % len(api_keys)] if len(api_keys) > 0 else None
79
79
  cmd = fire_crush(api_key=api_key, prompt_path=prompt_path, machine=machine, repo_root=repo_root, model=model, provider=provider)
80
- case "q":
81
- from machineconfig.scripts.python.helpers_fire.fire_q import fire_q
82
- cmd = fire_q(api_key="", prompt_path=prompt_path, machine=machine)
80
+ # case "q":
81
+ # from machineconfig.scripts.python.helpers_fire.fire_q import fire_q
82
+ # cmd = fire_q(api_key="", prompt_path=prompt_path, machine=machine)
83
83
  case _:
84
84
  raise ValueError(f"Unsupported agent type: {agent}")
85
85
 
@@ -22,7 +22,7 @@ def choose_function_or_lines(choice_file: PathExtended, kwargs_dict: dict[str, o
22
22
  choice_function: Optional[str] = None
23
23
 
24
24
  if choice_file.suffix == ".py":
25
- from machineconfig.scripts.python.helpers.helpers4 import parse_pyfile
25
+ from machineconfig.scripts.python.helpers_fire.helpers4 import parse_pyfile
26
26
  options, func_args = parse_pyfile(file_path=str(choice_file))
27
27
  choice_function_tmp = choose_from_options(msg="Choose a function to run", options=options, fzf=True, multi=False)
28
28
  assert isinstance(choice_function_tmp, str), f"choice_function must be a string. Got {type(choice_function_tmp)}"
@@ -1,6 +1,6 @@
1
1
  from machineconfig.utils.path_extended import PathExtended
2
2
  from machineconfig.utils.accessories import randstr
3
- from machineconfig.scripts.python.repos_helpers.repos_helper_update import update_repository
3
+ from machineconfig.scripts.python.repos_helpers.update import update_repository
4
4
 
5
5
  from typing import Optional
6
6
  from dataclasses import dataclass
@@ -25,7 +25,7 @@ def git_operations(
25
25
 
26
26
  repos_root = resolve_directory(directory)
27
27
  auto_sync = not no_sync
28
- from machineconfig.scripts.python.repos_helpers.repos_helper_action import perform_git_operations
28
+ from machineconfig.scripts.python.repos_helpers.action import perform_git_operations
29
29
  from machineconfig.utils.path_extended import PathExtended
30
30
  perform_git_operations(
31
31
  repos_root=PathExtended(repos_root),
@@ -68,7 +68,7 @@ def clone_from_specs(
68
68
 
69
69
  typer.echo("\n📥 Cloning or checking out repositories...")
70
70
  spec_path = resolve_spec_path(directory, cloud)
71
- from machineconfig.scripts.python.repos_helpers.repos_helper_clone import clone_repos
71
+ from machineconfig.scripts.python.repos_helpers.clone import clone_repos
72
72
  clone_repos(
73
73
  spec_path=spec_path,
74
74
  preferred_remote=None,
@@ -64,23 +64,3 @@ def inspect_repos(repo_local_root: str, repo_remote_root: str):
64
64
  return None
65
65
  else:
66
66
  raise NotImplementedError(f"Platform {platform.system()} not implemented.")
67
-
68
-
69
- def check_dotfiles_version_is_beyond(commit_dtm: str, update: bool) -> bool:
70
- dotfiles_path = str(PathExtended.home().joinpath("dotfiles"))
71
- from git import Repo
72
-
73
- repo = Repo(path=dotfiles_path)
74
- last_commit = repo.head.commit
75
- dtm = last_commit.committed_datetime
76
- from datetime import datetime # make it tz unaware
77
-
78
- dtm = datetime(dtm.year, dtm.month, dtm.day, dtm.hour, dtm.minute, dtm.second)
79
- res = dtm > datetime.fromisoformat(commit_dtm)
80
- if res is False and update is True:
81
- console = Console()
82
- console.print(Panel(f"🔄 UPDATE REQUIRED | Updating dotfiles because {dtm} < {datetime.fromisoformat(commit_dtm)}", border_style="bold blue", expand=False))
83
- from machineconfig.scripts.python.helpers_repos.cloud_repo_sync import main
84
-
85
- main(cloud=None, repo=dotfiles_path)
86
- return res
@@ -52,7 +52,7 @@ def select_layout(layouts_json_file: Path, selected_layouts_names: Optional[list
52
52
 
53
53
  def find_layout_file(layout_path: str, ) -> Path:
54
54
  from machineconfig.utils.path_extended import PathExtended
55
- from machineconfig.scripts.python.helpers.helpers4 import search_for_files_of_interest
55
+ from machineconfig.scripts.python.helpers_fire.helpers4 import search_for_files_of_interest
56
56
  from machineconfig.utils.options import choose_from_options
57
57
  from machineconfig.utils.path_helper import match_file_name, sanitize_path
58
58
  path_obj = sanitize_path(layout_path)
@@ -21,7 +21,7 @@ def create_from_function(
21
21
  suffixes = {".py"}
22
22
  choice_file = match_file_name(sub_string=path, search_root=PathExtended.cwd(), suffixes=suffixes)
23
23
  elif path_obj.is_dir():
24
- from machineconfig.scripts.python.helpers.helpers4 import search_for_files_of_interest
24
+ from machineconfig.scripts.python.helpers_fire.helpers4 import search_for_files_of_interest
25
25
  print(f"🔍 Searching recursively for Python, PowerShell and Shell scripts in directory `{path_obj}`")
26
26
  files = search_for_files_of_interest(path_obj)
27
27
  print(f"🔍 Got #{len(files)} results.")
@@ -1 +1 @@
1
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig initai $args
1
+ uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud $args
@@ -98,7 +98,7 @@ def print_code(code: str, lexer: str, desc: str, subtitle: str = ""):
98
98
  console.print(Panel(Syntax(code=code, lexer=lexer), title=f"📄 {desc}", subtitle=subtitle), style="bold red")
99
99
 
100
100
 
101
- def run_shell_script(script: str, display_script: bool = True):
101
+ def run_shell_script(script: str, display_script: bool = True, clean_env: bool = False):
102
102
  import tempfile
103
103
  if platform.system() == "Windows":
104
104
  suffix = ".ps1"
@@ -114,12 +114,14 @@ def run_shell_script(script: str, display_script: bool = True):
114
114
  from rich.syntax import Syntax
115
115
  console.print(Panel(Syntax(code=script, lexer=lexer), title=f"📄 shell script @ {temp_script_path}", subtitle="shell script being executed"), style="bold red")
116
116
 
117
+ env = {} if clean_env else None
118
+
117
119
  if platform.system() == "Windows":
118
120
  import subprocess
119
- proc = subprocess.run(f'powershell -ExecutionPolicy Bypass -File "{temp_script_path}"', check=True, shell=True)
121
+ proc = subprocess.run(f'powershell -ExecutionPolicy Bypass -File "{temp_script_path}"', check=True, shell=True, env=env)
120
122
  elif platform.system() == "Linux" or platform.system() == "Darwin":
121
123
  import subprocess
122
- proc = subprocess.run(f"bash {str(temp_script_path)}", check=True, shell=True)
124
+ proc = subprocess.run(f"bash {str(temp_script_path)}", check=True, shell=True, env=env)
123
125
  else:
124
126
  raise NotImplementedError(f"Platform {platform.system()} not supported.")
125
127
  # console.print(f"✅ [green]Script executed successfully:[/green] [blue]{temp_script_path}[/blue]")
@@ -55,9 +55,11 @@ def print_logo(logo: str):
55
55
  avail_boxes = is_executable_in_path("boxes")
56
56
  avail_figlet = is_executable_in_path("figlet")
57
57
  if avail_cowsay and avail_lolcat and avail_boxes and avail_figlet:
58
- _dynamic_art = random.choice([True, True, True, True, False])
59
- if _dynamic_art: character_or_box_color(logo=logo)
60
- else: print(Path(random.choice(glob.glob(str(Path(__file__).parent.joinpath("art", "*"))))).read_text())
58
+ # _dynamic_art = random.choice([True, True, True, True, False])
59
+ # if _dynamic_art: character_or_box_color(logo=logo)
60
+ # else:
61
+ # print(Path(random.choice(glob.glob(str(Path(__file__).parent.joinpath("art", "*"))))).read_text())
62
+ character_or_box_color(logo=logo)
61
63
  else:
62
64
  print("\n" + "🚫 " + "-" * 70 + " 🚫")
63
65
  install_cmd = "devops install --group TerminalEyeCandy" if platform.system() == "Linux" else "brew install cowsay lolcat boxes figlet"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.31
3
+ Version: 5.33
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: typer-slim>=0.19.2
28
28
  Requires-Dist: questionary>=2.1.1
29
29
  Requires-Dist: typer>=0.19.2
30
- Requires-Dist: textual>=6.1.0
31
30
  Provides-Extra: windows
32
31
  Requires-Dist: pywin32; extra == "windows"
33
32
  Provides-Extra: docs
@@ -56,6 +56,7 @@ machineconfig/jobs/installer/custom_dev/brave.py,sha256=kHgGRwgKrvpIlGzmdnWO6HJn
56
56
  machineconfig/jobs/installer/custom_dev/bypass_paywall.py,sha256=ZF8yF2srljLChe1tOw_fEsalOkts4RpNwlzX9GtWh2g,1888
57
57
  machineconfig/jobs/installer/custom_dev/code.py,sha256=0Hb4ToMLQX4WWyG4xfUEJMTwN01ad5VZGogu3Llqtbc,2480
58
58
  machineconfig/jobs/installer/custom_dev/cursor.py,sha256=3xoFAYFdZqurSHXeEG-vbG0KU1TNQpBMaMgL1eW6X4k,4326
59
+ machineconfig/jobs/installer/custom_dev/dubdb_adbc.py,sha256=okeKEVhgijS_iG-53StyzUJkPcSfIuI7HddJ0u4flds,829
59
60
  machineconfig/jobs/installer/custom_dev/espanso.py,sha256=H1rZb4xnjs72lL0_mB0M4d7NrDyVv1sAG3NOkOrCB64,4137
60
61
  machineconfig/jobs/installer/custom_dev/goes.py,sha256=SIRkpzkCeWMof0BnPuoEJy3KHNkVZs8J5DnoZJXb9TY,2130
61
62
  machineconfig/jobs/installer/custom_dev/lvim.py,sha256=2-wbh_IClTFcFkSYk9EsRiv88-isSNIVX6dNZ1L5m8Q,2985
@@ -104,10 +105,7 @@ machineconfig/profile/records/windows/apps_summary_report.md,sha256=O5hmAcpObaLm
104
105
  machineconfig/scripts/__init__.py,sha256=v0cMjnaIo39C3ltLiTf1S0fCTMAqWtEU7zrVenUj4PQ,71
105
106
  machineconfig/scripts/cloud/init.sh,sha256=0Pp2wEnWT989VcOc1nVXElO08u3ON-kFzWZGifOLWY0,3624
106
107
  machineconfig/scripts/linux/agents,sha256=zahzfVZ8_NIkC1TKMjcZqo0vsBtFl-xBhpz63sn29yA,96
107
- machineconfig/scripts/linux/choose_wezterm_theme,sha256=T7_vS-XvIZErRkfqtlyoZuHEVKFQQwhIeQMFIVTjtxg,145
108
- machineconfig/scripts/linux/cloud_copy,sha256=IU5TO7roSUYB-U4Km9bhAZOvlUr4nRJtJf4tqCPIPAs,100
109
- machineconfig/scripts/linux/cloud_mount,sha256=QnDUPUv9q3V14PONOwM4tAPHqOopF_uvjEN1tL24jZA,102
110
- machineconfig/scripts/linux/cloud_sync,sha256=Tf5yr9D5Ca5tiIpbUBE3QDqZF22tsh32XedW-aHZ-lQ,96
108
+ machineconfig/scripts/linux/cloud,sha256=w9NbJDkKwb3ibLPZjCJzlfq62OoCrbU7_Pwxjnu3gZM,94
111
109
  machineconfig/scripts/linux/croshell,sha256=UZWGufTwtzCllRXrQ14YwCuAEZs--a1lJBW_kuNLhYg,100
112
110
  machineconfig/scripts/linux/devops,sha256=hQGs_cuu19dxeTB3CqZTJ6miZDwugfwh4NgrSlhWtOg,96
113
111
  machineconfig/scripts/linux/fire,sha256=BXc8arF2ViX1YmY3DdqNGTh76tXfCuys2SrFLPO2GFg,94
@@ -117,41 +115,30 @@ machineconfig/scripts/linux/fzfag,sha256=x0rX7vM_YjKLZ822D2Xh0HdaTj5kR_gG3g_5_w6
117
115
  machineconfig/scripts/linux/fzffg,sha256=jjeeyFkWmBbwH2taRqC3EOzZep2KR-ZYoI4UI-5kHqg,1090
118
116
  machineconfig/scripts/linux/fzfg,sha256=ClGnJZUsIk4y0qs3W5iXGo-nd0FaqAHMsnh8uoXQFy8,1190
119
117
  machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS3WITM,460
120
- machineconfig/scripts/linux/gh_models,sha256=EMFUmkkYxCx6vP0SUly6OMVRXGfN1wRCInn1ilUC3HM,100
121
- machineconfig/scripts/linux/initai,sha256=Xk46tiCwa9TFKwMi3SrB1V9al7SJBGy7cU70i5pTNik,97
122
118
  machineconfig/scripts/linux/kill_process,sha256=SqK8zQNkmcQQWD8UzWmqz5T5MaKQvAyzC9ftfMIjfkY,102
123
- machineconfig/scripts/linux/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
124
- machineconfig/scripts/linux/mount_nfs,sha256=kpIbAse3igReEGgnXngez2ytWucLwmb_xo6e6KeO_rs,1870
125
- machineconfig/scripts/linux/mount_nw_drive,sha256=pNzHc7yZn5YIzn2BkpKvd5530PqbestkzrdoXaChyqY,2338
126
- machineconfig/scripts/linux/mount_smb,sha256=7UN5EP1kuxYL_-CnyaH4f9Wuu2CgALDZpJ0mPcdvCiY,94
127
- machineconfig/scripts/linux/scheduler,sha256=Z9Wu0N9vWRbi4FoRbpcc4ydq4bVaDjZOXESR35ZN0rI,100
128
119
  machineconfig/scripts/linux/sessions,sha256=A4vxUDHnDhyph833iy-tBprgQ7av_DZ5t031PRrbqVQ,98
129
120
  machineconfig/scripts/linux/share_cloud.sh,sha256=LzkioYG46siaiJdLqzLFt_-dim6-lx4PmHg3bPpH5Zo,1988
130
121
  machineconfig/scripts/linux/share_nfs,sha256=LDQZQ9TV7z2y7RtNHiO4Wb513MztyGjaAV-GzTGwUdc,1374
131
122
  machineconfig/scripts/linux/share_smb,sha256=HZX8BKgMlS9JzkGIYnxTsPvoxEBBuVLVkqzR3pmGFGY,20
132
123
  machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
133
124
  machineconfig/scripts/linux/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
134
- machineconfig/scripts/linux/start_slidev,sha256=-0CPZWrvIZgRYgk8KWI4VKMtgbX9KaHysLpLGO4UXM8,103
135
125
  machineconfig/scripts/linux/start_terminals,sha256=vyqrmf_7AzB-TyzPZo62XpBj6LyWlFZ8POCtRGLTNB4,182
136
126
  machineconfig/scripts/linux/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP96DTp77KHk2tU8,613
137
127
  machineconfig/scripts/linux/warp-cli.sh,sha256=shFFZ9viet_DSEEHT8kxlGRHoJpO6o85pKYnc3rIkaA,3868
138
- machineconfig/scripts/linux/wifi_conn,sha256=X4TH3OvcVZfOveSbF9WW8uXb4U_G7ZSnCERc7VYAqkc,95
139
128
  machineconfig/scripts/linux/z_ls,sha256=ATZtu0ccN3AKvAOxkwLq1xgQjJ3en5byEWJ3Q8afnNg,3340
140
129
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
- machineconfig/scripts/python/agents.py,sha256=OgxGnsmhkPU3n-GsNUJeECWQ01_RP3OHppaSglc3Yf8,9931
142
- machineconfig/scripts/python/cloud_copy.py,sha256=fcWbSo2nGiubtMYjGci8s5tVjZ9D-u8mteCawZmbw3I,8379
143
- machineconfig/scripts/python/cloud_mount.py,sha256=GwcXbd5ohoHGESfX5edtCEl2-umDDxH_AZapmFSzc9E,6740
144
- machineconfig/scripts/python/cloud_sync.py,sha256=RWGpAfJ9fnN18yNBSgN44dzA38Hmd4879JL5r2pcyrM,3514
145
- machineconfig/scripts/python/croshell.py,sha256=LgmwB17EVgNgRkXgwLOZPQWrHqSYDo7Kd-d6vkqA3PY,6459
130
+ machineconfig/scripts/python/agents.py,sha256=KVMf9lL1xAiFb0QfM9hV_GwUWzOymt_ALE8VG81aBJo,10200
131
+ machineconfig/scripts/python/cloud.py,sha256=kRH9Pt1yEkASFskIVEgRmkidrksdkgv2-bBmjLSxzSo,814
132
+ machineconfig/scripts/python/croshell.py,sha256=4XIqEFmYCGn_CpeeAaN-1hBAwwWLQR0PKxBFNRvP2j0,6475
146
133
  machineconfig/scripts/python/devops.py,sha256=3mG-4RlF9vzcfXO7ISsxwRICQpJRR8JMqxtxKLE70fs,1822
147
134
  machineconfig/scripts/python/devops_navigator.py,sha256=iR6HAYt0TA7efV_g6Lr9gPczN6mqvS0V5hShD1x-9R8,29537
148
- machineconfig/scripts/python/fire_jobs.py,sha256=iHcuADhRFlN2wgr7zUV1RAacfUPnnvvOGbEDzFM61gs,13476
149
- machineconfig/scripts/python/ftpx.py,sha256=QfQTp-6jQP6yxfbLc5sKxiMtTgAgc8sjN7d17_uLiZc,9400
135
+ machineconfig/scripts/python/fire_jobs.py,sha256=UxMkQ8WqxmZx_u1gn9LV_Cn4FjbCAtuWUWupZl1UkUI,13486
136
+ machineconfig/scripts/python/ftpx.py,sha256=17oCDB59C9z1RIpEoBTgmv8NFDTqhWzKWew9TqbP8vM,9406
150
137
  machineconfig/scripts/python/interactive.py,sha256=Rd406f3WpdTzDv7-dY1xbB90YHBk-EUBpsViX3QDGZM,11773
151
- machineconfig/scripts/python/sessions.py,sha256=03WhAVvOA5ZuvXegA8OZ8UATnriCmIoYB8iB9D3GTYY,8711
138
+ machineconfig/scripts/python/sessions.py,sha256=lO_aTnh7T05XoCa8Ox-ROAWBKMtbo-DZzlFDUqzSipM,8716
152
139
  machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
153
140
  machineconfig/scripts/python/ai/generate_files.py,sha256=Vfjgd0skJu-WTgqUxmOVFzaNMfSFBaFmY5oGGVY7MZY,2860
154
- machineconfig/scripts/python/ai/initai.py,sha256=FJriMm1-x44xx6yEnqgI-F5lfRw44xleOluv4TcRs0I,2237
141
+ machineconfig/scripts/python/ai/initai.py,sha256=gPom9tpBKr29fW3glSmghSRFlQNk5DYlfg-xsT3W0q8,2078
155
142
  machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1,sha256=usx-yFmqJhiNPHAh0KfKSsyrjh_SlGWVCvlB1OWsHrM,5175
156
143
  machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh,sha256=xYJ2sFSXc4_QGJs3mDz7zedqerlHufQgrK9JRpct5_s,4716
157
144
  machineconfig/scripts/python/ai/solutions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -176,6 +163,13 @@ machineconfig/scripts/python/ai/solutions/gemini/settings.json,sha256=tFdtqZkyti
176
163
  machineconfig/scripts/python/ai/solutions/kilocode/privacy.md,sha256=oKOXnfFOdUuMlKwVf5MqeqCc24hZcjKE_e1MEXpijJI,117
177
164
  machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1dNzkUCS_vCX_fy2TisRtfg8DXH-D4N1iUVU,99
178
165
  machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
166
+ machineconfig/scripts/python/cloud_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
+ machineconfig/scripts/python/cloud_helpers/cloud_copy.py,sha256=7w0bNMPmSlsoYPCaicja7c2uEwxpj3pyA_ZaPqvmsgc,8517
168
+ machineconfig/scripts/python/cloud_helpers/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
169
+ machineconfig/scripts/python/cloud_helpers/cloud_mount.py,sha256=GwcXbd5ohoHGESfX5edtCEl2-umDDxH_AZapmFSzc9E,6740
170
+ machineconfig/scripts/python/cloud_helpers/cloud_sync.py,sha256=-xRPOF2S4_Q5QoNOmp_lJ_wWGNyeztEjn0o57V31ZjI,3447
171
+ machineconfig/scripts/python/cloud_helpers/helpers2.py,sha256=aPGz_3WqZJaqmn_bGMtFFmDlLytnOS5KWacZMgXTDJw,7310
172
+ machineconfig/scripts/python/cloud_helpers/helpers5.py,sha256=dPBvA9Tcyx9TMgM6On49A1CueGMhBdRzikDnlJGf3J0,1123
179
173
  machineconfig/scripts/python/croshell_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
174
  machineconfig/scripts/python/croshell_helpers/pomodoro.py,sha256=SPkfeoZGv8rylGiOyzQ7UK3aXZ3G2FIOuGkSuBUggOI,2019
181
175
  machineconfig/scripts/python/croshell_helpers/scheduler.py,sha256=rKhssuxkD697EY6qaV6CSdNhxpAQLDWO4fE8GMCQ9FA,3061
@@ -189,22 +183,16 @@ machineconfig/scripts/python/devops_helpers/cli_config.py,sha256=LObo-YBjpfCB0_0
189
183
  machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py,sha256=9W9i8Qbs6i2NfTq0knywB3StvE_sHaZYZ0RslTyoVz8,2734
190
184
  machineconfig/scripts/python/devops_helpers/cli_data.py,sha256=f_2espL92n6SoNb5sFVMvrK7LA29HzfrFAKhxKaud1M,510
191
185
  machineconfig/scripts/python/devops_helpers/cli_nw.py,sha256=J3_ugdGrEhuL-4sEOTHrlZR4WYvQOYR9ALXNjxBWIlA,1397
192
- machineconfig/scripts/python/devops_helpers/cli_repos.py,sha256=eFWyVxzy0YdutJpE2fdQu_Z1WCAumy6dTP4xstSTSg4,9712
186
+ machineconfig/scripts/python/devops_helpers/cli_repos.py,sha256=n8UnFjFIgTro-OMf47y5PAdYzqVYCSM6-5P90MvJOpw,9683
193
187
  machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=XGWPZVZmwKaDOY_5IYj2l_Ke0ocjhfXP9NK5-nFwFSg,1467
194
188
  machineconfig/scripts/python/devops_helpers/cli_terminal.py,sha256=-SNCDrQHBDUZw2cNNrEw3K3owzmZASBjd5deBKB49YY,5358
195
189
  machineconfig/scripts/python/devops_helpers/devops_add_identity.py,sha256=wvjNgqsLmqD2SxbNCW_usqfp0LI-TDvcJJKGOWt2oFw,3775
196
190
  machineconfig/scripts/python/devops_helpers/devops_add_ssh_key.py,sha256=BXB-9RvuSZO0YTbnM2azeABW2ngLW4SKhhAGAieMzfw,6873
197
- machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py,sha256=JLJHmi8JmZ_qVTeMW-qBEAYGt1fmfWXzZ7Gm-Q-GDcU,5585
191
+ machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py,sha256=nK47Rc7gQuDCnkk6_sW1y82gBnDJ9TdHU8XwMPFBK9c,5591
198
192
  machineconfig/scripts/python/devops_helpers/devops_status.py,sha256=C1akn6mGteBVV9CiQnUX6H32ehnCgMdCyNgojXVQeqA,23287
199
- machineconfig/scripts/python/devops_helpers/devops_update_repos.py,sha256=OarxDD532sA0Tk4Ek2I9J_dAV0MgiV9mUG4hQZBpF6Y,9407
200
- machineconfig/scripts/python/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
- machineconfig/scripts/python/helpers/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
202
- machineconfig/scripts/python/helpers/helpers2.py,sha256=2QeQ2aii6hVc4S-oi3SVTSyPxKPTDUWBD7GnkCEr7Qs,7304
203
- machineconfig/scripts/python/helpers/helpers4.py,sha256=iKR5vVJygaDIpFXhcdma9jOpyxKtUhmqcmalFxJmY0w,4749
204
- machineconfig/scripts/python/helpers/helpers5.py,sha256=dPBvA9Tcyx9TMgM6On49A1CueGMhBdRzikDnlJGf3J0,1123
205
- machineconfig/scripts/python/helpers/repo_sync_helpers.py,sha256=Fp7C5iz6kYpul0zzu63NyQtozFQuuDrArHcxPAk1J38,3945
193
+ machineconfig/scripts/python/devops_helpers/devops_update_repos.py,sha256=dtBh9mNNJEukyV47Cug98S0hvG9e1U43B0EQSeNtvvs,9394
206
194
  machineconfig/scripts/python/helpers_fire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
- machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=wQb4RotkDgRrSB2pvJSVx_W4uLgtWNnm0f3CIjLp9SA,5500
195
+ machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=RAee8ethEIxyQpRKqe6u9NwIOKWTspAF-nzmPap6a5k,5506
208
196
  machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
209
197
  machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py,sha256=b3_EaG_rGuRxTuVmKZVbY-tawsfrNP3tvPNaNgZ9ohs,1069
210
198
  machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py,sha256=mpqx3uaQdBXYieuvhdK-qsvLepf9oIMo3pwPj9mSEDI,1079
@@ -212,39 +200,42 @@ machineconfig/scripts/python/helpers_fire/fire_crush.json,sha256=YGuJF-qlMjhICPf
212
200
  machineconfig/scripts/python/helpers_fire/fire_crush.py,sha256=-yRdVcKX_1XTUzWKNoNW9rjmn_NsJuk1pB5EKC4TKpU,1622
213
201
  machineconfig/scripts/python/helpers_fire/fire_cursor_agents.py,sha256=YYwZWa3yEbpIxUorL2Z1AOwrG9RqhtMQx5D4hsON_Vw,570
214
202
  machineconfig/scripts/python/helpers_fire/fire_gemini.py,sha256=hF1ZwPWFWvlAv5O2qkwWCDA0K_b4PuHbcXqMScJGz7w,1400
215
- machineconfig/scripts/python/helpers_fire/fire_q.py,sha256=hN7CQP03INt5uMqB75L3Up99zBkoK0uNYWr1Q76N6Ws,492
203
+ machineconfig/scripts/python/helpers_fire/helpers4.py,sha256=iKR5vVJygaDIpFXhcdma9jOpyxKtUhmqcmalFxJmY0w,4749
216
204
  machineconfig/scripts/python/helpers_fire/prompt.txt,sha256=Ni6r-Dh0Ez2XwfOZl3MOMDhfn6BJ2z4IdK3wFvA3c_o,116
217
205
  machineconfig/scripts/python/helpers_fire/template.ps1,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
206
  machineconfig/scripts/python/helpers_fire/template.sh,sha256=6bFw04pIleOUAHs5bXlzorK-qrYwcq1WNIgaj4FByOo,1124
219
207
  machineconfig/scripts/python/helpers_fire_command/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
208
  machineconfig/scripts/python/helpers_fire_command/cloud_manager.py,sha256=YN0DYLzPKtMBaks-EAVwFmkCu3XeHWMr1D21uqX5dDk,3429
221
209
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py,sha256=UUrGB2N_pR7PxFKtKTJxIUiS58WjQX0U50y2ft8Ul4w,4334
222
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py,sha256=9zGuh_bMkQgfMS0nnFoa2oIWdmLAkSNtlEH4H-FprmM,5373
210
+ machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py,sha256=4MrlCVijbx7GQyAN9s5LDh-7heSjMXYrXdqiP6uC3ug,5378
223
211
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
212
  machineconfig/scripts/python/helpers_repos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
213
  machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=7CAJDZold4vg3nDLVC_1HAiDa9mgwHH6GbTSOnc5oMs,9064
226
214
  machineconfig/scripts/python/helpers_repos/grource.py,sha256=IywQ1NDPcLXM5Tr9xhmq4tHfYspLRs3pF20LP2TlgIQ,14595
227
215
  machineconfig/scripts/python/helpers_repos/secure_repo.py,sha256=G_quiKOLNkWD5UG8ekexgh9xbpW4Od-J1pLJbLLWnpg,993
228
216
  machineconfig/scripts/python/nw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
+ machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
218
+ machineconfig/scripts/python/nw/mount_nfs,sha256=kpIbAse3igReEGgnXngez2ytWucLwmb_xo6e6KeO_rs,1870
229
219
  machineconfig/scripts/python/nw/mount_nfs.py,sha256=aECrL64j9g-9rF49sVJAjGmzaoGgcMnl3g9v17kQF4c,3239
220
+ machineconfig/scripts/python/nw/mount_nw_drive,sha256=pNzHc7yZn5YIzn2BkpKvd5530PqbestkzrdoXaChyqY,2338
230
221
  machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
222
+ machineconfig/scripts/python/nw/mount_smb,sha256=7UN5EP1kuxYL_-CnyaH4f9Wuu2CgALDZpJ0mPcdvCiY,94
231
223
  machineconfig/scripts/python/nw/mount_ssh.py,sha256=k2fKq3f5dKq_7anrFOlqvJoI_3U4EWNHLRZ1o3Lsy6M,2268
232
224
  machineconfig/scripts/python/nw/onetimeshare.py,sha256=xRd8by6qUm-od2Umty2MYsXyJwzXw-CBTd7VellNaKY,2498
233
225
  machineconfig/scripts/python/nw/wifi_conn.py,sha256=4GdLhgma9GRmZ6OFg3oxOX-qY3sr45njPckozlpM_A0,15566
234
226
  machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=534zlYe3Xsr0mqegAnZrVru8Fif-9jZyQK38Q90AtDo,3389
227
+ machineconfig/scripts/python/repos_helpers/action.py,sha256=t6x9K43Uy7r5aRpdODfsN-5UoMrYXEG2cVw-Y8l9prw,14847
228
+ machineconfig/scripts/python/repos_helpers/clone.py,sha256=9vGb9NCXT0lkerPzOJjmFfhU8LSzE-_1LDvjkhgnal0,5461
235
229
  machineconfig/scripts/python/repos_helpers/count_lines.py,sha256=ZLEajCLmlFFY969BehabqGOB9_kkpATO3Lt09L7KULk,15968
236
230
  machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=jOlMCcVgE2a-NhdUtzNK1wKMf-VGldwGHR6QA1tnFa8,559
237
- machineconfig/scripts/python/repos_helpers/repos_helper.py,sha256=aP-Cy0V-4fj2dDHGdI72vPkBj33neOK_GvBgMD43dKg,2853
238
- machineconfig/scripts/python/repos_helpers/repos_helper_action.py,sha256=byWcGh_6EqineSSb8papiY7k11VCJBZ2noaxIgaIX8k,14860
239
- machineconfig/scripts/python/repos_helpers/repos_helper_clone.py,sha256=9vGb9NCXT0lkerPzOJjmFfhU8LSzE-_1LDvjkhgnal0,5461
240
- machineconfig/scripts/python/repos_helpers/repos_helper_record.py,sha256=dtnnInQPn00u1cyr0oOgJ_jB12O3bSiNctwzC3W7_3w,10994
241
- machineconfig/scripts/python/repos_helpers/repos_helper_update.py,sha256=AYyKIB7eQ48yoYmFjydIhRI1lV39TBv_S4_LCa-oKuQ,11042
231
+ machineconfig/scripts/python/repos_helpers/entrypoint.py,sha256=Jb89Boa5vU7YkM4Olo7Zo20rTSNgjr_6tQMWhdbJp7o,2827
232
+ machineconfig/scripts/python/repos_helpers/record.py,sha256=dtnnInQPn00u1cyr0oOgJ_jB12O3bSiNctwzC3W7_3w,10994
233
+ machineconfig/scripts/python/repos_helpers/sync.py,sha256=CLLWy2n2gY9beXPF-mblOQ6R7cKoenkJjMiX7tHQsBk,3091
234
+ machineconfig/scripts/python/repos_helpers/update.py,sha256=AYyKIB7eQ48yoYmFjydIhRI1lV39TBv_S4_LCa-oKuQ,11042
242
235
  machineconfig/scripts/python/sessions_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
- machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py,sha256=jtFci9vugJ8sMiw3qupUtANICy2RSorT2W8sdppkRN4,2914
236
+ machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py,sha256=fN7QCl9pmBfFeH7Sf3VNyltEDporum3r_olqpCNKSz8,2919
244
237
  machineconfig/scripts/windows/agents.ps1,sha256=DqdrC_Xc2rwQ6kGzT0xh5CJz4B_0p5ZwB7s8XE6rPCM,77
245
- machineconfig/scripts/windows/cloud_copy.ps1,sha256=llTFhN2uInZTcoZYZuuhJcf5Ifo5MF226I5MpOzvc3A,82
246
- machineconfig/scripts/windows/cloud_mount.ps1,sha256=wSQO5II8DbqktexRIuI-RUn8kVCEk-SWT7imZqd7Qdk,82
247
- machineconfig/scripts/windows/cloud_sync.ps1,sha256=YrltSWkEKBoG7LMaB-gmot7IswRJEyhDH3fJ2Rlez6c,82
238
+ machineconfig/scripts/windows/cloud.ps1,sha256=rS6rXIEJZSEqpjYVTlTu1qh9PKQJx4twoh9AnzgOiWo,77
248
239
  machineconfig/scripts/windows/croshell.ps1,sha256=VkYdUKJLz7ahvCyXKWvNcCy9IjEDYgRub6rNhCtrJgo,80
249
240
  machineconfig/scripts/windows/devops.ps1,sha256=8HQCsE2V6Ec-Cd5UrhdzqClBc7KFV3_8wLpnQZqP9k8,78
250
241
  machineconfig/scripts/windows/fire.ps1,sha256=qhYg5dKNMweMDmypIrjpDehPCjbB72k9oyLXMp8o8RE,76
@@ -254,7 +245,6 @@ machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-
254
245
  machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
255
246
  machineconfig/scripts/windows/gpt.ps1,sha256=Xb6kcwtejVXOodel1jxsGLTf4X-u854zaGL92KuKr5c,78
256
247
  machineconfig/scripts/windows/grep.ps1,sha256=sUP_cXtqPEWLQ8_TdGJX7_-CO6CQYTP4pA-ZmkdPLdY,49
257
- machineconfig/scripts/windows/initai.ps1,sha256=ht2JQvZ6y_WM3FYvc1tLuxfpscQjOLi3ZE7ETYqPACQ,78
258
248
  machineconfig/scripts/windows/kill_process.ps1,sha256=dHR2HMG6j7jDW0sZ8GfC9UvNsyFx5b2FgARi-ZH2dds,85
259
249
  machineconfig/scripts/windows/mount_nfs.ps1,sha256=mTR-KcOYJaljWzymKTbzj3jrl5EMgS33mHizU-uO7yo,2089
260
250
  machineconfig/scripts/windows/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
@@ -403,7 +393,7 @@ machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
403
393
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
404
394
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
405
395
  machineconfig/utils/accessories.py,sha256=W_9dLzjwNTW5JQk_pe3B2ijQ1nA2-8Kdg2r7VBtzgQs,4340
406
- machineconfig/utils/code.py,sha256=0dwPUAGQTaGfPtqlNnsKYkCC6D8ntCVXo2XIr-7MzOI,6409
396
+ machineconfig/utils/code.py,sha256=0sAlozPgbbGwNE0sksK1XiBMyfCBtBt5d_6ExL1K9_8,6489
407
397
  machineconfig/utils/installer.py,sha256=ZnhW_gRmGlq5uXwzNvIn-x1vXuOJxkzVqjNu188f37s,10465
408
398
  machineconfig/utils/io.py,sha256=3axJBhNZCZiWJbzBvF7keDjCmqnbSKtoTnyDtq1I5BE,2871
409
399
  machineconfig/utils/links.py,sha256=GQExBsMoxewOhwIrNdERuzk9HVKcmWgNUGO-RzPMS6M,22588
@@ -425,7 +415,7 @@ machineconfig/utils/cloud/onedrive/setup_oauth.py,sha256=ZTVkqgrwbV_EoPvyT8dyOTU
425
415
  machineconfig/utils/cloud/onedrive/transaction.py,sha256=m-aNcnWj_gfZVvJOSpkdIqjZxU_3nXx2CA-qKbQgP3I,26232
426
416
  machineconfig/utils/files/ascii_art.py,sha256=cNJaJC07vx94fS44-tzgfbfBeCwXVrgpnWGBLUnfC38,5212
427
417
  machineconfig/utils/files/dbms.py,sha256=xJTg6H_AvZWsduuDaSs4_KdUu__rO8LXrE_hrcXTgNM,17203
428
- machineconfig/utils/files/headers.py,sha256=L54G11DfLadyZGyQXSQ7y8UI_tNvlld7zqP4qEAWL88,3647
418
+ machineconfig/utils/files/headers.py,sha256=F-sudsZ1JyAcmZNO4FdcyhoClbCdb2vMlqceT36zfhE,3717
429
419
  machineconfig/utils/files/read.py,sha256=R1bvIIdiFX9N0JyzUISqVfewYFq30cY3z0kqSlKGtuA,4566
430
420
  machineconfig/utils/files/ouch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
431
421
  machineconfig/utils/files/ouch/decompress.py,sha256=7qPaEkMerBBXzeZyFn8hLODHZJv1aty-yGgwBxLgVys,1413
@@ -438,8 +428,8 @@ machineconfig/utils/schemas/fire_agents/fire_agents_input.py,sha256=Xbi59rU35AzR
438
428
  machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoSpdmTIdgS9LS-RvE-QZ-D260tD3o,1214
439
429
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
440
430
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
441
- machineconfig-5.31.dist-info/METADATA,sha256=m6XsqS0EKt06UBZ8re8-fVkkF3IoWSjYS4qSj2RQdH4,2525
442
- machineconfig-5.31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
443
- machineconfig-5.31.dist-info/entry_points.txt,sha256=HprziWQM36Ra08mjGDqDsGB1q5krpRSNUG7V7M2EJxg,1074
444
- machineconfig-5.31.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
445
- machineconfig-5.31.dist-info/RECORD,,
431
+ machineconfig-5.33.dist-info/METADATA,sha256=HrFrUFDbEj0yvarH5SepTjuBvN6gS2RV5J_-E_JeteQ,2495
432
+ machineconfig-5.33.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
433
+ machineconfig-5.33.dist-info/entry_points.txt,sha256=z7b9guivf0GSKUG6b8ALgbDoRg2LuPfkGP_p-PxgX9g,469
434
+ machineconfig-5.33.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
435
+ machineconfig-5.33.dist-info/RECORD,,
@@ -0,0 +1,9 @@
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
+ kill_process = machineconfig.utils.procs:main
9
+ sessions = machineconfig.scripts.python.sessions:main_from_parser
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig choose_wezterm_theme
3
- source ~/.bashrc # reload the profile
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_copy "$@"
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_mount "$@"
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_sync
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig gh_models "$@"
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig initai "$@"
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig scheduler "$@"
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bash
2
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig start_slidev "$@"
@@ -1,19 +0,0 @@
1
-
2
- from pathlib import Path
3
- import shlex
4
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import MATCHINE
5
-
6
-
7
- def fire_q(api_key: str, prompt_path: Path, machine: MATCHINE) -> str:
8
- safe_path = shlex.quote(str(prompt_path))
9
-
10
- match machine:
11
- case "local":
12
- cmd = f"""
13
- q chat --no-interactive --trust-all-tools {safe_path}
14
- """
15
- case "docker":
16
- cmd = f"""
17
- q chat --no-interactive --trust-all-tools {safe_path}
18
- """
19
- return cmd
@@ -1 +0,0 @@
1
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_copy $args
@@ -1 +0,0 @@
1
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_mount $args
@@ -1 +0,0 @@
1
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_sync $args
@@ -1,18 +0,0 @@
1
- [console_scripts]
2
- agents = machineconfig.scripts.python.agents:main_from_parser
3
- choose_wezterm_theme = machineconfig.scripts.python.choose_wezterm_theme:main
4
- cloud_copy = machineconfig.scripts.python.cloud_copy:arg_parser
5
- cloud_mount = machineconfig.scripts.python.cloud_mount:arg_parser
6
- cloud_sync = machineconfig.scripts.python.cloud_sync:arg_parser
7
- commands = machineconfig.scripts.python.command_navigator:main_from_parser
8
- croshell = machineconfig.scripts.python.croshell:arg_parser
9
- devops = machineconfig.scripts.python.devops:app
10
- fire = machineconfig.scripts.python.fire_jobs:main_from_parser
11
- ftpx = machineconfig.scripts.python.ftpx:main_from_parser
12
- initai = machineconfig.scripts.python.ai.initai:main
13
- kill_process = machineconfig.utils.procs:main
14
- mount_nfs = machineconfig.scripts.python.mount_nfs:main
15
- mount_nw_drive = machineconfig.scripts.python.mount_nw_drive:main
16
- sessions = machineconfig.scripts.python.sessions:main_from_parser
17
- start_slidev = machineconfig.scripts.python.start_slidev:arg_parser
18
- wifi_conn = machineconfig.scripts.python.wifi_conn:arg_parser
File without changes
File without changes
File without changes