mcli-framework 7.11.3__tar.gz → 7.11.4__tar.gz

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 (400) hide show
  1. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/PKG-INFO +2 -2
  2. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/pyproject.toml +2 -2
  3. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/workflow.py +39 -6
  4. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli_framework.egg-info/PKG-INFO +2 -2
  5. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli_framework.egg-info/SOURCES.txt +0 -73
  6. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_custom_commands.py +12 -6
  7. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_custom_commands_filtering.py +2 -1
  8. mcli_framework-7.11.3/src/mcli/__init__.py +0 -160
  9. mcli_framework-7.11.3/src/mcli/__main__.py +0 -14
  10. mcli_framework-7.11.3/src/mcli/app/__init__.py +0 -23
  11. mcli_framework-7.11.3/src/mcli/app/model/__init__.py +0 -0
  12. mcli_framework-7.11.3/src/mcli/app/video/__init__.py +0 -5
  13. mcli_framework-7.11.3/src/mcli/chat/__init__.py +0 -34
  14. mcli_framework-7.11.3/src/mcli/lib/__init__.py +0 -0
  15. mcli_framework-7.11.3/src/mcli/lib/api/__init__.py +0 -0
  16. mcli_framework-7.11.3/src/mcli/lib/auth/__init__.py +0 -1
  17. mcli_framework-7.11.3/src/mcli/lib/config/__init__.py +0 -1
  18. mcli_framework-7.11.3/src/mcli/lib/erd/__init__.py +0 -25
  19. mcli_framework-7.11.3/src/mcli/lib/files/__init__.py +0 -0
  20. mcli_framework-7.11.3/src/mcli/lib/fs/__init__.py +0 -1
  21. mcli_framework-7.11.3/src/mcli/lib/logger/__init__.py +0 -3
  22. mcli_framework-7.11.3/src/mcli/lib/performance/__init__.py +0 -17
  23. mcli_framework-7.11.3/src/mcli/lib/pickles/__init__.py +0 -1
  24. mcli_framework-7.11.3/src/mcli/lib/secrets/__init__.py +0 -10
  25. mcli_framework-7.11.3/src/mcli/lib/shell/__init__.py +0 -0
  26. mcli_framework-7.11.3/src/mcli/lib/toml/__init__.py +0 -1
  27. mcli_framework-7.11.3/src/mcli/lib/watcher/__init__.py +0 -0
  28. mcli_framework-7.11.3/src/mcli/ml/__init__.py +0 -16
  29. mcli_framework-7.11.3/src/mcli/ml/api/__init__.py +0 -30
  30. mcli_framework-7.11.3/src/mcli/ml/api/routers/__init__.py +0 -27
  31. mcli_framework-7.11.3/src/mcli/ml/auth/__init__.py +0 -41
  32. mcli_framework-7.11.3/src/mcli/ml/backtesting/__init__.py +0 -33
  33. mcli_framework-7.11.3/src/mcli/ml/cli/__init__.py +0 -5
  34. mcli_framework-7.11.3/src/mcli/ml/config/__init__.py +0 -33
  35. mcli_framework-7.11.3/src/mcli/ml/configs/__init__.py +0 -16
  36. mcli_framework-7.11.3/src/mcli/ml/dashboard/__init__.py +0 -12
  37. mcli_framework-7.11.3/src/mcli/ml/dashboard/components/__init__.py +0 -7
  38. mcli_framework-7.11.3/src/mcli/ml/dashboard/pages/__init__.py +0 -6
  39. mcli_framework-7.11.3/src/mcli/ml/data_ingestion/__init__.py +0 -29
  40. mcli_framework-7.11.3/src/mcli/ml/database/__init__.py +0 -40
  41. mcli_framework-7.11.3/src/mcli/ml/experimentation/__init__.py +0 -29
  42. mcli_framework-7.11.3/src/mcli/ml/features/__init__.py +0 -39
  43. mcli_framework-7.11.3/src/mcli/ml/mlops/__init__.py +0 -19
  44. mcli_framework-7.11.3/src/mcli/ml/models/__init__.py +0 -90
  45. mcli_framework-7.11.3/src/mcli/ml/monitoring/__init__.py +0 -25
  46. mcli_framework-7.11.3/src/mcli/ml/optimization/__init__.py +0 -27
  47. mcli_framework-7.11.3/src/mcli/ml/predictions/__init__.py +0 -5
  48. mcli_framework-7.11.3/src/mcli/ml/preprocessing/__init__.py +0 -24
  49. mcli_framework-7.11.3/src/mcli/ml/scripts/__init__.py +0 -1
  50. mcli_framework-7.11.3/src/mcli/ml/serving/__init__.py +0 -1
  51. mcli_framework-7.11.3/src/mcli/ml/trading/__init__.py +0 -63
  52. mcli_framework-7.11.3/src/mcli/ml/training/__init__.py +0 -7
  53. mcli_framework-7.11.3/src/mcli/mygroup/__init__.py +0 -3
  54. mcli_framework-7.11.3/src/mcli/public/__init__.py +0 -1
  55. mcli_framework-7.11.3/src/mcli/public/commands/__init__.py +0 -2
  56. mcli_framework-7.11.3/src/mcli/self/__init__.py +0 -3
  57. mcli_framework-7.11.3/src/mcli/workflow/__init__.py +0 -0
  58. mcli_framework-7.11.3/src/mcli/workflow/daemon/__init__.py +0 -15
  59. mcli_framework-7.11.3/src/mcli/workflow/dashboard/__init__.py +0 -5
  60. mcli_framework-7.11.3/src/mcli/workflow/docker/__init__.py +0 -0
  61. mcli_framework-7.11.3/src/mcli/workflow/file/__init__.py +0 -0
  62. mcli_framework-7.11.3/src/mcli/workflow/gcloud/__init__.py +0 -1
  63. mcli_framework-7.11.3/src/mcli/workflow/git_commit/__init__.py +0 -0
  64. mcli_framework-7.11.3/src/mcli/workflow/interview/__init__.py +0 -0
  65. mcli_framework-7.11.3/src/mcli/workflow/notebook/__init__.py +0 -16
  66. mcli_framework-7.11.3/src/mcli/workflow/registry/__init__.py +0 -0
  67. mcli_framework-7.11.3/src/mcli/workflow/repo/__init__.py +0 -0
  68. mcli_framework-7.11.3/src/mcli/workflow/scheduler/__init__.py +0 -25
  69. mcli_framework-7.11.3/src/mcli/workflow/search/__init__.py +0 -0
  70. mcli_framework-7.11.3/src/mcli/workflow/secrets/__init__.py +0 -4
  71. mcli_framework-7.11.3/src/mcli/workflow/sync/__init__.py +0 -5
  72. mcli_framework-7.11.3/src/mcli/workflow/videos/__init__.py +0 -1
  73. mcli_framework-7.11.3/src/mcli/workflow/wakatime/__init__.py +0 -80
  74. mcli_framework-7.11.3/tests/cli/__init__.py +0 -0
  75. mcli_framework-7.11.3/tests/e2e/__init__.py +0 -0
  76. mcli_framework-7.11.3/tests/fixtures/__init__.py +0 -59
  77. mcli_framework-7.11.3/tests/integration/__init__.py +0 -0
  78. mcli_framework-7.11.3/tests/performance/__init__.py +0 -0
  79. mcli_framework-7.11.3/tests/property/__init__.py +0 -0
  80. mcli_framework-7.11.3/tests/unit/__init__.py +0 -0
  81. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/dependabot.yml +0 -0
  82. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/build.yml +0 -0
  83. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/ci.yml +0 -0
  84. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/codeql.yml +0 -0
  85. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/main_mcli.yml +0 -0
  86. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/ml-pipeline.yml +0 -0
  87. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/publish-self-hosted.yml +0 -0
  88. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/publish.yml +0 -0
  89. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/release.yml +0 -0
  90. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/security.yml +0 -0
  91. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/.github/workflows/test.yml +0 -0
  92. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/LICENSE +0 -0
  93. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/MANIFEST.in +0 -0
  94. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/README.md +0 -0
  95. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/mcli_rust/Cargo.toml +0 -0
  96. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/mcli_rust/src/command_parser.rs +0 -0
  97. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/mcli_rust/src/file_watcher.rs +0 -0
  98. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/mcli_rust/src/lib.rs +0 -0
  99. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/mcli_rust/src/process_manager.rs +0 -0
  100. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/mcli_rust/src/tfidf.rs +0 -0
  101. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/setup.cfg +0 -0
  102. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/app/commands_cmd.py +0 -0
  103. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/app/completion_helpers.py +0 -0
  104. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/app/main.py +0 -0
  105. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/app/model/model.py +0 -0
  106. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/app/model_cmd.py +0 -0
  107. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/app/video/video.py +0 -0
  108. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/chat/chat.py +0 -0
  109. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/chat/command_rag.py +0 -0
  110. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/chat/enhanced_chat.py +0 -0
  111. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/chat/system_controller.py +0 -0
  112. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/chat/system_integration.py +0 -0
  113. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/cli.py +0 -0
  114. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/config.toml +0 -0
  115. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/api/api.py +0 -0
  116. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/api/daemon_client.py +0 -0
  117. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/api/daemon_client_local.py +0 -0
  118. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/api/daemon_decorator.py +0 -0
  119. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/api/mcli_decorators.py +0 -0
  120. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/auth.py +0 -0
  121. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/aws_manager.py +0 -0
  122. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/azure_manager.py +0 -0
  123. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/credential_manager.py +0 -0
  124. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/gcp_manager.py +0 -0
  125. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/key_manager.py +0 -0
  126. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/mcli_manager.py +0 -0
  127. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/token_manager.py +0 -0
  128. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/auth/token_util.py +0 -0
  129. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/config/config.py +0 -0
  130. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/custom_commands.py +0 -0
  131. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/discovery/__init__.py +0 -0
  132. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/discovery/command_discovery.py +0 -0
  133. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/erd/erd.py +0 -0
  134. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/erd/generate_graph.py +0 -0
  135. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/files/files.py +0 -0
  136. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/fs/fs.py +0 -0
  137. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/lib.py +0 -0
  138. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/logger/logger.py +0 -0
  139. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/optional_deps.py +0 -0
  140. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/paths.py +0 -0
  141. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/performance/optimizer.py +0 -0
  142. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/performance/rust_bridge.py +0 -0
  143. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/performance/uvloop_config.py +0 -0
  144. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/pickles/pickles.py +0 -0
  145. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/search/cached_vectorizer.py +0 -0
  146. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/secrets/commands.py +0 -0
  147. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/secrets/manager.py +0 -0
  148. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/secrets/repl.py +0 -0
  149. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/secrets/store.py +0 -0
  150. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/services/data_pipeline.py +0 -0
  151. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/services/lsh_client.py +0 -0
  152. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/services/redis_service.py +0 -0
  153. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/shell/shell.py +0 -0
  154. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/toml/toml.py +0 -0
  155. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/ui/styling.py +0 -0
  156. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/ui/visual_effects.py +0 -0
  157. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/lib/watcher/watcher.py +0 -0
  158. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/app.py +0 -0
  159. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/middleware.py +0 -0
  160. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/admin_router.py +0 -0
  161. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/auth_router.py +0 -0
  162. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/backtest_router.py +0 -0
  163. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/data_router.py +0 -0
  164. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/model_router.py +0 -0
  165. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/monitoring_router.py +0 -0
  166. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/portfolio_router.py +0 -0
  167. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/prediction_router.py +0 -0
  168. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/trade_router.py +0 -0
  169. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/routers/websocket_router.py +0 -0
  170. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/api/schemas.py +0 -0
  171. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/auth/auth_manager.py +0 -0
  172. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/auth/models.py +0 -0
  173. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/auth/permissions.py +0 -0
  174. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/backtesting/backtest_engine.py +0 -0
  175. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/backtesting/performance_metrics.py +0 -0
  176. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/backtesting/run.py +0 -0
  177. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/cache.py +0 -0
  178. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/cli/main.py +0 -0
  179. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/config/settings.py +0 -0
  180. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/configs/dvc_config.py +0 -0
  181. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/configs/mlflow_config.py +0 -0
  182. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/configs/mlops_manager.py +0 -0
  183. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/app.py +0 -0
  184. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/app_integrated.py +0 -0
  185. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/app_supabase.py +0 -0
  186. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/app_training.py +0 -0
  187. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/cli.py +0 -0
  188. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/common.py +0 -0
  189. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/components/charts.py +0 -0
  190. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/components/metrics.py +0 -0
  191. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/components/tables.py +0 -0
  192. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/overview.py +0 -0
  193. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/cicd.py +0 -0
  194. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/debug_dependencies.py +0 -0
  195. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/gravity_viz.py +0 -0
  196. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/monte_carlo_predictions.py +0 -0
  197. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/predictions_enhanced.py +0 -0
  198. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/scrapers_and_logs.py +0 -0
  199. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/test_portfolio.py +0 -0
  200. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/trading.py +0 -0
  201. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/pages/workflows.py +0 -0
  202. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/streamlit_extras_utils.py +0 -0
  203. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/styles.py +0 -0
  204. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/utils.py +0 -0
  205. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/dashboard/warning_suppression.py +0 -0
  206. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/data_ingestion/api_connectors.py +0 -0
  207. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/data_ingestion/data_pipeline.py +0 -0
  208. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/data_ingestion/stream_processor.py +0 -0
  209. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/database/migrations/env.py +0 -0
  210. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/database/models.py +0 -0
  211. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/database/session.py +0 -0
  212. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/experimentation/ab_testing.py +0 -0
  213. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/features/ensemble_features.py +0 -0
  214. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/features/recommendation_engine.py +0 -0
  215. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/features/stock_features.py +0 -0
  216. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/features/test_feature_engineering.py +0 -0
  217. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/logging.py +0 -0
  218. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/mlops/data_versioning.py +0 -0
  219. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/mlops/experiment_tracker.py +0 -0
  220. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/mlops/model_serving.py +0 -0
  221. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/mlops/pipeline_orchestrator.py +0 -0
  222. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/models/base_models.py +0 -0
  223. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/models/ensemble_models.py +0 -0
  224. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/models/recommendation_models.py +0 -0
  225. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/models/test_models.py +0 -0
  226. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/monitoring/drift_detection.py +0 -0
  227. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/monitoring/metrics.py +0 -0
  228. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/optimization/optimize.py +0 -0
  229. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/optimization/portfolio_optimizer.py +0 -0
  230. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/predictions/monte_carlo.py +0 -0
  231. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/predictions/prediction_engine.py +0 -0
  232. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/preprocessing/data_cleaners.py +0 -0
  233. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/preprocessing/feature_extractors.py +0 -0
  234. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/preprocessing/ml_pipeline.py +0 -0
  235. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/preprocessing/test_preprocessing.py +0 -0
  236. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/scripts/populate_sample_data.py +0 -0
  237. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/serving/serve.py +0 -0
  238. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/tasks.py +0 -0
  239. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/tests/test_integration.py +0 -0
  240. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/tests/test_training_dashboard.py +0 -0
  241. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/trading/alpaca_client.py +0 -0
  242. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/trading/migrations.py +0 -0
  243. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/trading/models.py +0 -0
  244. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/trading/paper_trading.py +0 -0
  245. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/trading/risk_management.py +0 -0
  246. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/trading/trading_service.py +0 -0
  247. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/training/train.py +0 -0
  248. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/ml/training/train_model.py +0 -0
  249. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/mygroup/test_cmd.py +0 -0
  250. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/public/oi/oi.py +0 -0
  251. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/public/public.py +0 -0
  252. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/completion_cmd.py +0 -0
  253. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/logs_cmd.py +0 -0
  254. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/migrate_cmd.py +0 -0
  255. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/redis_cmd.py +0 -0
  256. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/self_cmd.py +0 -0
  257. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/store_cmd.py +0 -0
  258. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/test_cmd.py +0 -0
  259. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/visual_cmd.py +0 -0
  260. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/self/zsh_cmd.py +0 -0
  261. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/async_command_database.py +0 -0
  262. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
  263. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/client.py +0 -0
  264. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/daemon.py +0 -0
  265. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/daemon_api.py +0 -0
  266. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
  267. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/process_cli.py +0 -0
  268. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/process_manager.py +0 -0
  269. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/daemon/test_daemon.py +0 -0
  270. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/dashboard/dashboard_cmd.py +0 -0
  271. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/doc_convert.py +0 -0
  272. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/docker/docker.py +0 -0
  273. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/gcloud/config.toml +0 -0
  274. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/gcloud/gcloud.py +0 -0
  275. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/git_commit/ai_service.py +0 -0
  276. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/lsh_integration.py +0 -0
  277. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/client.py +0 -0
  278. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
  279. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
  280. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
  281. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
  282. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/model_service.py +0 -0
  283. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
  284. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/openai_adapter.py +0 -0
  285. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
  286. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
  287. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/test_example.py +0 -0
  288. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/test_integration.py +0 -0
  289. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/model_service/test_new_features.py +0 -0
  290. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/notebook/converter.py +0 -0
  291. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/notebook/notebook_cmd.py +0 -0
  292. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/notebook/schema.py +0 -0
  293. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/notebook/validator.py +0 -0
  294. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/openai/openai.py +0 -0
  295. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/registry/registry.py +0 -0
  296. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/repo/repo.py +0 -0
  297. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
  298. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/scheduler/job.py +0 -0
  299. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/scheduler/monitor.py +0 -0
  300. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/scheduler/persistence.py +0 -0
  301. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/scheduler/scheduler.py +0 -0
  302. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/secrets/secrets_cmd.py +0 -0
  303. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/sync/test_cmd.py +0 -0
  304. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli/workflow/wakatime/wakatime.py +0 -0
  305. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
  306. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli_framework.egg-info/entry_points.txt +0 -0
  307. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli_framework.egg-info/requires.txt +0 -0
  308. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/src/mcli_framework.egg-info/top_level.txt +0 -0
  309. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_all_commands.py +0 -0
  310. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_app_logs_cmd.py +0 -0
  311. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_app_redis_cmd.py +0 -0
  312. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_logs_cmd.py +0 -0
  313. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_main_app.py +0 -0
  314. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_model_cmd.py +0 -0
  315. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_self_cmd.py +0 -0
  316. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_self_cmd_commands.py +0 -0
  317. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_self_cmd_plugins.py +0 -0
  318. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_self_cmd_utilities.py +0 -0
  319. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_workflow_file.py +0 -0
  320. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_workflow_gcloud.py +0 -0
  321. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/cli/test_workflow_registry.py +0 -0
  322. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/conftest.py +0 -0
  323. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/demo_generate_graph.py +0 -0
  324. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/demo_hierarchical_transform.py +0 -0
  325. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/e2e/test_complete_workflows.py +0 -0
  326. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/e2e/test_model_workflow.py +0 -0
  327. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/e2e/test_new_user_workflow.py +0 -0
  328. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/e2e/test_update_workflow.py +0 -0
  329. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/fixtures/chat_fixtures.py +0 -0
  330. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/fixtures/cli_fixtures.py +0 -0
  331. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/fixtures/data_fixtures.py +0 -0
  332. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/fixtures/db_fixtures.py +0 -0
  333. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/fixtures/model_fixtures.py +0 -0
  334. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_agent.py +0 -0
  335. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_chat_client.py +0 -0
  336. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_chat_system.py +0 -0
  337. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_daemon_server.py +0 -0
  338. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_e2e_dashboard_lsh_supabase.py +0 -0
  339. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_flask_webapp.py +0 -0
  340. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_gcloud_services.py +0 -0
  341. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_lsh_client.py +0 -0
  342. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_lsh_service.py +0 -0
  343. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_ml_auth.py +0 -0
  344. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_ml_data_pipeline.py +0 -0
  345. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_ml_models.py +0 -0
  346. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_ml_pipeline.py +0 -0
  347. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_module_imports.py +0 -0
  348. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_oi_service.py +0 -0
  349. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_repo_operations.py +0 -0
  350. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_scheduler_integration.py +0 -0
  351. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_service_registry.py +0 -0
  352. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_supabase_live_connection.py +0 -0
  353. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_video_processing.py +0 -0
  354. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_wakatime_api.py +0 -0
  355. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_webapp_full.py +0 -0
  356. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_workflow.py +0 -0
  357. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/integration/test_workflow_commands.py +0 -0
  358. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/run_tests.py +0 -0
  359. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/test_harness.py +0 -0
  360. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/test_openai_adapter.py +0 -0
  361. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_api_utils.py +0 -0
  362. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_async_process_manager.py +0 -0
  363. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_auth_modules.py +0 -0
  364. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_bug_fixes.py +0 -0
  365. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_config.py +0 -0
  366. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_daemon_api.py +0 -0
  367. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_dashboard_components.py +0 -0
  368. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_dashboard_functions.py +0 -0
  369. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_dashboard_pages.py +0 -0
  370. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_dependencies.py +0 -0
  371. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_doc_convert_workflow.py +0 -0
  372. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_emulator_workflow.py +0 -0
  373. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_erd_generation.py +0 -0
  374. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_erd_generic.py +0 -0
  375. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_erd_imports.py +0 -0
  376. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_git_commit_workflow.py +0 -0
  377. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_lib_auth.py +0 -0
  378. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_lib_files.py +0 -0
  379. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_lib_utils.py +0 -0
  380. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_logger.py +0 -0
  381. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_ml_preprocessing.py +0 -0
  382. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_optional_deps.py +0 -0
  383. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_paths.py +0 -0
  384. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_pdf_compress.py +0 -0
  385. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_prediction_engine.py +0 -0
  386. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_regression.py +0 -0
  387. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_scheduler.py +0 -0
  388. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_scheduler_cron_parser.py +0 -0
  389. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_scheduler_job.py +0 -0
  390. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_scheduler_monitor.py +0 -0
  391. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_scheduler_persistence.py +0 -0
  392. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_self_update.py +0 -0
  393. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_store_cmd.py +0 -0
  394. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_supabase_connection.py +0 -0
  395. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_supabase_pagination.py +0 -0
  396. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_toml_utils.py +0 -0
  397. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_trading_imports.py +0 -0
  398. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_ui_rich.py +0 -0
  399. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/test_uv_compat.py +0 -0
  400. {mcli_framework-7.11.3 → mcli_framework-7.11.4}/tests/unit/workflow/test_notebook.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 7.11.3
4
- Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/commands/, version with lockfile, run as daemon or cron job.
3
+ Version: 7.11.4
4
+ Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/workflows/, version with lockfile, run as daemon or cron job.
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
7
7
  License: MIT
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "mcli-framework"
3
- version = "7.11.3"
4
- description = "Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/commands/, version with lockfile, run as daemon or cron job."
3
+ version = "7.11.4"
4
+ description = "Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/workflows/, version with lockfile, run as daemon or cron job."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
7
7
  authors = [{ name = "Luis Fernandez de la Vara", email = "luis@lefv.io" }]
@@ -17,16 +17,47 @@ class ScopedWorkflowsGroup(click.Group):
17
17
  def list_commands(self, ctx):
18
18
  """List available commands based on scope."""
19
19
  # Get scope from context
20
- is_global = ctx.params.get('is_global', False)
20
+ is_global = ctx.params.get("is_global", False)
21
21
 
22
22
  # Load commands from appropriate directory
23
23
  from mcli.lib.custom_commands import get_command_manager
24
+ from mcli.lib.logger.logger import get_logger
24
25
 
26
+ logger = get_logger()
25
27
  manager = get_command_manager(global_mode=is_global)
26
28
  commands = manager.load_all_commands()
27
29
 
28
- # Filter to only workflow group commands
29
- workflow_commands = [cmd.get('name') for cmd in commands if cmd.get('group') == 'workflow']
30
+ # Filter to only workflow group commands AND validate they can be loaded
31
+ workflow_commands = []
32
+ for cmd_data in commands:
33
+ if cmd_data.get("group") != "workflow":
34
+ continue
35
+
36
+ cmd_name = cmd_data.get("name")
37
+ # Validate the command can be loaded
38
+ temp_group = click.Group()
39
+ language = cmd_data.get("language", "python")
40
+
41
+ try:
42
+ if language == "shell":
43
+ success = manager.register_shell_command_with_click(cmd_data, temp_group)
44
+ else:
45
+ success = manager.register_command_with_click(cmd_data, temp_group)
46
+
47
+ if success and temp_group.commands.get(cmd_name):
48
+ workflow_commands.append(cmd_name)
49
+ else:
50
+ # Log the issue but don't show to user during list (too noisy)
51
+ logger.debug(
52
+ f"Workflow '{cmd_name}' has invalid code and will not be loaded. "
53
+ f"Edit with: mcli workflow edit {cmd_name}"
54
+ )
55
+ except Exception as e:
56
+ # Log the issue but don't show to user during list (too noisy)
57
+ logger.debug(
58
+ f"Failed to load workflow '{cmd_name}': {e}. "
59
+ f"Edit with: mcli workflow edit {cmd_name}"
60
+ )
30
61
 
31
62
  # Also include built-in subcommands
32
63
  builtin_commands = list(super().list_commands(ctx))
@@ -41,7 +72,7 @@ class ScopedWorkflowsGroup(click.Group):
41
72
  return builtin_cmd
42
73
 
43
74
  # Get scope from context
44
- is_global = ctx.params.get('is_global', False)
75
+ is_global = ctx.params.get("is_global", False)
45
76
 
46
77
  # Load the workflow command from appropriate directory
47
78
  from mcli.lib.custom_commands import get_command_manager
@@ -51,7 +82,7 @@ class ScopedWorkflowsGroup(click.Group):
51
82
 
52
83
  # Find the workflow command
53
84
  for command_data in commands:
54
- if command_data.get('name') == cmd_name and command_data.get('group') == 'workflow':
85
+ if command_data.get("name") == cmd_name and command_data.get("group") == "workflow":
55
86
  # Create a temporary group to register the command
56
87
  temp_group = click.Group()
57
88
  language = command_data.get("language", "python")
@@ -85,7 +116,7 @@ def workflows(ctx, is_global):
85
116
  """
86
117
  # Store the is_global flag in the context for subcommands to access
87
118
  ctx.ensure_object(dict)
88
- ctx.obj['is_global'] = is_global
119
+ ctx.obj["is_global"] = is_global
89
120
 
90
121
  # If a subcommand was invoked, the subcommand will handle execution
91
122
  if ctx.invoked_subcommand:
@@ -103,6 +134,7 @@ try:
103
134
  except ImportError as e:
104
135
  # Secrets workflow not available
105
136
  import sys
137
+
106
138
  from mcli.lib.logger.logger import get_logger
107
139
 
108
140
  logger = get_logger()
@@ -116,6 +148,7 @@ try:
116
148
  except ImportError as e:
117
149
  # Notebook commands not available
118
150
  import sys
151
+
119
152
  from mcli.lib.logger.logger import get_logger
120
153
 
121
154
  logger = get_logger()
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 7.11.3
4
- Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/commands/, version with lockfile, run as daemon or cron job.
3
+ Version: 7.11.4
4
+ Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/workflows/, version with lockfile, run as daemon or cron job.
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
7
7
  License: MIT
@@ -20,37 +20,28 @@ mcli_rust/src/file_watcher.rs
20
20
  mcli_rust/src/lib.rs
21
21
  mcli_rust/src/process_manager.rs
22
22
  mcli_rust/src/tfidf.rs
23
- src/mcli/__init__.py
24
- src/mcli/__main__.py
25
23
  src/mcli/cli.py
26
24
  src/mcli/config.toml
27
- src/mcli/app/__init__.py
28
25
  src/mcli/app/commands_cmd.py
29
26
  src/mcli/app/completion_helpers.py
30
27
  src/mcli/app/main.py
31
28
  src/mcli/app/model_cmd.py
32
- src/mcli/app/model/__init__.py
33
29
  src/mcli/app/model/model.py
34
- src/mcli/app/video/__init__.py
35
30
  src/mcli/app/video/video.py
36
- src/mcli/chat/__init__.py
37
31
  src/mcli/chat/chat.py
38
32
  src/mcli/chat/command_rag.py
39
33
  src/mcli/chat/enhanced_chat.py
40
34
  src/mcli/chat/system_controller.py
41
35
  src/mcli/chat/system_integration.py
42
- src/mcli/lib/__init__.py
43
36
  src/mcli/lib/custom_commands.py
44
37
  src/mcli/lib/lib.py
45
38
  src/mcli/lib/optional_deps.py
46
39
  src/mcli/lib/paths.py
47
- src/mcli/lib/api/__init__.py
48
40
  src/mcli/lib/api/api.py
49
41
  src/mcli/lib/api/daemon_client.py
50
42
  src/mcli/lib/api/daemon_client_local.py
51
43
  src/mcli/lib/api/daemon_decorator.py
52
44
  src/mcli/lib/api/mcli_decorators.py
53
- src/mcli/lib/auth/__init__.py
54
45
  src/mcli/lib/auth/auth.py
55
46
  src/mcli/lib/auth/aws_manager.py
56
47
  src/mcli/lib/auth/azure_manager.py
@@ -60,27 +51,19 @@ src/mcli/lib/auth/key_manager.py
60
51
  src/mcli/lib/auth/mcli_manager.py
61
52
  src/mcli/lib/auth/token_manager.py
62
53
  src/mcli/lib/auth/token_util.py
63
- src/mcli/lib/config/__init__.py
64
54
  src/mcli/lib/config/config.py
65
55
  src/mcli/lib/discovery/__init__.py
66
56
  src/mcli/lib/discovery/command_discovery.py
67
- src/mcli/lib/erd/__init__.py
68
57
  src/mcli/lib/erd/erd.py
69
58
  src/mcli/lib/erd/generate_graph.py
70
- src/mcli/lib/files/__init__.py
71
59
  src/mcli/lib/files/files.py
72
- src/mcli/lib/fs/__init__.py
73
60
  src/mcli/lib/fs/fs.py
74
- src/mcli/lib/logger/__init__.py
75
61
  src/mcli/lib/logger/logger.py
76
- src/mcli/lib/performance/__init__.py
77
62
  src/mcli/lib/performance/optimizer.py
78
63
  src/mcli/lib/performance/rust_bridge.py
79
64
  src/mcli/lib/performance/uvloop_config.py
80
- src/mcli/lib/pickles/__init__.py
81
65
  src/mcli/lib/pickles/pickles.py
82
66
  src/mcli/lib/search/cached_vectorizer.py
83
- src/mcli/lib/secrets/__init__.py
84
67
  src/mcli/lib/secrets/commands.py
85
68
  src/mcli/lib/secrets/manager.py
86
69
  src/mcli/lib/secrets/repl.py
@@ -88,23 +71,17 @@ src/mcli/lib/secrets/store.py
88
71
  src/mcli/lib/services/data_pipeline.py
89
72
  src/mcli/lib/services/lsh_client.py
90
73
  src/mcli/lib/services/redis_service.py
91
- src/mcli/lib/shell/__init__.py
92
74
  src/mcli/lib/shell/shell.py
93
- src/mcli/lib/toml/__init__.py
94
75
  src/mcli/lib/toml/toml.py
95
76
  src/mcli/lib/ui/styling.py
96
77
  src/mcli/lib/ui/visual_effects.py
97
- src/mcli/lib/watcher/__init__.py
98
78
  src/mcli/lib/watcher/watcher.py
99
- src/mcli/ml/__init__.py
100
79
  src/mcli/ml/cache.py
101
80
  src/mcli/ml/logging.py
102
81
  src/mcli/ml/tasks.py
103
- src/mcli/ml/api/__init__.py
104
82
  src/mcli/ml/api/app.py
105
83
  src/mcli/ml/api/middleware.py
106
84
  src/mcli/ml/api/schemas.py
107
- src/mcli/ml/api/routers/__init__.py
108
85
  src/mcli/ml/api/routers/admin_router.py
109
86
  src/mcli/ml/api/routers/auth_router.py
110
87
  src/mcli/ml/api/routers/backtest_router.py
@@ -115,23 +92,17 @@ src/mcli/ml/api/routers/portfolio_router.py
115
92
  src/mcli/ml/api/routers/prediction_router.py
116
93
  src/mcli/ml/api/routers/trade_router.py
117
94
  src/mcli/ml/api/routers/websocket_router.py
118
- src/mcli/ml/auth/__init__.py
119
95
  src/mcli/ml/auth/auth_manager.py
120
96
  src/mcli/ml/auth/models.py
121
97
  src/mcli/ml/auth/permissions.py
122
- src/mcli/ml/backtesting/__init__.py
123
98
  src/mcli/ml/backtesting/backtest_engine.py
124
99
  src/mcli/ml/backtesting/performance_metrics.py
125
100
  src/mcli/ml/backtesting/run.py
126
- src/mcli/ml/cli/__init__.py
127
101
  src/mcli/ml/cli/main.py
128
- src/mcli/ml/config/__init__.py
129
102
  src/mcli/ml/config/settings.py
130
- src/mcli/ml/configs/__init__.py
131
103
  src/mcli/ml/configs/dvc_config.py
132
104
  src/mcli/ml/configs/mlflow_config.py
133
105
  src/mcli/ml/configs/mlops_manager.py
134
- src/mcli/ml/dashboard/__init__.py
135
106
  src/mcli/ml/dashboard/app.py
136
107
  src/mcli/ml/dashboard/app_integrated.py
137
108
  src/mcli/ml/dashboard/app_supabase.py
@@ -143,11 +114,9 @@ src/mcli/ml/dashboard/streamlit_extras_utils.py
143
114
  src/mcli/ml/dashboard/styles.py
144
115
  src/mcli/ml/dashboard/utils.py
145
116
  src/mcli/ml/dashboard/warning_suppression.py
146
- src/mcli/ml/dashboard/components/__init__.py
147
117
  src/mcli/ml/dashboard/components/charts.py
148
118
  src/mcli/ml/dashboard/components/metrics.py
149
119
  src/mcli/ml/dashboard/components/tables.py
150
- src/mcli/ml/dashboard/pages/__init__.py
151
120
  src/mcli/ml/dashboard/pages/cicd.py
152
121
  src/mcli/ml/dashboard/pages/debug_dependencies.py
153
122
  src/mcli/ml/dashboard/pages/gravity_viz.py
@@ -157,68 +126,50 @@ src/mcli/ml/dashboard/pages/scrapers_and_logs.py
157
126
  src/mcli/ml/dashboard/pages/test_portfolio.py
158
127
  src/mcli/ml/dashboard/pages/trading.py
159
128
  src/mcli/ml/dashboard/pages/workflows.py
160
- src/mcli/ml/data_ingestion/__init__.py
161
129
  src/mcli/ml/data_ingestion/api_connectors.py
162
130
  src/mcli/ml/data_ingestion/data_pipeline.py
163
131
  src/mcli/ml/data_ingestion/stream_processor.py
164
- src/mcli/ml/database/__init__.py
165
132
  src/mcli/ml/database/models.py
166
133
  src/mcli/ml/database/session.py
167
134
  src/mcli/ml/database/migrations/env.py
168
- src/mcli/ml/experimentation/__init__.py
169
135
  src/mcli/ml/experimentation/ab_testing.py
170
- src/mcli/ml/features/__init__.py
171
136
  src/mcli/ml/features/ensemble_features.py
172
137
  src/mcli/ml/features/recommendation_engine.py
173
138
  src/mcli/ml/features/stock_features.py
174
139
  src/mcli/ml/features/test_feature_engineering.py
175
- src/mcli/ml/mlops/__init__.py
176
140
  src/mcli/ml/mlops/data_versioning.py
177
141
  src/mcli/ml/mlops/experiment_tracker.py
178
142
  src/mcli/ml/mlops/model_serving.py
179
143
  src/mcli/ml/mlops/pipeline_orchestrator.py
180
- src/mcli/ml/models/__init__.py
181
144
  src/mcli/ml/models/base_models.py
182
145
  src/mcli/ml/models/ensemble_models.py
183
146
  src/mcli/ml/models/recommendation_models.py
184
147
  src/mcli/ml/models/test_models.py
185
- src/mcli/ml/monitoring/__init__.py
186
148
  src/mcli/ml/monitoring/drift_detection.py
187
149
  src/mcli/ml/monitoring/metrics.py
188
- src/mcli/ml/optimization/__init__.py
189
150
  src/mcli/ml/optimization/optimize.py
190
151
  src/mcli/ml/optimization/portfolio_optimizer.py
191
- src/mcli/ml/predictions/__init__.py
192
152
  src/mcli/ml/predictions/monte_carlo.py
193
153
  src/mcli/ml/predictions/prediction_engine.py
194
- src/mcli/ml/preprocessing/__init__.py
195
154
  src/mcli/ml/preprocessing/data_cleaners.py
196
155
  src/mcli/ml/preprocessing/feature_extractors.py
197
156
  src/mcli/ml/preprocessing/ml_pipeline.py
198
157
  src/mcli/ml/preprocessing/test_preprocessing.py
199
- src/mcli/ml/scripts/__init__.py
200
158
  src/mcli/ml/scripts/populate_sample_data.py
201
- src/mcli/ml/serving/__init__.py
202
159
  src/mcli/ml/serving/serve.py
203
160
  src/mcli/ml/tests/test_integration.py
204
161
  src/mcli/ml/tests/test_training_dashboard.py
205
- src/mcli/ml/trading/__init__.py
206
162
  src/mcli/ml/trading/alpaca_client.py
207
163
  src/mcli/ml/trading/migrations.py
208
164
  src/mcli/ml/trading/models.py
209
165
  src/mcli/ml/trading/paper_trading.py
210
166
  src/mcli/ml/trading/risk_management.py
211
167
  src/mcli/ml/trading/trading_service.py
212
- src/mcli/ml/training/__init__.py
213
168
  src/mcli/ml/training/train.py
214
169
  src/mcli/ml/training/train_model.py
215
- src/mcli/mygroup/__init__.py
216
170
  src/mcli/mygroup/test_cmd.py
217
- src/mcli/public/__init__.py
218
171
  src/mcli/public/public.py
219
- src/mcli/public/commands/__init__.py
220
172
  src/mcli/public/oi/oi.py
221
- src/mcli/self/__init__.py
222
173
  src/mcli/self/completion_cmd.py
223
174
  src/mcli/self/logs_cmd.py
224
175
  src/mcli/self/migrate_cmd.py
@@ -228,11 +179,9 @@ src/mcli/self/store_cmd.py
228
179
  src/mcli/self/test_cmd.py
229
180
  src/mcli/self/visual_cmd.py
230
181
  src/mcli/self/zsh_cmd.py
231
- src/mcli/workflow/__init__.py
232
182
  src/mcli/workflow/doc_convert.py
233
183
  src/mcli/workflow/lsh_integration.py
234
184
  src/mcli/workflow/workflow.py
235
- src/mcli/workflow/daemon/__init__.py
236
185
  src/mcli/workflow/daemon/async_command_database.py
237
186
  src/mcli/workflow/daemon/async_process_manager.py
238
187
  src/mcli/workflow/daemon/client.py
@@ -242,17 +191,11 @@ src/mcli/workflow/daemon/enhanced_daemon.py
242
191
  src/mcli/workflow/daemon/process_cli.py
243
192
  src/mcli/workflow/daemon/process_manager.py
244
193
  src/mcli/workflow/daemon/test_daemon.py
245
- src/mcli/workflow/dashboard/__init__.py
246
194
  src/mcli/workflow/dashboard/dashboard_cmd.py
247
- src/mcli/workflow/docker/__init__.py
248
195
  src/mcli/workflow/docker/docker.py
249
- src/mcli/workflow/file/__init__.py
250
- src/mcli/workflow/gcloud/__init__.py
251
196
  src/mcli/workflow/gcloud/config.toml
252
197
  src/mcli/workflow/gcloud/gcloud.py
253
- src/mcli/workflow/git_commit/__init__.py
254
198
  src/mcli/workflow/git_commit/ai_service.py
255
- src/mcli/workflow/interview/__init__.py
256
199
  src/mcli/workflow/model_service/client.py
257
200
  src/mcli/workflow/model_service/download_and_run_efficient_models.py
258
201
  src/mcli/workflow/model_service/lightweight_embedder.py
@@ -266,29 +209,20 @@ src/mcli/workflow/model_service/test_efficient_runner.py
266
209
  src/mcli/workflow/model_service/test_example.py
267
210
  src/mcli/workflow/model_service/test_integration.py
268
211
  src/mcli/workflow/model_service/test_new_features.py
269
- src/mcli/workflow/notebook/__init__.py
270
212
  src/mcli/workflow/notebook/converter.py
271
213
  src/mcli/workflow/notebook/notebook_cmd.py
272
214
  src/mcli/workflow/notebook/schema.py
273
215
  src/mcli/workflow/notebook/validator.py
274
216
  src/mcli/workflow/openai/openai.py
275
- src/mcli/workflow/registry/__init__.py
276
217
  src/mcli/workflow/registry/registry.py
277
- src/mcli/workflow/repo/__init__.py
278
218
  src/mcli/workflow/repo/repo.py
279
- src/mcli/workflow/scheduler/__init__.py
280
219
  src/mcli/workflow/scheduler/cron_parser.py
281
220
  src/mcli/workflow/scheduler/job.py
282
221
  src/mcli/workflow/scheduler/monitor.py
283
222
  src/mcli/workflow/scheduler/persistence.py
284
223
  src/mcli/workflow/scheduler/scheduler.py
285
- src/mcli/workflow/search/__init__.py
286
- src/mcli/workflow/secrets/__init__.py
287
224
  src/mcli/workflow/secrets/secrets_cmd.py
288
- src/mcli/workflow/sync/__init__.py
289
225
  src/mcli/workflow/sync/test_cmd.py
290
- src/mcli/workflow/videos/__init__.py
291
- src/mcli/workflow/wakatime/__init__.py
292
226
  src/mcli/workflow/wakatime/wakatime.py
293
227
  src/mcli_framework.egg-info/PKG-INFO
294
228
  src/mcli_framework.egg-info/SOURCES.txt
@@ -302,7 +236,6 @@ tests/demo_hierarchical_transform.py
302
236
  tests/run_tests.py
303
237
  tests/test_harness.py
304
238
  tests/test_openai_adapter.py
305
- tests/cli/__init__.py
306
239
  tests/cli/test_all_commands.py
307
240
  tests/cli/test_app_logs_cmd.py
308
241
  tests/cli/test_app_redis_cmd.py
@@ -316,18 +249,15 @@ tests/cli/test_self_cmd_utilities.py
316
249
  tests/cli/test_workflow_file.py
317
250
  tests/cli/test_workflow_gcloud.py
318
251
  tests/cli/test_workflow_registry.py
319
- tests/e2e/__init__.py
320
252
  tests/e2e/test_complete_workflows.py
321
253
  tests/e2e/test_model_workflow.py
322
254
  tests/e2e/test_new_user_workflow.py
323
255
  tests/e2e/test_update_workflow.py
324
- tests/fixtures/__init__.py
325
256
  tests/fixtures/chat_fixtures.py
326
257
  tests/fixtures/cli_fixtures.py
327
258
  tests/fixtures/data_fixtures.py
328
259
  tests/fixtures/db_fixtures.py
329
260
  tests/fixtures/model_fixtures.py
330
- tests/integration/__init__.py
331
261
  tests/integration/test_agent.py
332
262
  tests/integration/test_chat_client.py
333
263
  tests/integration/test_chat_system.py
@@ -352,9 +282,6 @@ tests/integration/test_wakatime_api.py
352
282
  tests/integration/test_webapp_full.py
353
283
  tests/integration/test_workflow.py
354
284
  tests/integration/test_workflow_commands.py
355
- tests/performance/__init__.py
356
- tests/property/__init__.py
357
- tests/unit/__init__.py
358
285
  tests/unit/test_api_utils.py
359
286
  tests/unit/test_async_process_manager.py
360
287
  tests/unit/test_auth_modules.py
@@ -25,22 +25,28 @@ class TestCustomCommandManager:
25
25
  self.commands_dir.mkdir(parents=True, exist_ok=True)
26
26
 
27
27
  # Enable test commands for testing
28
- os.environ['MCLI_INCLUDE_TEST_COMMANDS'] = 'true'
28
+ os.environ["MCLI_INCLUDE_TEST_COMMANDS"] = "true"
29
29
 
30
- # Patch get_custom_commands_dir to return our temp directory
31
- self.patcher = patch(
30
+ # Patch get_custom_commands_dir and get_lockfile_path to return our temp directory
31
+ self.patcher_commands = patch(
32
32
  "mcli.lib.custom_commands.get_custom_commands_dir",
33
33
  return_value=self.commands_dir,
34
34
  )
35
- self.patcher.start()
35
+ self.patcher_lockfile = patch(
36
+ "mcli.lib.custom_commands.get_lockfile_path",
37
+ return_value=self.commands_dir / "commands.lock.json",
38
+ )
39
+ self.patcher_commands.start()
40
+ self.patcher_lockfile.start()
36
41
 
37
42
  self.manager = CustomCommandManager()
38
43
 
39
44
  def teardown_method(self):
40
45
  """Cleanup test environment"""
41
- self.patcher.stop()
46
+ self.patcher_commands.stop()
47
+ self.patcher_lockfile.stop()
42
48
  # Clean up environment variable
43
- os.environ.pop('MCLI_INCLUDE_TEST_COMMANDS', None)
49
+ os.environ.pop("MCLI_INCLUDE_TEST_COMMANDS", None)
44
50
  import shutil
45
51
 
46
52
  shutil.rmtree(self.temp_dir, ignore_errors=True)
@@ -22,7 +22,8 @@ def command_manager(temp_commands_dir, monkeypatch):
22
22
  """Create a CustomCommandManager with a temporary directory."""
23
23
  # Patch get_custom_commands_dir to return our temp dir
24
24
  monkeypatch.setattr(
25
- "mcli.lib.custom_commands.get_custom_commands_dir", lambda: temp_commands_dir
25
+ "mcli.lib.custom_commands.get_custom_commands_dir",
26
+ lambda global_mode=False: temp_commands_dir,
26
27
  )
27
28
  return CustomCommandManager()
28
29
 
@@ -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)
@@ -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()
@@ -1,23 +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
- __all__ = ["main"]
File without changes
@@ -1,5 +0,0 @@
1
- """
2
- Video processing commands for mcli.
3
- """
4
-
5
- from .video import *