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