mcli-framework 7.0.5__py3-none-any.whl → 7.1.0__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 (68) hide show
  1. mcli/app/model_cmd.py +33 -6
  2. mcli/ml/dashboard/app_integrated.py +77 -34
  3. mcli/mygroup/test_cmd.py +1 -0
  4. mcli/self/self_cmd.py +22 -5
  5. mcli/self/test_cmd.py +1 -0
  6. {mcli_framework-7.0.5.dist-info → mcli_framework-7.1.0.dist-info}/METADATA +13 -2
  7. {mcli_framework-7.0.5.dist-info → mcli_framework-7.1.0.dist-info}/RECORD +11 -66
  8. mcli/__init__.py +0 -160
  9. mcli/__main__.py +0 -14
  10. mcli/app/__init__.py +0 -32
  11. mcli/app/model/__init__.py +0 -0
  12. mcli/app/video/__init__.py +0 -5
  13. mcli/chat/__init__.py +0 -34
  14. mcli/lib/__init__.py +0 -0
  15. mcli/lib/api/__init__.py +0 -0
  16. mcli/lib/auth/__init__.py +0 -1
  17. mcli/lib/config/__init__.py +0 -1
  18. mcli/lib/erd/__init__.py +0 -25
  19. mcli/lib/files/__init__.py +0 -0
  20. mcli/lib/fs/__init__.py +0 -1
  21. mcli/lib/logger/__init__.py +0 -3
  22. mcli/lib/performance/__init__.py +0 -17
  23. mcli/lib/pickles/__init__.py +0 -1
  24. mcli/lib/shell/__init__.py +0 -0
  25. mcli/lib/toml/__init__.py +0 -1
  26. mcli/lib/watcher/__init__.py +0 -0
  27. mcli/ml/__init__.py +0 -16
  28. mcli/ml/api/__init__.py +0 -31
  29. mcli/ml/api/routers/__init__.py +0 -27
  30. mcli/ml/auth/__init__.py +0 -45
  31. mcli/ml/backtesting/__init__.py +0 -41
  32. mcli/ml/cli/__init__.py +0 -5
  33. mcli/ml/config/__init__.py +0 -33
  34. mcli/ml/configs/__init__.py +0 -16
  35. mcli/ml/dashboard/__init__.py +0 -10
  36. mcli/ml/data_ingestion/__init__.py +0 -41
  37. mcli/ml/database/__init__.py +0 -47
  38. mcli/ml/experimentation/__init__.py +0 -29
  39. mcli/ml/features/__init__.py +0 -39
  40. mcli/ml/mlops/__init__.py +0 -35
  41. mcli/ml/models/__init__.py +0 -97
  42. mcli/ml/monitoring/__init__.py +0 -25
  43. mcli/ml/optimization/__init__.py +0 -27
  44. mcli/ml/preprocessing/__init__.py +0 -28
  45. mcli/ml/scripts/__init__.py +0 -1
  46. mcli/public/__init__.py +0 -1
  47. mcli/public/commands/__init__.py +0 -2
  48. mcli/self/__init__.py +0 -3
  49. mcli/workflow/__init__.py +0 -0
  50. mcli/workflow/daemon/__init__.py +0 -13
  51. mcli/workflow/dashboard/__init__.py +0 -5
  52. mcli/workflow/docker/__init__.py +0 -0
  53. mcli/workflow/file/__init__.py +0 -0
  54. mcli/workflow/gcloud/__init__.py +0 -1
  55. mcli/workflow/git_commit/__init__.py +0 -0
  56. mcli/workflow/interview/__init__.py +0 -0
  57. mcli/workflow/politician_trading/__init__.py +0 -4
  58. mcli/workflow/registry/__init__.py +0 -0
  59. mcli/workflow/repo/__init__.py +0 -0
  60. mcli/workflow/scheduler/__init__.py +0 -25
  61. mcli/workflow/search/__init__.py +0 -0
  62. mcli/workflow/sync/__init__.py +0 -5
  63. mcli/workflow/videos/__init__.py +0 -1
  64. mcli/workflow/wakatime/__init__.py +0 -80
  65. {mcli_framework-7.0.5.dist-info → mcli_framework-7.1.0.dist-info}/WHEEL +0 -0
  66. {mcli_framework-7.0.5.dist-info → mcli_framework-7.1.0.dist-info}/entry_points.txt +0 -0
  67. {mcli_framework-7.0.5.dist-info → mcli_framework-7.1.0.dist-info}/licenses/LICENSE +0 -0
  68. {mcli_framework-7.0.5.dist-info → mcli_framework-7.1.0.dist-info}/top_level.txt +0 -0
mcli/app/model_cmd.py CHANGED
@@ -100,15 +100,24 @@ def download(model_name: str):
100
100
 
101
101
  @model.command()
102
102
  @click.option("--model", "-m", help="Specific model to use")
103
- @click.option("--port", "-p", default=8080, help="Port to run server on")
103
+ @click.option("--port", "-p", default=None, help="Port to run server on (default: from config or 51234)")
104
104
  @click.option(
105
105
  "--auto-download",
106
106
  is_flag=True,
107
107
  default=True,
108
108
  help="Automatically download model if not available",
109
109
  )
110
- def start(model: Optional[str], port: int, auto_download: bool):
110
+ def start(model: Optional[str], port: Optional[int], auto_download: bool):
111
111
  """Start the lightweight model server."""
112
+ # Load port from config if not specified
113
+ if port is None:
114
+ try:
115
+ from mcli.lib.config.config import load_config
116
+ config = load_config()
117
+ port = config.get("model", {}).get("server_port", 51234)
118
+ except Exception:
119
+ port = 51234 # Default ephemeral port
120
+
112
121
  server = LightweightModelServer(port=port)
113
122
 
114
123
  # Determine which model to use
@@ -192,9 +201,18 @@ def recommend():
192
201
 
193
202
 
194
203
  @model.command()
195
- @click.option("--port", "-p", default=8080, help="Port where server is running")
196
- def status(port: int):
204
+ @click.option("--port", "-p", default=None, help="Port where server is running (default: from config or 51234)")
205
+ def status(port: Optional[int]):
197
206
  """Check status of the lightweight model server."""
207
+ # Load port from config if not specified
208
+ if port is None:
209
+ try:
210
+ from mcli.lib.config.config import load_config
211
+ config = load_config()
212
+ port = config.get("model", {}).get("server_port", 51234)
213
+ except Exception:
214
+ port = 51234 # Default ephemeral port
215
+
198
216
  import requests
199
217
 
200
218
  try:
@@ -225,9 +243,18 @@ def status(port: int):
225
243
 
226
244
 
227
245
  @model.command()
228
- @click.option("--port", "-p", default=8080, help="Port where server is running")
229
- def stop(port: int):
246
+ @click.option("--port", "-p", default=None, help="Port where server is running (default: from config or 51234)")
247
+ def stop(port: Optional[int]):
230
248
  """Stop the lightweight model server."""
249
+ # Load port from config if not specified
250
+ if port is None:
251
+ try:
252
+ from mcli.lib.config.config import load_config
253
+ config = load_config()
254
+ port = config.get("model", {}).get("server_port", 51234)
255
+ except Exception:
256
+ port = 51234 # Default ephemeral port
257
+
231
258
  import requests
232
259
  import psutil
233
260
 
@@ -15,11 +15,20 @@ import json
15
15
  from pathlib import Path
16
16
  import subprocess
17
17
  import pickle
18
+ from dotenv import load_dotenv
19
+
20
+ # Load environment variables from .env file
21
+ load_dotenv()
18
22
 
19
23
  # Add ML pipeline imports
20
- from mcli.ml.preprocessing.data_preprocessor import DataPreprocessor
21
- from mcli.ml.features.feature_engineering import FeatureEngineering
22
- from mcli.ml.models import get_model_by_id
24
+ try:
25
+ from mcli.ml.preprocessing import PoliticianTradingPreprocessor, MLDataPipeline
26
+ from mcli.ml.models import get_model_by_id
27
+ HAS_ML_PIPELINE = True
28
+ except ImportError:
29
+ HAS_ML_PIPELINE = False
30
+ PoliticianTradingPreprocessor = None
31
+ MLDataPipeline = None
23
32
 
24
33
  # Page config
25
34
  st.set_page_config(
@@ -72,13 +81,17 @@ def get_supabase_client() -> Client:
72
81
  @st.cache_resource
73
82
  def get_preprocessor():
74
83
  """Get data preprocessor instance"""
75
- return DataPreprocessor()
84
+ if HAS_ML_PIPELINE and PoliticianTradingPreprocessor:
85
+ return PoliticianTradingPreprocessor()
86
+ return None
76
87
 
77
88
 
78
89
  @st.cache_resource
79
- def get_feature_engineer():
80
- """Get feature engineering instance"""
81
- return FeatureEngineering()
90
+ def get_ml_pipeline():
91
+ """Get ML data pipeline instance"""
92
+ if HAS_ML_PIPELINE and MLDataPipeline:
93
+ return MLDataPipeline()
94
+ return None
82
95
 
83
96
 
84
97
  def check_lsh_daemon():
@@ -128,11 +141,18 @@ def run_ml_pipeline(df_disclosures):
128
141
  try:
129
142
  # 1. Preprocess data
130
143
  preprocessor = get_preprocessor()
131
- processed_data = preprocessor.preprocess(df_disclosures)
144
+ if preprocessor:
145
+ processed_data = preprocessor.preprocess(df_disclosures)
146
+ else:
147
+ # Use raw data if preprocessor not available
148
+ processed_data = df_disclosures
132
149
 
133
- # 2. Feature engineering
134
- feature_engineer = get_feature_engineer()
135
- features = feature_engineer.create_features(processed_data)
150
+ # 2. Feature engineering (using ML pipeline if available)
151
+ ml_pipeline = get_ml_pipeline()
152
+ if ml_pipeline:
153
+ features = ml_pipeline.transform(processed_data)
154
+ else:
155
+ features = processed_data
136
156
 
137
157
  # 3. Generate predictions (mock for now, replace with actual model)
138
158
  predictions = pd.DataFrame({
@@ -219,15 +239,18 @@ def main():
219
239
  st.sidebar.title("Navigation")
220
240
  page = st.sidebar.selectbox(
221
241
  "Choose a page",
222
- ["Pipeline Overview", "ML Processing", "Model Performance", "Predictions", "LSH Jobs", "System Health"]
242
+ ["Pipeline Overview", "ML Processing", "Model Performance", "Predictions", "LSH Jobs", "System Health"],
243
+ index=0 # Default to Pipeline Overview
223
244
  )
224
245
 
225
- # Auto-refresh toggle
226
- auto_refresh = st.sidebar.checkbox("Auto-refresh (30s)", value=True)
246
+ # Auto-refresh toggle (default off to prevent blocking)
247
+ auto_refresh = st.sidebar.checkbox("Auto-refresh (30s)", value=False)
227
248
  if auto_refresh:
228
- import time
229
- time.sleep(30)
230
- st.rerun()
249
+ try:
250
+ from streamlit_autorefresh import st_autorefresh
251
+ st_autorefresh(interval=30000, key="data_refresh")
252
+ except ImportError:
253
+ st.sidebar.warning("⚠️ Auto-refresh requires streamlit-autorefresh package")
231
254
 
232
255
  # Manual refresh button
233
256
  if st.sidebar.button("🔄 Refresh Now"):
@@ -244,25 +267,42 @@ def main():
244
267
  else:
245
268
  st.sidebar.error("❌ Pipeline failed")
246
269
 
247
- # Main content
248
- if page == "Pipeline Overview":
249
- show_pipeline_overview()
250
- elif page == "ML Processing":
251
- show_ml_processing()
252
- elif page == "Model Performance":
253
- show_model_performance()
254
- elif page == "Predictions":
255
- show_predictions()
256
- elif page == "LSH Jobs":
257
- show_lsh_jobs()
258
- elif page == "System Health":
259
- show_system_health()
270
+ # Main content with error handling
271
+ try:
272
+ if page == "Pipeline Overview":
273
+ show_pipeline_overview()
274
+ elif page == "ML Processing":
275
+ show_ml_processing()
276
+ elif page == "Model Performance":
277
+ show_model_performance()
278
+ elif page == "Predictions":
279
+ show_predictions()
280
+ elif page == "LSH Jobs":
281
+ show_lsh_jobs()
282
+ elif page == "System Health":
283
+ show_system_health()
284
+ except Exception as e:
285
+ st.error(f"❌ Error loading page '{page}': {e}")
286
+ import traceback
287
+ with st.expander("See error details"):
288
+ st.code(traceback.format_exc())
260
289
 
261
290
 
262
291
  def show_pipeline_overview():
263
292
  """Show ML pipeline overview"""
264
293
  st.header("ML Pipeline Overview")
265
294
 
295
+ # Check Supabase connection
296
+ if not get_supabase_client():
297
+ st.warning("⚠️ **Supabase not configured**")
298
+ st.info("""
299
+ To connect to Supabase, set these environment variables:
300
+ - `SUPABASE_URL`: Your Supabase project URL
301
+ - `SUPABASE_KEY`: Your Supabase API key
302
+
303
+ The dashboard will show demo data until configured.
304
+ """)
305
+
266
306
  # Get data
267
307
  politicians = get_politicians_data()
268
308
  disclosures = get_disclosures_data()
@@ -283,17 +323,20 @@ def show_pipeline_overview():
283
323
  if not disclosures.empty:
284
324
  preprocessor = get_preprocessor()
285
325
  try:
286
- processed = preprocessor.preprocess(disclosures.head(100))
287
- feature_count = len(processed.columns)
326
+ if preprocessor:
327
+ processed = preprocessor.preprocess(disclosures.head(100))
328
+ feature_count = len(processed.columns)
329
+ else:
330
+ feature_count = len(disclosures.columns)
288
331
  except:
289
- feature_count = 0
332
+ feature_count = len(disclosures.columns) if not disclosures.empty else 0
290
333
  else:
291
334
  feature_count = 0
292
335
 
293
336
  st.metric(
294
337
  label="Features Extracted",
295
338
  value=feature_count,
296
- delta="After preprocessing"
339
+ delta="Raw data" if not preprocessor else "After preprocessing"
297
340
  )
298
341
 
299
342
  with col3:
@@ -0,0 +1 @@
1
+ def test(): pass
mcli/self/self_cmd.py CHANGED
@@ -1272,16 +1272,33 @@ def update(check: bool, pre: bool, yes: bool, skip_ci_check: bool):
1272
1272
  # Install update
1273
1273
  console.print(f"[cyan]📦 Installing mcli {latest_version}...[/cyan]")
1274
1274
 
1275
- # Use pip to upgrade
1276
- cmd = [sys.executable, "-m", "pip", "install", "--upgrade", "mcli-framework"]
1277
- if pre:
1278
- cmd.append("--pre")
1275
+ # Detect if we're running from a uv tool installation
1276
+ # uv tool installations are typically in ~/.local/share/uv/tools/
1277
+ is_uv_tool = ".local/share/uv/tools/" in sys.executable or \
1278
+ "\\AppData\\Local\\uv\\tools\\" in sys.executable
1279
+
1280
+ if is_uv_tool:
1281
+ # Use uv tool install for uv tool environments
1282
+ console.print("[dim]Detected uv tool installation, using 'uv tool install'[/dim]")
1283
+ cmd = ["uv", "tool", "install", "--force", "mcli-framework"]
1284
+ if pre:
1285
+ # For pre-releases, we'd need to specify the version explicitly
1286
+ # For now, --pre is not supported with uv tool install in this context
1287
+ console.print("[yellow]⚠️ Pre-release flag not supported with uv tool install[/yellow]")
1288
+ else:
1289
+ # Use pip to upgrade for regular installations
1290
+ cmd = [sys.executable, "-m", "pip", "install", "--upgrade", "mcli-framework"]
1291
+ if pre:
1292
+ cmd.append("--pre")
1279
1293
 
1280
1294
  result = subprocess.run(cmd, capture_output=True, text=True)
1281
1295
 
1282
1296
  if result.returncode == 0:
1283
1297
  console.print(f"[green]✅ Successfully updated to mcli {latest_version}![/green]")
1284
- console.print("[yellow]ℹ️ Restart your terminal or run 'hash -r' to use the new version[/yellow]")
1298
+ if is_uv_tool:
1299
+ console.print("[yellow]ℹ️ Run 'hash -r' to refresh your shell's command cache[/yellow]")
1300
+ else:
1301
+ console.print("[yellow]ℹ️ Restart your terminal or run 'hash -r' to use the new version[/yellow]")
1285
1302
  else:
1286
1303
  console.print(f"[red]❌ Update failed:[/red]")
1287
1304
  console.print(result.stderr)
mcli/self/test_cmd.py ADDED
@@ -0,0 +1 @@
1
+ def test(): pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 7.0.5
3
+ Version: 7.1.0
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>
@@ -136,13 +136,24 @@ Requires-Dist: pytest>=8.4.1; extra == "dev"
136
136
  Requires-Dist: pytest-cov<5.0.0,>=4.1.0; extra == "dev"
137
137
  Requires-Dist: pytest-mock>=3.14.1; extra == "dev"
138
138
  Requires-Dist: pytest-asyncio>=1.1.0; extra == "dev"
139
+ Requires-Dist: pytest-benchmark>=4.0.0; extra == "dev"
140
+ Requires-Dist: pytest-timeout>=2.2.0; extra == "dev"
141
+ Requires-Dist: pytest-xdist>=3.5.0; extra == "dev"
142
+ Requires-Dist: hypothesis>=6.92.0; extra == "dev"
143
+ Requires-Dist: faker>=22.0.0; extra == "dev"
144
+ Requires-Dist: responses>=0.24.0; extra == "dev"
145
+ Requires-Dist: freezegun>=1.4.0; extra == "dev"
146
+ Requires-Dist: pytest-html>=4.1.0; extra == "dev"
147
+ Requires-Dist: pytest-json-report>=1.5.0; extra == "dev"
139
148
  Requires-Dist: black>=23.0.0; extra == "dev"
140
149
  Requires-Dist: isort<6.0.0,>=5.12.0; extra == "dev"
141
150
  Requires-Dist: mypy<2.0.0,>=1.7.1; extra == "dev"
151
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
152
+ Requires-Dist: pre-commit>=3.6.0; extra == "dev"
142
153
  Requires-Dist: build>=1.2.2.post1; extra == "dev"
143
154
  Requires-Dist: maturin>=1.9.3; extra == "dev"
155
+ Requires-Dist: twine>=4.0.0; extra == "dev"
144
156
  Provides-Extra: all
145
- Requires-Dist: mcli[async-extras,chat,dashboard,database,documents,gpu,ml,monitoring,streaming,video,viz,web]; extra == "all"
146
157
  Dynamic: license-file
147
158
 
148
159
  # MCLI
@@ -1,8 +1,5 @@
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
@@ -10,29 +7,23 @@ mcli/app/completion_helpers.py,sha256=PR66qgVNC5_st-CBiD4uuGfO3Zs7Y3QmJ2GJjpx5N6
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=xJqD4xBLFqi3sBsgAeyXIC8n5SR3czl8wIWx8za31vA,11756
10
+ mcli/app/model_cmd.py,sha256=_8NBzf36u2tnUvc8ASQt88cdfBEonpXj3_16OEAf1cI,12842
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,59 @@ 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
- mcli/ml/dashboard/app_integrated.py,sha256=6BjoV298c4jJ_Cs8syMQ35iG9pdP4uA-K_iTu_hTa6A,25610
84
+ mcli/ml/dashboard/app_integrated.py,sha256=3yAb_9Q0Fvd1_roCnzFZd7sHPG1TdP8TVKXbmDayR2I,27332
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
119
+ mcli/mygroup/test_cmd.py,sha256=PD0qoZ7GqagdQG9DaP7rIrGFenN23zVbYVYlZ0FJaSQ,16
158
120
  mcli/public/public.py,sha256=t9BkO1XV7s3YcoH0bbIpyjZ05UX_vBjaKtKkuDX7wZ0,114
159
- mcli/public/commands/__init__.py,sha256=0WGm1i4t1uifkC_5FmbQ2r03q53yrZ3KnoWOd2M7dEA,103
160
121
  mcli/public/oi/oi.py,sha256=SQabQWQ1pE67pWYEHwIDc3R93DARJfB6VHk7qxWx9xo,308
161
- mcli/self/__init__.py,sha256=7hCrgaRb4oAgAf-kcyzqhJ5LFpW19jwF5bxowR4LwjY,41
162
- mcli/self/self_cmd.py,sha256=KbgavTt9uXVGKbuX1o4aD4Ll0Ssz96qDHy6WSP7nf88,47419
163
- mcli/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
+ mcli/self/self_cmd.py,sha256=v6f5_Gm7CvBLJU_IZIDjC8Uz7nEExDfHnf1SOPgj7Gs,48458
123
+ mcli/self/test_cmd.py,sha256=PD0qoZ7GqagdQG9DaP7rIrGFenN23zVbYVYlZ0FJaSQ,16
164
124
  mcli/workflow/lsh_integration.py,sha256=khwmMPsdYdkmmLxlZi_UqUo2p0Nf-6GF6PPbtOrmoYQ,13290
165
125
  mcli/workflow/workflow.py,sha256=t58OVXmU9uQCJnyXuIbMAm8lihSzJ_jI10vXPNpZspk,928
166
- mcli/workflow/daemon/__init__.py,sha256=uS7YY6PFRRFTNfrjKKn1qQLzTk49tK1ojeDazGWzcQ0,535
167
126
  mcli/workflow/daemon/api_daemon.py,sha256=hA4Jolvb2C0T5_adKeI7BYE5wajfH9BFmk4bK1CmbE4,29000
168
127
  mcli/workflow/daemon/async_command_database.py,sha256=pvfKYjt0Jg1EPwJ1p2C0M3bsBWvjEs4Ok-Y6-jY0qVI,24873
169
128
  mcli/workflow/daemon/async_process_manager.py,sha256=hDehiYuWnBOv8LbMLTDEi4DVyrwm8YrrYF8Ca5P66A4,21374
@@ -175,19 +134,13 @@ mcli/workflow/daemon/enhanced_daemon.py,sha256=rqnAUVskxgdroyjgZdPldDGGYaMgSE0gh
175
134
  mcli/workflow/daemon/process_cli.py,sha256=FGaDpLtoxuUgNP61OzFAeU4sRu2hMNRrz1zRH-wyxgo,8696
176
135
  mcli/workflow/daemon/process_manager.py,sha256=He2Hjvnf8_6Gd982BpHss7rsD7Sl_h4KDkmRhHZEa5M,15200
177
136
  mcli/workflow/daemon/test_daemon.py,sha256=Fc_X9dauAtc10WHtVarKdMZnRJOVYDeKRR1RbTVE-wA,8741
178
- mcli/workflow/dashboard/__init__.py,sha256=AGkA7b1Cj7cX44ycm8xtnfY4Bn2NZ8SM8Op7PgJyNLQ,95
179
137
  mcli/workflow/dashboard/dashboard_cmd.py,sha256=u4dkcdp4Iy9kdCyrxOy_55qZsA9eWC3Xc7Ih9Bcsk-M,3593
180
- mcli/workflow/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
138
  mcli/workflow/docker/docker.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
- mcli/workflow/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
139
  mcli/workflow/file/file.py,sha256=01TtvD5LOzRrfUcmvOA_h6P3A9Xk37gC4-hJH0j4ZNU,3147
184
- mcli/workflow/gcloud/__init__.py,sha256=-WO-8AfhL7EdAHSmzNm8bvioxMBfwFjKrpCuXWrTWdU,27
185
140
  mcli/workflow/gcloud/config.toml,sha256=4_bImtrmmYxIFguQ4xRMgziMr_HVO80piWcyflXgWkU,697
186
141
  mcli/workflow/gcloud/gcloud.py,sha256=haTm4klifiSdYhQzDvtojkOCfsmFcB-zy2g8ZRkzBCk,1568
187
- mcli/workflow/git_commit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
142
  mcli/workflow/git_commit/ai_service.py,sha256=IMmMKH7x8aWt-PTpYksNmslb7DdPZIiCbaCao7rItdI,12189
189
143
  mcli/workflow/git_commit/commands.py,sha256=2BcAICZcaD8Hcu8EcBZPMMKBFZW5AoGusdKJ-lteQ5Q,15448
190
- mcli/workflow/interview/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
144
  mcli/workflow/model_service/client.py,sha256=wWYde_zR6_o6SP6oePwkHKmEVBtELrP8uKyZNTBWwVc,20888
192
145
  mcli/workflow/model_service/download_and_run_efficient_models.py,sha256=UlKs_Oq_1Vn5qFP28ALCF6CVMTqcRT8hG5quHeGHLIc,9898
193
146
  mcli/workflow/model_service/lightweight_embedder.py,sha256=82B0tYOYVTB3rdC-7XYEMnkw4Q_K0-p3LeyvdaP6ro8,14165
@@ -201,7 +154,6 @@ mcli/workflow/model_service/test_example.py,sha256=aMSNRyjz5ian6cmHQt_sE5-q10V82
201
154
  mcli/workflow/model_service/test_integration.py,sha256=PMylaOOab-mzkx_Si-gNwRzc_3tTs-9eMD8SOQUiJwM,4553
202
155
  mcli/workflow/model_service/test_new_features.py,sha256=5mMluJX5qjVC6HHtppGw1HemcDws9kKA5J1Xmrou8jU,4297
203
156
  mcli/workflow/openai/openai.py,sha256=Zv7nsFUQqLeg5jJaYKp6wsXZsb7b5pzjF8HQLpJkIaI,2769
204
- mcli/workflow/politician_trading/__init__.py,sha256=U7EYsjbIWsmQZBZH_yd-DlzeK6NyLpSeESIVQQRwFDw,113
205
157
  mcli/workflow/politician_trading/commands.py,sha256=PFrHpJyscK_YrY2Pgt2gzyCOdbEpLCp-T-I5zzoSuO0,79583
206
158
  mcli/workflow/politician_trading/config.py,sha256=g6esLt5zHpW0VSGncSfkDyIJ-m4DdHnAPBh1bMMciAY,4466
207
159
  mcli/workflow/politician_trading/connectivity.py,sha256=2cxiWSHDJAx0RGvPFHtinQy6eMVYPItct6hMLHjd2O0,18963
@@ -217,28 +169,21 @@ mcli/workflow/politician_trading/scrapers_uk.py,sha256=mDV6t6ftGRIJm2hvImgzyAqB-
217
169
  mcli/workflow/politician_trading/scrapers_us_states.py,sha256=jIzfvPDKQAwIwq0s8ELZrYI4UKgYkYQObLuNCUy7TA0,18272
218
170
  mcli/workflow/politician_trading/supabase_functions.py,sha256=7RXZuFsbc82-nwv54XdO19gkrI1sWJsuNn4LRKLw3T0,10089
219
171
  mcli/workflow/politician_trading/workflow.py,sha256=EA_L69j9FrghBvYeCulb0Z13zHR8Ki9hLaYWHEMbEDY,36315
220
- mcli/workflow/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
172
  mcli/workflow/registry/registry.py,sha256=MbiabMfrvbFvD8K1c9ucmXCSdfqZa1PUBedwStz9UgA,5249
222
- mcli/workflow/repo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
173
  mcli/workflow/repo/repo.py,sha256=sk-hOzAa1IL1YSTSetgq-k-x0XRpGVGksSa095Q0JkM,8055
224
- mcli/workflow/scheduler/__init__.py,sha256=wKnYDtvu_U0ImY1Ki0_371K4eVzdDEvs2q-dh594OLY,618
225
174
  mcli/workflow/scheduler/commands.py,sha256=Zg8QFxNslYDD-TQxWaYrWI6dRAYSyZwoU_czdh6h960,16093
226
175
  mcli/workflow/scheduler/cron_parser.py,sha256=pG9b7emjbBQ_-xNjauTUaeFoKZV_X-oCN5mpq18HyTs,7548
227
176
  mcli/workflow/scheduler/job.py,sha256=UMKDbxTR01TaYKNTMaReIm33R_HghvHWovQC1IEGyRI,6613
228
177
  mcli/workflow/scheduler/monitor.py,sha256=63TClZQyxbJyx5Sf3q1v8BgO6YPvWQNZYfCixM66Qik,5031
229
178
  mcli/workflow/scheduler/persistence.py,sha256=SU8-F5wTpTercZvTeAXKlGI7gwHyfmYDhX2_KnEYnjs,11592
230
179
  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
180
  mcli/workflow/sync/sync_cmd.py,sha256=S8TuZS_WAsdeD3_j8-XSAZFFrpynAwTWnCC0e6DCLh4,15574
234
181
  mcli/workflow/sync/test_cmd.py,sha256=neVgs9zEnKSxlvzDpFkuCGucqnzjrShm2OvJtHibslg,10009
235
- mcli/workflow/videos/__init__.py,sha256=aV3DEoO7qdKJY4odWKoQbOKDQq4ludTeCLnZcupOFIM,25
236
182
  mcli/workflow/videos/videos.py,sha256=C47ViVv6qqqkSKQz6YXjzhok4UrqFbya8w5k_x7hToM,8360
237
- mcli/workflow/wakatime/__init__.py,sha256=wKG8cVIHVtMPhNRFGFtX43bRnocHqOMMkFMkmW-M6pU,2626
238
183
  mcli/workflow/wakatime/wakatime.py,sha256=sEjsUKa3-XyE8Ni6sAb_D3GAY5jDcA30KknW9YTbLTA,142
239
- mcli_framework-7.0.5.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
240
- mcli_framework-7.0.5.dist-info/METADATA,sha256=qds7VDa4wmRAfUlfVpr3y9bwS1gHHKD5uQ193Ol89qA,14307
241
- mcli_framework-7.0.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
242
- mcli_framework-7.0.5.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
243
- mcli_framework-7.0.5.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
244
- mcli_framework-7.0.5.dist-info/RECORD,,
184
+ mcli_framework-7.1.0.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
185
+ mcli_framework-7.1.0.dist-info/METADATA,sha256=bCTcJVOlpyRNzR6Vmdmz_fyLnPWFPFshsvxTC06Xo1o,14775
186
+ mcli_framework-7.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
187
+ mcli_framework-7.1.0.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
188
+ mcli_framework-7.1.0.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
189
+ mcli_framework-7.1.0.dist-info/RECORD,,