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

@@ -191,14 +191,18 @@ def generate_files():
191
191
  from machineconfig.scripts.python.ai.generate_files import main
192
192
  main()
193
193
 
194
- def main_from_parser():
195
- import sys
194
+ def get_app():
196
195
  agents_app = typer.Typer(help="🤖 AI Agents management subcommands")
197
196
  agents_app.command("create", no_args_is_help=True, help="Create agents layout file, ready to run.")(create)
198
197
  agents_app.command("collect", no_args_is_help=True, help="Collect all agent materials into a single file.")(collect)
199
198
  agents_app.command("make-template", no_args_is_help=False, help="Create a template for fire agents")(template)
200
199
  agents_app.command("make-config", no_args_is_help=False, help="Initialize AI configurations in the current repository")(init_config)
201
200
  agents_app.command("make-todo", no_args_is_help=False, help="Generate a markdown file listing all Python files in the repo")(generate_files)
201
+ return agents_app
202
+
203
+ def main_from_parser():
204
+ agents_app = get_app()
205
+ import sys
202
206
  if len(sys.argv) == 1:
203
207
  agents_app(["--help"])
204
208
  else:
@@ -1,12 +1,17 @@
1
1
 
2
2
  import typer
3
- from machineconfig.scripts.python.cloud_helpers.cloud_sync import main
3
+ from machineconfig.scripts.python.cloud_helpers.cloud_sync import main as sync_main
4
4
  from machineconfig.scripts.python.cloud_helpers.cloud_copy import main as copy_main
5
5
  from machineconfig.scripts.python.cloud_helpers.cloud_mount import main as mount_main
6
6
 
7
+ def get_app():
8
+ app = typer.Typer(add_completion=False, no_args_is_help=True)
9
+ app.command(name="sync", no_args_is_help=True, help="""🔄 Synchronize files/folders between local and cloud storage.""")(sync_main)
10
+ app.command(name="copy", no_args_is_help=True, short_help="""📤 Upload or 📥 Download files/folders to/from cloud storage services like Google Drive, Dropbox, OneDrive, etc.""")(copy_main)
11
+ app.command(name="mount", no_args_is_help=True, short_help="""🔗 Mount cloud storage services like Google Drive, Dropbox, OneDrive, etc. as local drives.""")(mount_main)
12
+ return app
7
13
 
8
- app = typer.Typer(add_completion=False, no_args_is_help=True)
9
- app.command(name="sync", no_args_is_help=True, help="""🔄 Synchronize files/folders between local and cloud storage.""")(main)
10
- app.command(name="copy", no_args_is_help=True, short_help="""📤 Upload or 📥 Download files/folders to/from cloud storage services like Google Drive, Dropbox, OneDrive, etc.""")(copy_main)
11
- app.command(name="mount", no_args_is_help=True, short_help="""🔗 Mount cloud storage services like Google Drive, Dropbox, OneDrive, etc. as local drives.""")(mount_main)
12
14
 
15
+ def main():
16
+ app = get_app()
17
+ app()
@@ -10,25 +10,24 @@ import machineconfig.scripts.python.devops_helpers.cli_data as cli_data
10
10
  import machineconfig.scripts.python.devops_helpers.cli_nw as cli_network
11
11
 
12
12
 
13
- app = typer.Typer(help="🛠️ DevOps operations", no_args_is_help=True, add_completion=True)
14
- @app.command(no_args_is_help=True)
15
- def install( which: Optional[str] = typer.Option(None, "--which", "-w", help="Comma-separated list of program names to install."),
16
- group: Optional[str] = typer.Option(None, "--group", "-g", help="Groups names. A group is bundle of apps. See available groups when running interactively."),
17
- interactive: bool = typer.Option(False, "--interactive", "-ia", help="Interactive selection of programs to install."),
18
- ) -> None:
19
- """📦 Install essential packages"""
20
- import machineconfig.utils.installer_utils.installer as installer_entry_point
21
- installer_entry_point.main(which=which, group=group, interactive=interactive)
22
-
23
-
24
- app.add_typer(cli_repos.app, name="repos")
25
- app.add_typer(cli_config.config_apps, name="config")
26
- app.add_typer(cli_data.app_data, name="data")
27
- app.add_typer(cli_self.cli_app, name="self")
28
- app.add_typer(cli_network.nw_apps, name="network")
29
-
30
-
31
-
32
-
33
- if __name__ == "__main__":
13
+ def get_app():
14
+ app = typer.Typer(help="🛠️ DevOps operations", no_args_is_help=True, add_completion=True)
15
+ @app.command(no_args_is_help=True)
16
+ def install( which: Optional[str] = typer.Option(None, "--which", "-w", help="Comma-separated list of program names to install."),
17
+ group: Optional[str] = typer.Option(None, "--group", "-g", help="Groups names. A group is bundle of apps. See available groups when running interactively."),
18
+ interactive: bool = typer.Option(False, "--interactive", "-ia", help="Interactive selection of programs to install."),
19
+ ) -> None:
20
+ """📦 Install essential packages"""
21
+ import machineconfig.utils.installer_utils.installer as installer_entry_point
22
+ installer_entry_point.main(which=which, group=group, interactive=interactive)
23
+ _ = install
24
+ app.add_typer(cli_repos.app, name="repos")
25
+ app.add_typer(cli_config.config_apps, name="config")
26
+ app.add_typer(cli_data.app_data, name="data")
27
+ app.add_typer(cli_self.cli_app, name="self")
28
+ app.add_typer(cli_network.nw_apps, name="network")
29
+ return app
30
+
31
+ def main():
32
+ app = get_app()
34
33
  app()
@@ -1,23 +1,23 @@
1
1
 
2
- from machineconfig.scripts.python.devops import app as devops_app
2
+ from machineconfig.scripts.python.devops import get_app as get_devops_app
3
3
  from machineconfig.scripts.python.cloud import app as cloud_app
4
+ from machineconfig.scripts.python.agents import get_app as get_agents_app
5
+ from machineconfig.scripts.python.fire_jobs import get_app as get_fire_jobs_app
6
+ from machineconfig.scripts.python.sessions import get_app as get_sessions_app
7
+
8
+ from machineconfig.scripts.python.ftpx import main as ftpx_func
9
+ from machineconfig.scripts.python.croshell import main as croshell_func
4
10
 
5
- from machineconfig.scripts.python.ftpx import main as ftpx_app
6
- from machineconfig.scripts.python.agents import main_from_parser as agents_app
7
- from machineconfig.scripts.python.croshell import main as croshell_app
8
- from machineconfig.scripts.python.fire_jobs import main_from_parser as fire_jobs_app
9
- from machineconfig.scripts.python.sessions import main_from_parser as sessions_app
10
11
 
11
12
  import typer
12
13
 
13
14
 
14
15
  app = typer.Typer(help="MachineConfig CLI - Manage your machine configurations and workflows", no_args_is_help=True)
15
- app.add_typer(devops_app, name="devops", help="DevOps related commands")
16
+ app.add_typer(get_devops_app(), name="devops", help="DevOps related commands")
16
17
  app.add_typer(cloud_app, name="cloud", help="Cloud management commands")
18
+ app.add_typer(get_sessions_app(), name="sessions", help="Session and layout management")
19
+ app.add_typer(get_fire_jobs_app(), name="fire", help="Fire and manage jobs")
20
+ app.add_typer(get_agents_app(), name="agents", help="🤖 AI Agents management commands")
17
21
 
18
- app.command("ftpx", no_args_is_help=True, help="File transfer utility though SSH")(ftpx_app)
19
- app.command("agents", no_args_is_help=True, help="🤖 AI Agents management commands")(agents_app)
20
- app.command("croshell", no_args_is_help=True, help="Cross-shell command execution")(croshell_app)
21
- app.command("fire-jobs", no_args_is_help=True, help="Fire and manage jobs")(fire_jobs_app)
22
- app.command("sessions", no_args_is_help=True, help="Session and layout management")(sessions_app)
23
-
22
+ app.command("ftpx", no_args_is_help=True, help="File transfer utility though SSH")(ftpx_func)
23
+ app.command("croshell", no_args_is_help=False, help="Cross-shell command execution")(croshell_func)
@@ -259,15 +259,14 @@ def main(
259
259
  sys.exit(1)
260
260
 
261
261
 
262
- def main_from_parser():
263
- # from trogon.typer import init_tui
264
- # from trogon.typer import init_tui
262
+ def get_app():
265
263
  from typer import Typer
266
-
267
264
  app = Typer(add_completion=False)
268
265
  app.command(context_settings={"allow_extra_args": True, "allow_interspersed_args": False})(main)
269
- # typer.run(main)
270
- # init_tui(app)
266
+ return app
267
+
268
+ def main_from_parser():
269
+ app = get_app()
271
270
  app()
272
271
 
273
272
 
@@ -2,7 +2,6 @@
2
2
  from pathlib import Path
3
3
  from typing import Optional, Literal
4
4
  import typer
5
- from machineconfig.scripts.python.sessions_helpers.sessions_multiprocess import create_from_function
6
5
 
7
6
  def balance_load(layout_path: Path = typer.Argument(..., help="Path to the layout.json file"),
8
7
  max_thresh: int = typer.Option(..., help="Maximum tabs per layout"),
@@ -136,12 +135,18 @@ def kill_process():
136
135
  from machineconfig.utils.procs import main
137
136
  main()
138
137
 
139
- def main_from_parser():
138
+ def get_app():
140
139
  layouts_app = typer.Typer(help="Layouts management subcommands", no_args_is_help=True)
140
+ from machineconfig.scripts.python.sessions_helpers.sessions_multiprocess import create_from_function
141
141
  layouts_app.command("create-from-function", no_args_is_help=True, help="Create a layout from a function")(create_from_function)
142
142
  layouts_app.command("run", no_args_is_help=True, help="Run the selected layout(s)")(run)
143
143
  layouts_app.command("balance-load", no_args_is_help=True, help="Balance the load across sessions")(balance_load)
144
144
  layouts_app.command("kill-process", no_args_is_help=True, help="Choose a process to kill")(kill_process)
145
+ return layouts_app
146
+
147
+
148
+ def main_from_parser():
149
+ layouts_app = get_app()
145
150
  layouts_app()
146
151
 
147
152
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.63
3
+ Version: 5.64
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -120,16 +120,16 @@ machineconfig/scripts/linux/other/share_smb,sha256=HZX8BKgMlS9JzkGIYnxTsPvoxEBBu
120
120
  machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
121
121
  machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP96DTp77KHk2tU8,613
122
122
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
- machineconfig/scripts/python/agents.py,sha256=mFVAnOdWVDoZTdRjLansS5-MGbCKkqDiGseRmXsU6B0,10478
124
- machineconfig/scripts/python/cloud.py,sha256=kRH9Pt1yEkASFskIVEgRmkidrksdkgv2-bBmjLSxzSo,814
123
+ machineconfig/scripts/python/agents.py,sha256=kYoax1_GM6zPyIdPea63D5gdAP7RQnc_xwiC4iDwJKk,10543
124
+ machineconfig/scripts/python/cloud.py,sha256=_05zIiBzG4fKhFytg9mjvMBv4qMUtQJL0RtpYUJFZ3Y,920
125
125
  machineconfig/scripts/python/croshell.py,sha256=GawpJM3A4Nqsh2sKZXqRGbQq-GrN1g9XBCoiQBjIm4E,7189
126
- machineconfig/scripts/python/devops.py,sha256=UERDj4hEDW2b6CW6w5BPpgZ6UyDCOvOcfjpW1YKP_QE,1481
126
+ machineconfig/scripts/python/devops.py,sha256=U0_6h9R-1b9PBQraTVoYAzrhGdtjbwyVjlJl4iyeF2E,1583
127
127
  machineconfig/scripts/python/devops_navigator.py,sha256=_PlZrFrxbNHC1tRTx2n57pteUFdkszH9GtKq2JxEm4E,34940
128
- machineconfig/scripts/python/entry.py,sha256=BrObH2zVXyhE1Wp1ipsADDx3Dxk2T9NNTeE5EDqJG10,1273
129
- machineconfig/scripts/python/fire_jobs.py,sha256=l2qByVK2rxWDUGFliU3HYwrtAI1XsUvOtcGLX4DUA5U,13689
128
+ machineconfig/scripts/python/entry.py,sha256=zSWjQEpD4kimaU2yuNhlPJN3VhEFmpm6oebc_gp3GIg,1245
129
+ machineconfig/scripts/python/fire_jobs.py,sha256=SRyE7spsvy8fQGwLyOMqI4o2ltqSEXCvkJNpId0BzWY,13617
130
130
  machineconfig/scripts/python/ftpx.py,sha256=WCdKT6B47fc6E7atBVS-U72Ez8GTy0GDOY-Q6luDT7Q,9423
131
131
  machineconfig/scripts/python/interactive.py,sha256=IRveYja_9omEEhRyM1M6_SlljPY2Eo_GGoK9tTi1nsk,11778
132
- machineconfig/scripts/python/sessions.py,sha256=SYenzrW8Mhq9pvXmQ_9JHVvkqMl3dNinVCyEKJ4qXL0,9020
132
+ machineconfig/scripts/python/sessions.py,sha256=v7MvX0LOOzABHSAsKjx416b5VpNFyoERCN0XCSqiOyw,9092
133
133
  machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
134
  machineconfig/scripts/python/ai/generate_files.py,sha256=Vfjgd0skJu-WTgqUxmOVFzaNMfSFBaFmY5oGGVY7MZY,2860
135
135
  machineconfig/scripts/python/ai/initai.py,sha256=53MuUgk92avRPM-U3dy6o_pnEj2thlurC8U6dz41_W0,2089
@@ -408,8 +408,8 @@ machineconfig/utils/schemas/fire_agents/fire_agents_input.py,sha256=Xbi59rU35AzR
408
408
  machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoSpdmTIdgS9LS-RvE-QZ-D260tD3o,1214
409
409
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
410
410
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
411
- machineconfig-5.63.dist-info/METADATA,sha256=VrstEJ3aHoCHYy3xvyHr3NG_1tq3mpY_1e3nQfV7IXM,3133
412
- machineconfig-5.63.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
413
- machineconfig-5.63.dist-info/entry_points.txt,sha256=a1LN1KbSPWsk3gPC7O0n_2lqjJWadT7dMlFaSoyhFEY,469
414
- machineconfig-5.63.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
415
- machineconfig-5.63.dist-info/RECORD,,
411
+ machineconfig-5.64.dist-info/METADATA,sha256=fO5FVp9Z-NmPHBu7RcUoLeLU3tnvfj3JBWFMjhWN6EY,3133
412
+ machineconfig-5.64.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
413
+ machineconfig-5.64.dist-info/entry_points.txt,sha256=cv54Fx9yQ-NKHFaOV-cGZXYg-pjBxJG0IIIdPFGZXfA,471
414
+ machineconfig-5.64.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
415
+ machineconfig-5.64.dist-info/RECORD,,
@@ -1,8 +1,8 @@
1
1
  [console_scripts]
2
2
  agents = machineconfig.scripts.python.agents:main_from_parser
3
- cloud = machineconfig.scripts.python.cloud:app
3
+ cloud = machineconfig.scripts.python.cloud:main
4
4
  croshell = machineconfig.scripts.python.croshell:arg_parser
5
- devops = machineconfig.scripts.python.devops:app
5
+ devops = machineconfig.scripts.python.devops:main
6
6
  fire = machineconfig.scripts.python.fire_jobs:main_from_parser
7
7
  ftpx = machineconfig.scripts.python.ftpx:main_from_parser
8
8
  mcfg = machineconfig.scripts.python.entry:app