mcli-framework 7.11.2__py3-none-any.whl → 7.11.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 (74) hide show
  1. mcli/app/main.py +23 -17
  2. mcli/workflow/workflow.py +119 -5
  3. {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/METADATA +2 -2
  4. {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/RECORD +8 -74
  5. mcli/__init__.py +0 -160
  6. mcli/__main__.py +0 -14
  7. mcli/app/__init__.py +0 -23
  8. mcli/app/model/__init__.py +0 -0
  9. mcli/app/video/__init__.py +0 -5
  10. mcli/chat/__init__.py +0 -34
  11. mcli/lib/__init__.py +0 -0
  12. mcli/lib/api/__init__.py +0 -0
  13. mcli/lib/auth/__init__.py +0 -1
  14. mcli/lib/config/__init__.py +0 -1
  15. mcli/lib/erd/__init__.py +0 -25
  16. mcli/lib/files/__init__.py +0 -0
  17. mcli/lib/fs/__init__.py +0 -1
  18. mcli/lib/logger/__init__.py +0 -3
  19. mcli/lib/performance/__init__.py +0 -17
  20. mcli/lib/pickles/__init__.py +0 -1
  21. mcli/lib/secrets/__init__.py +0 -10
  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 -30
  27. mcli/ml/api/routers/__init__.py +0 -27
  28. mcli/ml/auth/__init__.py +0 -41
  29. mcli/ml/backtesting/__init__.py +0 -33
  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 -12
  34. mcli/ml/dashboard/components/__init__.py +0 -7
  35. mcli/ml/dashboard/pages/__init__.py +0 -6
  36. mcli/ml/data_ingestion/__init__.py +0 -29
  37. mcli/ml/database/__init__.py +0 -40
  38. mcli/ml/experimentation/__init__.py +0 -29
  39. mcli/ml/features/__init__.py +0 -39
  40. mcli/ml/mlops/__init__.py +0 -19
  41. mcli/ml/models/__init__.py +0 -90
  42. mcli/ml/monitoring/__init__.py +0 -25
  43. mcli/ml/optimization/__init__.py +0 -27
  44. mcli/ml/predictions/__init__.py +0 -5
  45. mcli/ml/preprocessing/__init__.py +0 -24
  46. mcli/ml/scripts/__init__.py +0 -1
  47. mcli/ml/serving/__init__.py +0 -1
  48. mcli/ml/trading/__init__.py +0 -63
  49. mcli/ml/training/__init__.py +0 -7
  50. mcli/mygroup/__init__.py +0 -3
  51. mcli/public/__init__.py +0 -1
  52. mcli/public/commands/__init__.py +0 -2
  53. mcli/self/__init__.py +0 -3
  54. mcli/workflow/__init__.py +0 -0
  55. mcli/workflow/daemon/__init__.py +0 -15
  56. mcli/workflow/dashboard/__init__.py +0 -5
  57. mcli/workflow/docker/__init__.py +0 -0
  58. mcli/workflow/file/__init__.py +0 -0
  59. mcli/workflow/gcloud/__init__.py +0 -1
  60. mcli/workflow/git_commit/__init__.py +0 -0
  61. mcli/workflow/interview/__init__.py +0 -0
  62. mcli/workflow/notebook/__init__.py +0 -16
  63. mcli/workflow/registry/__init__.py +0 -0
  64. mcli/workflow/repo/__init__.py +0 -0
  65. mcli/workflow/scheduler/__init__.py +0 -25
  66. mcli/workflow/search/__init__.py +0 -0
  67. mcli/workflow/secrets/__init__.py +0 -4
  68. mcli/workflow/sync/__init__.py +0 -5
  69. mcli/workflow/videos/__init__.py +0 -1
  70. mcli/workflow/wakatime/__init__.py +0 -80
  71. {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/WHEEL +0 -0
  72. {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/entry_points.txt +0 -0
  73. {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/licenses/LICENSE +0 -0
  74. {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/top_level.txt +0 -0
mcli/app/main.py CHANGED
@@ -347,26 +347,32 @@ def _add_lazy_commands(app: click.Group):
347
347
  # Note: lib group removed - secrets moved to workflows
348
348
  # Previous: mcli lib secrets -> Now: mcli workflows secrets
349
349
 
350
- # Add workflows group (renamed from 'workflow') with completion-aware lazy loading
350
+ # Add workflows group directly (not lazy-loaded) to preserve -g/--global option
351
351
  try:
352
- from mcli.app.completion_helpers import create_completion_aware_lazy_group
353
-
354
- workflows_group = create_completion_aware_lazy_group(
355
- "workflows",
356
- "mcli.workflow.workflow.workflows",
357
- "Runnable workflows for automation, video processing, and daemon management",
358
- )
352
+ from mcli.workflow.workflow import workflows as workflows_group
359
353
  app.add_command(workflows_group, name="workflows")
360
- logger.debug("Added completion-aware workflows group")
354
+ logger.debug("Added workflows group with -g/--global support")
361
355
  except ImportError as e:
362
- logger.debug(f"Could not load completion helpers, using standard lazy group: {e}")
363
- # Fallback to standard lazy group
364
- workflows_group = LazyGroup(
365
- "workflows",
366
- "mcli.workflow.workflow.workflows",
367
- help="Runnable workflows for automation, video processing, and daemon management",
368
- )
369
- app.add_command(workflows_group, name="workflows")
356
+ logger.error(f"Could not load workflows group: {e}")
357
+ # Fallback to lazy loading if import fails
358
+ try:
359
+ from mcli.app.completion_helpers import create_completion_aware_lazy_group
360
+
361
+ workflows_group = create_completion_aware_lazy_group(
362
+ "workflows",
363
+ "mcli.workflow.workflow.workflows",
364
+ "Runnable workflows for automation, video processing, and daemon management",
365
+ )
366
+ app.add_command(workflows_group, name="workflows")
367
+ logger.debug("Added completion-aware workflows group (fallback)")
368
+ except ImportError:
369
+ workflows_group = LazyGroup(
370
+ "workflows",
371
+ "mcli.workflow.workflow.workflows",
372
+ help="Runnable workflows for automation, video processing, and daemon management",
373
+ )
374
+ app.add_command(workflows_group, name="workflows")
375
+ logger.debug("Added lazy workflows group (fallback)")
370
376
 
371
377
  # Lazy load other heavy commands that are used less frequently
372
378
  # NOTE: chat and model commands have been removed
mcli/workflow/workflow.py CHANGED
@@ -1,17 +1,129 @@
1
1
  """
2
2
  Workflows command group for mcli.
3
3
 
4
- All workflow commands are now loaded from portable JSON files in ~/.mcli/commands/
4
+ All workflow commands are now loaded from portable JSON files in ~/.mcli/workflows/
5
5
  This provides a clean, maintainable way to manage workflow commands.
6
6
  """
7
7
 
8
8
  import click
9
9
 
10
10
 
11
- @click.group(name="workflows")
12
- def workflows():
13
- """Runnable workflows for automation, video processing, and daemon management"""
14
- pass
11
+ class ScopedWorkflowsGroup(click.Group):
12
+ """
13
+ Custom Click Group that loads workflows from either local or global scope
14
+ based on the -g/--global flag.
15
+ """
16
+
17
+ def list_commands(self, ctx):
18
+ """List available commands based on scope."""
19
+ # Get scope from context
20
+ is_global = ctx.params.get("is_global", False)
21
+
22
+ # Load commands from appropriate directory
23
+ from mcli.lib.custom_commands import get_command_manager
24
+ from mcli.lib.logger.logger import get_logger
25
+
26
+ logger = get_logger()
27
+ manager = get_command_manager(global_mode=is_global)
28
+ commands = manager.load_all_commands()
29
+
30
+ # Filter to only workflow group commands AND validate they can be loaded
31
+ workflow_commands = []
32
+ for cmd_data in commands:
33
+ if cmd_data.get("group") != "workflow":
34
+ continue
35
+
36
+ cmd_name = cmd_data.get("name")
37
+ # Validate the command can be loaded
38
+ temp_group = click.Group()
39
+ language = cmd_data.get("language", "python")
40
+
41
+ try:
42
+ if language == "shell":
43
+ success = manager.register_shell_command_with_click(cmd_data, temp_group)
44
+ else:
45
+ success = manager.register_command_with_click(cmd_data, temp_group)
46
+
47
+ if success and temp_group.commands.get(cmd_name):
48
+ workflow_commands.append(cmd_name)
49
+ else:
50
+ # Log the issue but don't show to user during list (too noisy)
51
+ logger.debug(
52
+ f"Workflow '{cmd_name}' has invalid code and will not be loaded. "
53
+ f"Edit with: mcli workflow edit {cmd_name}"
54
+ )
55
+ except Exception as e:
56
+ # Log the issue but don't show to user during list (too noisy)
57
+ logger.debug(
58
+ f"Failed to load workflow '{cmd_name}': {e}. "
59
+ f"Edit with: mcli workflow edit {cmd_name}"
60
+ )
61
+
62
+ # Also include built-in subcommands
63
+ builtin_commands = list(super().list_commands(ctx))
64
+
65
+ return sorted(set(workflow_commands + builtin_commands))
66
+
67
+ def get_command(self, ctx, cmd_name):
68
+ """Get a command by name, loading from appropriate scope."""
69
+ # First check if it's a built-in command
70
+ builtin_cmd = super().get_command(ctx, cmd_name)
71
+ if builtin_cmd:
72
+ return builtin_cmd
73
+
74
+ # Get scope from context
75
+ is_global = ctx.params.get("is_global", False)
76
+
77
+ # Load the workflow command from appropriate directory
78
+ from mcli.lib.custom_commands import get_command_manager
79
+
80
+ manager = get_command_manager(global_mode=is_global)
81
+ commands = manager.load_all_commands()
82
+
83
+ # Find the workflow command
84
+ for command_data in commands:
85
+ if command_data.get("name") == cmd_name and command_data.get("group") == "workflow":
86
+ # Create a temporary group to register the command
87
+ temp_group = click.Group()
88
+ language = command_data.get("language", "python")
89
+
90
+ if language == "shell":
91
+ manager.register_shell_command_with_click(command_data, temp_group)
92
+ else:
93
+ manager.register_command_with_click(command_data, temp_group)
94
+
95
+ return temp_group.commands.get(cmd_name)
96
+
97
+ return None
98
+
99
+
100
+ @click.group(name="workflows", cls=ScopedWorkflowsGroup, invoke_without_command=True)
101
+ @click.option(
102
+ "-g",
103
+ "--global",
104
+ "is_global",
105
+ is_flag=True,
106
+ help="Execute workflows from global directory (~/.mcli/workflows/) instead of local (.mcli/workflows/)",
107
+ )
108
+ @click.pass_context
109
+ def workflows(ctx, is_global):
110
+ """Runnable workflows for automation, video processing, and daemon management
111
+
112
+ Examples:
113
+ mcli workflows my-workflow # Execute local workflow (if in git repo)
114
+ mcli workflows -g my-workflow # Execute global workflow
115
+ mcli workflows --global another-workflow # Execute global workflow
116
+ """
117
+ # Store the is_global flag in the context for subcommands to access
118
+ ctx.ensure_object(dict)
119
+ ctx.obj["is_global"] = is_global
120
+
121
+ # If a subcommand was invoked, the subcommand will handle execution
122
+ if ctx.invoked_subcommand:
123
+ return
124
+
125
+ # If no subcommand, show help
126
+ click.echo(ctx.get_help())
15
127
 
16
128
 
17
129
  # Add secrets workflow
@@ -22,6 +134,7 @@ try:
22
134
  except ImportError as e:
23
135
  # Secrets workflow not available
24
136
  import sys
137
+
25
138
  from mcli.lib.logger.logger import get_logger
26
139
 
27
140
  logger = get_logger()
@@ -35,6 +148,7 @@ try:
35
148
  except ImportError as e:
36
149
  # Notebook commands not available
37
150
  import sys
151
+
38
152
  from mcli.lib.logger.logger import get_logger
39
153
 
40
154
  logger = get_logger()
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 7.11.2
4
- Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/commands/, version with lockfile, run as daemon or cron job.
3
+ Version: 7.11.4
4
+ Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/workflows/, version with lockfile, run as daemon or cron job.
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
7
7
  License: MIT
@@ -1,34 +1,25 @@
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=D4RiKk2gOEXwanbe_jXyNSb5zdgNi47kahtskMnEwjY,489
6
3
  mcli/app/commands_cmd.py,sha256=gyvjkX8HyImUKaO37Du6XwklN6FJwvQX-VD3tNU0TGQ,76191
7
4
  mcli/app/completion_helpers.py,sha256=e62C6w2N-XoD66GYYHgtvKKoD3kYMuIeBBGzVKbuL04,7497
8
- mcli/app/main.py,sha256=CzF1iudFhVdAtC5d_KzRVAc6XT5Lkq6WZ1NnNKpdWnE,19165
5
+ mcli/app/main.py,sha256=4rfj8d68OgUErLmIRRFDu9UKBgJwc-HFgJ8MuAPur8s,19517
9
6
  mcli/app/model_cmd.py,sha256=LQQD8FaebFoaJGK3u_kt19wZ3HJyo_ecwSMYyC2xIp8,2497
10
- mcli/app/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
7
  mcli/app/model/model.py,sha256=EUGu_td-hRlbf4OElkdk1-0p7WyuG7sZmb-Ux2-J9KY,39061
12
- mcli/app/video/__init__.py,sha256=PxCZQrtClwNQr1RaF8Q3iXlLeQlnEAI9NO8LGcQQuvk,66
13
8
  mcli/app/video/video.py,sha256=3TL8vG3XSKzH_Iyy-IHPZOwNtT7js0VqVVNwIgfDvpk,41910
14
- mcli/chat/__init__.py,sha256=DHCTGHCe2tYUj1e1tIAWJFU9u7VbyR1PVWlBFf0Okww,750
15
9
  mcli/chat/chat.py,sha256=tk4laKe2uSVg9JukacSNTQhCFRlzYbaz1Qdkg8Mu_Bw,102138
16
10
  mcli/chat/command_rag.py,sha256=Ee8usPyRDRYDWpQ79dI7xbxM8Ljxsy_ym_MnL37nPAo,19368
17
11
  mcli/chat/enhanced_chat.py,sha256=e3odh5klewDHIjfNOyvifLzCdHrysDc2IvNVHzTPIh4,27072
18
12
  mcli/chat/system_controller.py,sha256=SuGvnIh2QObvM1DMicF3gGyeBkbz_xXS-hOOHjWx5j4,39114
19
13
  mcli/chat/system_integration.py,sha256=xQ11thOUswPg8r1HZkId6U3bTCOtMYngt0-mUYYXpt4,40196
20
- mcli/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
14
  mcli/lib/custom_commands.py,sha256=oDgNuPHonjZ7ckwX4-38XsqZOcaR05ESpuSbSFMB-s4,21739
22
15
  mcli/lib/lib.py,sha256=-CFUfmcubYBxt3LDBY0uj9DF232pz8MPDu-Qg0Ocy8M,850
23
16
  mcli/lib/optional_deps.py,sha256=z6jPjU9mjK2ipMf8gzdc_izYSyqefQRzUZWgj_CumtM,7568
24
17
  mcli/lib/paths.py,sha256=3-yseYbqQ-711GUSO8qlI3Tnlwx4BFO48IeiUETIY-A,6412
25
- mcli/lib/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
18
  mcli/lib/api/api.py,sha256=sPgAIYC8Z7AWV2TCBssNSKotbRggBqNLsbfzbjkhmUY,18558
27
19
  mcli/lib/api/daemon_client.py,sha256=Nq8sVvNKyIGvWp9G_O3NEFo9JDqA1TEx5FOB7iqslB4,7415
28
20
  mcli/lib/api/daemon_client_local.py,sha256=cki6-ErWtyVRk12BYB5hFZMGc8HisHFze_vRNlydnOI,1749
29
21
  mcli/lib/api/daemon_decorator.py,sha256=j3He9jd-uL7n2_iUpCdjfKHaqe_tDPKPIoL8VpYMzUw,7677
30
22
  mcli/lib/api/mcli_decorators.py,sha256=HzCwVgFsPKpunLmlScrHmrtEqbX2Ek2ly8uoWBGKR0M,29084
31
- mcli/lib/auth/__init__.py,sha256=eJkY6rWNOAUBmSd4G1_U6h7i472druKEtBdVmgFZVPg,20
32
23
  mcli/lib/auth/auth.py,sha256=x23xXErGcQpO2JzyRM-KZGJA_MJt6Rf3XuZFyInUVsI,2123
33
24
  mcli/lib/auth/aws_manager.py,sha256=NiyKRazdABUwbp-BpC1soAygMaoVAyFWKRgxyjWZm7w,959
34
25
  mcli/lib/auth/azure_manager.py,sha256=itPgOg_6irFVGSjjHHcBJZqnpQR7h265zadtGWU611U,1125
@@ -38,27 +29,19 @@ mcli/lib/auth/key_manager.py,sha256=pH-I_CPoe4-GXZqyKq31wODCogRN5KER9aKRSTO1a_o,
38
29
  mcli/lib/auth/mcli_manager.py,sha256=CP35tlgbqKyabesocICeiCmJyG_8oBfi4DN-yUbUvKc,2817
39
30
  mcli/lib/auth/token_manager.py,sha256=-o_HC_oIVbPqRRERZzspAIYA5T4w9BCOa95JInY0FYI,2226
40
31
  mcli/lib/auth/token_util.py,sha256=UicmPEh3Uo8cpVWz4-zU6Qk4cHiTWwtVxLVadY8MTqk,35039
41
- mcli/lib/config/__init__.py,sha256=A00lpnUKg-q3y_b-cN3jKF9urkGTGjb2Yz_gGc9WCLs,22
42
32
  mcli/lib/config/config.py,sha256=wUxo1EpkSGDifrsaPs9uQ1MXdpAI2096Yg6OVUTD94I,1332
43
33
  mcli/lib/discovery/__init__.py,sha256=ud-dDGXdCPUxoSP4qYFFnOy-cxf3mZAKmfWmZmqPJ7Q,37
44
34
  mcli/lib/discovery/command_discovery.py,sha256=ZLiJO3SQAaF9yU5nfUkEfKL6ak53TMWgPkB0G6j-M9M,9741
45
- mcli/lib/erd/__init__.py,sha256=6AxyAADoSdYPwTu-qxZGcP8QuR6Ta0YtP9E84DcIq9o,641
46
35
  mcli/lib/erd/erd.py,sha256=zr9C6RPaCPX2qDJqOe2VA5pfTL5UF3Kj5M8BLFnNrUc,51843
47
36
  mcli/lib/erd/generate_graph.py,sha256=wpSZpn2W9zQ6XaLBjq_2AJv20Sol-L1if92quypp7Ac,15596
48
- mcli/lib/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
37
  mcli/lib/files/files.py,sha256=8z87uR1nOaTXtn7ExdKZMGgaHpk6cR9FJ1JvuYV2qJw,2538
50
- mcli/lib/fs/__init__.py,sha256=sfBKN5f9o7k0ua1fPUgd6gQw1fWBjXys8TcIRxBIwns,18
51
38
  mcli/lib/fs/fs.py,sha256=b-u6t3hps-XpKOndhsnNE5tVFATwuxpdD_oilpfwAe4,2823
52
- mcli/lib/logger/__init__.py,sha256=JpOwVk6nDPi14ToVpsAy02a2J5mECjtLngpm8vdIDHU,57
53
39
  mcli/lib/logger/logger.py,sha256=FdQBknaMqaqf1KP25lspvmIvMd_S6QLGjf8ZPPQ0ukI,24388
54
- mcli/lib/performance/__init__.py,sha256=5HakI_6eO9y_KnQ0Pwqk_dYng9puecfB0GRLdeNyEaY,327
55
40
  mcli/lib/performance/optimizer.py,sha256=erOp0shbvE7obM5-ljj3Fgz8S4ws9UghslFNSi34Qh0,14938
56
41
  mcli/lib/performance/rust_bridge.py,sha256=y_8WLvWkDbHAT06ma_qwaGDDS8d0oJNOj4tj5P_yxuE,16744
57
42
  mcli/lib/performance/uvloop_config.py,sha256=wyI5pQnec2RAhgm52HJ1AxYGFa3bjTa-CjhOqB2Oucc,4736
58
- mcli/lib/pickles/__init__.py,sha256=b7l9CLv8Aua5sROYAaA4raxpWTKSJxUumTLqmzlkb-I,33
59
43
  mcli/lib/pickles/pickles.py,sha256=O9dLJfyxViX-IyionbcjcsxHnq42XiLaAorsUrx9oZU,1448
60
44
  mcli/lib/search/cached_vectorizer.py,sha256=ShBSTqoyGNGTNAII34okxl4chzy7hqhO2R-jtTEF1_0,17996
61
- mcli/lib/secrets/__init__.py,sha256=amoAq00syRdQuII3BnvizGmhXbf6vZNN2qnrHtBROvA,241
62
45
  mcli/lib/secrets/commands.py,sha256=-PovQ4X1QV3LxqO3hRBIG8JkqA0SJlA_skcg-xCxg-M,6169
63
46
  mcli/lib/secrets/manager.py,sha256=kjHNQ7_TeQlF1ZyfhfKZ00Mu1wn06Vw6K8FQL0nyU1s,6698
64
47
  mcli/lib/secrets/repl.py,sha256=rmBFVi8lB4r3pRnicpX318IaTrtshPEaBqC-PZaMs0Y,10351
@@ -66,23 +49,17 @@ mcli/lib/secrets/store.py,sha256=vl-K_OjqlNIvypf4BCwCbtNZPk91QngNYqhwWwKupDw,783
66
49
  mcli/lib/services/data_pipeline.py,sha256=UwDpAByOL_PDMjD76aOTmCyStd_QBmCngZBMXVerR5Y,16475
67
50
  mcli/lib/services/lsh_client.py,sha256=sJSXlWBqnhNQy7TtYMmcAwBceUp45rYa_HgdyYF0WtI,16799
68
51
  mcli/lib/services/redis_service.py,sha256=5QwSB-FMIS1zdTNp8VSOrZfr_wrUK10Bfe2N1ZTy-90,12730
69
- mcli/lib/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
52
  mcli/lib/shell/shell.py,sha256=W7lowu75SnFsb0y8ZIDIawfcPUuJkT3_rI1IKU_c6Wk,4692
71
- mcli/lib/toml/__init__.py,sha256=P2Ngf_JC1TEwBDFgtUwy0G0l3j7lxJGzXzSlP2IKtRM,33
72
53
  mcli/lib/toml/toml.py,sha256=p05tXgndxIlsA_l60ivmrE5hK92-Sf2u-adERrvIJPk,1115
73
54
  mcli/lib/ui/styling.py,sha256=WkVmsaKKRefnMywY-hcVgTPB2z86ynzjx2NP5A9Ayj0,1390
74
55
  mcli/lib/ui/visual_effects.py,sha256=SCcpOq53brTTsdmOZUcWorvVCrTM9Y_1bT7WM039RzM,24764
75
- mcli/lib/watcher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
56
  mcli/lib/watcher/watcher.py,sha256=WDslwiDmgBoQWFHis-ExwIR1ZrQAuGXio-rYEX8Tp7M,6045
77
- mcli/ml/__init__.py,sha256=jcnEqVcmXtEJPKLaAhoW1cSxB7TgnSSvyGchgRnResY,427
78
57
  mcli/ml/cache.py,sha256=ZrZcWhkUUvgX5QxCn1HpmiV5h3_Jx0ByuFwYferYqvs,12066
79
58
  mcli/ml/logging.py,sha256=abscO_D2CFalVE05wzYDQ_vv9OSzeUoYvdb5LS4J_bA,2436
80
59
  mcli/ml/tasks.py,sha256=vUJG8RxjVxDHrTsdawBf_k5_GiV0GhC4cP52fA4teEo,12584
81
- mcli/ml/api/__init__.py,sha256=7-xFCqH9b2OcpiMpVFbL4YKcNTVBiF-Tgd00cXNYtK0,590
82
60
  mcli/ml/api/app.py,sha256=t2wDVZ6Rwq6MzWzxmjJJ_vZBFkW2xbbSG1ykVS_8SA4,6543
83
61
  mcli/ml/api/middleware.py,sha256=mRHWaW2cC53dvGQBCFDddsRincgkCpRODAidNaTgXu8,7336
84
62
  mcli/ml/api/schemas.py,sha256=JkJO0Wk4N2gpydH8R4mOw6e5SouetiGePiLWi7n0B74,1523
85
- mcli/ml/api/routers/__init__.py,sha256=iq1Jo0YyiH12G1Y1pqTi82ZomF1AKH3Sz7dtDq7Qzf0,470
86
63
  mcli/ml/api/routers/admin_router.py,sha256=YcFR_drT0otq2EDRu8dqy5pcebEWQHMr4efsmP4DJ0Q,356
87
64
  mcli/ml/api/routers/auth_router.py,sha256=aYF_uZaOWIMt6_bNCWFBoFxxhY5rpmdEQRbUZGCTPQ8,6799
88
65
  mcli/ml/api/routers/backtest_router.py,sha256=08dn6N_HldhMIGpUJQo5yAlCqieEV2iZvjwge9gQ0fg,340
@@ -93,23 +70,17 @@ mcli/ml/api/routers/portfolio_router.py,sha256=ivUocm3SEteKus0eM-cPlyd2oE45zrAo8
93
70
  mcli/ml/api/routers/prediction_router.py,sha256=lwTVr1V2llpaE4UPecLzWce-06GY5ab3xnbjpgNN8aI,8350
94
71
  mcli/ml/api/routers/trade_router.py,sha256=adSuYIWhn3b7qspk9vaSfWIHb54tdDVjz4YFJoCdhQU,427
95
72
  mcli/ml/api/routers/websocket_router.py,sha256=tz8TQKe7O7mqU6BxW3BP-rfvYKWNnTOZ9wEGbWEuK1o,2504
96
- mcli/ml/auth/__init__.py,sha256=752HtirlsZOAYl7k53j4wLt6gOlVHhHlQkdU5cd2T_4,844
97
73
  mcli/ml/auth/auth_manager.py,sha256=_UUt42YCMKxCEfOxuw4rGMVjh6BQEP0dbLOP_EzSvFQ,12307
98
74
  mcli/ml/auth/models.py,sha256=Ww6lMLVGxtH6Biru5z4efSULCudQFXgmUWgVPTfUCwo,4398
99
75
  mcli/ml/auth/permissions.py,sha256=9N8Q6zQ-0-WcErVxviVzHELpzurBAby02wI3C1YziF0,8400
100
- mcli/ml/backtesting/__init__.py,sha256=z0UVuZlXatyJr4eh4tpF-8ytJbmBmLMtNr6TmnbN4hU,717
101
76
  mcli/ml/backtesting/backtest_engine.py,sha256=bmgHd1MBHQT4ddgWMdOQH8cFw8M_iiLqde6Yga2Q2ys,19016
102
77
  mcli/ml/backtesting/performance_metrics.py,sha256=M4qe9QYYserwuCSMMMKwsT6-GEJbH4rHDl66NO31IC0,14674
103
78
  mcli/ml/backtesting/run.py,sha256=SuVhgxHmFXZaLao_MHh_ezVuw_xPS7-aCyKluftJZNc,1807
104
- mcli/ml/cli/__init__.py,sha256=ZUo2l2VBEZTMW2lqyWGqIwqiKgRX46GinXQfvdAoH0Y,76
105
79
  mcli/ml/cli/main.py,sha256=9U_cgB4M0AtWCghB5H0388v41sZ-qvJwcMdSKh2_SO0,15664
106
- mcli/ml/config/__init__.py,sha256=br-ihnAUIOIyQMXGZIB3xX_y2XB3uXBZyMzRa0lwopE,611
107
80
  mcli/ml/config/settings.py,sha256=mdq16Q9guy0nWn2INCgXPfUwqKK76Dl-7agoIsN2a-8,14216
108
- mcli/ml/configs/__init__.py,sha256=clmYdo-CIWU5k3XEcWyX_MV0vTBUlKm7_0zkp7czr2s,405
109
81
  mcli/ml/configs/dvc_config.py,sha256=LWOg4di1MpZED18YJznhYJwWsQ5i5k73RMxZT7-poHw,7663
110
82
  mcli/ml/configs/mlflow_config.py,sha256=GvoBqxdBU6eIAghjPKqXz00n5j3Z8grdk0DFZwilIS8,4476
111
83
  mcli/ml/configs/mlops_manager.py,sha256=4CfqJnqLZjFl4Han3BAQ2ozOZmO8q47lWEnObn_Q5F4,9891
112
- mcli/ml/dashboard/__init__.py,sha256=4oG7D14atTxtif37b0NOGzkDZoOKRzTVz3YT4Kau9CY,204
113
84
  mcli/ml/dashboard/app.py,sha256=gVlQSdAJtanYyOItOtnUckmsZtC3glDWwHR8aFMTPMk,14516
114
85
  mcli/ml/dashboard/app_integrated.py,sha256=qKWnUorlLOVp8U-y_2eMzlZHEzu0ms0uNSbRE0vnOqM,113119
115
86
  mcli/ml/dashboard/app_supabase.py,sha256=bctGY2VBMU4h371AnV9n2k1DqE-8foxmCSYzhXq8REo,22252
@@ -121,11 +92,9 @@ mcli/ml/dashboard/streamlit_extras_utils.py,sha256=sxMWXtx7TuWUKxvU7nH42gm-lpY1l
121
92
  mcli/ml/dashboard/styles.py,sha256=rKsFOIzpj2dXAbFiBSfwYFSiiH9U_QCiopWSzYzzNSE,1325
122
93
  mcli/ml/dashboard/utils.py,sha256=vQ5TmOWoMny1cupALMsZNYJdxfVys-Dpe1zF5W2Du5I,7221
123
94
  mcli/ml/dashboard/warning_suppression.py,sha256=Ktj6JpE93lUqgbKTdXmIao7lcSglKTF4KKTM7FJjotA,1284
124
- mcli/ml/dashboard/components/__init__.py,sha256=WKSDw5TZ153XyqG0c1HHXbwF2R9RZcIOwctZ43lkM70,157
125
95
  mcli/ml/dashboard/components/charts.py,sha256=uJ3hHCoG7EHtqv2auwrVI3EvXeJ5KwXG4UlIbu9znBQ,5758
126
96
  mcli/ml/dashboard/components/metrics.py,sha256=ttLyZLd6U-PIcrXneQys889eibgDzo7UFfIM9_KcQe8,2947
127
97
  mcli/ml/dashboard/components/tables.py,sha256=uahXRCIIf-_9yk3sPnEl-vBHVels_ZxJs_OLPTYpt1E,7482
128
- mcli/ml/dashboard/pages/__init__.py,sha256=9kDVfDJ05KIjGQjBojDruyF_j7BfgW7WxHR9W3js-mc,179
129
98
  mcli/ml/dashboard/pages/cicd.py,sha256=oQEUTpx9HsEwMKXg7qPXVkXFsrG2zXRrUFoTMmKCMPM,14976
130
99
  mcli/ml/dashboard/pages/debug_dependencies.py,sha256=4uhc6KEs2_RO3HLI6zx3yNTd8YTMOZ1AlnBmrRnn1Zc,13551
131
100
  mcli/ml/dashboard/pages/gravity_viz.py,sha256=LEQQtPdcC-BW3I_YgTn6OgzS4blr9JfiLbaJo4ELOYQ,29754
@@ -135,68 +104,50 @@ mcli/ml/dashboard/pages/scrapers_and_logs.py,sha256=E0IPND9B4sBAl-0xJZ2Ha_LZ7g6n
135
104
  mcli/ml/dashboard/pages/test_portfolio.py,sha256=ILbIBNkFO47_KEf53ok8nrvR1ByGD25M85aiL_ne6z4,20806
136
105
  mcli/ml/dashboard/pages/trading.py,sha256=sc6vITzyXt7nvVRrb6zBzABIBp9mXA9rvWy-7fTkpZQ,31256
137
106
  mcli/ml/dashboard/pages/workflows.py,sha256=rX5X8yt66hHbuj6yry9A29UUpibeqFbd3AZzi3B9SLE,21311
138
- mcli/ml/data_ingestion/__init__.py,sha256=YnPlYy3z3t1S14Sx3fUtez5goCUsUrbZQ_Ka6re7MbM,755
139
107
  mcli/ml/data_ingestion/api_connectors.py,sha256=LRd4gfSX9vGF8otBNH9wrjftfv5fPH4C_K6tqDdZUb0,16083
140
108
  mcli/ml/data_ingestion/data_pipeline.py,sha256=9gbQY0j2A6tevmQW4l_2DOxv_RQsRc8USkrhWHth-94,18854
141
109
  mcli/ml/data_ingestion/stream_processor.py,sha256=2D0SELKKEaa8OXzFN8e75KyA3-za39zrYR2aYG5bYkA,15809
142
- mcli/ml/database/__init__.py,sha256=vnT3wEn6oErYTwok7XN4cE0n1XMn7sHU4sWOfXf6_YU,680
143
110
  mcli/ml/database/models.py,sha256=cNo3p5GvVPr3CTvUz4NlXW_onbksCPE0Ur6DeFrysVA,21680
144
111
  mcli/ml/database/session.py,sha256=_pZPtbOs0VEgXaz8OEyUARncXq56fbU4Xl5Jj9L6udo,11781
145
112
  mcli/ml/database/migrations/env.py,sha256=4_etswi4KhEhnSWMLuEHRBovb5URDmeIP0IjhHD7pj8,2432
146
- mcli/ml/experimentation/__init__.py,sha256=IEd2uEGOvpbXuIoX-ETFhOvHhjzjkVWUg_P4fQKaFBA,557
147
113
  mcli/ml/experimentation/ab_testing.py,sha256=VMuwxsuyMmEwTKL69uUhlVZHvmF1wxEhRPZAOAKa0CI,32062
148
- mcli/ml/features/__init__.py,sha256=jZ6KC5hiDmUVutexJcZw7OUMaafiOBYHqYOfzqirOqQ,1003
149
114
  mcli/ml/features/ensemble_features.py,sha256=tZlQjzccjbBVxBSAL6B9KXARAxkY3ZnEci_IzFecOC4,22942
150
115
  mcli/ml/features/recommendation_engine.py,sha256=MZhaJgEeR9N8eqJU-GgxnE861ttOsyKaNaz9Omu5k6I,30982
151
116
  mcli/ml/features/stock_features.py,sha256=VFww_bguT2uZn07AMuj3PiFA9E0k7riLOyGu6qHs5FI,21979
152
117
  mcli/ml/features/test_feature_engineering.py,sha256=BH-Gaj3m-phbvBBWvKnCnG3mZzlbd1C5i9LIkk_vdc0,12008
153
- mcli/ml/mlops/__init__.py,sha256=rKHRMKOU99uCMl_GSxmPr-dNKLscbD-CSRw7gkJEEjg,563
154
118
  mcli/ml/mlops/data_versioning.py,sha256=AAPy30IR6T7NclQYxFx_KDp22zx6VA7tu5VJsbuNycE,14968
155
119
  mcli/ml/mlops/experiment_tracker.py,sha256=_5EUNuTsiHtGLA_S6xPcS78wOVktu3Bkl2k9BAWYKRA,13472
156
120
  mcli/ml/mlops/model_serving.py,sha256=GCN53jZiz62vlH-ST8RLbZ2ZFBqvAAXUW33fJgdpFvk,16929
157
121
  mcli/ml/mlops/pipeline_orchestrator.py,sha256=2JU2ORNjLjRRLIXN7UzR5_Hq1vmie89H4ZXKq8kIoJU,23514
158
- mcli/ml/models/__init__.py,sha256=pZbjBBG8GJanXgX3txg8cst2PzLY22X_LtyFhsq71Jo,2377
159
122
  mcli/ml/models/base_models.py,sha256=eYSf1EQo5w0zInyypl9Qt_2St8mw1rCvS_gVLAsQyYI,10344
160
123
  mcli/ml/models/ensemble_models.py,sha256=RR85792gFqD4MX7oWaL7aLibqRK5t9TEaRaL9wGzp8A,22713
161
124
  mcli/ml/models/recommendation_models.py,sha256=7r79zBXwOCFJPz2bKcF1lR6sCrJqyvPBrMX8jcL5sXM,17138
162
125
  mcli/ml/models/test_models.py,sha256=_amqLeqFF1X8dCBSgIx8Jt4h4XdLqcPZNW2uq4Hd_Ow,15762
163
- mcli/ml/monitoring/__init__.py,sha256=DGsaxZQaFqZ-qkkOIfV4yoDx6dBdit1wvXG5P8qDBgU,473
164
126
  mcli/ml/monitoring/drift_detection.py,sha256=MlRWvqDqUYddXsCzFS4bPdMNC2xKkwA1Ghrdf1z0LRE,26112
165
127
  mcli/ml/monitoring/metrics.py,sha256=lC1npD1TzmhTz47WzAH6-jgCrFSvkPiMbo9TacsP0tI,1028
166
- mcli/ml/optimization/__init__.py,sha256=LqWont1FqQblM_1GNsVkahTHjQJ7SafX-JNLOXurUlU,633
167
128
  mcli/ml/optimization/optimize.py,sha256=7H5X4ATKys010d-ZiOCZUxFwQqXmRy7dUbykqMvv_LM,1945
168
129
  mcli/ml/optimization/portfolio_optimizer.py,sha256=QxkLegU9T7Yv52ZBFtXdeRbS7ybxmKA6uK5d7yJkyNA,31298
169
- mcli/ml/predictions/__init__.py,sha256=yA_0mn390awKiI1r3pR71fDa8_mqd3RGUlcCrwymaiM,129
170
130
  mcli/ml/predictions/monte_carlo.py,sha256=33kqyqYzMAmXXDdq5q3LLSTqqKjAoJdFYuiD3J8ApmU,13630
171
131
  mcli/ml/predictions/prediction_engine.py,sha256=E_0BZH73syKUimYOaHiSI1RSzFQohx_CPOmzbdR4V-A,8680
172
- mcli/ml/preprocessing/__init__.py,sha256=55wxpxXPp-QPlY2zs5wi9qfAwIZD9mxZMwhmFzGUr_0,721
173
132
  mcli/ml/preprocessing/data_cleaners.py,sha256=vFa7aZIg_4MANjM1Ww06qj6YcrdD6u5srFqXWYOf6z8,17283
174
133
  mcli/ml/preprocessing/feature_extractors.py,sha256=xduPETE0L-0bw6uaXFdR4zsqJbUW_LkJckbNBMyoFPw,17307
175
134
  mcli/ml/preprocessing/ml_pipeline.py,sha256=XButx7aHIywgfpwfGOMpZLRk-bg5WRYDfeOsxE5WlPs,14203
176
135
  mcli/ml/preprocessing/test_preprocessing.py,sha256=4BJFTTB5D62hdP3HzjO0-Sc7eq5JzATcXvYk2uw7MBc,9576
177
- mcli/ml/scripts/__init__.py,sha256=_ToblHT7nJhsbO7IQXjBj6OJHrjynfhlE60Ku_yvFB4,25
178
136
  mcli/ml/scripts/populate_sample_data.py,sha256=TBiTQpiUWeNkT2X5H5IEd-v4lM507JMXw3nAD0Iq62g,7811
179
- mcli/ml/serving/__init__.py,sha256=7PCP9bIcVjkuO_llrWwHaCtIhPEwREu0-XA7BYIAm2o,47
180
137
  mcli/ml/serving/serve.py,sha256=bMpUJoCjKLP0WFr65cRC9auu72KkewZMFKw4B4lszTo,1401
181
138
  mcli/ml/tests/test_integration.py,sha256=c5XhNIn-3vQsN_k5tAYCEb-VpZc58kPSJPhsokmvUgo,15956
182
139
  mcli/ml/tests/test_training_dashboard.py,sha256=fCNyNdVQzARE6LYdZwQJAFr3dO8GAG-u0dJhW-sFpLU,14013
183
- mcli/ml/trading/__init__.py,sha256=Y7ANy3NZ_6zOKxXUj3xOXFAX7WXQ8jUvIveoH1jCKGM,1484
184
140
  mcli/ml/trading/alpaca_client.py,sha256=WPPyrAbeWRIpRG-XLLgiBYJun9J7wlwTIJoeY5qkNiI,14694
185
141
  mcli/ml/trading/migrations.py,sha256=lFmmQivegr428xUudPw5XygChbEvXBtN4vZX2WxYhKw,6091
186
142
  mcli/ml/trading/models.py,sha256=qzGOYJTXL2m6lqWTdODwn0fOAECihIt8zTpaQqTwn00,14387
187
143
  mcli/ml/trading/paper_trading.py,sha256=7faoabOOv3BdIDmrzPkLF_zTmWwZspq588sU9_m_ja8,13862
188
144
  mcli/ml/trading/risk_management.py,sha256=7eygbQaC1sfJlFvyInOc4MQtwxmU5lDnj28UcrfkBCk,15572
189
145
  mcli/ml/trading/trading_service.py,sha256=TguV7E_P5E8oGyGHOU2wEemh0iVepqitL4zjulm6NBE,20896
190
- mcli/ml/training/__init__.py,sha256=ldDLgyrpgU6B5pQhBMmC5Xt_sP7jgvpSwqHK8VJzGos,278
191
146
  mcli/ml/training/train.py,sha256=6sh83Sr6HiIfIMYuOQZpgHzviiFIyVIOrBynTAg36GY,2718
192
147
  mcli/ml/training/train_model.py,sha256=_brE4ud0R9xfT5x3IpxgMhmakvbLbxqN82Ix4ycxSSo,16861
193
- mcli/mygroup/__init__.py,sha256=nXHIIt-BAROSr-22u567KklVcdcHQU19G2efSEIpmHU,35
194
148
  mcli/mygroup/test_cmd.py,sha256=WjzgoH1WFa79wc8A7O6UMuJfookLfgciUNcCMbKHAQQ,21
195
- mcli/public/__init__.py,sha256=h7ykT8kSrTfYJ6HWBV3YLrUi8VEhNWzkfmGZ1kKdtJU,49
196
149
  mcli/public/public.py,sha256=t9BkO1XV7s3YcoH0bbIpyjZ05UX_vBjaKtKkuDX7wZ0,114
197
- mcli/public/commands/__init__.py,sha256=0WGm1i4t1uifkC_5FmbQ2r03q53yrZ3KnoWOd2M7dEA,103
198
150
  mcli/public/oi/oi.py,sha256=SQabQWQ1pE67pWYEHwIDc3R93DARJfB6VHk7qxWx9xo,308
199
- mcli/self/__init__.py,sha256=7hCrgaRb4oAgAf-kcyzqhJ5LFpW19jwF5bxowR4LwjY,41
200
151
  mcli/self/completion_cmd.py,sha256=JXJ70p_yyfC8KlC5QifkQWLNeS2hgUFmNw8xdiix5O8,7764
201
152
  mcli/self/logs_cmd.py,sha256=SCzZ4VZs6p42hksun_w4WN33xIZgmq7RjdWX8P2WcT4,15056
202
153
  mcli/self/migrate_cmd.py,sha256=s9_pU-CNskn4To79pHa5AmRMAQdf6MX4XZBzh4ORMmM,9024
@@ -206,11 +157,9 @@ mcli/self/store_cmd.py,sha256=O6arjRr4qWQKh1QyVWtzyXq5R7yZEBL87FSI59Db7IY,13320
206
157
  mcli/self/test_cmd.py,sha256=WjzgoH1WFa79wc8A7O6UMuJfookLfgciUNcCMbKHAQQ,21
207
158
  mcli/self/visual_cmd.py,sha256=jXighahHxeM9HANQ2Brk6nKFgi2ZuQBOBH7PE5xhebk,9428
208
159
  mcli/self/zsh_cmd.py,sha256=63jKmfjhJp2zxJL2c37OdtdzDrnOreXXfyARN7TyfzU,8294
209
- mcli/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
160
  mcli/workflow/doc_convert.py,sha256=X7ZCYbGCBZLv6WkxAgHfVOkD-6k-euo6qIaPgaKiwhA,25972
211
161
  mcli/workflow/lsh_integration.py,sha256=jop80DUjdOSxmqPb-gX_OBep5f1twViv-pXmkcFqBPY,13314
212
- mcli/workflow/workflow.py,sha256=zaRXrmVqILvGX9u_Mp0FTBgydzr_z20fiYSFv8MgjK0,1154
213
- mcli/workflow/daemon/__init__.py,sha256=iDounKzoQhHcgHwK1kFJHnPPhn09JFzvSEpXRZDSnxU,565
162
+ mcli/workflow/workflow.py,sha256=vqT7B1N7wEAbCLQB9xOYppJbdaDabH2mlKA6dSDL2Y0,5507
214
163
  mcli/workflow/daemon/async_command_database.py,sha256=pvfKYjt0Jg1EPwJ1p2C0M3bsBWvjEs4Ok-Y6-jY0qVI,24873
215
164
  mcli/workflow/daemon/async_process_manager.py,sha256=hDehiYuWnBOv8LbMLTDEi4DVyrwm8YrrYF8Ca5P66A4,21374
216
165
  mcli/workflow/daemon/client.py,sha256=W2uuat08b75m2SNRybWJ0xiNt0NfU43HorqziYzaxvQ,16849
@@ -220,17 +169,11 @@ mcli/workflow/daemon/enhanced_daemon.py,sha256=rqnAUVskxgdroyjgZdPldDGGYaMgSE0gh
220
169
  mcli/workflow/daemon/process_cli.py,sha256=FGaDpLtoxuUgNP61OzFAeU4sRu2hMNRrz1zRH-wyxgo,8696
221
170
  mcli/workflow/daemon/process_manager.py,sha256=He2Hjvnf8_6Gd982BpHss7rsD7Sl_h4KDkmRhHZEa5M,15200
222
171
  mcli/workflow/daemon/test_daemon.py,sha256=Fc_X9dauAtc10WHtVarKdMZnRJOVYDeKRR1RbTVE-wA,8741
223
- mcli/workflow/dashboard/__init__.py,sha256=Mll3vUhkhaJWMVxtBhRC6VVqMI_z795PhGGIEIqW34o,96
224
172
  mcli/workflow/dashboard/dashboard_cmd.py,sha256=AwgECXyE9W9l1JSWLziXXeAzKTa6KLx0tOrirblUMd4,5595
225
- mcli/workflow/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
173
  mcli/workflow/docker/docker.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
- mcli/workflow/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
- mcli/workflow/gcloud/__init__.py,sha256=-WO-8AfhL7EdAHSmzNm8bvioxMBfwFjKrpCuXWrTWdU,27
229
174
  mcli/workflow/gcloud/config.toml,sha256=4_bImtrmmYxIFguQ4xRMgziMr_HVO80piWcyflXgWkU,697
230
175
  mcli/workflow/gcloud/gcloud.py,sha256=haTm4klifiSdYhQzDvtojkOCfsmFcB-zy2g8ZRkzBCk,1568
231
- mcli/workflow/git_commit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
176
  mcli/workflow/git_commit/ai_service.py,sha256=yh2j7oWiB10Il6OechI6wSUw-vedMsoKd__csGhzpxo,12756
233
- mcli/workflow/interview/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
234
177
  mcli/workflow/model_service/client.py,sha256=wWYde_zR6_o6SP6oePwkHKmEVBtELrP8uKyZNTBWwVc,20888
235
178
  mcli/workflow/model_service/download_and_run_efficient_models.py,sha256=UlKs_Oq_1Vn5qFP28ALCF6CVMTqcRT8hG5quHeGHLIc,9898
236
179
  mcli/workflow/model_service/lightweight_embedder.py,sha256=82B0tYOYVTB3rdC-7XYEMnkw4Q_K0-p3LeyvdaP6ro8,14165
@@ -244,33 +187,24 @@ mcli/workflow/model_service/test_efficient_runner.py,sha256=whu93oXrM0Z8HEzcKCc1
244
187
  mcli/workflow/model_service/test_example.py,sha256=aMSNRyjz5ian6cmHQt_sE5-q10V82iYJDjeAV1rsfJs,9515
245
188
  mcli/workflow/model_service/test_integration.py,sha256=PMylaOOab-mzkx_Si-gNwRzc_3tTs-9eMD8SOQUiJwM,4553
246
189
  mcli/workflow/model_service/test_new_features.py,sha256=5mMluJX5qjVC6HHtppGw1HemcDws9kKA5J1Xmrou8jU,4297
247
- mcli/workflow/notebook/__init__.py,sha256=DwJd9CGfdmPpPvgtRaphFAoy_bbvaRo-cpE1S17l-Ls,360
248
190
  mcli/workflow/notebook/converter.py,sha256=65CjadkUMv1HDtC1EO7qoGHHaZtrprSbp6jU_vesZQM,12640
249
191
  mcli/workflow/notebook/notebook_cmd.py,sha256=L0c3zOQli1JFoCm_OrHvUkxJD9hDOTsY6eNbra99xZo,12907
250
192
  mcli/workflow/notebook/schema.py,sha256=SXSKHfk9aErsIJX2y1Cm3wrq6qA4CVqak3jMd3Vx4Pc,13184
251
193
  mcli/workflow/notebook/validator.py,sha256=tK00MTpzPkfygdwo5vW6qJn98O2_95sbCUaY6Gmmmec,9925
252
194
  mcli/workflow/openai/openai.py,sha256=Zv7nsFUQqLeg5jJaYKp6wsXZsb7b5pzjF8HQLpJkIaI,2769
253
- mcli/workflow/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
195
  mcli/workflow/registry/registry.py,sha256=MbiabMfrvbFvD8K1c9ucmXCSdfqZa1PUBedwStz9UgA,5249
255
- mcli/workflow/repo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
196
  mcli/workflow/repo/repo.py,sha256=sk-hOzAa1IL1YSTSetgq-k-x0XRpGVGksSa095Q0JkM,8055
257
- mcli/workflow/scheduler/__init__.py,sha256=wKnYDtvu_U0ImY1Ki0_371K4eVzdDEvs2q-dh594OLY,618
258
197
  mcli/workflow/scheduler/cron_parser.py,sha256=pG9b7emjbBQ_-xNjauTUaeFoKZV_X-oCN5mpq18HyTs,7548
259
198
  mcli/workflow/scheduler/job.py,sha256=UMKDbxTR01TaYKNTMaReIm33R_HghvHWovQC1IEGyRI,6613
260
199
  mcli/workflow/scheduler/monitor.py,sha256=63TClZQyxbJyx5Sf3q1v8BgO6YPvWQNZYfCixM66Qik,5031
261
200
  mcli/workflow/scheduler/persistence.py,sha256=SU8-F5wTpTercZvTeAXKlGI7gwHyfmYDhX2_KnEYnjs,11592
262
201
  mcli/workflow/scheduler/scheduler.py,sha256=1Ujq9VgL1rSTCAtshuLA2_sodW6HOj0MEZem7Ga-kic,23351
263
- mcli/workflow/search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
264
- mcli/workflow/secrets/__init__.py,sha256=3lGQzhtj3mKuBcHrR3DHPMPBcs3XvWAeXazgzxmUKTA,107
265
202
  mcli/workflow/secrets/secrets_cmd.py,sha256=jremZqlYmVC4dQmn-M2rWKwheS25ra6o0gdHbXJXoMI,6761
266
- mcli/workflow/sync/__init__.py,sha256=vYjpzxC1OTFvhp2sgBqzrujUhghb4MtFNxrsPNDkUcc,104
267
203
  mcli/workflow/sync/test_cmd.py,sha256=neVgs9zEnKSxlvzDpFkuCGucqnzjrShm2OvJtHibslg,10009
268
- mcli/workflow/videos/__init__.py,sha256=aV3DEoO7qdKJY4odWKoQbOKDQq4ludTeCLnZcupOFIM,25
269
- mcli/workflow/wakatime/__init__.py,sha256=wKG8cVIHVtMPhNRFGFtX43bRnocHqOMMkFMkmW-M6pU,2626
270
204
  mcli/workflow/wakatime/wakatime.py,sha256=sEjsUKa3-XyE8Ni6sAb_D3GAY5jDcA30KknW9YTbLTA,142
271
- mcli_framework-7.11.2.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
272
- mcli_framework-7.11.2.dist-info/METADATA,sha256=b7Gcj2KCC86Lu2OTxVRCi_NmfDb40mADWTigjuFcATg,18655
273
- mcli_framework-7.11.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
274
- mcli_framework-7.11.2.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
275
- mcli_framework-7.11.2.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
276
- mcli_framework-7.11.2.dist-info/RECORD,,
205
+ mcli_framework-7.11.4.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
206
+ mcli_framework-7.11.4.dist-info/METADATA,sha256=1BuT60dUFY9FUirG6eZ0CAQ-sYWHmT9UO4YKhBzoO6Y,18656
207
+ mcli_framework-7.11.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
208
+ mcli_framework-7.11.4.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
209
+ mcli_framework-7.11.4.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
210
+ mcli_framework-7.11.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)