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.
- mcli/app/main.py +23 -17
- mcli/workflow/workflow.py +119 -5
- {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/METADATA +2 -2
- {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/RECORD +8 -74
- mcli/__init__.py +0 -160
- mcli/__main__.py +0 -14
- mcli/app/__init__.py +0 -23
- mcli/app/model/__init__.py +0 -0
- mcli/app/video/__init__.py +0 -5
- mcli/chat/__init__.py +0 -34
- mcli/lib/__init__.py +0 -0
- mcli/lib/api/__init__.py +0 -0
- mcli/lib/auth/__init__.py +0 -1
- mcli/lib/config/__init__.py +0 -1
- mcli/lib/erd/__init__.py +0 -25
- mcli/lib/files/__init__.py +0 -0
- mcli/lib/fs/__init__.py +0 -1
- mcli/lib/logger/__init__.py +0 -3
- mcli/lib/performance/__init__.py +0 -17
- mcli/lib/pickles/__init__.py +0 -1
- mcli/lib/secrets/__init__.py +0 -10
- mcli/lib/shell/__init__.py +0 -0
- mcli/lib/toml/__init__.py +0 -1
- mcli/lib/watcher/__init__.py +0 -0
- mcli/ml/__init__.py +0 -16
- mcli/ml/api/__init__.py +0 -30
- mcli/ml/api/routers/__init__.py +0 -27
- mcli/ml/auth/__init__.py +0 -41
- mcli/ml/backtesting/__init__.py +0 -33
- mcli/ml/cli/__init__.py +0 -5
- mcli/ml/config/__init__.py +0 -33
- mcli/ml/configs/__init__.py +0 -16
- mcli/ml/dashboard/__init__.py +0 -12
- mcli/ml/dashboard/components/__init__.py +0 -7
- mcli/ml/dashboard/pages/__init__.py +0 -6
- mcli/ml/data_ingestion/__init__.py +0 -29
- mcli/ml/database/__init__.py +0 -40
- mcli/ml/experimentation/__init__.py +0 -29
- mcli/ml/features/__init__.py +0 -39
- mcli/ml/mlops/__init__.py +0 -19
- mcli/ml/models/__init__.py +0 -90
- mcli/ml/monitoring/__init__.py +0 -25
- mcli/ml/optimization/__init__.py +0 -27
- mcli/ml/predictions/__init__.py +0 -5
- mcli/ml/preprocessing/__init__.py +0 -24
- mcli/ml/scripts/__init__.py +0 -1
- mcli/ml/serving/__init__.py +0 -1
- mcli/ml/trading/__init__.py +0 -63
- mcli/ml/training/__init__.py +0 -7
- mcli/mygroup/__init__.py +0 -3
- mcli/public/__init__.py +0 -1
- mcli/public/commands/__init__.py +0 -2
- mcli/self/__init__.py +0 -3
- mcli/workflow/__init__.py +0 -0
- mcli/workflow/daemon/__init__.py +0 -15
- mcli/workflow/dashboard/__init__.py +0 -5
- mcli/workflow/docker/__init__.py +0 -0
- mcli/workflow/file/__init__.py +0 -0
- mcli/workflow/gcloud/__init__.py +0 -1
- mcli/workflow/git_commit/__init__.py +0 -0
- mcli/workflow/interview/__init__.py +0 -0
- mcli/workflow/notebook/__init__.py +0 -16
- mcli/workflow/registry/__init__.py +0 -0
- mcli/workflow/repo/__init__.py +0 -0
- mcli/workflow/scheduler/__init__.py +0 -25
- mcli/workflow/search/__init__.py +0 -0
- mcli/workflow/secrets/__init__.py +0 -4
- mcli/workflow/sync/__init__.py +0 -5
- mcli/workflow/videos/__init__.py +0 -1
- mcli/workflow/wakatime/__init__.py +0 -80
- {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/WHEEL +0 -0
- {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/entry_points.txt +0 -0
- {mcli_framework-7.11.2.dist-info → mcli_framework-7.11.4.dist-info}/licenses/LICENSE +0 -0
- {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 (
|
|
350
|
+
# Add workflows group directly (not lazy-loaded) to preserve -g/--global option
|
|
351
351
|
try:
|
|
352
|
-
from mcli.
|
|
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
|
|
354
|
+
logger.debug("Added workflows group with -g/--global support")
|
|
361
355
|
except ImportError as e:
|
|
362
|
-
logger.
|
|
363
|
-
# Fallback to
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
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/
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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.
|
|
4
|
-
Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/
|
|
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=
|
|
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=
|
|
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.
|
|
272
|
-
mcli_framework-7.11.
|
|
273
|
-
mcli_framework-7.11.
|
|
274
|
-
mcli_framework-7.11.
|
|
275
|
-
mcli_framework-7.11.
|
|
276
|
-
mcli_framework-7.11.
|
|
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)
|