machineconfig 6.76__py3-none-any.whl → 6.78__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 (31) hide show
  1. machineconfig/cluster/sessions_managers/utils/maker.py +11 -1
  2. machineconfig/jobs/installer/installer_data.json +7 -7
  3. machineconfig/jobs/installer/package_groups.py +6 -5
  4. machineconfig/scripts/python/ai/initai.py +0 -18
  5. machineconfig/scripts/python/croshell.py +6 -6
  6. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  7. machineconfig/scripts/python/fire_jobs.py +1 -1
  8. machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
  9. machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
  10. machineconfig/scripts/python/helpers_devops/cli_utils.py +63 -4
  11. machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +1 -1
  12. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
  13. machineconfig/scripts/python/nw/mount_nfs +1 -1
  14. machineconfig/scripts/python/utils.py +5 -1
  15. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  16. machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
  17. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
  18. machineconfig/utils/code.py +1 -1
  19. machineconfig/utils/meta.py +10 -3
  20. machineconfig/utils/ssh.py +1 -1
  21. machineconfig/utils/upgrade_packages.py +1 -4
  22. {machineconfig-6.76.dist-info → machineconfig-6.78.dist-info}/METADATA +1 -1
  23. {machineconfig-6.76.dist-info → machineconfig-6.78.dist-info}/RECORD +31 -31
  24. {machineconfig-6.76.dist-info → machineconfig-6.78.dist-info}/entry_points.txt +1 -1
  25. /machineconfig/scripts/linux/{mcfgp → mcfgs} +0 -0
  26. /machineconfig/scripts/python/{entry.py → mcfg.py} +0 -0
  27. /machineconfig/scripts/windows/{mcfgp.ps1 → mcfgs.ps1} +0 -0
  28. /machineconfig/setup_linux/{web_shortcuts → others}/android.sh +0 -0
  29. /machineconfig/setup_linux/{nix → others}/cli_installation.sh +0 -0
  30. {machineconfig-6.76.dist-info → machineconfig-6.78.dist-info}/WHEEL +0 -0
  31. {machineconfig-6.76.dist-info → machineconfig-6.78.dist-info}/top_level.txt +0 -0
@@ -17,9 +17,18 @@ def get_fire_tab_using_uv(func: FunctionType, import_module: bool, uv_with: Opti
17
17
  return tab_config, py_script_path
18
18
  def get_fire_tab_using_fire(func: FunctionType):
19
19
  import inspect
20
+ from machineconfig.utils.source_of_truth import CONFIG_ROOT
21
+ import platform
22
+ if platform.system().lower() == "windows":
23
+ mcfgs = CONFIG_ROOT / "scripts/windows/mcfgs.ps1"
24
+ mcfgs = f'& "{mcfgs}"'
25
+ elif platform.system().lower() == "linux" or platform.system().lower() == "darwin":
26
+ mcfgs = CONFIG_ROOT / "scripts/linux/mcfgs"
27
+ else:
28
+ raise ValueError(f"Unsupported platform: {platform.system()}")
20
29
  path = Path(inspect.getfile(func))
21
30
  path_relative = path.relative_to(Path.home())
22
- command_to_run = f"""$HOME/.local/bin/fire {path_relative} {func.__name__} """
31
+ command_to_run = f"""{mcfgs} fire {path_relative} {func.__name__} """
23
32
  tab_config: TabConfig = {
24
33
  "command": command_to_run,
25
34
  "startDir": "$HOME",
@@ -28,6 +37,7 @@ def get_fire_tab_using_fire(func: FunctionType):
28
37
  return tab_config
29
38
 
30
39
 
40
+
31
41
  def make_layout_from_functions(functions: list[FunctionType], import_module: bool, tab_configs: list[TabConfig], layout_name: str, method: Literal["script", "fire"]="fire") -> LayoutConfig:
32
42
  tabs2artifacts: list[tuple[TabConfig, list[Path]]] = []
33
43
  for a_func in functions:
@@ -2184,14 +2184,14 @@
2184
2184
  "doc": "Kilocode agent extension in the terminal",
2185
2185
  "fileNamePattern": {
2186
2186
  "amd64": {
2187
- "linux": "npm install -g @kilocode/cli@alpha",
2188
- "windows": "npm install -g @kilocode/cli@alpha",
2189
- "macos": "npm install -g @kilocode/cli@alpha"
2187
+ "linux": "npm install -g @kilocode/cli",
2188
+ "windows": "npm install -g @kilocode/cli",
2189
+ "macos": "npm install -g @kilocode/cli"
2190
2190
  },
2191
2191
  "arm64": {
2192
- "linux": "npm install -g @kilocode/cli@alpha",
2193
- "windows": "npm install -g @kilocode/cli@alpha",
2194
- "macos": "npm install -g @kilocode/cli@alpha"
2192
+ "linux": "npm install -g @kilocode/cli",
2193
+ "windows": "npm install -g @kilocode/cli",
2194
+ "macos": "npm install -g @kilocode/cli"
2195
2195
  }
2196
2196
  }
2197
2197
  },
@@ -2247,7 +2247,7 @@
2247
2247
  }
2248
2248
  },
2249
2249
  {
2250
- "appName": "opencode-ai",
2250
+ "appName": "opencode",
2251
2251
  "repoURL": "CMD",
2252
2252
  "doc": "Terminal-based CLI agents and tools for productivity and coding.",
2253
2253
  "fileNamePattern": {
@@ -1,9 +1,9 @@
1
1
  from typing import Literal, TypeAlias, Union
2
2
 
3
3
  # AI/LLM Tools - AI-powered coding and chat assistants
4
- BUNDLE_AI = [
4
+ AGENTS = [
5
5
  "aider",
6
- "github-copilot-cli",
6
+ "copilot",
7
7
  "gemini",
8
8
  "crush",
9
9
  "opencode-ai",
@@ -14,6 +14,8 @@ BUNDLE_AI = [
14
14
  "qwen-code",
15
15
  "cursor-cli",
16
16
  "droid",
17
+ "kilocode",
18
+ "cline",
17
19
  "auggie",
18
20
  ]
19
21
 
@@ -217,7 +219,7 @@ PACKAGES_TERMINAL_SHELL = [
217
219
  PACKAGE_GROUPS: TypeAlias = Literal[
218
220
  "ESSENTIAL",
219
221
  "DEV",
220
- "AI_TOOLS",
222
+ "AGENTS",
221
223
  "TUNNELING",
222
224
  "TERMINAL_EMULATORS",
223
225
  "BROWSERS",
@@ -249,7 +251,6 @@ ESSENTIAL = [
249
251
  *PACKAGES_SYSTEM_MONITORS,
250
252
  *PACKAGES_TERMINAL_SHELL,
251
253
  *PACKAGES_FILE,
252
- *BUNDLE_AI,
253
254
  ]
254
255
  DEV = [
255
256
  *PACKAGES_TERMINAL_EMULATORS,
@@ -267,7 +268,7 @@ DEV = [
267
268
  PACKAGE_GROUP2NAMES: dict[PACKAGE_GROUPS, list[str]] = {
268
269
  "ESSENTIAL": ESSENTIAL,
269
270
  "DEV": DEV,
270
- "AI_TOOLS": BUNDLE_AI,
271
+ "AGENTS": AGENTS,
271
272
  "TERMINAL_EMULATORS": PACKAGES_TERMINAL_EMULATORS,
272
273
  "BROWSERS": PACKAGES_BROWSERS,
273
274
  "CODE_EDITORS": PACKAGES_CODE_EDITORS,
@@ -15,24 +15,6 @@ def add_ai_configs(repo_root: Path) -> None:
15
15
  repo_root_resolved = get_repo_root(repo_root)
16
16
  if repo_root_resolved is not None:
17
17
  repo_root = repo_root_resolved # this means you can run the command from any subdirectory of the repo.
18
-
19
- # if repo_root.joinpath("pyproject.toml").exists() is False:
20
- # uv_init = input(f"{repo_root} does not seem to be a python project (no pyproject.toml found), would you like to initialize one? (y/n) ")
21
- # if uv_init.strip().lower() == "y":
22
- # command_to_run = """
23
- # uv init --python 3.13
24
- # uv venv
25
- # uv add --upgrade-package pylint pyright mypy pyrefly ty --dev # linters and type checkers
26
- # uv add --upgrade-package pytest --dev
27
- # uv add typer --dev
28
-
29
- # """
30
- # from machineconfig.utils.code import run_shell_script
31
- # run_shell_script(command_to_run)
32
- # else:
33
- # print("Terminating initai ...")
34
- # return
35
-
36
18
  dot_ai_dir = repo_root.joinpath(".ai")
37
19
  dot_ai_dir.mkdir(parents=True, exist_ok=True)
38
20
  dot_scripts_dir = repo_root.joinpath(".scripts")
@@ -125,16 +125,16 @@ def croshell(
125
125
  pass
126
126
  if visidata:
127
127
  if file_obj.suffix == ".json":
128
- fire_line = f"uv run --with visidata vd {str(file_obj)}"
128
+ fire_line = f"uv run --python 3.14 --with visidata vd {str(file_obj)}"
129
129
  else:
130
- fire_line = f"uv run --with visidata,pyarrow vd {str(file_obj)}"
130
+ fire_line = f"uv run --python 3.14 --with visidata,pyarrow vd {str(file_obj)}"
131
131
  elif marimo:
132
132
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--with marimo --project "{str(Path.home().joinpath("code/machineconfig"))}" """
133
- else: requirements = """--with "marimo,machineconfig[plot]>=6.57" """
133
+ else: requirements = """--python 3.14 --with "marimo,machineconfig[plot]>=6.57" """
134
134
  fire_line = f"""
135
135
  cd {str(pyfile.parent)}
136
- uv run --with "marimo" marimo convert {pyfile.name} -o marimo_nb.py
137
- uv run {requirements} marimo edit --host 0.0.0.0 marimo_nb.py
136
+ uv run --python 3.14 --with "marimo" marimo convert {pyfile.name} -o marimo_nb.py
137
+ uv run {requirements} marimo edit --host 0.0.0.0 marimo_nb.py
138
138
  """
139
139
  elif jupyter:
140
140
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with jupyterlab """
@@ -153,7 +153,7 @@ code --new-window {str(pyfile)}
153
153
  if interpreter == "ipython": profile = f" --profile {ipython_profile} --no-banner"
154
154
  else: profile = ""
155
155
  if Path.home().joinpath("code/machineconfig").exists(): ve_line = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
156
- else: ve_line = """--with "machineconfig[plot]>=6.57" """
156
+ else: ve_line = """--python 3.14 --with "machineconfig[plot]>=6.57" """
157
157
  # ve_path_maybe, ipython_profile_maybe = get_ve_path_and_ipython_profile(Path.cwd())
158
158
  # --python 3.14
159
159
  fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=6.75",
5
+ # "machineconfig>=6.78",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -129,7 +129,7 @@ except ImportError as _ex:
129
129
  elif args.module:
130
130
  # both selected function and kwargs are mentioned in the made up script, therefore no need for fire module.
131
131
  command = f"{exe} {choice_file} "
132
- elif choice_function is not None:
132
+ elif choice_function is not None and choice_file.suffix == ".py":
133
133
  command = f"{exe} -m fire {choice_file} {choice_function} {fire_args}"
134
134
  elif args.streamlit:
135
135
  # for .streamlit config to work, it needs to be in the current directory.
@@ -46,7 +46,7 @@ def path():
46
46
  uv_with = ["textual"]
47
47
  uv_project_dir = None
48
48
  if not Path.home().joinpath("code/machineconfig").exists():
49
- uv_with.append("machineconfig>=6.75")
49
+ uv_with.append("machineconfig>=6.78")
50
50
  else:
51
51
  uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
52
52
  run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
@@ -41,9 +41,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
41
41
  else:
42
42
  import platform
43
43
  if platform.system() == "Windows":
44
- run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.75" """)
44
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.78" """)
45
45
  else:
46
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.75" """)
46
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.78" """)
47
47
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
48
48
  if not no_copy_assets:
49
49
  create_default_shell_profile() # involves copying assets too
@@ -68,7 +68,7 @@ def navigate():
68
68
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
69
69
  from machineconfig.utils.code import run_shell_script
70
70
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
71
- else: executable = """--with "machineconfig>=6.75,textual" """
71
+ else: executable = """--with "machineconfig>=6.78,textual" """
72
72
  run_shell_script(f"""uv run {executable} {path}""")
73
73
 
74
74
 
@@ -1,10 +1,8 @@
1
1
 
2
2
 
3
3
  import typer
4
- from typing import Annotated, Optional, TypedDict
4
+ from typing import Annotated, Literal, Optional, TypedDict
5
5
  from pathlib import Path
6
- import subprocess
7
- import requests
8
6
 
9
7
 
10
8
  def download(
@@ -17,7 +15,8 @@ def download(
17
15
  raise typer.Exit(code=1)
18
16
  typer.echo(f"📥 Downloading from: {url}")
19
17
  download_path = Path(output) if output else Path(url.split("/")[-1])
20
-
18
+ import requests
19
+ import subprocess
21
20
  try:
22
21
  response = requests.get(url, allow_redirects=True, stream=True, timeout=60)
23
22
  response.raise_for_status()
@@ -117,6 +116,37 @@ def merge_pdfs(
117
116
  run_shell_script(uv_command)
118
117
 
119
118
 
119
+ def compress_pdf(
120
+ pdf_input: Annotated[str, typer.Argument(..., help="Path to the input PDF file to compress.")],
121
+ output: Annotated[Optional[str], typer.Option("--output", "-o", help="Output compressed PDF file path.")] = None,
122
+ flate_level: Annotated[int, typer.Option("--flate-level", "-f", help="Flate compression level (0-9, default 9).")] = 9,
123
+ recompress: Annotated[bool, typer.Option("--recompress", "-r", help="Recompress already compressed streams.")] = True,
124
+ linearize: Annotated[bool, typer.Option("--linearize", "-l", help="Linearize PDF for faster web viewing.")] = False,
125
+ ) -> None:
126
+ def compress_pdf_internal(pdf_input: str, output: str | None, flate_level: int, recompress: bool, linearize: bool) -> None:
127
+ from pikepdf import Pdf, ObjectStreamMode, settings
128
+ settings.set_flate_compression_level(flate_level)
129
+ output_path = output if output else pdf_input.replace(".pdf", "_compressed.pdf")
130
+ with Pdf.open(pdf_input) as pdf:
131
+ pdf.save(
132
+ output_path,
133
+ compress_streams=True,
134
+ recompress_flate=recompress,
135
+ object_stream_mode=ObjectStreamMode.generate,
136
+ linearize=linearize,
137
+ )
138
+ print(f"✅ Compressed PDF saved to: {output_path}")
139
+ from machineconfig.utils.meta import lambda_to_python_script
140
+ code = lambda_to_python_script(
141
+ lambda: compress_pdf_internal(pdf_input=pdf_input, output=output, flate_level=flate_level, recompress=recompress, linearize=linearize),
142
+ in_global=True,
143
+ import_module=False,
144
+ )
145
+ from machineconfig.utils.code import run_shell_script, get_uv_command_executing_python_script
146
+ uv_command, _py_file = get_uv_command_executing_python_script(python_script=code, uv_with=["pikepdf"], uv_project_dir=None)
147
+ run_shell_script(uv_command)
148
+
149
+
120
150
  class MachineSpecs(TypedDict):
121
151
  system: str
122
152
  distro: str
@@ -140,3 +170,32 @@ def get_machine_specs() -> MachineSpecs:
140
170
  import json
141
171
  path.write_text(json.dumps(specs, indent=4), encoding="utf-8")
142
172
  return specs
173
+
174
+
175
+ def init_project(python: Annotated[Literal["3.13", "3.14"], typer.Option("--python", "-p", help="Python version for the uv virtual environment.")]= "3.13") -> None:
176
+ _ = python
177
+ repo_root = Path.cwd()
178
+ if not (repo_root / "pyproject.toml").exists():
179
+ typer.echo("❌ Error: pyproject.toml not found.", err=True)
180
+ raise typer.Exit(code=1)
181
+ print(f"Adding group `plot` with common data science and plotting packages...")
182
+ script = """
183
+ uv add --group plot \
184
+ # Data & computation
185
+ numpy pandas polars duckdb-engine python-magic \
186
+ # Plotting / visualization
187
+ matplotlib plotly kaleido \
188
+ # Notebooks / interactive
189
+ ipython ipykernel jupyterlab nbformat marimo \
190
+ # Code analysis / type checking / linting
191
+ mypy pyright ruff pylint pyrefly \
192
+ # Packaging / build / dev
193
+ cleanpy \
194
+ # CLI / debugging / utilities
195
+ ipdb pudb \
196
+ # Type hints for packages
197
+ types-python-dateutil types-pyyaml types-requests types-tqdm \
198
+ types-mysqlclient types-paramiko types-pytz types-sqlalchemy types-toml types-urllib3 \
199
+ """
200
+ from machineconfig.utils.code import run_shell_script
201
+ run_shell_script(script)
@@ -2,7 +2,7 @@
2
2
  from typing import Literal, TypeAlias, TypedDict
3
3
 
4
4
 
5
- AGENTS: TypeAlias = Literal["cursor-agent", "gemini", "crush", "q", "opencode"]
5
+ AGENTS: TypeAlias = Literal["cursor-agent", "gemini", "qwen-code", "copilot", "crush", "q", "opencode", "kilocode", "cline", "auggie", "warp", "droid"]
6
6
  HOST: TypeAlias = Literal["local", "docker"]
7
7
  PROVIDER: TypeAlias = Literal["azure", "google", "aws", "openai", "anthropic", "openrouter", "xai"]
8
8
  MODEL: TypeAlias = Literal["zai/glm-4.6", "anthropic/sonnet-4.5", "google/gemini-2.5-pro", "openai/gpt-5-codex",
@@ -80,7 +80,7 @@ git pull originEnc master
80
80
  uv_project_dir = f"""{str(Path.home().joinpath("code/machineconfig"))}"""
81
81
  uv_with = None
82
82
  else:
83
- uv_with = ["machineconfig>=6.75"]
83
+ uv_with = ["machineconfig>=6.78"]
84
84
  uv_project_dir = None
85
85
 
86
86
  import tempfile
@@ -5,7 +5,7 @@
5
5
  # mkdir ~/data/local
6
6
  # sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
7
7
 
8
- uv run --python 3.14 --with "machineconfig>=6.75" python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with "machineconfig>=6.78" python -m machineconfig.scripts.python.mount_nfs
9
9
  # Check if remote server is reachable and share folder exists
10
10
  if ! ping -c 1 "$remote_server" &> /dev/null; then
11
11
  echo "💥 Error: Remote server $remote_server is not reachable."
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- from machineconfig.scripts.python.helpers_devops.cli_utils import download, merge_pdfs, get_machine_specs
3
+ from machineconfig.scripts.python.helpers_devops.cli_utils import download, merge_pdfs, get_machine_specs, init_project, compress_pdf
4
4
  import typer
5
5
  from typing import Annotated, Optional
6
6
  from pathlib import Path
@@ -51,6 +51,10 @@ def get_app() -> typer.Typer:
51
51
  app.command(name="m", no_args_is_help=True, hidden=True)(merge_pdfs)
52
52
  app.command(name="get-machine-specs", no_args_is_help=False, help="[g] Get machine specifications.")(get_machine_specs)
53
53
  app.command(name="g", no_args_is_help=False, hidden=True)(get_machine_specs)
54
+ app.command(name="init-project", no_args_is_help=False, help="[i] Initialize a project with a uv virtual environment and install dev packages.")(init_project)
55
+ app.command(name="i", no_args_is_help=False, hidden=True)(init_project)
56
+ app.command(name="compress-pdf", no_args_is_help=False, help="[c] Compress a PDF file.")(compress_pdf)
57
+ app.command(name="c", no_args_is_help=False, hidden=True)(compress_pdf)
54
58
  return app
55
59
 
56
60
 
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with "machineconfig>=6.75" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=6.78" python -m machineconfig.scripts.python.mount_ssh
11
11
 
12
12
  net use T: \\sshfs.kr\$user@$host.local
13
13
  # this worked: net use T: \\sshfs\alex@alex-p51s-5.local
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  mcfg() {
4
- "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.75" mcfg "$@"
4
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.78" mcfg "$@"
5
5
  }
6
6
  alias d="mcfg devops"
7
7
  alias c="mcfg cloud"
@@ -2,7 +2,7 @@
2
2
 
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
4
  function mcfg {
5
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.75" mcfg $args
5
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.78" mcfg $args
6
6
  }
7
7
  function d { mcfg devops @args }
8
8
  function c { mcfg cloud @args }
@@ -43,7 +43,7 @@ def run_lambda_function(lmb: Callable[[], Any], uv_with: Optional[list[str]], uv
43
43
  code = lambda_to_python_script(lmb, in_global=True, import_module=False)
44
44
  uv_command, _py_file = get_uv_command_executing_python_script(python_script=code, uv_with=uv_with, uv_project_dir=uv_project_dir)
45
45
  run_shell_script(uv_command)
46
- def run_python_script_in_marino(py_script: str, uv_project_with: Optional[str]):
46
+ def run_python_script_in_marimo(py_script: str, uv_project_with: Optional[str]):
47
47
  tmp_dir = Path.home().joinpath("tmp_results", "tmp_scripts", "marimo", randstr())
48
48
  tmp_dir.mkdir(parents=True, exist_ok=True)
49
49
  pyfile = tmp_dir / "marimo_db_explore.py"
@@ -225,10 +225,17 @@ def lambda_to_python_script(lmb: Callable[[], Any], in_global: bool, import_modu
225
225
  header = f"def {func_name}{new_sig}:\n"
226
226
  result_text = header + body_text
227
227
 
228
- if import_prefix:
229
- return f"{import_prefix}{result_text}"
230
- return f"""from typing import Optional, Any, Literal""" + "\n" + result_text
228
+ if in_global:
229
+ lines = result_text.splitlines()
230
+ if lines[-1].startswith("return "):
231
+ lines[-1] = lines[-1].replace("return ", "# return ", 1)
232
+ result_text = "\n".join(lines)
233
+ if "Optional[" in result_text or "Any" in result_text or "Union[" in result_text or "Literal[" in result_text:
234
+ result_text = "from typing import *\n\n" + result_text
231
235
 
236
+ if import_prefix:
237
+ result_text = f"{import_prefix}{result_text}"
238
+ return result_text
232
239
 
233
240
  if __name__ == "__main__":
234
241
  pass
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
8
8
  from machineconfig.utils.accessories import pprint, randstr
9
9
  from machineconfig.utils.meta import lambda_to_python_script
10
10
  UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
11
- MACHINECONFIG_VERSION = "machineconfig>=6.75"
11
+ MACHINECONFIG_VERSION = "machineconfig>=6.78"
12
12
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
13
13
 
14
14
  class SSH:
@@ -1,3 +1,4 @@
1
+
1
2
  """
2
3
 
3
4
  Generate uv add commands from pyproject.toml dependency groups.
@@ -8,10 +9,6 @@ rm ./uv.lock
8
9
  rm -rfd .venv
9
10
  uv venv --python 3.13
10
11
  uv init
11
- # Install main dependencies
12
- uv add aiohttp aiosqlite asyncpg authlib binance-connector binance-futures-connector boto3 ccxt crocodile dataclasses-json exchanges httpx ipykernel ipython lightgbm machineconfig matplotlib mypy nbformat numba numpy objgraph onnx onnxruntime onnxscript orjson pandas "pandera[mypy]" plotext plotly polars prophet psycopg2-binary pybit pyright pyyaml "redis[hiredis]" requests rich ruff scikit-learn scipy shap skforecast sqlalchemy sqlmodel streamlit streamlit-option-menu ta tenacity tqdm visidata websockets wrapt-timeout-decorator
13
- # Install dev dependencies
14
- uv add --dev kaleido torch torchaudio torchinfo torchview torchvision types-python-dateutil types-pyyaml types-requests types-tqdm
15
12
 
16
13
  """
17
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 6.76
3
+ Version: 6.78
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -25,7 +25,7 @@ machineconfig/cluster/sessions_managers/zellij_remote_manager.py,sha256=xzih0y8_
25
25
  machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py,sha256=YULt8r3zotkotjdmWRrUq3yGySZW-5e_rQSIZ-IMvjk,5410
26
26
  machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py,sha256=i5TRittC1IWTgMZNyG8AR5qq-3WrGp3xgIx2m5ktT7g,7526
27
27
  machineconfig/cluster/sessions_managers/utils/load_balancer.py,sha256=Y4RQmhROY6o7JXSJXRrBTkoAuEmu1gvmvN_7JKPw5sc,3178
28
- machineconfig/cluster/sessions_managers/utils/maker.py,sha256=yLbxT2pFIsgGnU8pHjAdVwVvRNeh74aPtS3AiqNOVZI,2210
28
+ machineconfig/cluster/sessions_managers/utils/maker.py,sha256=V8_ywAEaD9VZQ5GIAm0S0XO_5pf7nAcnVBEyD_R8TSY,2643
29
29
  machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py,sha256=OA50j16uUS9ZTjL38TLuR3jufIOln_EszMZpbWyejTo,6972
30
30
  machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py,sha256=Mitm7mKiKl5lT0OiEUHAqVg2Q21RjsKO1-hpJTHJ5lM,15196
31
31
  machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py,sha256=lApUy67_WhfaBXqt0meZSx_QvwiXjN0YLdyE3c7kP_s,6744
@@ -47,8 +47,8 @@ machineconfig/cluster/templates/cli_trogon.py,sha256=PFWGy8SFYIhT9r3ZV4oIEYfImsQ
47
47
  machineconfig/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  machineconfig/jobs/installer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  machineconfig/jobs/installer/check_installations.py,sha256=hkHmmT7Bx3_QWRn2v8dCKOzAapFzqHRzbe-Q08GLnKE,10743
50
- machineconfig/jobs/installer/installer_data.json,sha256=PPpfmo2WZi6RSHMsb7YvqewRr9IQ81B5-tN7bCXjCFc,77032
51
- machineconfig/jobs/installer/package_groups.py,sha256=i4z83F_rk7BVsrwFhz5Vn4SLF0IHxyQBFSxpAaZBl8M,5270
50
+ machineconfig/jobs/installer/installer_data.json,sha256=anwdQWktf5_SLGHgty3WK_52NsxfR9Kc3kcXnvYoJLE,76993
51
+ machineconfig/jobs/installer/package_groups.py,sha256=CvSJogQgnz5HZfGS9DoCoPfmv0qUinLfh76zw4x58Q8,5262
52
52
  machineconfig/jobs/installer/custom/gh.py,sha256=gn7TUSrsLx7uqFqj1Z-iYglS0EYBSgtJ9jWHxaJIfXM,4119
53
53
  machineconfig/jobs/installer/custom/hx.py,sha256=YQClQXqWtGvon8BLFGf1Fp20JPkHgZeEZ6ebmCJQQfI,5838
54
54
  machineconfig/jobs/installer/custom_dev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -111,7 +111,7 @@ machineconfig/scripts/linux/fzfag,sha256=x0rX7vM_YjKLZ822D2Xh0HdaTj5kR_gG3g_5_w6
111
111
  machineconfig/scripts/linux/fzffg,sha256=jjeeyFkWmBbwH2taRqC3EOzZep2KR-ZYoI4UI-5kHqg,1090
112
112
  machineconfig/scripts/linux/fzfg,sha256=ClGnJZUsIk4y0qs3W5iXGo-nd0FaqAHMsnh8uoXQFy8,1190
113
113
  machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS3WITM,460
114
- machineconfig/scripts/linux/mcfgp,sha256=GYxtQrFCxa56hvuAyjfEDGHfp2ghU11pTKzmCHUMicg,300
114
+ machineconfig/scripts/linux/mcfgs,sha256=GYxtQrFCxa56hvuAyjfEDGHfp2ghU11pTKzmCHUMicg,300
115
115
  machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
116
116
  machineconfig/scripts/linux/warp-cli.sh,sha256=shFFZ9viet_DSEEHT8kxlGRHoJpO6o85pKYnc3rIkaA,3868
117
117
  machineconfig/scripts/linux/z_ls,sha256=h5YJYfnJrmtLe4c2iKk5aZdaK_Zeaj3CpQX8SSr7fr0,3310
@@ -123,18 +123,18 @@ machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP
123
123
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
124
  machineconfig/scripts/python/agents.py,sha256=gGeeWCI0AN_DyDJ3G5KR9qSsXv8zkUd5dBRRWqz-dQE,10722
125
125
  machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
126
- machineconfig/scripts/python/croshell.py,sha256=gidD9wF4A23WlRNfzbKcPa2BvIKqcAkzQ1CSlN3A2NY,8580
126
+ machineconfig/scripts/python/croshell.py,sha256=QyQbVboNqDQHJkUeSsJvdT212t4TW46yat3GBzneqsQ,8649
127
127
  machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
128
128
  machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
129
- machineconfig/scripts/python/entry.py,sha256=TB5lZDZDImGqX4_mMSEv4ZoFigIPA0RXn-9H2cmPS6g,2457
130
- machineconfig/scripts/python/fire_jobs.py,sha256=7L9g4NCr-0gGw3XGNvRCtu77fpfTrTTXMWZ_R4EoSlc,13912
129
+ machineconfig/scripts/python/fire_jobs.py,sha256=BAC2czEtHRuz1AmoEZC9TsGQSAzZw6_cbTSSixi6Cv8,13944
131
130
  machineconfig/scripts/python/ftpx.py,sha256=A13hL_tDYfcsaK9PkshK-0lrUS6KPhPCtwqWtLSo6IM,9764
132
131
  machineconfig/scripts/python/interactive.py,sha256=zt3g6nGKR_Y5A57UnR4Y5-JpLzrpnCOSaqU1bnaikK0,11666
132
+ machineconfig/scripts/python/mcfg.py,sha256=TB5lZDZDImGqX4_mMSEv4ZoFigIPA0RXn-9H2cmPS6g,2457
133
133
  machineconfig/scripts/python/sessions.py,sha256=JfN8M7r7f8DkfiGJ4jz2NfXvABm90nOZJmLGxPgw_2M,9518
134
- machineconfig/scripts/python/utils.py,sha256=9ckI_2Nu9Z8W9cT6QNKreXVtwNA5RXD05nWemPb2sIg,2797
134
+ machineconfig/scripts/python/utils.py,sha256=ClADQVO8qU47s_mJBe1DcAjgrCivGJfYD1tG7ldSIHQ,3247
135
135
  machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
136
  machineconfig/scripts/python/ai/generate_files.py,sha256=VfjKdwgF8O6E4oiRtfWNliibLmmwGe7f9ld6wpOsXTw,14498
137
- machineconfig/scripts/python/ai/initai.py,sha256=9SZtWOcRuwk8ZU3wHOfPzjInERD79ZTYFY8tVACgza4,2260
137
+ machineconfig/scripts/python/ai/initai.py,sha256=P4-NCLJPWeNef_k-l4TQ92AB1Xm1k3xzdqSBIjmevnQ,1573
138
138
  machineconfig/scripts/python/ai/vscode_tasks.py,sha256=61wMMIhtNTUO8Zvl8IziEdyadzgi5H0h8ACwq3cw6Ho,1255
139
139
  machineconfig/scripts/python/ai/command_runner/command_runner.sh,sha256=PRaQyeI3lDi3s8pm_0xZc71gRvUFO0bEt8o1g1rwwD4,761
140
140
  machineconfig/scripts/python/ai/command_runner/prompt.txt,sha256=-2NFBMf-8yk5pOe-3LBX3RTIhqIZHJS_m-v4k-j9sWI,779
@@ -164,7 +164,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
164
164
  machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
165
165
  machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
166
166
  machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
167
- machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=DN__27HPe3rLF-wQFtKYqBb-6kTSymg0AekZbUHvN5Y,6932
167
+ machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=6m1FhpiK9rg2GZuOHzb3RG_RSIRi9nXlYa458E1IbRM,6932
168
168
  machineconfig/scripts/python/helpers_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
169
  machineconfig/scripts/python/helpers_cloud/cloud_copy.py,sha256=OV1w3ajFVFs6FJytjIPOntYB_aW2ywGohKi73V4Dm2Y,8691
170
170
  machineconfig/scripts/python/helpers_cloud/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
@@ -180,15 +180,15 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
180
180
  machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
181
181
  machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
182
182
  machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
- machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=s0pEIrT_4okHwt5Eba384bCMV-pIAuSa0h5VYdGh_5M,7218
183
+ machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=YAgl2y-ONqfPkTwPd-lfP5yFMIgPOIwif_HDTMuFR9Q,7218
184
184
  machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
185
185
  machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
186
186
  machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=B5Xa9pV5MdC4vPo3EmKaHvNMlThsY3c5F92YPE5j3rI,4176
187
187
  machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
188
- machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=snC3PIJQIrOSNQW2JIbWEwf4xL5-b22Kn6sSRUUnhls,6225
188
+ machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=bcu93kawcclkhapf8bdiF1VWdNgX9z8FOYZaJq4h3bE,6225
189
189
  machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
190
190
  machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
191
- machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=gj9KNY6GyzSflXJRkX0lzyvypvwdgseudXhgJcmAtPY,6074
191
+ machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=TV5hOgN3amR0k6Bx5s4LnDWkGIrdpGwDtgt-IbhzlfY,9142
192
192
  machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py,sha256=Dn8luB6QJzxKiiFSC-NMqiYddWZoca3A8eOjMYZDzTc,5598
193
193
  machineconfig/scripts/python/helpers_devops/devops_status.py,sha256=PJVPhfhXq8der6Xd-_fjZfnizfM-RGfJApkRGhGBmNo,20525
194
194
  machineconfig/scripts/python/helpers_devops/devops_update_repos.py,sha256=kSln8_-Wn7Qu0NaKdt-QTN_bBVyTIAWHH8xVYKK-vCM,10133
@@ -200,7 +200,7 @@ machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py,sha25
200
200
  machineconfig/scripts/python/helpers_fire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
201
  machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=GBhi9WvmQDwJOcF3sjvge5x5U7TUokcVo4K4CbEm-OI,5619
202
202
  machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
203
- machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py,sha256=TUzFEPySE3IeOIWX99a6baD82MtJFIRl-lIUSIfwaOw,1061
203
+ machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py,sha256=bP7LPu9w2BzS1N_oV3XGlobBZYlCkXE-62cR3NrIJHE,1133
204
204
  machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py,sha256=mpqx3uaQdBXYieuvhdK-qsvLepf9oIMo3pwPj9mSEDI,1079
205
205
  machineconfig/scripts/python/helpers_fire/helpers4.py,sha256=iKR5vVJygaDIpFXhcdma9jOpyxKtUhmqcmalFxJmY0w,4749
206
206
  machineconfig/scripts/python/helpers_fire/prompt.txt,sha256=Ni6r-Dh0Ez2XwfOZl3MOMDhfn6BJ2z4IdK3wFvA3c_o,116
@@ -226,7 +226,7 @@ machineconfig/scripts/python/helpers_navigator/main_app.py,sha256=R1vOBMUKaiFHOg
226
226
  machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
227
227
  machineconfig/scripts/python/helpers_repos/action.py,sha256=9AxWy8mB9HFeV5t11-qD_l-KA5jkUmm0pXVKT1L6-Qk,14894
228
228
  machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
229
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=th2YYaUJUwj67I9Z_Q7adGe72PibZzw8Hk8nPSrnc2k,10450
229
+ machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=ly4uCaoUfa-FEMqNdKCB2Xi7Skk1GX1aVXmb2CipbQA,10450
230
230
  machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
231
231
  machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=vSDtrF4829jziwp6WZmGt9G8MJ9jY4hfXqtf0vhkYSE,607
232
232
  machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
@@ -242,7 +242,7 @@ machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdC
242
242
  machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
243
243
  machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
244
244
  machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
245
- machineconfig/scripts/python/nw/mount_nfs,sha256=tZpw0citzpSpho97KpFb2jUdDd3DkAMFXsynbqEcwCg,1855
245
+ machineconfig/scripts/python/nw/mount_nfs,sha256=WAszkWoj-13aAFzBa-ghn8_f-Epq0SQN2Uuqiey457A,1855
246
246
  machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
247
247
  machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
248
248
  machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
@@ -256,11 +256,11 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=jHJyFTuks_Kw4cgE8
256
256
  machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
257
257
  machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
258
258
  machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
259
- machineconfig/scripts/windows/mcfgp.ps1,sha256=uuK5pEz38D3_SOjfhbvkDT8Kt4I62YhNzkExlW8VSps,577
259
+ machineconfig/scripts/windows/mcfgs.ps1,sha256=uuK5pEz38D3_SOjfhbvkDT8Kt4I62YhNzkExlW8VSps,577
260
260
  machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
261
261
  machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
262
262
  machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
263
- machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=MwTAf-PYJXrfW2w5PvmGPt4sGCO12Q5xWrsIyn2yutQ,322
263
+ machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=nJQmw6h1IXDLDEGREfnBAg735dwhkrOS1I0JaNyW7TQ,322
264
264
  machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
265
265
  machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
266
266
  machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
@@ -372,12 +372,12 @@ machineconfig/setup_linux/apps.sh,sha256=XOEzhuwYNat83ybamUdnVhDaGf2wlQiT5wVNvz2
372
372
  machineconfig/setup_linux/apps_desktop.sh,sha256=L2b_pcw3GiQdoAaoMO7J4bVvUoG5Pnuy9kDhV8JqprU,3325
373
373
  machineconfig/setup_linux/apps_gui.sh,sha256=lFPYq7H2bRogPwW6QoEuSr9GnTjHS-jRM_eYg2rjOmM,2301
374
374
  machineconfig/setup_linux/uv.sh,sha256=cyegPmMMB7B3OnVx9KxZiU1JQU3Z_oqboUgwzmW2W40,487
375
- machineconfig/setup_linux/nix/cli_installation.sh,sha256=gVvszYZJgKPRJx2SEaE31BXDP0Fmeta4--gpr-zJZlY,4010
375
+ machineconfig/setup_linux/others/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
376
+ machineconfig/setup_linux/others/cli_installation.sh,sha256=gVvszYZJgKPRJx2SEaE31BXDP0Fmeta4--gpr-zJZlY,4010
376
377
  machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKGPn8fIdZMn3p0RrHEkb8rWBGsdVGbus,1207
377
378
  machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
378
379
  machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
379
- machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
380
- machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=uhU5RKO5bYyVGB9y8RcHtyNA-gcDmWrmjoTXkHAhofg,464
380
+ machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=z71tE60TYm5lU6Gmn1BnW0RdRiiZH29iQk6IN3cYvn0,464
381
381
  machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
382
382
  machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
383
383
  machineconfig/setup_mac/uv.sh,sha256=CSN8oCBKS-LK1vJJqYOhAMcrouTf4Q_F3cpplc_ddMA,1157
@@ -391,16 +391,16 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
391
391
  machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
392
392
  machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
393
393
  machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
394
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=Sblk7oVOZYHLr7_hv2y77sScIoYpc3ooQTLh8KOi_HE,581
394
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=IpzCBUx16pnKSVuSJPXLpCSKOXd9VI-WrZRJxqV0Y0Y,581
395
395
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
396
396
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
397
397
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
398
398
  machineconfig/utils/accessories.py,sha256=Rs8R0GUb2Ub6YimkgXHnI02CShS5BKlrZdCigVxfPlk,4339
399
- machineconfig/utils/code.py,sha256=FGM3s422q0I4zoYi2Gftohj1xZpyL7XKAHM__oEVGZg,5493
399
+ machineconfig/utils/code.py,sha256=2hz171Uw706QGbvup0X7RUH0L_0ELRBekKjco71hFEQ,5493
400
400
  machineconfig/utils/installer.py,sha256=UzI_DtTcKbgvkAkWkNLAPUtx-RVqITHCpvZyLiCpD9g,10377
401
401
  machineconfig/utils/io.py,sha256=4dSieoqZO8Vvi4vW8lLoITDHBvmFp4dtl3kyeZHQ6Co,2528
402
402
  machineconfig/utils/links.py,sha256=KM6vIn3hag9FYEzLSHP5MAM9tU_RStw2mCq2_OvmmZA,23672
403
- machineconfig/utils/meta.py,sha256=af7q6p9ASpc_YXL564ptGgo7ZgmlmX4Av11si8O27bY,9511
403
+ machineconfig/utils/meta.py,sha256=RXbq3_DSFAFNAEt9GjWqP2TjCWUs0v7gAkKCgRpdwO8,9853
404
404
  machineconfig/utils/notifications.py,sha256=tuXIudcip0tEioG-bm8BbLr3FMDve4f6BktlznBhKxM,9013
405
405
  machineconfig/utils/options.py,sha256=vUO4Kej-vDOv64wHr2HNDyu6PATURpjd7xp6N8OOoJg,7083
406
406
  machineconfig/utils/path_extended.py,sha256=WyJwoHnXdvSQQJ-yrxTX78FpqYmgVeKDYpNEB9UsRck,53223
@@ -409,10 +409,10 @@ machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,
409
409
  machineconfig/utils/scheduler.py,sha256=fguwvINyaupOxdU5Uadyxalh_jXTXDzt0ioEgjEOKcM,14705
410
410
  machineconfig/utils/scheduling.py,sha256=6x5zLA7sY5gohrEtN6zGrXIqNFasMoyBfwLcOjrjiME,11109
411
411
  machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
412
- machineconfig/utils/ssh.py,sha256=aGUHg1qgaqA3JNQwWfESN6q95K8fVwJ66XAKfq-yyz0,38991
412
+ machineconfig/utils/ssh.py,sha256=My-1sSzYXJCG8wMQ06TJx4y1Rnv5DDzI42fwyf85Cwc,38991
413
413
  machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
414
414
  machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
415
- machineconfig/utils/upgrade_packages.py,sha256=mSFyKvB3JhHte_x1dtmEgrJZCAXgTUQoaJUSx1OXQ3Y,4145
415
+ machineconfig/utils/upgrade_packages.py,sha256=TCohwiwc0btSsInOloxDVuk5i88yc1vBK8RZcoMWoUw,3425
416
416
  machineconfig/utils/ve.py,sha256=L-6PBXnQGXThiwWgheJMQoisAZOZA6SVCbGw2J-GFnI,2414
417
417
  machineconfig/utils/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
418
418
  machineconfig/utils/cloud/onedrive/README.md,sha256=i20oRG110AN0yLF3DARHfWXDJjPBiSgWI8CP2HQAqrk,3774
@@ -438,8 +438,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
438
438
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
439
439
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
440
440
  machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
441
- machineconfig-6.76.dist-info/METADATA,sha256=OUQm1D3ot2YtaNmTkMw8LKqVxVa-N1AzhluBoS8cRmU,2928
442
- machineconfig-6.76.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
443
- machineconfig-6.76.dist-info/entry_points.txt,sha256=NTW7hbUlpt5Vx9DdQrONLkYMCuBXpvYh1dt0AtlGxeI,466
444
- machineconfig-6.76.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
445
- machineconfig-6.76.dist-info/RECORD,,
441
+ machineconfig-6.78.dist-info/METADATA,sha256=1JsMqsRoJW459h3MHYgFp-QoL4OV7LFX944vD5VH6pM,2928
442
+ machineconfig-6.78.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
443
+ machineconfig-6.78.dist-info/entry_points.txt,sha256=2OetLXw0yXtfG6MmJXbzZipCQfPueeM3oMgTORSEfYs,465
444
+ machineconfig-6.78.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
445
+ machineconfig-6.78.dist-info/RECORD,,
@@ -5,6 +5,6 @@ croshell = machineconfig.scripts.python.croshell:main
5
5
  devops = machineconfig.scripts.python.devops:main
6
6
  fire = machineconfig.scripts.python.fire_jobs:main
7
7
  ftpx = machineconfig.scripts.python.ftpx:main
8
- mcfg = machineconfig.scripts.python.entry:main
8
+ mcfg = machineconfig.scripts.python.mcfg:main
9
9
  sessions = machineconfig.scripts.python.sessions:main
10
10
  utils = machineconfig.scripts.python.utils:main
File without changes
File without changes
File without changes