mcli-framework 7.0.2__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 (67) hide show
  1. mcli/app/completion_helpers.py +6 -2
  2. mcli/app/model_cmd.py +102 -0
  3. mcli/self/self_cmd.py +58 -1
  4. mcli/workflow/model_service/lightweight_model_server.py +37 -0
  5. {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.4.dist-info}/METADATA +1 -1
  6. {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.4.dist-info}/RECORD +10 -67
  7. mcli/__init__.py +0 -160
  8. mcli/__main__.py +0 -14
  9. mcli/app/__init__.py +0 -32
  10. mcli/app/model/__init__.py +0 -0
  11. mcli/app/video/__init__.py +0 -5
  12. mcli/chat/__init__.py +0 -34
  13. mcli/lib/__init__.py +0 -0
  14. mcli/lib/api/__init__.py +0 -0
  15. mcli/lib/auth/__init__.py +0 -1
  16. mcli/lib/config/__init__.py +0 -1
  17. mcli/lib/erd/__init__.py +0 -25
  18. mcli/lib/files/__init__.py +0 -0
  19. mcli/lib/fs/__init__.py +0 -1
  20. mcli/lib/logger/__init__.py +0 -3
  21. mcli/lib/performance/__init__.py +0 -17
  22. mcli/lib/pickles/__init__.py +0 -1
  23. mcli/lib/shell/__init__.py +0 -0
  24. mcli/lib/toml/__init__.py +0 -1
  25. mcli/lib/watcher/__init__.py +0 -0
  26. mcli/ml/__init__.py +0 -16
  27. mcli/ml/api/__init__.py +0 -31
  28. mcli/ml/api/routers/__init__.py +0 -27
  29. mcli/ml/auth/__init__.py +0 -45
  30. mcli/ml/backtesting/__init__.py +0 -41
  31. mcli/ml/cli/__init__.py +0 -5
  32. mcli/ml/config/__init__.py +0 -33
  33. mcli/ml/configs/__init__.py +0 -16
  34. mcli/ml/dashboard/__init__.py +0 -10
  35. mcli/ml/data_ingestion/__init__.py +0 -41
  36. mcli/ml/database/__init__.py +0 -47
  37. mcli/ml/experimentation/__init__.py +0 -29
  38. mcli/ml/features/__init__.py +0 -39
  39. mcli/ml/mlops/__init__.py +0 -35
  40. mcli/ml/models/__init__.py +0 -97
  41. mcli/ml/monitoring/__init__.py +0 -25
  42. mcli/ml/optimization/__init__.py +0 -27
  43. mcli/ml/preprocessing/__init__.py +0 -28
  44. mcli/ml/scripts/__init__.py +0 -1
  45. mcli/public/__init__.py +0 -1
  46. mcli/public/commands/__init__.py +0 -2
  47. mcli/self/__init__.py +0 -3
  48. mcli/workflow/__init__.py +0 -0
  49. mcli/workflow/daemon/__init__.py +0 -13
  50. mcli/workflow/dashboard/__init__.py +0 -5
  51. mcli/workflow/docker/__init__.py +0 -0
  52. mcli/workflow/file/__init__.py +0 -0
  53. mcli/workflow/gcloud/__init__.py +0 -1
  54. mcli/workflow/git_commit/__init__.py +0 -0
  55. mcli/workflow/interview/__init__.py +0 -0
  56. mcli/workflow/politician_trading/__init__.py +0 -4
  57. mcli/workflow/registry/__init__.py +0 -0
  58. mcli/workflow/repo/__init__.py +0 -0
  59. mcli/workflow/scheduler/__init__.py +0 -25
  60. mcli/workflow/search/__init__.py +0 -0
  61. mcli/workflow/sync/__init__.py +0 -5
  62. mcli/workflow/videos/__init__.py +0 -1
  63. mcli/workflow/wakatime/__init__.py +0 -80
  64. {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.4.dist-info}/WHEEL +0 -0
  65. {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.4.dist-info}/entry_points.txt +0 -0
  66. {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.4.dist-info}/licenses/LICENSE +0 -0
  67. {mcli_framework-7.0.2.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()
mcli/self/self_cmd.py CHANGED
@@ -1129,11 +1129,53 @@ def dashboard(refresh: float, once: bool):
1129
1129
  console.print(f"[red]Error launching dashboard: {e}[/red]")
1130
1130
 
1131
1131
 
1132
+ def check_ci_status(version: str) -> tuple[bool, Optional[str]]:
1133
+ """
1134
+ Check GitHub Actions CI status for the main branch.
1135
+ Returns (passing, url) tuple.
1136
+ """
1137
+ try:
1138
+ import requests
1139
+
1140
+ response = requests.get(
1141
+ "https://api.github.com/repos/gwicho38/mcli/actions/runs",
1142
+ params={"per_page": 5},
1143
+ headers={
1144
+ "Accept": "application/vnd.github.v3+json",
1145
+ "User-Agent": "mcli-cli"
1146
+ },
1147
+ timeout=10
1148
+ )
1149
+
1150
+ if response.status_code == 200:
1151
+ data = response.json()
1152
+ runs = data.get("workflow_runs", [])
1153
+
1154
+ # Find the most recent completed run for main branch
1155
+ main_runs = [
1156
+ run for run in runs
1157
+ if run.get("head_branch") == "main" and run.get("status") == "completed"
1158
+ ]
1159
+
1160
+ if main_runs:
1161
+ latest_run = main_runs[0]
1162
+ passing = latest_run.get("conclusion") == "success"
1163
+ url = latest_run.get("html_url")
1164
+ return (passing, url)
1165
+
1166
+ # If we can't check CI, don't block the update
1167
+ return (True, None)
1168
+ except Exception:
1169
+ # On error, don't block the update
1170
+ return (True, None)
1171
+
1172
+
1132
1173
  @self_app.command()
1133
1174
  @click.option("--check", is_flag=True, help="Only check for updates, don't install")
1134
1175
  @click.option("--pre", is_flag=True, help="Include pre-release versions")
1135
1176
  @click.option("--yes", "-y", is_flag=True, help="Skip confirmation prompt")
1136
- def update(check: bool, pre: bool, yes: bool):
1177
+ @click.option("--skip-ci-check", is_flag=True, help="Skip CI status check and install anyway")
1178
+ def update(check: bool, pre: bool, yes: bool, skip_ci_check: bool):
1137
1179
  """🔄 Check for and install mcli updates from PyPI"""
1138
1180
  import subprocess
1139
1181
  import sys
@@ -1215,6 +1257,21 @@ def update(check: bool, pre: bool, yes: bool):
1215
1257
  console.print("[yellow]Update cancelled[/yellow]")
1216
1258
  return
1217
1259
 
1260
+ # Check CI status before installing (unless skipped)
1261
+ if not skip_ci_check:
1262
+ console.print("[cyan]🔍 Checking CI status...[/cyan]")
1263
+ ci_passing, ci_url = check_ci_status(latest_version)
1264
+
1265
+ if not ci_passing:
1266
+ console.print("[red]✗ CI build is failing for the latest version[/red]")
1267
+ if ci_url:
1268
+ console.print(f"[yellow] View CI status: {ci_url}[/yellow]")
1269
+ console.print("[yellow]⚠️ Update blocked to prevent installing a broken version[/yellow]")
1270
+ console.print("[dim] Use --skip-ci-check to install anyway (not recommended)[/dim]")
1271
+ return
1272
+ else:
1273
+ console.print("[green]✓ CI build is passing[/green]")
1274
+
1218
1275
  # Install update
1219
1276
  console.print(f"[cyan]📦 Installing mcli {latest_version}...[/cyan]")
1220
1277
 
@@ -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.2
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
- mcli/self/self_cmd.py,sha256=2fSPHKVHZKIIjTvLGJJY8oCeqk2vjOlD3vx1HlXjqi0,45315
163
- mcli/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
+ mcli/self/self_cmd.py,sha256=FM7LqGi3ZXRZCjFBhxIMRce_--8L7GT2UjH3sgKP3UI,47491
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.2.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
240
- mcli_framework-7.0.2.dist-info/METADATA,sha256=blFNu-3EttjtzqQq1HXC2-KL1S_NoidkRLUx7Ds0y5I,14307
241
- mcli_framework-7.0.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
242
- mcli_framework-7.0.2.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
243
- mcli_framework-7.0.2.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
244
- mcli_framework-7.0.2.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,,