mcli-framework 7.0.3__py3-none-any.whl → 7.0.4__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 mcli-framework might be problematic. Click here for more details.

Files changed (66) hide show
  1. mcli/app/completion_helpers.py +6 -2
  2. mcli/app/model_cmd.py +102 -0
  3. mcli/workflow/model_service/lightweight_model_server.py +37 -0
  4. {mcli_framework-7.0.3.dist-info → mcli_framework-7.0.4.dist-info}/METADATA +1 -1
  5. {mcli_framework-7.0.3.dist-info → mcli_framework-7.0.4.dist-info}/RECORD +9 -66
  6. mcli/__init__.py +0 -160
  7. mcli/__main__.py +0 -14
  8. mcli/app/__init__.py +0 -32
  9. mcli/app/model/__init__.py +0 -0
  10. mcli/app/video/__init__.py +0 -5
  11. mcli/chat/__init__.py +0 -34
  12. mcli/lib/__init__.py +0 -0
  13. mcli/lib/api/__init__.py +0 -0
  14. mcli/lib/auth/__init__.py +0 -1
  15. mcli/lib/config/__init__.py +0 -1
  16. mcli/lib/erd/__init__.py +0 -25
  17. mcli/lib/files/__init__.py +0 -0
  18. mcli/lib/fs/__init__.py +0 -1
  19. mcli/lib/logger/__init__.py +0 -3
  20. mcli/lib/performance/__init__.py +0 -17
  21. mcli/lib/pickles/__init__.py +0 -1
  22. mcli/lib/shell/__init__.py +0 -0
  23. mcli/lib/toml/__init__.py +0 -1
  24. mcli/lib/watcher/__init__.py +0 -0
  25. mcli/ml/__init__.py +0 -16
  26. mcli/ml/api/__init__.py +0 -31
  27. mcli/ml/api/routers/__init__.py +0 -27
  28. mcli/ml/auth/__init__.py +0 -45
  29. mcli/ml/backtesting/__init__.py +0 -41
  30. mcli/ml/cli/__init__.py +0 -5
  31. mcli/ml/config/__init__.py +0 -33
  32. mcli/ml/configs/__init__.py +0 -16
  33. mcli/ml/dashboard/__init__.py +0 -10
  34. mcli/ml/data_ingestion/__init__.py +0 -41
  35. mcli/ml/database/__init__.py +0 -47
  36. mcli/ml/experimentation/__init__.py +0 -29
  37. mcli/ml/features/__init__.py +0 -39
  38. mcli/ml/mlops/__init__.py +0 -35
  39. mcli/ml/models/__init__.py +0 -97
  40. mcli/ml/monitoring/__init__.py +0 -25
  41. mcli/ml/optimization/__init__.py +0 -27
  42. mcli/ml/preprocessing/__init__.py +0 -28
  43. mcli/ml/scripts/__init__.py +0 -1
  44. mcli/public/__init__.py +0 -1
  45. mcli/public/commands/__init__.py +0 -2
  46. mcli/self/__init__.py +0 -3
  47. mcli/workflow/__init__.py +0 -0
  48. mcli/workflow/daemon/__init__.py +0 -13
  49. mcli/workflow/dashboard/__init__.py +0 -5
  50. mcli/workflow/docker/__init__.py +0 -0
  51. mcli/workflow/file/__init__.py +0 -0
  52. mcli/workflow/gcloud/__init__.py +0 -1
  53. mcli/workflow/git_commit/__init__.py +0 -0
  54. mcli/workflow/interview/__init__.py +0 -0
  55. mcli/workflow/politician_trading/__init__.py +0 -4
  56. mcli/workflow/registry/__init__.py +0 -0
  57. mcli/workflow/repo/__init__.py +0 -0
  58. mcli/workflow/scheduler/__init__.py +0 -25
  59. mcli/workflow/search/__init__.py +0 -0
  60. mcli/workflow/sync/__init__.py +0 -5
  61. mcli/workflow/videos/__init__.py +0 -1
  62. mcli/workflow/wakatime/__init__.py +0 -80
  63. {mcli_framework-7.0.3.dist-info → mcli_framework-7.0.4.dist-info}/WHEEL +0 -0
  64. {mcli_framework-7.0.3.dist-info → mcli_framework-7.0.4.dist-info}/entry_points.txt +0 -0
  65. {mcli_framework-7.0.3.dist-info → mcli_framework-7.0.4.dist-info}/licenses/LICENSE +0 -0
  66. {mcli_framework-7.0.3.dist-info → mcli_framework-7.0.4.dist-info}/top_level.txt +0 -0
@@ -137,8 +137,12 @@ LAZY_COMMAND_COMPLETIONS = {
137
137
  "subcommands": [
138
138
  "download",
139
139
  "list",
140
- "remove",
141
- "info"
140
+ "start",
141
+ "stop",
142
+ "pull",
143
+ "delete",
144
+ "recommend",
145
+ "status"
142
146
  ]
143
147
  },
144
148
  "cron-test": {
mcli/app/model_cmd.py CHANGED
@@ -7,6 +7,7 @@ from pathlib import Path
7
7
  from typing import Optional
8
8
 
9
9
  import click
10
+ import psutil
10
11
 
11
12
  from mcli.lib.logger.logger import get_logger
12
13
  from mcli.workflow.model_service.lightweight_model_server import (
@@ -223,5 +224,106 @@ def status(port: int):
223
224
  click.echo(f"❌ Error checking server: {e}")
224
225
 
225
226
 
227
+ @model.command()
228
+ @click.option("--port", "-p", default=8080, help="Port where server is running")
229
+ def stop(port: int):
230
+ """Stop the lightweight model server."""
231
+ import requests
232
+ import psutil
233
+
234
+ try:
235
+ # First check if server is running
236
+ try:
237
+ response = requests.get(f"http://localhost:{port}/health", timeout=2)
238
+ if response.status_code != 200:
239
+ click.echo(f"❌ No server running on port {port}")
240
+ return
241
+ except requests.exceptions.ConnectionError:
242
+ click.echo(f"❌ No server running on port {port}")
243
+ return
244
+
245
+ # Find and kill the process using the port
246
+ for proc in psutil.process_iter(["pid", "name", "connections"]):
247
+ try:
248
+ connections = proc.info.get("connections")
249
+ if connections:
250
+ for conn in connections:
251
+ if hasattr(conn, "laddr") and conn.laddr.port == port:
252
+ click.echo(f"🛑 Stopping server (PID: {proc.pid})...")
253
+ proc.terminate()
254
+ proc.wait(timeout=5)
255
+ click.echo("✅ Server stopped successfully")
256
+ return
257
+ except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.TimeoutExpired):
258
+ continue
259
+
260
+ click.echo("⚠️ Could not find server process")
261
+
262
+ except Exception as e:
263
+ click.echo(f"❌ Error stopping server: {e}")
264
+
265
+
266
+ @model.command()
267
+ @click.argument("model_name")
268
+ def pull(model_name: str):
269
+ """Pull (download) a specific lightweight model."""
270
+ if model_name not in LIGHTWEIGHT_MODELS:
271
+ click.echo(f"❌ Model '{model_name}' not found.")
272
+ click.echo("Available models:")
273
+ for key in LIGHTWEIGHT_MODELS.keys():
274
+ click.echo(f" • {key}")
275
+ sys.exit(1)
276
+
277
+ server = LightweightModelServer()
278
+
279
+ click.echo(f"Pulling model: {model_name}")
280
+ success = server.download_and_load_model(model_name)
281
+
282
+ if success:
283
+ click.echo(f"✅ Successfully pulled {model_name}")
284
+ else:
285
+ click.echo(f"❌ Failed to pull {model_name}")
286
+ sys.exit(1)
287
+
288
+
289
+ @model.command()
290
+ @click.argument("model_name")
291
+ @click.option("--force", "-f", is_flag=True, help="Force deletion without confirmation")
292
+ def delete(model_name: str, force: bool):
293
+ """Delete a downloaded lightweight model."""
294
+ server = LightweightModelServer()
295
+ downloaded_models = server.downloader.get_downloaded_models()
296
+
297
+ if model_name not in downloaded_models:
298
+ click.echo(f"❌ Model '{model_name}' not found.")
299
+ click.echo("Downloaded models:")
300
+ if downloaded_models:
301
+ for model in downloaded_models:
302
+ click.echo(f" • {model}")
303
+ else:
304
+ click.echo(" (none)")
305
+ sys.exit(1)
306
+
307
+ # Confirm deletion unless --force is used
308
+ if not force:
309
+ model_info = LIGHTWEIGHT_MODELS.get(model_name, {})
310
+ name = model_info.get("name", model_name)
311
+ size = model_info.get("size_mb", "unknown")
312
+ click.echo(f"⚠️ About to delete:")
313
+ click.echo(f" Model: {name}")
314
+ click.echo(f" Size: {size} MB")
315
+ if not click.confirm("Are you sure you want to delete this model?"):
316
+ click.echo("❌ Deletion cancelled")
317
+ return
318
+
319
+ success = server.delete_model(model_name)
320
+
321
+ if success:
322
+ click.echo(f"✅ Successfully deleted {model_name}")
323
+ else:
324
+ click.echo(f"❌ Failed to delete {model_name}")
325
+ sys.exit(1)
326
+
327
+
226
328
  if __name__ == "__main__":
227
329
  model()
@@ -566,6 +566,43 @@ class LightweightModelServer:
566
566
  else:
567
567
  return "distilbert-base-uncased" # Standard small model
568
568
 
569
+ def stop_server(self) -> bool:
570
+ """Stop the lightweight server"""
571
+ if not self.running:
572
+ print("⚠️ Server is not running")
573
+ return False
574
+
575
+ try:
576
+ self.running = False
577
+ print("🛑 Server stopped")
578
+ return True
579
+ except Exception as e:
580
+ print(f"❌ Error stopping server: {e}")
581
+ return False
582
+
583
+ def delete_model(self, model_key: str) -> bool:
584
+ """Delete a downloaded model"""
585
+ try:
586
+ model_dir = self.models_dir / model_key
587
+
588
+ if not model_dir.exists():
589
+ print(f"⚠️ Model '{model_key}' not found")
590
+ return False
591
+
592
+ # Remove from loaded models if present
593
+ if model_key in self.loaded_models:
594
+ del self.loaded_models[model_key]
595
+ print(f"✅ Unloaded model: {model_key}")
596
+
597
+ # Delete the model directory
598
+ shutil.rmtree(model_dir)
599
+ print(f"✅ Deleted model: {model_key}")
600
+ return True
601
+
602
+ except Exception as e:
603
+ print(f"❌ Error deleting model {model_key}: {e}")
604
+ return False
605
+
569
606
 
570
607
  def create_simple_client():
571
608
  """Create a simple client script for testing"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 7.0.3
3
+ Version: 7.0.4
4
4
  Summary: 🚀 High-performance CLI framework with Rust extensions, AI chat, and stunning visuals
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
@@ -1,38 +1,29 @@
1
- mcli/__init__.py,sha256=xpjnyDicXuVi2_qT12Xq610ri8Raz7eIKqS16W1A4To,6859
2
- mcli/__main__.py,sha256=nKdf3WqtXi5PhWhZGjpXKAT3a2yGUYkYCBgSLxk4hSQ,295
3
1
  mcli/cli.py,sha256=6KTyXn-pmVkAbCDu59PbiNKBwNra5su31ujFFZ6CBOM,389
4
2
  mcli/config.toml,sha256=263yEVvP_W9F2zOLssUBgy7amKaRAFQuBrfxcMhKxaQ,1706
5
- mcli/app/__init__.py,sha256=Qy_ttkXt_XKuSQKgQx3H7NqVy8c7otSFtBVZaatCdZc,816
6
3
  mcli/app/chat_cmd.py,sha256=OJK91iX-f-CL5-m3ECG4IlcbLbsWQpPp7XWuGnb0cVQ,1552
7
4
  mcli/app/commands_cmd.py,sha256=5MccxYKNkzIisDeBPJj6K4ZwWeZFB2a4P8AS9B1_EDs,8441
8
5
  mcli/app/completion_cmd.py,sha256=8gtYDddviBCD6Gk57lkLKOpim5QAMMcugYPmwfraBeo,7862
9
- mcli/app/completion_helpers.py,sha256=GJvkxJ5lU_Gh4K35Q275QW1fN39poasyYjDO5-5kxM0,8809
6
+ mcli/app/completion_helpers.py,sha256=PR66qgVNC5_st-CBiD4uuGfO3Zs7Y3QmJ2GJjpx5N6g,8897
10
7
  mcli/app/cron_test_cmd.py,sha256=Ai4Smg2WxULeiMD5s2m_S_fXdMAAQsKHpSc4iJGSnwI,26156
11
8
  mcli/app/logs_cmd.py,sha256=xkGjUiuV1a1-2j8rkffp0OwnG9nS39-i2jpCnKUn9f0,13777
12
9
  mcli/app/main.py,sha256=iA9HdqhBaOnOJ2--edLPD7iAatAzhIl5NAcNhw9qJAw,19010
13
- mcli/app/model_cmd.py,sha256=wRs2xfDbWrdzmVH1hbHr8jypucNUKpXvNdYJAlvk5xc,8153
10
+ mcli/app/model_cmd.py,sha256=xJqD4xBLFqi3sBsgAeyXIC8n5SR3czl8wIWx8za31vA,11756
14
11
  mcli/app/redis_cmd.py,sha256=Cl0LQ3Mqt27gLeb542_xw6bJBbIE-CBmWyMmaUTSk8c,9426
15
12
  mcli/app/visual_cmd.py,sha256=jXighahHxeM9HANQ2Brk6nKFgi2ZuQBOBH7PE5xhebk,9428
16
- mcli/app/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
13
  mcli/app/model/model.py,sha256=EUGu_td-hRlbf4OElkdk1-0p7WyuG7sZmb-Ux2-J9KY,39061
18
- mcli/app/video/__init__.py,sha256=PxCZQrtClwNQr1RaF8Q3iXlLeQlnEAI9NO8LGcQQuvk,66
19
14
  mcli/app/video/video.py,sha256=3TL8vG3XSKzH_Iyy-IHPZOwNtT7js0VqVVNwIgfDvpk,41910
20
- mcli/chat/__init__.py,sha256=DHCTGHCe2tYUj1e1tIAWJFU9u7VbyR1PVWlBFf0Okww,750
21
15
  mcli/chat/chat.py,sha256=tXt90jHwfW0W_BTDGT7FftKLP1fEE3PLr6u3QQwinzc,102141
22
16
  mcli/chat/command_rag.py,sha256=Ee8usPyRDRYDWpQ79dI7xbxM8Ljxsy_ym_MnL37nPAo,19368
23
17
  mcli/chat/enhanced_chat.py,sha256=e3odh5klewDHIjfNOyvifLzCdHrysDc2IvNVHzTPIh4,27072
24
18
  mcli/chat/system_controller.py,sha256=SuGvnIh2QObvM1DMicF3gGyeBkbz_xXS-hOOHjWx5j4,39114
25
19
  mcli/chat/system_integration.py,sha256=xQ11thOUswPg8r1HZkId6U3bTCOtMYngt0-mUYYXpt4,40196
26
- mcli/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
20
  mcli/lib/lib.py,sha256=mlp2INx-UKTOECcA7Kens9yNt2gJi7GbKWFmf4cxj0c,632
28
21
  mcli/lib/paths.py,sha256=Pz-4FfVlHxuXsYa4_3hAEk4LzFCBoEoOsxmbzvJtmaI,2116
29
- mcli/lib/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
22
  mcli/lib/api/api.py,sha256=sPgAIYC8Z7AWV2TCBssNSKotbRggBqNLsbfzbjkhmUY,18558
31
23
  mcli/lib/api/daemon_client.py,sha256=Nq8sVvNKyIGvWp9G_O3NEFo9JDqA1TEx5FOB7iqslB4,7415
32
24
  mcli/lib/api/daemon_client_local.py,sha256=cki6-ErWtyVRk12BYB5hFZMGc8HisHFze_vRNlydnOI,1749
33
25
  mcli/lib/api/daemon_decorator.py,sha256=j3He9jd-uL7n2_iUpCdjfKHaqe_tDPKPIoL8VpYMzUw,7677
34
26
  mcli/lib/api/mcli_decorators.py,sha256=HzCwVgFsPKpunLmlScrHmrtEqbX2Ek2ly8uoWBGKR0M,29084
35
- mcli/lib/auth/__init__.py,sha256=eJkY6rWNOAUBmSd4G1_U6h7i472druKEtBdVmgFZVPg,20
36
27
  mcli/lib/auth/auth.py,sha256=x23xXErGcQpO2JzyRM-KZGJA_MJt6Rf3XuZFyInUVsI,2123
37
28
  mcli/lib/auth/aws_manager.py,sha256=ogJmPgEL7WIwkIq1RgIXLQc84Lqj0WZYxQ16gjdqN6c,2667
38
29
  mcli/lib/auth/azure_manager.py,sha256=NkrWd5dTD67yktGsaNXAPpbt6yeNszQXPR2SfK6fMbg,2805
@@ -42,46 +33,33 @@ mcli/lib/auth/key_manager.py,sha256=pH-I_CPoe4-GXZqyKq31wODCogRN5KER9aKRSTO1a_o,
42
33
  mcli/lib/auth/mcli_manager.py,sha256=CP35tlgbqKyabesocICeiCmJyG_8oBfi4DN-yUbUvKc,2817
43
34
  mcli/lib/auth/token_manager.py,sha256=-o_HC_oIVbPqRRERZzspAIYA5T4w9BCOa95JInY0FYI,2226
44
35
  mcli/lib/auth/token_util.py,sha256=UicmPEh3Uo8cpVWz4-zU6Qk4cHiTWwtVxLVadY8MTqk,35039
45
- mcli/lib/config/__init__.py,sha256=A00lpnUKg-q3y_b-cN3jKF9urkGTGjb2Yz_gGc9WCLs,22
46
36
  mcli/lib/config/config.py,sha256=wUxo1EpkSGDifrsaPs9uQ1MXdpAI2096Yg6OVUTD94I,1332
47
37
  mcli/lib/discovery/__init__.py,sha256=ud-dDGXdCPUxoSP4qYFFnOy-cxf3mZAKmfWmZmqPJ7Q,37
48
38
  mcli/lib/discovery/command_discovery.py,sha256=ZLiJO3SQAaF9yU5nfUkEfKL6ak53TMWgPkB0G6j-M9M,9741
49
- mcli/lib/erd/__init__.py,sha256=6AxyAADoSdYPwTu-qxZGcP8QuR6Ta0YtP9E84DcIq9o,641
50
39
  mcli/lib/erd/erd.py,sha256=zr9C6RPaCPX2qDJqOe2VA5pfTL5UF3Kj5M8BLFnNrUc,51843
51
40
  mcli/lib/erd/generate_graph.py,sha256=wpSZpn2W9zQ6XaLBjq_2AJv20Sol-L1if92quypp7Ac,15596
52
- mcli/lib/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
41
  mcli/lib/files/files.py,sha256=8z87uR1nOaTXtn7ExdKZMGgaHpk6cR9FJ1JvuYV2qJw,2538
54
- mcli/lib/fs/__init__.py,sha256=sfBKN5f9o7k0ua1fPUgd6gQw1fWBjXys8TcIRxBIwns,18
55
42
  mcli/lib/fs/fs.py,sha256=b-u6t3hps-XpKOndhsnNE5tVFATwuxpdD_oilpfwAe4,2823
56
- mcli/lib/logger/__init__.py,sha256=JpOwVk6nDPi14ToVpsAy02a2J5mECjtLngpm8vdIDHU,57
57
43
  mcli/lib/logger/logger.py,sha256=FdQBknaMqaqf1KP25lspvmIvMd_S6QLGjf8ZPPQ0ukI,24388
58
- mcli/lib/performance/__init__.py,sha256=5HakI_6eO9y_KnQ0Pwqk_dYng9puecfB0GRLdeNyEaY,327
59
44
  mcli/lib/performance/optimizer.py,sha256=erOp0shbvE7obM5-ljj3Fgz8S4ws9UghslFNSi34Qh0,14938
60
45
  mcli/lib/performance/rust_bridge.py,sha256=y_8WLvWkDbHAT06ma_qwaGDDS8d0oJNOj4tj5P_yxuE,16744
61
46
  mcli/lib/performance/uvloop_config.py,sha256=wyI5pQnec2RAhgm52HJ1AxYGFa3bjTa-CjhOqB2Oucc,4736
62
- mcli/lib/pickles/__init__.py,sha256=b7l9CLv8Aua5sROYAaA4raxpWTKSJxUumTLqmzlkb-I,33
63
47
  mcli/lib/pickles/pickles.py,sha256=O9dLJfyxViX-IyionbcjcsxHnq42XiLaAorsUrx9oZU,1448
64
48
  mcli/lib/search/cached_vectorizer.py,sha256=IE36BaESqMsj10qSew6ksmPTDR-y4kMYvLYH5bO6xVg,17995
65
49
  mcli/lib/services/data_pipeline.py,sha256=_JuNbihEW2NqmOCtKQrqWXUGNDbGo2AKSc15xkNht2s,16391
66
50
  mcli/lib/services/lsh_client.py,sha256=NqzONi7i1LVupPOWeA30AOkdqnu47_ibWWBnC3VF5b8,16508
67
51
  mcli/lib/services/redis_service.py,sha256=5QwSB-FMIS1zdTNp8VSOrZfr_wrUK10Bfe2N1ZTy-90,12730
68
- mcli/lib/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
52
  mcli/lib/shell/shell.py,sha256=W7lowu75SnFsb0y8ZIDIawfcPUuJkT3_rI1IKU_c6Wk,4692
70
- mcli/lib/toml/__init__.py,sha256=P2Ngf_JC1TEwBDFgtUwy0G0l3j7lxJGzXzSlP2IKtRM,33
71
53
  mcli/lib/toml/toml.py,sha256=p05tXgndxIlsA_l60ivmrE5hK92-Sf2u-adERrvIJPk,1115
72
54
  mcli/lib/ui/styling.py,sha256=WkVmsaKKRefnMywY-hcVgTPB2z86ynzjx2NP5A9Ayj0,1390
73
55
  mcli/lib/ui/visual_effects.py,sha256=SCcpOq53brTTsdmOZUcWorvVCrTM9Y_1bT7WM039RzM,24764
74
- mcli/lib/watcher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
56
  mcli/lib/watcher/watcher.py,sha256=WDslwiDmgBoQWFHis-ExwIR1ZrQAuGXio-rYEX8Tp7M,6045
76
- mcli/ml/__init__.py,sha256=jcnEqVcmXtEJPKLaAhoW1cSxB7TgnSSvyGchgRnResY,427
77
57
  mcli/ml/cache.py,sha256=CX1GDqTwKtbZxtJJVUZQKYNbNQDw9ajmilNO3qQdLsM,12154
78
58
  mcli/ml/logging.py,sha256=gZNAeItgA23sQCZ3Rtl7Lpjc3TwGHjnyUmVkgQA1t-I,2475
79
59
  mcli/ml/tasks.py,sha256=L88AzU4KfZdsxmyHdvXIB6dckcWW5gtkihujZ0leZDI,12535
80
- mcli/ml/api/__init__.py,sha256=5PwvNymrPEBLj1eTfpOwQugnIEzB4JYy3EDY064KGCg,590
81
60
  mcli/ml/api/app.py,sha256=wiGiaK4yJGW8Whzi5NoJF0L9SNV4th0jsiVPRZhSnzY,6699
82
61
  mcli/ml/api/middleware.py,sha256=sgDv3lqH8WFvGdaPH0DOprEgg3qxGf34XbiaYDG5_qc,7461
83
62
  mcli/ml/api/schemas.py,sha256=dvqH46CXc-IRjL9NJhNsxFc35Q3vv2l3tOlNPBUrWz8,1500
84
- mcli/ml/api/routers/__init__.py,sha256=eWnMZrkG1zT9Rwn7dHXPjW-bH3TdIi_q_4iBkcRgovc,469
85
63
  mcli/ml/api/routers/admin_router.py,sha256=NGDpit6_oWoOoRXpvhVzsUB2sm2UtKkfQaPAPjO1hHg,353
86
64
  mcli/ml/api/routers/auth_router.py,sha256=AoiUSmpZ3JcA-2YQfixeNDNSGp5vZw-vw9xcmjkOX5Y,6898
87
65
  mcli/ml/api/routers/backtest_router.py,sha256=KBYBNu43RbCKnKcRVqtSNA9ZCqUdrtIH24h8z-5kxqQ,337
@@ -92,78 +70,57 @@ mcli/ml/api/routers/portfolio_router.py,sha256=k9McTG5J_Hr1QGdENTszDrF8m75XPE0js
92
70
  mcli/ml/api/routers/prediction_router.py,sha256=NbmQKEEvzAKN9e_fd7OL4a6HAfaRCYm4lXiQtwx0Pj0,8367
93
71
  mcli/ml/api/routers/trade_router.py,sha256=VxfHld4O6oADQ6K5EQmY69GvS7tmPaoJMvy1HZdmRFg,418
94
72
  mcli/ml/api/routers/websocket_router.py,sha256=i_QVMuQsZmNhvbcFPhcFRCZNColq3T6hw2GdUjIRlP4,2455
95
- mcli/ml/auth/__init__.py,sha256=i3Jfqr5OAtP4KB0oCnm7-gopeuGiSapNwDqbHj8j9rU,860
96
73
  mcli/ml/auth/auth_manager.py,sha256=Ji1iVR2QiN_X8WRjwvSmYVmO0JnSLWW_wOVFtU0YcpI,13059
97
74
  mcli/ml/auth/models.py,sha256=zk7eMwVk35grooL0SXEtQQu5qACUcGcTes1IvxA-Pyk,4373
98
75
  mcli/ml/auth/permissions.py,sha256=PJxwzJC9pQ9JFF6YN6efoMiNUjxHuOv5RYrVUlw5G5k,8471
99
- mcli/ml/backtesting/__init__.py,sha256=mstngR6j8cHIO4RGUkJXlzu6xR3A1UQOo_vqdtkD5Os,743
100
76
  mcli/ml/backtesting/backtest_engine.py,sha256=di7IDXfzkUvK7WXPknHHOFK51L_gaG8ORCFkJP3xKDc,18841
101
77
  mcli/ml/backtesting/performance_metrics.py,sha256=EqNmJNpTpRm3BDIw3mZt6NT9lz0JV0_vqWFKIm8ROtA,14396
102
- mcli/ml/cli/__init__.py,sha256=-zr7kL1xi_niG_kKIPoMAvYNfCtn4gUkvIqml5wYE8k,75
103
78
  mcli/ml/cli/main.py,sha256=itfs4CgC_LL1opVwhiL2tysrBAx-jMmQqyhJk1yZpj4,15542
104
- mcli/ml/config/__init__.py,sha256=33CAGv0WH--sq0m3Fd_Hyoy202nhMvSO8YypVAquOlw,610
105
79
  mcli/ml/config/settings.py,sha256=Hl0XMmhnSgIlYxkM0fDj-Y1ZqrkTv4TZhaXeafgUV4c,14149
106
- mcli/ml/configs/__init__.py,sha256=clmYdo-CIWU5k3XEcWyX_MV0vTBUlKm7_0zkp7czr2s,405
107
80
  mcli/ml/configs/dvc_config.py,sha256=LWOg4di1MpZED18YJznhYJwWsQ5i5k73RMxZT7-poHw,7663
108
81
  mcli/ml/configs/mlflow_config.py,sha256=GvoBqxdBU6eIAghjPKqXz00n5j3Z8grdk0DFZwilIS8,4476
109
82
  mcli/ml/configs/mlops_manager.py,sha256=4CfqJnqLZjFl4Han3BAQ2ozOZmO8q47lWEnObn_Q5F4,9891
110
- mcli/ml/dashboard/__init__.py,sha256=MV0BuDOU1gDABWvRgINWdsT5Xtl1N4vQ5BWSxgiI1kE,201
111
83
  mcli/ml/dashboard/app.py,sha256=GP_FgmR-4xQ7JoZeLygaA9_Li8T310AG9UJi3vxRpzs,15092
112
84
  mcli/ml/dashboard/app_integrated.py,sha256=6BjoV298c4jJ_Cs8syMQ35iG9pdP4uA-K_iTu_hTa6A,25610
113
85
  mcli/ml/dashboard/app_supabase.py,sha256=E6zjJTcCpv8MCrQIZ4pgce4sxtLro7utfC9s2762QVA,19734
114
86
  mcli/ml/dashboard/app_training.py,sha256=XeU-fDj2MVzM5IM1ezCYJV5RF51oyvXy2_lppPAhSdw,19623
115
87
  mcli/ml/dashboard/cli.py,sha256=n4L732c9UoA9DUsiOEzaqBNs42vt1st-JP-UHuzc92I,1479
116
- mcli/ml/data_ingestion/__init__.py,sha256=KOgWiiPBwnwJT-FPYE1-M6utVzosqQ6B5Ji1ty1NtAQ,798
117
88
  mcli/ml/data_ingestion/api_connectors.py,sha256=MdvRx783wcd3M6IKwJPLJy52-vPm7DA5Sp7YVHsoNFw,16483
118
89
  mcli/ml/data_ingestion/data_pipeline.py,sha256=c4QI4NOeJo5xXH2oRXUFjUSgZSeljcfPzncY2XFs4Mo,18910
119
90
  mcli/ml/data_ingestion/stream_processor.py,sha256=k7N8bUgPryDLGHZ20t3mSztNng7w2txDXLSkw2lWxFo,16027
120
- mcli/ml/database/__init__.py,sha256=1B84_JtShv9Fzr5zTfpFZO_SalFNmcCz4NBs6S2iOpo,708
121
91
  mcli/ml/database/models.py,sha256=rSYb04zR6MStAPm-41BLF6pMJWhtTOOdqDi_BdcN-ZQ,21598
122
92
  mcli/ml/database/session.py,sha256=hFqAbTXiPPDGW2HogMj07JBIxTMQbEr13PMSHncfFN8,5277
123
93
  mcli/ml/database/migrations/env.py,sha256=4irmudcsgnCdm4b5o_rNd8SS1lw8-EyE4Qnw8Pyt2AA,2430
124
- mcli/ml/experimentation/__init__.py,sha256=HWQMZzOzj18iNpbgVH82vf57bOpWSDOn5gJ11m0BIeI,556
125
94
  mcli/ml/experimentation/ab_testing.py,sha256=FBaB_8qDY97SghfXbQMOhsjt9B3Bqm2gsMs-ymc7-8U,31709
126
- mcli/ml/features/__init__.py,sha256=FFuzrluaogFx_UMpmDvxsb_t9skNvISbPYGEXPyA-LU,1003
127
95
  mcli/ml/features/ensemble_features.py,sha256=BcojLIIeNFDXkBNQoY0g3dpnIdl8aoMPRiMCJeO2ra4,22941
128
96
  mcli/ml/features/political_features.py,sha256=tmM-0onsOXpzYQrjw6khSOTOiarf6tVSqDc9Cf69XPc,24888
129
97
  mcli/ml/features/recommendation_engine.py,sha256=znm1Xn-5jKuourTTP9yCc_--kJWijdos1_tNV_Tq99U,30981
130
98
  mcli/ml/features/stock_features.py,sha256=znkfYRoxJE15Zgr02Q5dmHjOpMzJP2WX1hXEgh7edh4,21978
131
99
  mcli/ml/features/test_feature_engineering.py,sha256=FJr6AN687KEm6jm-Gk006C3CuqZsu4sjMw_GWzLzrcA,12007
132
- mcli/ml/mlops/__init__.py,sha256=OO2MJLGw5e9hR4yXWN-W9VT6zWOElCjLYA5Vfbo7cAU,623
133
100
  mcli/ml/mlops/data_versioning.py,sha256=lkpoqFjYO3H6DmQe5JEZrvh3l6w64KxZgKefA61DHXs,15167
134
101
  mcli/ml/mlops/experiment_tracker.py,sha256=fQLKishhdsz7DaGJRohMGXs55mE5EtqfXviWfp_7ajM,13587
135
102
  mcli/ml/mlops/model_serving.py,sha256=2WfV08VdSIAnwLjkjKl91TkJF-Qu2QaxCodpct3Lrto,17089
136
103
  mcli/ml/mlops/pipeline_orchestrator.py,sha256=Nsd1Bp6gJmD5U2dLtkT61aiLoIcU5cHy0OhrSzcq5KY,22745
137
- mcli/ml/models/__init__.py,sha256=J8szS8eF3xsM2IXvpHY6o-5RzseYCrQsVaan5MRZexY,2440
138
104
  mcli/ml/models/base_models.py,sha256=iO9LeRi5KjL6lenCoP4mFhixzYw5PdFoNCFtsk8Rh9A,10343
139
105
  mcli/ml/models/ensemble_models.py,sha256=E_k8i6HxSHGdUtzbVHUkxJKgXhgxBoiV1rN2ZlzCqPo,22696
140
106
  mcli/ml/models/recommendation_models.py,sha256=Ms_zxSMt3vCP5KCNxcnKq3ahgkrLSjalIi7MHTaJO70,17106
141
107
  mcli/ml/models/test_models.py,sha256=7m3JoixdCtTl2A-Dne4rmtwWp2TwZgVMpo7dN6I59tQ,15730
142
- mcli/ml/monitoring/__init__.py,sha256=Vztjt6jta2lC4H3oSMk7wPM5b8N-4j5VUSzXq3oitr4,472
143
108
  mcli/ml/monitoring/drift_detection.py,sha256=UxWEu5jPrWhqJpf9gS28igSvnVk4vzagTpTU1yrfOVc,25956
144
109
  mcli/ml/monitoring/metrics.py,sha256=y3Ok0ONm9NC3Z5NbRs6gvpsXRctMKyjjW7QkvIWln3I,1073
145
- mcli/ml/optimization/__init__.py,sha256=n11ekoRgabkZCl5IEqLYLycNFwpxeZDleZOq5APwm0A,632
146
110
  mcli/ml/optimization/portfolio_optimizer.py,sha256=dCZyPzlfHRYKo_tXtOj1IzoCiPXOrN-vH_6r3SXuWtI,31617
147
- mcli/ml/preprocessing/__init__.py,sha256=TDbpIe6zKdjV2F1D9YeushnyYj95FWeddokIa5bX62I,738
148
111
  mcli/ml/preprocessing/data_cleaners.py,sha256=3UTWfi-TX0YXUhfnuFfps6QY8Mz9Z2i5Jg-Bxsk2EkM,17282
149
112
  mcli/ml/preprocessing/feature_extractors.py,sha256=ZKexfA3-hIa4arAxn-J7e5T9P7zEXTdJUpCZDEPyPdo,17306
150
113
  mcli/ml/preprocessing/ml_pipeline.py,sha256=RAWG_dJ-CFDrNXYJYmkGH821B3NlM_0JlxfRaXJqImw,14202
151
114
  mcli/ml/preprocessing/politician_trading_preprocessor.py,sha256=q30WKabkjoqcqLSjDAV--sko4w3HSyVTsUsABm-kPxY,21900
152
115
  mcli/ml/preprocessing/test_preprocessing.py,sha256=TLBp24Y7YloIrUI2_KmyJhB6uw2iJiiQZuoLgIRdcrI,9576
153
- mcli/ml/scripts/__init__.py,sha256=G2TZXyCTdExp2YjABX-yiPVXPdx1evf7jJWvMLFRAiA,24
154
116
  mcli/ml/scripts/populate_sample_data.py,sha256=GKbS1ISiYen45JCGxSEuYvHFiCNm4Rm-4jxGwJn9A8c,7633
155
117
  mcli/ml/tests/test_integration.py,sha256=gyH7gnghshD4z9zZKqs3uZTK7oZdgVF_Ujcbe6-b3Gw,15643
156
118
  mcli/ml/tests/test_training_dashboard.py,sha256=9P1JrUCei7YydSJR8L4OrVmEWm5-SAy3e6S3h87JplQ,13588
157
- mcli/public/__init__.py,sha256=h7ykT8kSrTfYJ6HWBV3YLrUi8VEhNWzkfmGZ1kKdtJU,49
158
119
  mcli/public/public.py,sha256=t9BkO1XV7s3YcoH0bbIpyjZ05UX_vBjaKtKkuDX7wZ0,114
159
- mcli/public/commands/__init__.py,sha256=0WGm1i4t1uifkC_5FmbQ2r03q53yrZ3KnoWOd2M7dEA,103
160
120
  mcli/public/oi/oi.py,sha256=SQabQWQ1pE67pWYEHwIDc3R93DARJfB6VHk7qxWx9xo,308
161
- mcli/self/__init__.py,sha256=7hCrgaRb4oAgAf-kcyzqhJ5LFpW19jwF5bxowR4LwjY,41
162
121
  mcli/self/self_cmd.py,sha256=FM7LqGi3ZXRZCjFBhxIMRce_--8L7GT2UjH3sgKP3UI,47491
163
- mcli/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
122
  mcli/workflow/lsh_integration.py,sha256=khwmMPsdYdkmmLxlZi_UqUo2p0Nf-6GF6PPbtOrmoYQ,13290
165
123
  mcli/workflow/workflow.py,sha256=t58OVXmU9uQCJnyXuIbMAm8lihSzJ_jI10vXPNpZspk,928
166
- mcli/workflow/daemon/__init__.py,sha256=uS7YY6PFRRFTNfrjKKn1qQLzTk49tK1ojeDazGWzcQ0,535
167
124
  mcli/workflow/daemon/api_daemon.py,sha256=hA4Jolvb2C0T5_adKeI7BYE5wajfH9BFmk4bK1CmbE4,29000
168
125
  mcli/workflow/daemon/async_command_database.py,sha256=pvfKYjt0Jg1EPwJ1p2C0M3bsBWvjEs4Ok-Y6-jY0qVI,24873
169
126
  mcli/workflow/daemon/async_process_manager.py,sha256=hDehiYuWnBOv8LbMLTDEi4DVyrwm8YrrYF8Ca5P66A4,21374
@@ -175,23 +132,17 @@ mcli/workflow/daemon/enhanced_daemon.py,sha256=rqnAUVskxgdroyjgZdPldDGGYaMgSE0gh
175
132
  mcli/workflow/daemon/process_cli.py,sha256=FGaDpLtoxuUgNP61OzFAeU4sRu2hMNRrz1zRH-wyxgo,8696
176
133
  mcli/workflow/daemon/process_manager.py,sha256=He2Hjvnf8_6Gd982BpHss7rsD7Sl_h4KDkmRhHZEa5M,15200
177
134
  mcli/workflow/daemon/test_daemon.py,sha256=Fc_X9dauAtc10WHtVarKdMZnRJOVYDeKRR1RbTVE-wA,8741
178
- mcli/workflow/dashboard/__init__.py,sha256=AGkA7b1Cj7cX44ycm8xtnfY4Bn2NZ8SM8Op7PgJyNLQ,95
179
135
  mcli/workflow/dashboard/dashboard_cmd.py,sha256=u4dkcdp4Iy9kdCyrxOy_55qZsA9eWC3Xc7Ih9Bcsk-M,3593
180
- mcli/workflow/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
136
  mcli/workflow/docker/docker.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
- mcli/workflow/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
137
  mcli/workflow/file/file.py,sha256=01TtvD5LOzRrfUcmvOA_h6P3A9Xk37gC4-hJH0j4ZNU,3147
184
- mcli/workflow/gcloud/__init__.py,sha256=-WO-8AfhL7EdAHSmzNm8bvioxMBfwFjKrpCuXWrTWdU,27
185
138
  mcli/workflow/gcloud/config.toml,sha256=4_bImtrmmYxIFguQ4xRMgziMr_HVO80piWcyflXgWkU,697
186
139
  mcli/workflow/gcloud/gcloud.py,sha256=haTm4klifiSdYhQzDvtojkOCfsmFcB-zy2g8ZRkzBCk,1568
187
- mcli/workflow/git_commit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
140
  mcli/workflow/git_commit/ai_service.py,sha256=IMmMKH7x8aWt-PTpYksNmslb7DdPZIiCbaCao7rItdI,12189
189
141
  mcli/workflow/git_commit/commands.py,sha256=2BcAICZcaD8Hcu8EcBZPMMKBFZW5AoGusdKJ-lteQ5Q,15448
190
- mcli/workflow/interview/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
142
  mcli/workflow/model_service/client.py,sha256=wWYde_zR6_o6SP6oePwkHKmEVBtELrP8uKyZNTBWwVc,20888
192
143
  mcli/workflow/model_service/download_and_run_efficient_models.py,sha256=UlKs_Oq_1Vn5qFP28ALCF6CVMTqcRT8hG5quHeGHLIc,9898
193
144
  mcli/workflow/model_service/lightweight_embedder.py,sha256=82B0tYOYVTB3rdC-7XYEMnkw4Q_K0-p3LeyvdaP6ro8,14165
194
- mcli/workflow/model_service/lightweight_model_server.py,sha256=NYhIBDBSa1UwnsF6cEwDuNrcOLYcEIntw19GeMGVF5U,29883
145
+ mcli/workflow/model_service/lightweight_model_server.py,sha256=VyBrUba1maPHNDzO_o7FhLPgN_ncz5EOqrHorzDV5rc,31063
195
146
  mcli/workflow/model_service/lightweight_test.py,sha256=J1--5Q8YvJT3Wzhqf0ElDAostRVA2yDs1LkVwkDMf5M,7330
196
147
  mcli/workflow/model_service/model_service.py,sha256=pAxxHw4tShkrnWWFBnzsrGGKEFa8ZEv4Mza_C8clK38,69729
197
148
  mcli/workflow/model_service/ollama_efficient_runner.py,sha256=fFZLoIfmgbQnMLwnXuH2ya5o_Tu6ww3ERtXg58HbamE,14340
@@ -201,7 +152,6 @@ mcli/workflow/model_service/test_example.py,sha256=aMSNRyjz5ian6cmHQt_sE5-q10V82
201
152
  mcli/workflow/model_service/test_integration.py,sha256=PMylaOOab-mzkx_Si-gNwRzc_3tTs-9eMD8SOQUiJwM,4553
202
153
  mcli/workflow/model_service/test_new_features.py,sha256=5mMluJX5qjVC6HHtppGw1HemcDws9kKA5J1Xmrou8jU,4297
203
154
  mcli/workflow/openai/openai.py,sha256=Zv7nsFUQqLeg5jJaYKp6wsXZsb7b5pzjF8HQLpJkIaI,2769
204
- mcli/workflow/politician_trading/__init__.py,sha256=U7EYsjbIWsmQZBZH_yd-DlzeK6NyLpSeESIVQQRwFDw,113
205
155
  mcli/workflow/politician_trading/commands.py,sha256=PFrHpJyscK_YrY2Pgt2gzyCOdbEpLCp-T-I5zzoSuO0,79583
206
156
  mcli/workflow/politician_trading/config.py,sha256=g6esLt5zHpW0VSGncSfkDyIJ-m4DdHnAPBh1bMMciAY,4466
207
157
  mcli/workflow/politician_trading/connectivity.py,sha256=2cxiWSHDJAx0RGvPFHtinQy6eMVYPItct6hMLHjd2O0,18963
@@ -217,28 +167,21 @@ mcli/workflow/politician_trading/scrapers_uk.py,sha256=mDV6t6ftGRIJm2hvImgzyAqB-
217
167
  mcli/workflow/politician_trading/scrapers_us_states.py,sha256=jIzfvPDKQAwIwq0s8ELZrYI4UKgYkYQObLuNCUy7TA0,18272
218
168
  mcli/workflow/politician_trading/supabase_functions.py,sha256=7RXZuFsbc82-nwv54XdO19gkrI1sWJsuNn4LRKLw3T0,10089
219
169
  mcli/workflow/politician_trading/workflow.py,sha256=EA_L69j9FrghBvYeCulb0Z13zHR8Ki9hLaYWHEMbEDY,36315
220
- mcli/workflow/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
170
  mcli/workflow/registry/registry.py,sha256=MbiabMfrvbFvD8K1c9ucmXCSdfqZa1PUBedwStz9UgA,5249
222
- mcli/workflow/repo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
171
  mcli/workflow/repo/repo.py,sha256=sk-hOzAa1IL1YSTSetgq-k-x0XRpGVGksSa095Q0JkM,8055
224
- mcli/workflow/scheduler/__init__.py,sha256=wKnYDtvu_U0ImY1Ki0_371K4eVzdDEvs2q-dh594OLY,618
225
172
  mcli/workflow/scheduler/commands.py,sha256=Zg8QFxNslYDD-TQxWaYrWI6dRAYSyZwoU_czdh6h960,16093
226
173
  mcli/workflow/scheduler/cron_parser.py,sha256=pG9b7emjbBQ_-xNjauTUaeFoKZV_X-oCN5mpq18HyTs,7548
227
174
  mcli/workflow/scheduler/job.py,sha256=UMKDbxTR01TaYKNTMaReIm33R_HghvHWovQC1IEGyRI,6613
228
175
  mcli/workflow/scheduler/monitor.py,sha256=63TClZQyxbJyx5Sf3q1v8BgO6YPvWQNZYfCixM66Qik,5031
229
176
  mcli/workflow/scheduler/persistence.py,sha256=SU8-F5wTpTercZvTeAXKlGI7gwHyfmYDhX2_KnEYnjs,11592
230
177
  mcli/workflow/scheduler/scheduler.py,sha256=1Ujq9VgL1rSTCAtshuLA2_sodW6HOj0MEZem7Ga-kic,23351
231
- mcli/workflow/search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
- mcli/workflow/sync/__init__.py,sha256=vYjpzxC1OTFvhp2sgBqzrujUhghb4MtFNxrsPNDkUcc,104
233
178
  mcli/workflow/sync/sync_cmd.py,sha256=S8TuZS_WAsdeD3_j8-XSAZFFrpynAwTWnCC0e6DCLh4,15574
234
179
  mcli/workflow/sync/test_cmd.py,sha256=neVgs9zEnKSxlvzDpFkuCGucqnzjrShm2OvJtHibslg,10009
235
- mcli/workflow/videos/__init__.py,sha256=aV3DEoO7qdKJY4odWKoQbOKDQq4ludTeCLnZcupOFIM,25
236
180
  mcli/workflow/videos/videos.py,sha256=C47ViVv6qqqkSKQz6YXjzhok4UrqFbya8w5k_x7hToM,8360
237
- mcli/workflow/wakatime/__init__.py,sha256=wKG8cVIHVtMPhNRFGFtX43bRnocHqOMMkFMkmW-M6pU,2626
238
181
  mcli/workflow/wakatime/wakatime.py,sha256=sEjsUKa3-XyE8Ni6sAb_D3GAY5jDcA30KknW9YTbLTA,142
239
- mcli_framework-7.0.3.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
240
- mcli_framework-7.0.3.dist-info/METADATA,sha256=T2hlb-nQrSmCvzSNg6QcRYrpEGJYyGjW6LUHvL6JbIs,14307
241
- mcli_framework-7.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
242
- mcli_framework-7.0.3.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
243
- mcli_framework-7.0.3.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
244
- mcli_framework-7.0.3.dist-info/RECORD,,
182
+ mcli_framework-7.0.4.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
183
+ mcli_framework-7.0.4.dist-info/METADATA,sha256=pBXzXZPimrA0dhlG4w_gZBhYHrnxQDkp6yYK2Tmdxvw,14307
184
+ mcli_framework-7.0.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
185
+ mcli_framework-7.0.4.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
186
+ mcli_framework-7.0.4.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
187
+ mcli_framework-7.0.4.dist-info/RECORD,,
mcli/__init__.py DELETED
@@ -1,160 +0,0 @@
1
- # logger.info("I am in mcli.__init__.py")
2
- import sys
3
-
4
- try:
5
- from mcli.app import main
6
-
7
- # from mcli.public import *
8
- # from mcli.private import *
9
- # Import the complete Click superset decorators
10
- from mcli.lib.api.mcli_decorators import BOOL # mcli.BOOL - Click BOOL type
11
- from mcli.lib.api.mcli_decorators import FLOAT # mcli.FLOAT - Click FLOAT type
12
- from mcli.lib.api.mcli_decorators import INT # mcli.INT - Click INT type
13
- from mcli.lib.api.mcli_decorators import STRING # mcli.STRING - Click STRING type
14
- from mcli.lib.api.mcli_decorators import UNPROCESSED # mcli.UNPROCESSED - Click UNPROCESSED
15
- from mcli.lib.api.mcli_decorators import UUID # mcli.UUID - Click UUID type
16
- from mcli.lib.api.mcli_decorators import Abort # mcli.Abort - Click Abort
17
- from mcli.lib.api.mcli_decorators import BadParameter # mcli.BadParameter - Click BadParameter
18
- from mcli.lib.api.mcli_decorators import Choice # mcli.Choice - Click Choice type
19
- from mcli.lib.api.mcli_decorators import File # mcli.File - Click File type
20
- from mcli.lib.api.mcli_decorators import FloatRange # mcli.FloatRange - Click FloatRange type
21
- from mcli.lib.api.mcli_decorators import IntRange # mcli.IntRange - Click IntRange type
22
- from mcli.lib.api.mcli_decorators import ParamType # mcli.ParamType - Click ParamType
23
- from mcli.lib.api.mcli_decorators import Path # mcli.Path - Click Path type
24
- from mcli.lib.api.mcli_decorators import UsageError # mcli.UsageError - Click UsageError
25
- from mcli.lib.api.mcli_decorators import api # @mcli.api - Legacy API decorator
26
- from mcli.lib.api.mcli_decorators import (
27
- api_command, # @mcli.api_command - Convenience for API endpoints
28
- )
29
- from mcli.lib.api.mcli_decorators import argument # @mcli.argument - Click argument decorator
30
- from mcli.lib.api.mcli_decorators import (
31
- background, # @mcli.background - Legacy background decorator
32
- )
33
- from mcli.lib.api.mcli_decorators import (
34
- background_command, # @mcli.background_command - Convenience for background
35
- )
36
- from mcli.lib.api.mcli_decorators import clear # mcli.clear - Click clear
37
- from mcli.lib.api.mcli_decorators import (
38
- cli_with_api, # @mcli.cli_with_api - Legacy combined decorator
39
- )
40
- from mcli.lib.api.mcli_decorators import (
41
- command, # @mcli.command - Complete Click command with API/background
42
- )
43
- from mcli.lib.api.mcli_decorators import confirm # mcli.confirm - Click confirmation
44
- from mcli.lib.api.mcli_decorators import echo # mcli.echo - Click echo function
45
- from mcli.lib.api.mcli_decorators import edit # mcli.edit - Click editor
46
- from mcli.lib.api.mcli_decorators import (
47
- format_filename, # mcli.format_filename - Click filename
48
- )
49
- from mcli.lib.api.mcli_decorators import get_app # mcli.get_app - Click app
50
- from mcli.lib.api.mcli_decorators import get_app_dir # mcli.get_app_dir - Click app directory
51
- from mcli.lib.api.mcli_decorators import (
52
- get_binary_stream, # mcli.get_binary_stream - Click binary stream
53
- )
54
- from mcli.lib.api.mcli_decorators import (
55
- get_current_context, # mcli.get_current_context - Click context
56
- )
57
- from mcli.lib.api.mcli_decorators import (
58
- get_network_credentials, # mcli.get_network_credentials - Click network
59
- )
60
- from mcli.lib.api.mcli_decorators import get_os_args # mcli.get_os_args - Click OS args
61
- from mcli.lib.api.mcli_decorators import (
62
- get_terminal_size, # mcli.get_terminal_size - Click terminal size
63
- )
64
- from mcli.lib.api.mcli_decorators import (
65
- get_text_stream, # mcli.get_text_stream - Click text stream
66
- )
67
- from mcli.lib.api.mcli_decorators import getchar # mcli.getchar - Click character input
68
- from mcli.lib.api.mcli_decorators import (
69
- group, # @mcli.group - Complete Click group with API support
70
- )
71
- from mcli.lib.api.mcli_decorators import launch # mcli.launch - Click launch
72
- from mcli.lib.api.mcli_decorators import open_file # mcli.open_file - Click file operations
73
- from mcli.lib.api.mcli_decorators import option # @mcli.option - Click option decorator
74
- from mcli.lib.api.mcli_decorators import pause # mcli.pause - Click pause
75
- from mcli.lib.api.mcli_decorators import progressbar # mcli.progressbar - Click progress bar
76
- from mcli.lib.api.mcli_decorators import prompt # mcli.prompt - Click prompt
77
- from mcli.lib.api.mcli_decorators import secho # mcli.secho - Click styled echo
78
- from mcli.lib.api.mcli_decorators import style # mcli.style - Click styling
79
- from mcli.lib.api.mcli_decorators import unstyle # mcli.unstyle - Click unstyle
80
- from mcli.lib.api.mcli_decorators import ( # Core decorators (complete Click superset); Click re-exports (complete subsume); Click types (complete subsume); Convenience decorators; Legacy decorators (for backward compatibility); Server management; Configuration; Convenience functions
81
- disable_api_server,
82
- enable_api_server,
83
- get_api_config,
84
- health_check,
85
- is_background_available,
86
- is_server_running,
87
- start_server,
88
- status_check,
89
- stop_server,
90
- )
91
-
92
- # Make everything available at the top level (complete Click subsume)
93
- __all__ = [
94
- "main",
95
- # Core decorators (complete Click superset)
96
- "command",
97
- "group",
98
- # Click re-exports (complete subsume)
99
- "option",
100
- "argument",
101
- "echo",
102
- "get_current_context",
103
- "get_app",
104
- "launch",
105
- "open_file",
106
- "get_os_args",
107
- "get_binary_stream",
108
- "get_text_stream",
109
- "format_filename",
110
- "getchar",
111
- "pause",
112
- "clear",
113
- "style",
114
- "unstyle",
115
- "secho",
116
- "edit",
117
- "confirm",
118
- "prompt",
119
- "progressbar",
120
- "get_terminal_size",
121
- "get_app_dir",
122
- "get_network_credentials",
123
- # Click types (complete subsume)
124
- "Path",
125
- "Choice",
126
- "IntRange",
127
- "FloatRange",
128
- "UNPROCESSED",
129
- "STRING",
130
- "INT",
131
- "FLOAT",
132
- "BOOL",
133
- "UUID",
134
- "File",
135
- "ParamType",
136
- "BadParameter",
137
- "UsageError",
138
- "Abort",
139
- # Convenience decorators
140
- "api_command",
141
- "background_command",
142
- # Legacy decorators (for backward compatibility)
143
- "api",
144
- "background",
145
- "cli_with_api",
146
- # Server management
147
- "start_server",
148
- "stop_server",
149
- "is_server_running",
150
- "is_background_available",
151
- "get_api_config",
152
- "enable_api_server",
153
- "disable_api_server",
154
- "health_check",
155
- "status_check",
156
- ]
157
-
158
- except ImportError:
159
- # from .app import main
160
- sys.exit(1)
mcli/__main__.py DELETED
@@ -1,14 +0,0 @@
1
- # logger.info("I am in mcli.__init__.py")
2
-
3
- try:
4
- from mcli.app.main import main as main_func
5
-
6
- # from mcli.public import *
7
- # from mcli.private import *
8
- except ImportError:
9
- from .app.main import main as main_func
10
-
11
- __all__ = ["main_func"]
12
-
13
- if __name__ == "__main__":
14
- main_func()
mcli/app/__init__.py DELETED
@@ -1,32 +0,0 @@
1
- # src/mcli/app/__init__.py
2
- import importlib
3
- from pathlib import Path
4
-
5
- from mcli.lib.logger.logger import get_logger
6
-
7
- logger = get_logger(__name__)
8
-
9
- logger.info("Initializing mcli.app package")
10
-
11
- # Import main function
12
- try:
13
- from .main import main
14
-
15
- logger.info("Successfully imported main from .main")
16
- except ImportError as e:
17
- logger.error(f"Failed to import main: {e}")
18
- import traceback
19
-
20
- logger.error(f"Traceback: {traceback.format_exc()}")
21
- raise
22
-
23
- # Try importing readiness submodule
24
- try:
25
- from .readiness import readiness
26
-
27
- logger.info(f"Successfully imported readiness module directly: {readiness}")
28
- # Make it available at the app level
29
- __all__ = ["main", "readiness"]
30
- except ImportError as e:
31
- logger.info(f"Could not import readiness directly: {e}")
32
- __all__ = ["main"]
File without changes
@@ -1,5 +0,0 @@
1
- """
2
- Video processing commands for mcli.
3
- """
4
-
5
- from .video import *