mcli-framework 7.0.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 (186) hide show
  1. mcli/app/chat_cmd.py +42 -0
  2. mcli/app/commands_cmd.py +226 -0
  3. mcli/app/completion_cmd.py +216 -0
  4. mcli/app/completion_helpers.py +288 -0
  5. mcli/app/cron_test_cmd.py +697 -0
  6. mcli/app/logs_cmd.py +419 -0
  7. mcli/app/main.py +492 -0
  8. mcli/app/model/model.py +1060 -0
  9. mcli/app/model_cmd.py +227 -0
  10. mcli/app/redis_cmd.py +269 -0
  11. mcli/app/video/video.py +1114 -0
  12. mcli/app/visual_cmd.py +303 -0
  13. mcli/chat/chat.py +2409 -0
  14. mcli/chat/command_rag.py +514 -0
  15. mcli/chat/enhanced_chat.py +652 -0
  16. mcli/chat/system_controller.py +1010 -0
  17. mcli/chat/system_integration.py +1016 -0
  18. mcli/cli.py +25 -0
  19. mcli/config.toml +20 -0
  20. mcli/lib/api/api.py +586 -0
  21. mcli/lib/api/daemon_client.py +203 -0
  22. mcli/lib/api/daemon_client_local.py +44 -0
  23. mcli/lib/api/daemon_decorator.py +217 -0
  24. mcli/lib/api/mcli_decorators.py +1032 -0
  25. mcli/lib/auth/auth.py +85 -0
  26. mcli/lib/auth/aws_manager.py +85 -0
  27. mcli/lib/auth/azure_manager.py +91 -0
  28. mcli/lib/auth/credential_manager.py +192 -0
  29. mcli/lib/auth/gcp_manager.py +93 -0
  30. mcli/lib/auth/key_manager.py +117 -0
  31. mcli/lib/auth/mcli_manager.py +93 -0
  32. mcli/lib/auth/token_manager.py +75 -0
  33. mcli/lib/auth/token_util.py +1011 -0
  34. mcli/lib/config/config.py +47 -0
  35. mcli/lib/discovery/__init__.py +1 -0
  36. mcli/lib/discovery/command_discovery.py +274 -0
  37. mcli/lib/erd/erd.py +1345 -0
  38. mcli/lib/erd/generate_graph.py +453 -0
  39. mcli/lib/files/files.py +76 -0
  40. mcli/lib/fs/fs.py +109 -0
  41. mcli/lib/lib.py +29 -0
  42. mcli/lib/logger/logger.py +611 -0
  43. mcli/lib/performance/optimizer.py +409 -0
  44. mcli/lib/performance/rust_bridge.py +502 -0
  45. mcli/lib/performance/uvloop_config.py +154 -0
  46. mcli/lib/pickles/pickles.py +50 -0
  47. mcli/lib/search/cached_vectorizer.py +479 -0
  48. mcli/lib/services/data_pipeline.py +460 -0
  49. mcli/lib/services/lsh_client.py +441 -0
  50. mcli/lib/services/redis_service.py +387 -0
  51. mcli/lib/shell/shell.py +137 -0
  52. mcli/lib/toml/toml.py +33 -0
  53. mcli/lib/ui/styling.py +47 -0
  54. mcli/lib/ui/visual_effects.py +634 -0
  55. mcli/lib/watcher/watcher.py +185 -0
  56. mcli/ml/api/app.py +215 -0
  57. mcli/ml/api/middleware.py +224 -0
  58. mcli/ml/api/routers/admin_router.py +12 -0
  59. mcli/ml/api/routers/auth_router.py +244 -0
  60. mcli/ml/api/routers/backtest_router.py +12 -0
  61. mcli/ml/api/routers/data_router.py +12 -0
  62. mcli/ml/api/routers/model_router.py +302 -0
  63. mcli/ml/api/routers/monitoring_router.py +12 -0
  64. mcli/ml/api/routers/portfolio_router.py +12 -0
  65. mcli/ml/api/routers/prediction_router.py +267 -0
  66. mcli/ml/api/routers/trade_router.py +12 -0
  67. mcli/ml/api/routers/websocket_router.py +76 -0
  68. mcli/ml/api/schemas.py +64 -0
  69. mcli/ml/auth/auth_manager.py +425 -0
  70. mcli/ml/auth/models.py +154 -0
  71. mcli/ml/auth/permissions.py +302 -0
  72. mcli/ml/backtesting/backtest_engine.py +502 -0
  73. mcli/ml/backtesting/performance_metrics.py +393 -0
  74. mcli/ml/cache.py +400 -0
  75. mcli/ml/cli/main.py +398 -0
  76. mcli/ml/config/settings.py +394 -0
  77. mcli/ml/configs/dvc_config.py +230 -0
  78. mcli/ml/configs/mlflow_config.py +131 -0
  79. mcli/ml/configs/mlops_manager.py +293 -0
  80. mcli/ml/dashboard/app.py +532 -0
  81. mcli/ml/dashboard/app_integrated.py +738 -0
  82. mcli/ml/dashboard/app_supabase.py +560 -0
  83. mcli/ml/dashboard/app_training.py +615 -0
  84. mcli/ml/dashboard/cli.py +51 -0
  85. mcli/ml/data_ingestion/api_connectors.py +501 -0
  86. mcli/ml/data_ingestion/data_pipeline.py +567 -0
  87. mcli/ml/data_ingestion/stream_processor.py +512 -0
  88. mcli/ml/database/migrations/env.py +94 -0
  89. mcli/ml/database/models.py +667 -0
  90. mcli/ml/database/session.py +200 -0
  91. mcli/ml/experimentation/ab_testing.py +845 -0
  92. mcli/ml/features/ensemble_features.py +607 -0
  93. mcli/ml/features/political_features.py +676 -0
  94. mcli/ml/features/recommendation_engine.py +809 -0
  95. mcli/ml/features/stock_features.py +573 -0
  96. mcli/ml/features/test_feature_engineering.py +346 -0
  97. mcli/ml/logging.py +85 -0
  98. mcli/ml/mlops/data_versioning.py +518 -0
  99. mcli/ml/mlops/experiment_tracker.py +377 -0
  100. mcli/ml/mlops/model_serving.py +481 -0
  101. mcli/ml/mlops/pipeline_orchestrator.py +614 -0
  102. mcli/ml/models/base_models.py +324 -0
  103. mcli/ml/models/ensemble_models.py +675 -0
  104. mcli/ml/models/recommendation_models.py +474 -0
  105. mcli/ml/models/test_models.py +487 -0
  106. mcli/ml/monitoring/drift_detection.py +676 -0
  107. mcli/ml/monitoring/metrics.py +45 -0
  108. mcli/ml/optimization/portfolio_optimizer.py +834 -0
  109. mcli/ml/preprocessing/data_cleaners.py +451 -0
  110. mcli/ml/preprocessing/feature_extractors.py +491 -0
  111. mcli/ml/preprocessing/ml_pipeline.py +382 -0
  112. mcli/ml/preprocessing/politician_trading_preprocessor.py +569 -0
  113. mcli/ml/preprocessing/test_preprocessing.py +294 -0
  114. mcli/ml/scripts/populate_sample_data.py +200 -0
  115. mcli/ml/tasks.py +400 -0
  116. mcli/ml/tests/test_integration.py +429 -0
  117. mcli/ml/tests/test_training_dashboard.py +387 -0
  118. mcli/public/oi/oi.py +15 -0
  119. mcli/public/public.py +4 -0
  120. mcli/self/self_cmd.py +1246 -0
  121. mcli/workflow/daemon/api_daemon.py +800 -0
  122. mcli/workflow/daemon/async_command_database.py +681 -0
  123. mcli/workflow/daemon/async_process_manager.py +591 -0
  124. mcli/workflow/daemon/client.py +530 -0
  125. mcli/workflow/daemon/commands.py +1196 -0
  126. mcli/workflow/daemon/daemon.py +905 -0
  127. mcli/workflow/daemon/daemon_api.py +59 -0
  128. mcli/workflow/daemon/enhanced_daemon.py +571 -0
  129. mcli/workflow/daemon/process_cli.py +244 -0
  130. mcli/workflow/daemon/process_manager.py +439 -0
  131. mcli/workflow/daemon/test_daemon.py +275 -0
  132. mcli/workflow/dashboard/dashboard_cmd.py +113 -0
  133. mcli/workflow/docker/docker.py +0 -0
  134. mcli/workflow/file/file.py +100 -0
  135. mcli/workflow/gcloud/config.toml +21 -0
  136. mcli/workflow/gcloud/gcloud.py +58 -0
  137. mcli/workflow/git_commit/ai_service.py +328 -0
  138. mcli/workflow/git_commit/commands.py +430 -0
  139. mcli/workflow/lsh_integration.py +355 -0
  140. mcli/workflow/model_service/client.py +594 -0
  141. mcli/workflow/model_service/download_and_run_efficient_models.py +288 -0
  142. mcli/workflow/model_service/lightweight_embedder.py +397 -0
  143. mcli/workflow/model_service/lightweight_model_server.py +714 -0
  144. mcli/workflow/model_service/lightweight_test.py +241 -0
  145. mcli/workflow/model_service/model_service.py +1955 -0
  146. mcli/workflow/model_service/ollama_efficient_runner.py +425 -0
  147. mcli/workflow/model_service/pdf_processor.py +386 -0
  148. mcli/workflow/model_service/test_efficient_runner.py +234 -0
  149. mcli/workflow/model_service/test_example.py +315 -0
  150. mcli/workflow/model_service/test_integration.py +131 -0
  151. mcli/workflow/model_service/test_new_features.py +149 -0
  152. mcli/workflow/openai/openai.py +99 -0
  153. mcli/workflow/politician_trading/commands.py +1790 -0
  154. mcli/workflow/politician_trading/config.py +134 -0
  155. mcli/workflow/politician_trading/connectivity.py +490 -0
  156. mcli/workflow/politician_trading/data_sources.py +395 -0
  157. mcli/workflow/politician_trading/database.py +410 -0
  158. mcli/workflow/politician_trading/demo.py +248 -0
  159. mcli/workflow/politician_trading/models.py +165 -0
  160. mcli/workflow/politician_trading/monitoring.py +413 -0
  161. mcli/workflow/politician_trading/scrapers.py +966 -0
  162. mcli/workflow/politician_trading/scrapers_california.py +412 -0
  163. mcli/workflow/politician_trading/scrapers_eu.py +377 -0
  164. mcli/workflow/politician_trading/scrapers_uk.py +350 -0
  165. mcli/workflow/politician_trading/scrapers_us_states.py +438 -0
  166. mcli/workflow/politician_trading/supabase_functions.py +354 -0
  167. mcli/workflow/politician_trading/workflow.py +852 -0
  168. mcli/workflow/registry/registry.py +180 -0
  169. mcli/workflow/repo/repo.py +223 -0
  170. mcli/workflow/scheduler/commands.py +493 -0
  171. mcli/workflow/scheduler/cron_parser.py +238 -0
  172. mcli/workflow/scheduler/job.py +182 -0
  173. mcli/workflow/scheduler/monitor.py +139 -0
  174. mcli/workflow/scheduler/persistence.py +324 -0
  175. mcli/workflow/scheduler/scheduler.py +679 -0
  176. mcli/workflow/sync/sync_cmd.py +437 -0
  177. mcli/workflow/sync/test_cmd.py +314 -0
  178. mcli/workflow/videos/videos.py +242 -0
  179. mcli/workflow/wakatime/wakatime.py +11 -0
  180. mcli/workflow/workflow.py +37 -0
  181. mcli_framework-7.0.0.dist-info/METADATA +479 -0
  182. mcli_framework-7.0.0.dist-info/RECORD +186 -0
  183. mcli_framework-7.0.0.dist-info/WHEEL +5 -0
  184. mcli_framework-7.0.0.dist-info/entry_points.txt +7 -0
  185. mcli_framework-7.0.0.dist-info/licenses/LICENSE +21 -0
  186. mcli_framework-7.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,479 @@
1
+ Metadata-Version: 2.4
2
+ Name: mcli-framework
3
+ Version: 7.0.0
4
+ Summary: 🚀 High-performance CLI framework with Rust extensions, AI chat, and stunning visuals
5
+ Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
+ Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/lefv/mcli
9
+ Project-URL: Repository, https://github.com/lefv/mcli
10
+ Project-URL: Documentation, https://github.com/lefv/mcli#readme
11
+ Project-URL: Issues, https://github.com/lefv/mcli/issues
12
+ Project-URL: Changelog, https://github.com/lefv/mcli/releases
13
+ Project-URL: Source, https://github.com/lefv/mcli
14
+ Keywords: cli,command-line,framework,chat,assistant,rust,performance,visual,tui,terminal,ai,openai,anthropic,productivity
15
+ Classifier: Development Status :: 4 - Beta
16
+ Classifier: Environment :: Console
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: Intended Audience :: System Administrators
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Operating System :: POSIX :: Linux
22
+ Classifier: Operating System :: MacOS
23
+ Classifier: Operating System :: Microsoft :: Windows
24
+ Classifier: Programming Language :: Python :: 3
25
+ Classifier: Programming Language :: Python :: 3.9
26
+ Classifier: Programming Language :: Python :: 3.10
27
+ Classifier: Programming Language :: Python :: 3.11
28
+ Classifier: Programming Language :: Python :: 3.12
29
+ Classifier: Programming Language :: Rust
30
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
31
+ Classifier: Topic :: System :: Shells
32
+ Classifier: Topic :: System :: Systems Administration
33
+ Classifier: Topic :: Terminals
34
+ Classifier: Topic :: Utilities
35
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
36
+ Classifier: Typing :: Typed
37
+ Requires-Python: >=3.9
38
+ Description-Content-Type: text/markdown
39
+ License-File: LICENSE
40
+ Requires-Dist: click<9.0.0,>=8.1.7
41
+ Requires-Dist: rich>=14.0.0
42
+ Requires-Dist: requests<3.0.0,>=2.31.0
43
+ Requires-Dist: tomli>=2.2.1
44
+ Requires-Dist: python-dotenv>=1.1.1
45
+ Requires-Dist: watchdog<4.0.0,>=3.0.0
46
+ Requires-Dist: tqdm<5.0.0,>=4.66.1
47
+ Requires-Dist: humanize<5.0.0,>=4.9.0
48
+ Requires-Dist: psutil<6.0.0,>=5.9.0
49
+ Requires-Dist: inquirerpy<0.4.0,>=0.3.4
50
+ Requires-Dist: gitpython<4.0.0,>=3.1.40
51
+ Requires-Dist: aiohttp>=3.9.0
52
+ Requires-Dist: httpx>=0.28.1
53
+ Requires-Dist: websockets>=12.0
54
+ Requires-Dist: beautifulsoup4>=4.13.5
55
+ Requires-Dist: fuzzywuzzy>=0.18.0
56
+ Requires-Dist: openai<2.0.0,>=1.3.0
57
+ Requires-Dist: anthropic>=0.60.0
58
+ Requires-Dist: ollama>=0.5.3
59
+ Requires-Dist: ipython<9.0.0,>=8.12.0
60
+ Requires-Dist: fastapi>=0.110.0
61
+ Requires-Dist: uvicorn>=0.27.0
62
+ Requires-Dist: uvloop>=0.19.0
63
+ Requires-Dist: aiosqlite>=0.20.0
64
+ Requires-Dist: redis>=5.0.0
65
+ Requires-Dist: aiohttp-sse-client>=0.2.1
66
+ Requires-Dist: asyncio-mqtt>=0.13.0
67
+ Requires-Dist: opencv-python>=4.11.0.86
68
+ Requires-Dist: pillow>=11.2.1
69
+ Requires-Dist: numpy<2.0.0,>=1.24.0
70
+ Requires-Dist: scikit-image>=0.24.0
71
+ Requires-Dist: scipy>=1.10.0
72
+ Requires-Dist: pypdf2>=3.0.1
73
+ Requires-Dist: pymupdf>=1.26.3
74
+ Requires-Dist: pandas>=2.3.1
75
+ Requires-Dist: openpyxl>=3.1.5
76
+ Requires-Dist: matplotlib>=3.9.4
77
+ Requires-Dist: pydot>=4.0.1
78
+ Requires-Dist: graphviz>=0.21
79
+ Requires-Dist: seaborn>=0.13.0
80
+ Requires-Dist: plotly>=5.17.0
81
+ Requires-Dist: supabase>=2.18.1
82
+ Requires-Dist: sqlalchemy>=2.0.0
83
+ Requires-Dist: alembic>=1.12.0
84
+ Requires-Dist: psycopg2-binary>=2.9.7
85
+ Requires-Dist: asyncpg>=0.29.0
86
+ Requires-Dist: torch>=2.0.0
87
+ Requires-Dist: torchvision>=0.15.0
88
+ Requires-Dist: pytorch-lightning>=2.0.0
89
+ Requires-Dist: scikit-learn<2.0.0,>=1.3.0
90
+ Requires-Dist: mlflow>=2.8.0
91
+ Requires-Dist: dvc>=3.0.0
92
+ Requires-Dist: polars>=0.19.0
93
+ Requires-Dist: pyarrow>=14.0.0
94
+ Requires-Dist: yfinance>=0.2.18
95
+ Requires-Dist: alpha-vantage>=2.3.1
96
+ Requires-Dist: cvxpy>=1.4.0
97
+ Requires-Dist: python-jose[cryptography]>=3.3.0
98
+ Requires-Dist: passlib[bcrypt]>=1.7.4
99
+ Requires-Dist: pydantic-settings>=2.1.0
100
+ Requires-Dist: dynaconf>=3.2.0
101
+ Requires-Dist: pandera>=0.17.0
102
+ Requires-Dist: pendulum>=2.1.2
103
+ Requires-Dist: optuna>=3.4.0
104
+ Requires-Dist: PyPortfolioOpt>=1.5.5
105
+ Requires-Dist: jupyter>=1.0.0
106
+ Requires-Dist: jupyterlab>=4.0.0
107
+ Requires-Dist: ipykernel>=6.27.0
108
+ Requires-Dist: prometheus-client>=0.19.0
109
+ Requires-Dist: structlog>=23.2.0
110
+ Requires-Dist: gunicorn>=21.2.0
111
+ Requires-Dist: newrelic>=9.2.0
112
+ Requires-Dist: datadog>=0.49.0
113
+ Requires-Dist: orjson>=3.9.0
114
+ Requires-Dist: kafka-python>=2.0.2
115
+ Requires-Dist: streamlit>=1.50.0
116
+ Requires-Dist: altair<5.0.0,>=4.2.1
117
+ Requires-Dist: streamlit-autorefresh>=1.0.1
118
+ Requires-Dist: typer>=0.9.0
119
+ Requires-Dist: flask<3.0.0,>=2.3.0
120
+ Provides-Extra: gpu
121
+ Requires-Dist: cupy-cuda12x>=12.3.0; extra == "gpu"
122
+ Requires-Dist: nvidia-ml-py>=12.535.0; extra == "gpu"
123
+ Provides-Extra: chat
124
+ Provides-Extra: async-extras
125
+ Provides-Extra: video
126
+ Provides-Extra: documents
127
+ Provides-Extra: viz
128
+ Provides-Extra: database
129
+ Provides-Extra: ml
130
+ Provides-Extra: monitoring
131
+ Provides-Extra: streaming
132
+ Provides-Extra: dashboard
133
+ Provides-Extra: web
134
+ Provides-Extra: dev
135
+ Requires-Dist: pytest>=8.4.1; extra == "dev"
136
+ Requires-Dist: pytest-cov<5.0.0,>=4.1.0; extra == "dev"
137
+ Requires-Dist: pytest-mock>=3.14.1; extra == "dev"
138
+ Requires-Dist: pytest-asyncio>=1.1.0; extra == "dev"
139
+ Requires-Dist: black>=23.0.0; extra == "dev"
140
+ Requires-Dist: isort<6.0.0,>=5.12.0; extra == "dev"
141
+ Requires-Dist: mypy<2.0.0,>=1.7.1; extra == "dev"
142
+ Requires-Dist: build>=1.2.2.post1; extra == "dev"
143
+ Requires-Dist: maturin>=1.9.3; extra == "dev"
144
+ Provides-Extra: all
145
+ Requires-Dist: mcli[async-extras,chat,dashboard,database,documents,gpu,ml,monitoring,streaming,video,viz,web]; extra == "all"
146
+ Dynamic: license-file
147
+
148
+ # MCLI
149
+
150
+ A modern CLI framework with chat capabilities, command management, and extensible architecture.
151
+
152
+ ## Features
153
+
154
+ - 🚀 **Modern CLI Framework**: Built with Click and Rich for beautiful command-line interfaces
155
+ - 💬 **AI Chat Integration**: Built-in chat capabilities with OpenAI and Anthropic support
156
+ - 🔧 **Command Management**: Dynamic command discovery and registration
157
+ - 🎨 **Rich UI**: Colorful, interactive command-line experience
158
+ - 📦 **Easy Extension**: Simple framework for adding custom commands
159
+ - 🛠️ **Developer Tools**: IPython integration for interactive development
160
+ - ⚡ **Shell Completion**: Full tab completion for bash, zsh, and fish shells
161
+
162
+ ## Quick Start
163
+
164
+ ### Prerequisites
165
+
166
+ - Python 3.9 or higher
167
+ - [UV](https://docs.astral.sh/uv/) (recommended) or pip
168
+
169
+ ### Installation from PyPI (Recommended)
170
+
171
+ The easiest way to install mcli is from PyPI:
172
+
173
+ ```bash
174
+ # Install latest version (includes all features)
175
+ pip install mcli-framework
176
+
177
+ # Or with UV (recommended)
178
+ uv pip install mcli-framework
179
+
180
+ # Optional: GPU support (CUDA required)
181
+ pip install "mcli-framework[gpu]"
182
+ ```
183
+
184
+ **Note:** As of v7.0.0, all features are included by default. GPU support is optional as it requires CUDA.
185
+
186
+ **Self-Update Feature:** Once installed from PyPI, you can update mcli to the latest version with:
187
+
188
+ ```bash
189
+ # Check for updates
190
+ mcli self update --check
191
+
192
+ # Install updates automatically
193
+ mcli self update
194
+
195
+ # Install with confirmation
196
+ mcli self update --yes
197
+ ```
198
+
199
+ ### Installation from Source
200
+
201
+ For development or if you want to customize mcli:
202
+
203
+ #### With UV
204
+
205
+ ```bash
206
+ # Clone the repository
207
+ git clone https://github.com/gwicho38/mcli.git
208
+ cd mcli
209
+
210
+ # Install with UV (recommended)
211
+ uv venv
212
+ uv pip install -e .
213
+
214
+ # Or install development dependencies
215
+ uv pip install -e ".[dev]"
216
+ ```
217
+
218
+ #### With pip
219
+
220
+ ```bash
221
+ # Clone the repository
222
+ git clone https://github.com/gwicho38/mcli.git
223
+ cd mcli
224
+
225
+ # Create virtual environment
226
+ python -m venv .venv
227
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
228
+
229
+ # Install the package
230
+ pip install -e .
231
+ ```
232
+
233
+ ### Usage
234
+
235
+ ```bash
236
+ # Show available commands
237
+ mcli --help
238
+
239
+ # Start a chat session
240
+ mcli chat
241
+
242
+ # Get version information
243
+ mcli version
244
+
245
+ # Manage the application
246
+ mcli self --help
247
+
248
+ # List available commands
249
+ mcli commands
250
+ ```
251
+
252
+ ### Shell Completion (Optional)
253
+
254
+ Enable tab completion for faster command discovery:
255
+
256
+ ```bash
257
+ # Install completion for your shell (auto-detects bash/zsh/fish)
258
+ mcli completion install
259
+
260
+ # Check completion status
261
+ mcli completion status
262
+ ```
263
+
264
+ After installation, you'll have full tab completion:
265
+ - `mcli <TAB>` → shows all available commands
266
+ - `mcli workflow <TAB>` → shows workflow subcommands
267
+ - `mcli workflow politician-trading <TAB>` → shows politician-trading options
268
+
269
+ See [SHELL_COMPLETION.md](SHELL_COMPLETION.md) for detailed setup and troubleshooting.
270
+
271
+ ## Development Workflow
272
+
273
+ This project uses [UV](https://docs.astral.sh/uv/) for fast, reliable Python package management.
274
+
275
+ ### Setup Development Environment
276
+
277
+ ```bash
278
+ # 1. Set up the development environment
279
+ make setup
280
+
281
+ # Or manually with UV
282
+ uv venv
283
+ uv pip install -e ".[dev]"
284
+
285
+ # 2. Configure environment variables
286
+ cp .env.example .env
287
+ # Edit .env with your API keys and configuration
288
+ ```
289
+
290
+ ### Available Make Commands
291
+
292
+ ```bash
293
+ # Setup and Installation
294
+ make setup # Setup UV environment with caching
295
+ make install # Install the package with caching
296
+
297
+ # Building
298
+ make wheel # Build Python wheel package
299
+ make portable # Build portable executable
300
+ make validate-build # Validate application for distribution
301
+
302
+ # Testing
303
+ make test # Test basic installation and functionality
304
+ make test-all # Run complete test suite (if available)
305
+ make validate-build # Comprehensive build validation
306
+
307
+ # CI/CD
308
+ make ci-trigger-build # Trigger GitHub Actions build workflow
309
+ make ci-trigger-test # Trigger GitHub Actions test workflow
310
+ make ci-watch # Watch GitHub Actions runs in real-time
311
+ make ci-status # Show GitHub Actions run status
312
+
313
+ # Maintenance
314
+ make clean # Clean all build artifacts
315
+ make debug # Show debug information
316
+ ```
317
+
318
+ ### Project Structure
319
+
320
+ ```
321
+ mcli/
322
+ ├── src/mcli/ # Main package source
323
+ │ ├── app/ # Application modules
324
+ │ │ ├── main.py # Main CLI entry point
325
+ │ │ ├── chat_cmd.py # Chat command implementation
326
+ │ │ └── commands_cmd.py # Command management
327
+ │ ├── chat/ # Chat system
328
+ │ ├── lib/ # Shared libraries
329
+ │ │ ├── api/ # API functionality
330
+ │ │ ├── ui/ # UI components
331
+ │ │ └── logger/ # Logging utilities
332
+ │ └── self/ # Self-management commands
333
+ ├── tests/ # Test suite
334
+ ├── .github/workflows/ # CI/CD workflows
335
+ ├── pyproject.toml # Project configuration
336
+ ├── Makefile # Build and development commands
337
+ └── README.md # This file
338
+ ```
339
+
340
+ ## Dependencies
341
+
342
+ ### Core Dependencies
343
+ - **click**: Command-line interface creation
344
+ - **rich**: Rich text and beautiful formatting
345
+ - **requests**: HTTP library
346
+ - **tomli**: TOML parser
347
+
348
+ ### AI & Chat
349
+ - **openai**: OpenAI API integration
350
+ - **anthropic**: Anthropic API integration
351
+
352
+ ### Development Tools
353
+ - **ipython**: Interactive Python shell
354
+ - **inquirerpy**: Interactive command-line prompts
355
+
356
+ ### Optional Dependencies
357
+
358
+ MCLI has been optimized with minimal core dependencies. Install only what you need:
359
+
360
+ ```bash
361
+ # Chat and AI features
362
+ uv pip install -e ".[chat]"
363
+
364
+ # Video processing
365
+ uv pip install -e ".[video]"
366
+
367
+ # Document processing (PDF, Excel, etc.)
368
+ uv pip install -e ".[documents]"
369
+
370
+ # ML/Trading features
371
+ uv pip install -e ".[ml]"
372
+
373
+ # Database support
374
+ uv pip install -e ".[database]"
375
+
376
+ # Web dashboards
377
+ uv pip install -e ".[dashboard]"
378
+
379
+ # Development tools
380
+ uv pip install -e ".[dev]"
381
+
382
+ # Everything
383
+ uv pip install -e ".[all]"
384
+ ```
385
+
386
+ Available extras:
387
+ - `chat` - OpenAI, Anthropic, Ollama support
388
+ - `async-extras` - FastAPI, Redis, advanced async features
389
+ - `video` - OpenCV, image processing
390
+ - `documents` - PDF, Excel processing
391
+ - `viz` - Matplotlib, Plotly visualization
392
+ - `database` - Supabase, SQLAlchemy, PostgreSQL
393
+ - `ml` - PyTorch, MLflow, DVC, trading features
394
+ - `gpu` - CUDA support
395
+ - `monitoring` - Prometheus, Datadog
396
+ - `streaming` - Kafka support
397
+ - `dashboard` - Streamlit dashboards
398
+ - `web` - Flask, FastAPI web frameworks
399
+ - `dev` - Testing, linting, type checking
400
+ - `all` - All optional features
401
+
402
+ ## Configuration
403
+
404
+ MCLI can be configured through environment variables and configuration files.
405
+
406
+ ### Environment Setup
407
+
408
+ 1. **Copy the environment template:**
409
+ ```bash
410
+ cp .env.example .env
411
+ ```
412
+
413
+ 2. **Edit the `.env` file with your configuration:**
414
+ ```bash
415
+ # Required for AI chat functionality
416
+ OPENAI_API_KEY=your-openai-api-key-here
417
+ ANTHROPIC_API_KEY=your-anthropic-api-key-here
418
+
419
+ # Required for politician trading features
420
+ SUPABASE_URL=https://your-project.supabase.co
421
+ SUPABASE_ANON_KEY=your-supabase-anon-key-here
422
+ SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key-here
423
+ ```
424
+
425
+ 3. **Optional development settings:**
426
+ ```bash
427
+ # Enable debug logging
428
+ MCLI_TRACE_LEVEL=1
429
+ MCLI_DEBUG=true
430
+
431
+ # Performance optimization
432
+ MCLI_AUTO_OPTIMIZE=true
433
+ ```
434
+
435
+ See `.env.example` for a complete list of configuration options.
436
+
437
+ ## Creating Custom Commands
438
+
439
+ MCLI supports dynamic command discovery. Add your commands to the appropriate modules:
440
+
441
+ ```python
442
+ import click
443
+ from mcli.lib.ui.styling import success
444
+
445
+ @click.command()
446
+ def my_command():
447
+ """My custom command."""
448
+ success("Hello from my custom command!")
449
+ ```
450
+
451
+ ## CI/CD
452
+
453
+ The project includes comprehensive CI/CD with GitHub Actions:
454
+
455
+ - **Build Workflow**: Multi-platform builds (Ubuntu, macOS)
456
+ - **Test Workflow**: Multi-Python version testing (3.9-3.12)
457
+ - **Automatic Triggers**: Runs on push/PR to main branch
458
+ - **Manual Triggers**: Use `make ci-trigger-*` commands
459
+
460
+ ## Contributing
461
+
462
+ 1. Fork the repository
463
+ 2. Create a feature branch: `git checkout -b feature-name`
464
+ 3. Make your changes
465
+ 4. Run tests: `make test`
466
+ 5. Validate build: `make validate-build`
467
+ 6. Commit your changes: `git commit -am 'Add feature'`
468
+ 7. Push to your fork: `git push origin feature-name`
469
+ 8. Create a Pull Request
470
+
471
+ ## License
472
+
473
+ MIT License - see [LICENSE](LICENSE) for details.
474
+
475
+ ## Acknowledgments
476
+
477
+ - Built with [Click](https://click.palletsprojects.com/) for CLI interfaces
478
+ - Styled with [Rich](https://github.com/Textualize/rich) for beautiful output
479
+ - Managed with [UV](https://docs.astral.sh/uv/) for fast Python packaging
@@ -0,0 +1,186 @@
1
+ mcli/cli.py,sha256=6KTyXn-pmVkAbCDu59PbiNKBwNra5su31ujFFZ6CBOM,389
2
+ mcli/config.toml,sha256=263yEVvP_W9F2zOLssUBgy7amKaRAFQuBrfxcMhKxaQ,1706
3
+ mcli/app/chat_cmd.py,sha256=OJK91iX-f-CL5-m3ECG4IlcbLbsWQpPp7XWuGnb0cVQ,1552
4
+ mcli/app/commands_cmd.py,sha256=5MccxYKNkzIisDeBPJj6K4ZwWeZFB2a4P8AS9B1_EDs,8441
5
+ mcli/app/completion_cmd.py,sha256=8gtYDddviBCD6Gk57lkLKOpim5QAMMcugYPmwfraBeo,7862
6
+ mcli/app/completion_helpers.py,sha256=GJvkxJ5lU_Gh4K35Q275QW1fN39poasyYjDO5-5kxM0,8809
7
+ mcli/app/cron_test_cmd.py,sha256=Ai4Smg2WxULeiMD5s2m_S_fXdMAAQsKHpSc4iJGSnwI,26156
8
+ mcli/app/logs_cmd.py,sha256=36tskGExynDVZGGS7DAM29CSBcFQ1wN9SITIynd39vI,13551
9
+ mcli/app/main.py,sha256=iA9HdqhBaOnOJ2--edLPD7iAatAzhIl5NAcNhw9qJAw,19010
10
+ mcli/app/model_cmd.py,sha256=wRs2xfDbWrdzmVH1hbHr8jypucNUKpXvNdYJAlvk5xc,8153
11
+ mcli/app/redis_cmd.py,sha256=Cl0LQ3Mqt27gLeb542_xw6bJBbIE-CBmWyMmaUTSk8c,9426
12
+ mcli/app/visual_cmd.py,sha256=jXighahHxeM9HANQ2Brk6nKFgi2ZuQBOBH7PE5xhebk,9428
13
+ mcli/app/model/model.py,sha256=EUGu_td-hRlbf4OElkdk1-0p7WyuG7sZmb-Ux2-J9KY,39061
14
+ mcli/app/video/video.py,sha256=3TL8vG3XSKzH_Iyy-IHPZOwNtT7js0VqVVNwIgfDvpk,41910
15
+ mcli/chat/chat.py,sha256=tXt90jHwfW0W_BTDGT7FftKLP1fEE3PLr6u3QQwinzc,102141
16
+ mcli/chat/command_rag.py,sha256=Ee8usPyRDRYDWpQ79dI7xbxM8Ljxsy_ym_MnL37nPAo,19368
17
+ mcli/chat/enhanced_chat.py,sha256=e3odh5klewDHIjfNOyvifLzCdHrysDc2IvNVHzTPIh4,27072
18
+ mcli/chat/system_controller.py,sha256=SuGvnIh2QObvM1DMicF3gGyeBkbz_xXS-hOOHjWx5j4,39114
19
+ mcli/chat/system_integration.py,sha256=xQ11thOUswPg8r1HZkId6U3bTCOtMYngt0-mUYYXpt4,40196
20
+ mcli/lib/lib.py,sha256=mlp2INx-UKTOECcA7Kens9yNt2gJi7GbKWFmf4cxj0c,632
21
+ mcli/lib/api/api.py,sha256=sPgAIYC8Z7AWV2TCBssNSKotbRggBqNLsbfzbjkhmUY,18558
22
+ mcli/lib/api/daemon_client.py,sha256=Nq8sVvNKyIGvWp9G_O3NEFo9JDqA1TEx5FOB7iqslB4,7415
23
+ mcli/lib/api/daemon_client_local.py,sha256=cki6-ErWtyVRk12BYB5hFZMGc8HisHFze_vRNlydnOI,1749
24
+ mcli/lib/api/daemon_decorator.py,sha256=j3He9jd-uL7n2_iUpCdjfKHaqe_tDPKPIoL8VpYMzUw,7677
25
+ mcli/lib/api/mcli_decorators.py,sha256=HzCwVgFsPKpunLmlScrHmrtEqbX2Ek2ly8uoWBGKR0M,29084
26
+ mcli/lib/auth/auth.py,sha256=x23xXErGcQpO2JzyRM-KZGJA_MJt6Rf3XuZFyInUVsI,2123
27
+ mcli/lib/auth/aws_manager.py,sha256=ogJmPgEL7WIwkIq1RgIXLQc84Lqj0WZYxQ16gjdqN6c,2667
28
+ mcli/lib/auth/azure_manager.py,sha256=NkrWd5dTD67yktGsaNXAPpbt6yeNszQXPR2SfK6fMbg,2805
29
+ mcli/lib/auth/credential_manager.py,sha256=NMcvQ9ngmCGhuPaA34o8PQdTxwLckqLfbfOG5yghpZw,6900
30
+ mcli/lib/auth/gcp_manager.py,sha256=BgZdRVWknDfqup3jl2DWBwg3bURuNi4xm5H-TGxxbhw,2894
31
+ mcli/lib/auth/key_manager.py,sha256=pH-I_CPoe4-GXZqyKq31wODCogRN5KER9aKRSTO1a_o,3426
32
+ mcli/lib/auth/mcli_manager.py,sha256=CP35tlgbqKyabesocICeiCmJyG_8oBfi4DN-yUbUvKc,2817
33
+ mcli/lib/auth/token_manager.py,sha256=-o_HC_oIVbPqRRERZzspAIYA5T4w9BCOa95JInY0FYI,2226
34
+ mcli/lib/auth/token_util.py,sha256=UicmPEh3Uo8cpVWz4-zU6Qk4cHiTWwtVxLVadY8MTqk,35039
35
+ mcli/lib/config/config.py,sha256=wUxo1EpkSGDifrsaPs9uQ1MXdpAI2096Yg6OVUTD94I,1332
36
+ mcli/lib/discovery/__init__.py,sha256=ud-dDGXdCPUxoSP4qYFFnOy-cxf3mZAKmfWmZmqPJ7Q,37
37
+ mcli/lib/discovery/command_discovery.py,sha256=ZLiJO3SQAaF9yU5nfUkEfKL6ak53TMWgPkB0G6j-M9M,9741
38
+ mcli/lib/erd/erd.py,sha256=zr9C6RPaCPX2qDJqOe2VA5pfTL5UF3Kj5M8BLFnNrUc,51843
39
+ mcli/lib/erd/generate_graph.py,sha256=wpSZpn2W9zQ6XaLBjq_2AJv20Sol-L1if92quypp7Ac,15596
40
+ mcli/lib/files/files.py,sha256=8z87uR1nOaTXtn7ExdKZMGgaHpk6cR9FJ1JvuYV2qJw,2538
41
+ mcli/lib/fs/fs.py,sha256=b-u6t3hps-XpKOndhsnNE5tVFATwuxpdD_oilpfwAe4,2823
42
+ mcli/lib/logger/logger.py,sha256=KYz__E8YyvQz-eztoPKHboCLwJD5CzH5O0uc2P-i4fA,24591
43
+ mcli/lib/performance/optimizer.py,sha256=erOp0shbvE7obM5-ljj3Fgz8S4ws9UghslFNSi34Qh0,14938
44
+ mcli/lib/performance/rust_bridge.py,sha256=y_8WLvWkDbHAT06ma_qwaGDDS8d0oJNOj4tj5P_yxuE,16744
45
+ mcli/lib/performance/uvloop_config.py,sha256=wyI5pQnec2RAhgm52HJ1AxYGFa3bjTa-CjhOqB2Oucc,4736
46
+ mcli/lib/pickles/pickles.py,sha256=O9dLJfyxViX-IyionbcjcsxHnq42XiLaAorsUrx9oZU,1448
47
+ mcli/lib/search/cached_vectorizer.py,sha256=IE36BaESqMsj10qSew6ksmPTDR-y4kMYvLYH5bO6xVg,17995
48
+ mcli/lib/services/data_pipeline.py,sha256=_JuNbihEW2NqmOCtKQrqWXUGNDbGo2AKSc15xkNht2s,16391
49
+ mcli/lib/services/lsh_client.py,sha256=NqzONi7i1LVupPOWeA30AOkdqnu47_ibWWBnC3VF5b8,16508
50
+ mcli/lib/services/redis_service.py,sha256=5QwSB-FMIS1zdTNp8VSOrZfr_wrUK10Bfe2N1ZTy-90,12730
51
+ mcli/lib/shell/shell.py,sha256=W7lowu75SnFsb0y8ZIDIawfcPUuJkT3_rI1IKU_c6Wk,4692
52
+ mcli/lib/toml/toml.py,sha256=p05tXgndxIlsA_l60ivmrE5hK92-Sf2u-adERrvIJPk,1115
53
+ mcli/lib/ui/styling.py,sha256=WkVmsaKKRefnMywY-hcVgTPB2z86ynzjx2NP5A9Ayj0,1390
54
+ mcli/lib/ui/visual_effects.py,sha256=SCcpOq53brTTsdmOZUcWorvVCrTM9Y_1bT7WM039RzM,24764
55
+ mcli/lib/watcher/watcher.py,sha256=WDslwiDmgBoQWFHis-ExwIR1ZrQAuGXio-rYEX8Tp7M,6045
56
+ mcli/ml/cache.py,sha256=CX1GDqTwKtbZxtJJVUZQKYNbNQDw9ajmilNO3qQdLsM,12154
57
+ mcli/ml/logging.py,sha256=gZNAeItgA23sQCZ3Rtl7Lpjc3TwGHjnyUmVkgQA1t-I,2475
58
+ mcli/ml/tasks.py,sha256=L88AzU4KfZdsxmyHdvXIB6dckcWW5gtkihujZ0leZDI,12535
59
+ mcli/ml/api/app.py,sha256=wiGiaK4yJGW8Whzi5NoJF0L9SNV4th0jsiVPRZhSnzY,6699
60
+ mcli/ml/api/middleware.py,sha256=sgDv3lqH8WFvGdaPH0DOprEgg3qxGf34XbiaYDG5_qc,7461
61
+ mcli/ml/api/schemas.py,sha256=dvqH46CXc-IRjL9NJhNsxFc35Q3vv2l3tOlNPBUrWz8,1500
62
+ mcli/ml/api/routers/admin_router.py,sha256=NGDpit6_oWoOoRXpvhVzsUB2sm2UtKkfQaPAPjO1hHg,353
63
+ mcli/ml/api/routers/auth_router.py,sha256=AoiUSmpZ3JcA-2YQfixeNDNSGp5vZw-vw9xcmjkOX5Y,6898
64
+ mcli/ml/api/routers/backtest_router.py,sha256=KBYBNu43RbCKnKcRVqtSNA9ZCqUdrtIH24h8z-5kxqQ,337
65
+ mcli/ml/api/routers/data_router.py,sha256=o3MM1j7wuOQ0i6SrVUwmHdlKRk1A74Kdaf9l5S5suiQ,367
66
+ mcli/ml/api/routers/model_router.py,sha256=A7qsyEGDUGCZE1WtlFpV6oQ6pPuUANmNS-5J2J0wadc,8523
67
+ mcli/ml/api/routers/monitoring_router.py,sha256=WT2K3U9gELTebdbexJkSKoSsbaQr_FXHagQ1VBRcyBs,360
68
+ mcli/ml/api/routers/portfolio_router.py,sha256=k9McTG5J_Hr1QGdENTszDrF8m75XPE0jsufl_DcmDhw,350
69
+ mcli/ml/api/routers/prediction_router.py,sha256=NbmQKEEvzAKN9e_fd7OL4a6HAfaRCYm4lXiQtwx0Pj0,8367
70
+ mcli/ml/api/routers/trade_router.py,sha256=VxfHld4O6oADQ6K5EQmY69GvS7tmPaoJMvy1HZdmRFg,418
71
+ mcli/ml/api/routers/websocket_router.py,sha256=i_QVMuQsZmNhvbcFPhcFRCZNColq3T6hw2GdUjIRlP4,2455
72
+ mcli/ml/auth/auth_manager.py,sha256=Ji1iVR2QiN_X8WRjwvSmYVmO0JnSLWW_wOVFtU0YcpI,13059
73
+ mcli/ml/auth/models.py,sha256=zk7eMwVk35grooL0SXEtQQu5qACUcGcTes1IvxA-Pyk,4373
74
+ mcli/ml/auth/permissions.py,sha256=PJxwzJC9pQ9JFF6YN6efoMiNUjxHuOv5RYrVUlw5G5k,8471
75
+ mcli/ml/backtesting/backtest_engine.py,sha256=di7IDXfzkUvK7WXPknHHOFK51L_gaG8ORCFkJP3xKDc,18841
76
+ mcli/ml/backtesting/performance_metrics.py,sha256=EqNmJNpTpRm3BDIw3mZt6NT9lz0JV0_vqWFKIm8ROtA,14396
77
+ mcli/ml/cli/main.py,sha256=itfs4CgC_LL1opVwhiL2tysrBAx-jMmQqyhJk1yZpj4,15542
78
+ mcli/ml/config/settings.py,sha256=Hl0XMmhnSgIlYxkM0fDj-Y1ZqrkTv4TZhaXeafgUV4c,14149
79
+ mcli/ml/configs/dvc_config.py,sha256=LWOg4di1MpZED18YJznhYJwWsQ5i5k73RMxZT7-poHw,7663
80
+ mcli/ml/configs/mlflow_config.py,sha256=GvoBqxdBU6eIAghjPKqXz00n5j3Z8grdk0DFZwilIS8,4476
81
+ mcli/ml/configs/mlops_manager.py,sha256=4CfqJnqLZjFl4Han3BAQ2ozOZmO8q47lWEnObn_Q5F4,9891
82
+ mcli/ml/dashboard/app.py,sha256=GP_FgmR-4xQ7JoZeLygaA9_Li8T310AG9UJi3vxRpzs,15092
83
+ mcli/ml/dashboard/app_integrated.py,sha256=6BjoV298c4jJ_Cs8syMQ35iG9pdP4uA-K_iTu_hTa6A,25610
84
+ mcli/ml/dashboard/app_supabase.py,sha256=E6zjJTcCpv8MCrQIZ4pgce4sxtLro7utfC9s2762QVA,19734
85
+ mcli/ml/dashboard/app_training.py,sha256=XeU-fDj2MVzM5IM1ezCYJV5RF51oyvXy2_lppPAhSdw,19623
86
+ mcli/ml/dashboard/cli.py,sha256=n4L732c9UoA9DUsiOEzaqBNs42vt1st-JP-UHuzc92I,1479
87
+ mcli/ml/data_ingestion/api_connectors.py,sha256=MdvRx783wcd3M6IKwJPLJy52-vPm7DA5Sp7YVHsoNFw,16483
88
+ mcli/ml/data_ingestion/data_pipeline.py,sha256=c4QI4NOeJo5xXH2oRXUFjUSgZSeljcfPzncY2XFs4Mo,18910
89
+ mcli/ml/data_ingestion/stream_processor.py,sha256=k7N8bUgPryDLGHZ20t3mSztNng7w2txDXLSkw2lWxFo,16027
90
+ mcli/ml/database/models.py,sha256=rSYb04zR6MStAPm-41BLF6pMJWhtTOOdqDi_BdcN-ZQ,21598
91
+ mcli/ml/database/session.py,sha256=hFqAbTXiPPDGW2HogMj07JBIxTMQbEr13PMSHncfFN8,5277
92
+ mcli/ml/database/migrations/env.py,sha256=4irmudcsgnCdm4b5o_rNd8SS1lw8-EyE4Qnw8Pyt2AA,2430
93
+ mcli/ml/experimentation/ab_testing.py,sha256=FBaB_8qDY97SghfXbQMOhsjt9B3Bqm2gsMs-ymc7-8U,31709
94
+ mcli/ml/features/ensemble_features.py,sha256=BcojLIIeNFDXkBNQoY0g3dpnIdl8aoMPRiMCJeO2ra4,22941
95
+ mcli/ml/features/political_features.py,sha256=tmM-0onsOXpzYQrjw6khSOTOiarf6tVSqDc9Cf69XPc,24888
96
+ mcli/ml/features/recommendation_engine.py,sha256=znm1Xn-5jKuourTTP9yCc_--kJWijdos1_tNV_Tq99U,30981
97
+ mcli/ml/features/stock_features.py,sha256=znkfYRoxJE15Zgr02Q5dmHjOpMzJP2WX1hXEgh7edh4,21978
98
+ mcli/ml/features/test_feature_engineering.py,sha256=FJr6AN687KEm6jm-Gk006C3CuqZsu4sjMw_GWzLzrcA,12007
99
+ mcli/ml/mlops/data_versioning.py,sha256=lkpoqFjYO3H6DmQe5JEZrvh3l6w64KxZgKefA61DHXs,15167
100
+ mcli/ml/mlops/experiment_tracker.py,sha256=fQLKishhdsz7DaGJRohMGXs55mE5EtqfXviWfp_7ajM,13587
101
+ mcli/ml/mlops/model_serving.py,sha256=2WfV08VdSIAnwLjkjKl91TkJF-Qu2QaxCodpct3Lrto,17089
102
+ mcli/ml/mlops/pipeline_orchestrator.py,sha256=Nsd1Bp6gJmD5U2dLtkT61aiLoIcU5cHy0OhrSzcq5KY,22745
103
+ mcli/ml/models/base_models.py,sha256=iO9LeRi5KjL6lenCoP4mFhixzYw5PdFoNCFtsk8Rh9A,10343
104
+ mcli/ml/models/ensemble_models.py,sha256=E_k8i6HxSHGdUtzbVHUkxJKgXhgxBoiV1rN2ZlzCqPo,22696
105
+ mcli/ml/models/recommendation_models.py,sha256=Ms_zxSMt3vCP5KCNxcnKq3ahgkrLSjalIi7MHTaJO70,17106
106
+ mcli/ml/models/test_models.py,sha256=7m3JoixdCtTl2A-Dne4rmtwWp2TwZgVMpo7dN6I59tQ,15730
107
+ mcli/ml/monitoring/drift_detection.py,sha256=UxWEu5jPrWhqJpf9gS28igSvnVk4vzagTpTU1yrfOVc,25956
108
+ mcli/ml/monitoring/metrics.py,sha256=y3Ok0ONm9NC3Z5NbRs6gvpsXRctMKyjjW7QkvIWln3I,1073
109
+ mcli/ml/optimization/portfolio_optimizer.py,sha256=dCZyPzlfHRYKo_tXtOj1IzoCiPXOrN-vH_6r3SXuWtI,31617
110
+ mcli/ml/preprocessing/data_cleaners.py,sha256=3UTWfi-TX0YXUhfnuFfps6QY8Mz9Z2i5Jg-Bxsk2EkM,17282
111
+ mcli/ml/preprocessing/feature_extractors.py,sha256=ZKexfA3-hIa4arAxn-J7e5T9P7zEXTdJUpCZDEPyPdo,17306
112
+ mcli/ml/preprocessing/ml_pipeline.py,sha256=RAWG_dJ-CFDrNXYJYmkGH821B3NlM_0JlxfRaXJqImw,14202
113
+ mcli/ml/preprocessing/politician_trading_preprocessor.py,sha256=q30WKabkjoqcqLSjDAV--sko4w3HSyVTsUsABm-kPxY,21900
114
+ mcli/ml/preprocessing/test_preprocessing.py,sha256=TLBp24Y7YloIrUI2_KmyJhB6uw2iJiiQZuoLgIRdcrI,9576
115
+ mcli/ml/scripts/populate_sample_data.py,sha256=GKbS1ISiYen45JCGxSEuYvHFiCNm4Rm-4jxGwJn9A8c,7633
116
+ mcli/ml/tests/test_integration.py,sha256=gyH7gnghshD4z9zZKqs3uZTK7oZdgVF_Ujcbe6-b3Gw,15643
117
+ mcli/ml/tests/test_training_dashboard.py,sha256=9P1JrUCei7YydSJR8L4OrVmEWm5-SAy3e6S3h87JplQ,13588
118
+ mcli/public/public.py,sha256=t9BkO1XV7s3YcoH0bbIpyjZ05UX_vBjaKtKkuDX7wZ0,114
119
+ mcli/public/oi/oi.py,sha256=SQabQWQ1pE67pWYEHwIDc3R93DARJfB6VHk7qxWx9xo,308
120
+ mcli/self/self_cmd.py,sha256=2fSPHKVHZKIIjTvLGJJY8oCeqk2vjOlD3vx1HlXjqi0,45315
121
+ mcli/workflow/lsh_integration.py,sha256=khwmMPsdYdkmmLxlZi_UqUo2p0Nf-6GF6PPbtOrmoYQ,13290
122
+ mcli/workflow/workflow.py,sha256=t58OVXmU9uQCJnyXuIbMAm8lihSzJ_jI10vXPNpZspk,928
123
+ mcli/workflow/daemon/api_daemon.py,sha256=hA4Jolvb2C0T5_adKeI7BYE5wajfH9BFmk4bK1CmbE4,29000
124
+ mcli/workflow/daemon/async_command_database.py,sha256=pvfKYjt0Jg1EPwJ1p2C0M3bsBWvjEs4Ok-Y6-jY0qVI,24873
125
+ mcli/workflow/daemon/async_process_manager.py,sha256=hDehiYuWnBOv8LbMLTDEi4DVyrwm8YrrYF8Ca5P66A4,21374
126
+ mcli/workflow/daemon/client.py,sha256=W2uuat08b75m2SNRybWJ0xiNt0NfU43HorqziYzaxvQ,16849
127
+ mcli/workflow/daemon/commands.py,sha256=AeSF815zsM0KDSyrpS9OplytrDHvwQHrka7P3IF5sXc,36559
128
+ mcli/workflow/daemon/daemon.py,sha256=j0A3--SNT8q1kQT-nluIHi5304P0fOU0jGEEGbZxI30,29159
129
+ mcli/workflow/daemon/daemon_api.py,sha256=6mK7jlMoPaEgH_ZxlV621I3g9fIjFw9DnWQ9JCM9HCs,1811
130
+ mcli/workflow/daemon/enhanced_daemon.py,sha256=rqnAUVskxgdroyjgZdPldDGGYaMgSE0gh5vrh4mCmJY,19827
131
+ mcli/workflow/daemon/process_cli.py,sha256=FGaDpLtoxuUgNP61OzFAeU4sRu2hMNRrz1zRH-wyxgo,8696
132
+ mcli/workflow/daemon/process_manager.py,sha256=He2Hjvnf8_6Gd982BpHss7rsD7Sl_h4KDkmRhHZEa5M,15200
133
+ mcli/workflow/daemon/test_daemon.py,sha256=Fc_X9dauAtc10WHtVarKdMZnRJOVYDeKRR1RbTVE-wA,8741
134
+ mcli/workflow/dashboard/dashboard_cmd.py,sha256=u4dkcdp4Iy9kdCyrxOy_55qZsA9eWC3Xc7Ih9Bcsk-M,3593
135
+ mcli/workflow/docker/docker.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
+ mcli/workflow/file/file.py,sha256=01TtvD5LOzRrfUcmvOA_h6P3A9Xk37gC4-hJH0j4ZNU,3147
137
+ mcli/workflow/gcloud/config.toml,sha256=4_bImtrmmYxIFguQ4xRMgziMr_HVO80piWcyflXgWkU,697
138
+ mcli/workflow/gcloud/gcloud.py,sha256=haTm4klifiSdYhQzDvtojkOCfsmFcB-zy2g8ZRkzBCk,1568
139
+ mcli/workflow/git_commit/ai_service.py,sha256=IMmMKH7x8aWt-PTpYksNmslb7DdPZIiCbaCao7rItdI,12189
140
+ mcli/workflow/git_commit/commands.py,sha256=2BcAICZcaD8Hcu8EcBZPMMKBFZW5AoGusdKJ-lteQ5Q,15448
141
+ mcli/workflow/model_service/client.py,sha256=wWYde_zR6_o6SP6oePwkHKmEVBtELrP8uKyZNTBWwVc,20888
142
+ mcli/workflow/model_service/download_and_run_efficient_models.py,sha256=UlKs_Oq_1Vn5qFP28ALCF6CVMTqcRT8hG5quHeGHLIc,9898
143
+ mcli/workflow/model_service/lightweight_embedder.py,sha256=82B0tYOYVTB3rdC-7XYEMnkw4Q_K0-p3LeyvdaP6ro8,14165
144
+ mcli/workflow/model_service/lightweight_model_server.py,sha256=NYhIBDBSa1UwnsF6cEwDuNrcOLYcEIntw19GeMGVF5U,29883
145
+ mcli/workflow/model_service/lightweight_test.py,sha256=J1--5Q8YvJT3Wzhqf0ElDAostRVA2yDs1LkVwkDMf5M,7330
146
+ mcli/workflow/model_service/model_service.py,sha256=pAxxHw4tShkrnWWFBnzsrGGKEFa8ZEv4Mza_C8clK38,69729
147
+ mcli/workflow/model_service/ollama_efficient_runner.py,sha256=fFZLoIfmgbQnMLwnXuH2ya5o_Tu6ww3ERtXg58HbamE,14340
148
+ mcli/workflow/model_service/pdf_processor.py,sha256=YgxGPd37L8OUoocrolYKJTwk_VPknbvTtQnOnfpXMYU,13621
149
+ mcli/workflow/model_service/test_efficient_runner.py,sha256=whu93oXrM0Z8HEzcKCc1DlAVY6CeGDXURAsQ0V-gSjo,6355
150
+ mcli/workflow/model_service/test_example.py,sha256=aMSNRyjz5ian6cmHQt_sE5-q10V82iYJDjeAV1rsfJs,9515
151
+ mcli/workflow/model_service/test_integration.py,sha256=PMylaOOab-mzkx_Si-gNwRzc_3tTs-9eMD8SOQUiJwM,4553
152
+ mcli/workflow/model_service/test_new_features.py,sha256=5mMluJX5qjVC6HHtppGw1HemcDws9kKA5J1Xmrou8jU,4297
153
+ mcli/workflow/openai/openai.py,sha256=Zv7nsFUQqLeg5jJaYKp6wsXZsb7b5pzjF8HQLpJkIaI,2769
154
+ mcli/workflow/politician_trading/commands.py,sha256=PFrHpJyscK_YrY2Pgt2gzyCOdbEpLCp-T-I5zzoSuO0,79583
155
+ mcli/workflow/politician_trading/config.py,sha256=g6esLt5zHpW0VSGncSfkDyIJ-m4DdHnAPBh1bMMciAY,4466
156
+ mcli/workflow/politician_trading/connectivity.py,sha256=2cxiWSHDJAx0RGvPFHtinQy6eMVYPItct6hMLHjd2O0,18963
157
+ mcli/workflow/politician_trading/data_sources.py,sha256=R9zFW9tYx29moyxWvzU1GGf9dDY-JtLNvhexyovjpRA,16471
158
+ mcli/workflow/politician_trading/database.py,sha256=c0PjtOK413Qye0xkxe9sajHS-z_U64Ot7c89UtAs9IA,16985
159
+ mcli/workflow/politician_trading/demo.py,sha256=1yGe6um-sb49D2ck63Az3zz348fzTW_Xqzflf97WchY,9724
160
+ mcli/workflow/politician_trading/models.py,sha256=KIGdDzqtyQaFEF37fSPPAIrhIFPeaRXsb8g34ZSTNzA,4799
161
+ mcli/workflow/politician_trading/monitoring.py,sha256=Z4oCXfbTFViri85L75Xq_5sKk5I3iziS8qNoZiTQ3Uo,15324
162
+ mcli/workflow/politician_trading/scrapers.py,sha256=Wlb6IUi4TuANW7M32WBXiHLd7PNBSZE6K1Nibst31YA,45970
163
+ mcli/workflow/politician_trading/scrapers_california.py,sha256=7RMkYDxyY_Vb-2BEQkFCxh2MxpnAMLGL_ZXkOVTSrJc,18378
164
+ mcli/workflow/politician_trading/scrapers_eu.py,sha256=LejQOgk7Cl569hKgOiPOOzB36RQbntX7McbBj7GsWGY,15194
165
+ mcli/workflow/politician_trading/scrapers_uk.py,sha256=mDV6t6ftGRIJm2hvImgzyAqB-dQUSgIVFuKPy1eNgFE,14957
166
+ mcli/workflow/politician_trading/scrapers_us_states.py,sha256=jIzfvPDKQAwIwq0s8ELZrYI4UKgYkYQObLuNCUy7TA0,18272
167
+ mcli/workflow/politician_trading/supabase_functions.py,sha256=7RXZuFsbc82-nwv54XdO19gkrI1sWJsuNn4LRKLw3T0,10089
168
+ mcli/workflow/politician_trading/workflow.py,sha256=EA_L69j9FrghBvYeCulb0Z13zHR8Ki9hLaYWHEMbEDY,36315
169
+ mcli/workflow/registry/registry.py,sha256=MbiabMfrvbFvD8K1c9ucmXCSdfqZa1PUBedwStz9UgA,5249
170
+ mcli/workflow/repo/repo.py,sha256=sk-hOzAa1IL1YSTSetgq-k-x0XRpGVGksSa095Q0JkM,8055
171
+ mcli/workflow/scheduler/commands.py,sha256=Zg8QFxNslYDD-TQxWaYrWI6dRAYSyZwoU_czdh6h960,16093
172
+ mcli/workflow/scheduler/cron_parser.py,sha256=pG9b7emjbBQ_-xNjauTUaeFoKZV_X-oCN5mpq18HyTs,7548
173
+ mcli/workflow/scheduler/job.py,sha256=UMKDbxTR01TaYKNTMaReIm33R_HghvHWovQC1IEGyRI,6613
174
+ mcli/workflow/scheduler/monitor.py,sha256=63TClZQyxbJyx5Sf3q1v8BgO6YPvWQNZYfCixM66Qik,5031
175
+ mcli/workflow/scheduler/persistence.py,sha256=SU8-F5wTpTercZvTeAXKlGI7gwHyfmYDhX2_KnEYnjs,11592
176
+ mcli/workflow/scheduler/scheduler.py,sha256=1Ujq9VgL1rSTCAtshuLA2_sodW6HOj0MEZem7Ga-kic,23351
177
+ mcli/workflow/sync/sync_cmd.py,sha256=S8TuZS_WAsdeD3_j8-XSAZFFrpynAwTWnCC0e6DCLh4,15574
178
+ mcli/workflow/sync/test_cmd.py,sha256=neVgs9zEnKSxlvzDpFkuCGucqnzjrShm2OvJtHibslg,10009
179
+ mcli/workflow/videos/videos.py,sha256=C47ViVv6qqqkSKQz6YXjzhok4UrqFbya8w5k_x7hToM,8360
180
+ mcli/workflow/wakatime/wakatime.py,sha256=sEjsUKa3-XyE8Ni6sAb_D3GAY5jDcA30KknW9YTbLTA,142
181
+ mcli_framework-7.0.0.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
182
+ mcli_framework-7.0.0.dist-info/METADATA,sha256=KQqIQV15B927LWkzQvcZhQm-0dxgc7fdYjXsBScAxkQ,14307
183
+ mcli_framework-7.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
184
+ mcli_framework-7.0.0.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
185
+ mcli_framework-7.0.0.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
186
+ mcli_framework-7.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,7 @@
1
+ [console_scripts]
2
+ mcli = mcli.app.main:main
3
+ mcli-backtest = mcli.ml.backtesting.run:main
4
+ mcli-dashboard = mcli.ml.dashboard:main
5
+ mcli-optimize = mcli.ml.optimization.optimize:main
6
+ mcli-serve = mcli.ml.serving.serve:main
7
+ mcli-train = mcli.ml.training.train:main