mcli-framework 8.0.18__tar.gz → 8.0.19__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.
Files changed (449) hide show
  1. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/PKG-INFO +1 -1
  2. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/pyproject.toml +1 -1
  3. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/main.py +15 -4
  4. mcli_framework-8.0.19/src/mcli/app/mv_cmd.py +143 -0
  5. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/constants/__init__.py +2 -0
  6. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/constants/messages.py +32 -0
  7. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli_framework.egg-info/PKG-INFO +1 -1
  8. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli_framework.egg-info/SOURCES.txt +1 -0
  9. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/dependabot.yml +0 -0
  10. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/dependency-review-config.yml +0 -0
  11. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/build.yml +0 -0
  12. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/ci.yml +0 -0
  13. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/codeql.yml +0 -0
  14. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/docs-links.yml +0 -0
  15. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/publish-self-hosted.yml +0 -0
  16. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/publish.yml +0 -0
  17. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/release.yml +0 -0
  18. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/security.yml +0 -0
  19. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/.github/workflows/test.yml +0 -0
  20. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/LICENSE +0 -0
  21. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/MANIFEST.in +0 -0
  22. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/README.md +0 -0
  23. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/llms-full.txt +0 -0
  24. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/llms.txt +0 -0
  25. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/mcli_rust/Cargo.toml +0 -0
  26. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/mcli_rust/src/command_parser.rs +0 -0
  27. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/mcli_rust/src/file_watcher.rs +0 -0
  28. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/mcli_rust/src/lib.rs +0 -0
  29. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/mcli_rust/src/process_manager.rs +0 -0
  30. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/mcli_rust/src/tfidf.rs +0 -0
  31. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/setup.cfg +0 -0
  32. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/__init__.py +0 -0
  33. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/__init__.py +0 -0
  34. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/commands_cmd.py +0 -0
  35. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/completion_helpers.py +0 -0
  36. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/context_cmd.py +0 -0
  37. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/create_cmd.py +0 -0
  38. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/delete_cmd.py +0 -0
  39. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/edit_cmd.py +0 -0
  40. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/init_cmd.py +0 -0
  41. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/list_cmd.py +0 -0
  42. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/migrate_cmd.py +0 -0
  43. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/model/__init__.py +0 -0
  44. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/model/model.py +0 -0
  45. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/model_cmd.py +0 -0
  46. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/new_cmd.py +0 -0
  47. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/remove_cmd.py +0 -0
  48. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/rm_cmd.py +0 -0
  49. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/search_cmd.py +0 -0
  50. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/sync_cmd.py +0 -0
  51. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/video/__init__.py +0 -0
  52. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/app/video/video.py +0 -0
  53. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/config.toml +0 -0
  54. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/__init__.py +0 -0
  55. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/api/__init__.py +0 -0
  56. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/api/api.py +0 -0
  57. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/api/daemon_client.py +0 -0
  58. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/api/daemon_client_local.py +0 -0
  59. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/api/daemon_decorator.py +0 -0
  60. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/api/mcli_decorators.py +0 -0
  61. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/__init__.py +0 -0
  62. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/auth.py +0 -0
  63. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/aws_manager.py +0 -0
  64. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/azure_manager.py +0 -0
  65. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/credential_manager.py +0 -0
  66. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/gcp_manager.py +0 -0
  67. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/key_manager.py +0 -0
  68. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/mcli_manager.py +0 -0
  69. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/token_manager.py +0 -0
  70. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/auth/token_util.py +0 -0
  71. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/config/__init__.py +0 -0
  72. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/config/config.py +0 -0
  73. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/constants/commands.py +0 -0
  74. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/constants/defaults.py +0 -0
  75. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/constants/env.py +0 -0
  76. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/constants/paths.py +0 -0
  77. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/constants/scripts.py +0 -0
  78. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/constants/storage.py +0 -0
  79. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/custom_commands.py +0 -0
  80. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/discovery/__init__.py +0 -0
  81. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/discovery/command_discovery.py +0 -0
  82. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/erd/__init__.py +0 -0
  83. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/erd/erd.py +0 -0
  84. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/erd/generate_graph.py +0 -0
  85. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/errors.py +0 -0
  86. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/feature_detection.py +0 -0
  87. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/files/__init__.py +0 -0
  88. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/files/files.py +0 -0
  89. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/folder_workflows.py +0 -0
  90. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/fs/__init__.py +0 -0
  91. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/fs/fs.py +0 -0
  92. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/ipfs_sync.py +0 -0
  93. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/lib.py +0 -0
  94. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/logger/__init__.py +0 -0
  95. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/logger/logger.py +0 -0
  96. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/optional_deps.py +0 -0
  97. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/paths.py +0 -0
  98. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/performance/__init__.py +0 -0
  99. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/performance/optimizer.py +0 -0
  100. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/performance/rust_bridge.py +0 -0
  101. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/performance/uvloop_config.py +0 -0
  102. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/pickles/__init__.py +0 -0
  103. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/pickles/pickles.py +0 -0
  104. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/pyenv/__init__.py +0 -0
  105. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/pyenv/deps.py +0 -0
  106. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/pyenv/manager.py +0 -0
  107. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/pyenv/venv.py +0 -0
  108. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/script_loader.py +0 -0
  109. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/script_sync.py +0 -0
  110. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/script_watcher.py +0 -0
  111. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/search/cached_vectorizer.py +0 -0
  112. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/secrets/__init__.py +0 -0
  113. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/secrets/commands.py +0 -0
  114. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/secrets/manager.py +0 -0
  115. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/secrets/repl.py +0 -0
  116. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/secrets/store.py +0 -0
  117. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/services/data_pipeline.py +0 -0
  118. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/services/lsh_client.py +0 -0
  119. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/services/redis_service.py +0 -0
  120. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/shell/__init__.py +0 -0
  121. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/shell/shell.py +0 -0
  122. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/templates/__init__.py +0 -0
  123. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/templates/command_templates.py +0 -0
  124. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/toml/__init__.py +0 -0
  125. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/toml/toml.py +0 -0
  126. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/types.py +0 -0
  127. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/ui/styling.py +0 -0
  128. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/ui/visual_effects.py +0 -0
  129. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/watcher/__init__.py +0 -0
  130. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/watcher/watcher.py +0 -0
  131. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/lib/workspace_registry.py +0 -0
  132. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/__init__.py +0 -0
  133. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/__init__.py +0 -0
  134. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/app.py +0 -0
  135. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/middleware.py +0 -0
  136. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/__init__.py +0 -0
  137. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/admin_router.py +0 -0
  138. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/auth_router.py +0 -0
  139. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/backtest_router.py +0 -0
  140. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/data_router.py +0 -0
  141. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/model_router.py +0 -0
  142. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/monitoring_router.py +0 -0
  143. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/portfolio_router.py +0 -0
  144. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/prediction_router.py +0 -0
  145. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/trade_router.py +0 -0
  146. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/routers/websocket_router.py +0 -0
  147. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/api/schemas.py +0 -0
  148. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/auth/__init__.py +0 -0
  149. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/auth/auth_manager.py +0 -0
  150. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/auth/models.py +0 -0
  151. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/auth/permissions.py +0 -0
  152. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/backtesting/__init__.py +0 -0
  153. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/backtesting/backtest_engine.py +0 -0
  154. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/backtesting/performance_metrics.py +0 -0
  155. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/backtesting/run.py +0 -0
  156. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/cache.py +0 -0
  157. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/cli/__init__.py +0 -0
  158. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/cli/main.py +0 -0
  159. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/config/__init__.py +0 -0
  160. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/config/settings.py +0 -0
  161. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/configs/__init__.py +0 -0
  162. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/configs/dvc_config.py +0 -0
  163. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/configs/mlflow_config.py +0 -0
  164. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/configs/mlops_manager.py +0 -0
  165. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/__init__.py +0 -0
  166. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/app.py +0 -0
  167. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/app_integrated.py +0 -0
  168. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/app_supabase.py +0 -0
  169. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/app_training.py +0 -0
  170. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/cli.py +0 -0
  171. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/common.py +0 -0
  172. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/components/__init__.py +0 -0
  173. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/components/charts.py +0 -0
  174. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/components/metrics.py +0 -0
  175. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/components/tables.py +0 -0
  176. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/overview.py +0 -0
  177. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/__init__.py +0 -0
  178. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/cicd.py +0 -0
  179. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/debug_dependencies.py +0 -0
  180. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/gravity_viz.py +0 -0
  181. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/monte_carlo_predictions.py +0 -0
  182. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/predictions_enhanced.py +0 -0
  183. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/scrapers_and_logs.py +0 -0
  184. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/test_portfolio.py +0 -0
  185. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/trading.py +0 -0
  186. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/pages/workflows.py +0 -0
  187. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/streamlit_extras_utils.py +0 -0
  188. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/styles.py +0 -0
  189. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/utils.py +0 -0
  190. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/dashboard/warning_suppression.py +0 -0
  191. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/data_ingestion/__init__.py +0 -0
  192. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/data_ingestion/api_connectors.py +0 -0
  193. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/data_ingestion/data_pipeline.py +0 -0
  194. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/data_ingestion/stream_processor.py +0 -0
  195. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/database/__init__.py +0 -0
  196. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/database/migrations/env.py +0 -0
  197. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/database/models.py +0 -0
  198. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/database/session.py +0 -0
  199. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/experimentation/__init__.py +0 -0
  200. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/experimentation/ab_testing.py +0 -0
  201. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/features/__init__.py +0 -0
  202. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/features/ensemble_features.py +0 -0
  203. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/features/recommendation_engine.py +0 -0
  204. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/features/stock_features.py +0 -0
  205. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/features/test_feature_engineering.py +0 -0
  206. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/logging.py +0 -0
  207. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/mlops/__init__.py +0 -0
  208. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/mlops/data_versioning.py +0 -0
  209. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/mlops/experiment_tracker.py +0 -0
  210. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/mlops/model_serving.py +0 -0
  211. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/mlops/pipeline_orchestrator.py +0 -0
  212. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/models/__init__.py +0 -0
  213. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/models/base_models.py +0 -0
  214. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/models/ensemble_models.py +0 -0
  215. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/models/recommendation_models.py +0 -0
  216. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/models/test_models.py +0 -0
  217. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/monitoring/__init__.py +0 -0
  218. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/monitoring/drift_detection.py +0 -0
  219. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/monitoring/metrics.py +0 -0
  220. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/optimization/__init__.py +0 -0
  221. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/optimization/optimize.py +0 -0
  222. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/optimization/portfolio_optimizer.py +0 -0
  223. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/predictions/__init__.py +0 -0
  224. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/predictions/monte_carlo.py +0 -0
  225. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/predictions/prediction_engine.py +0 -0
  226. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/preprocessing/__init__.py +0 -0
  227. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/preprocessing/data_cleaners.py +0 -0
  228. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/preprocessing/feature_extractors.py +0 -0
  229. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/preprocessing/ml_pipeline.py +0 -0
  230. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/preprocessing/test_preprocessing.py +0 -0
  231. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/scripts/__init__.py +0 -0
  232. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/scripts/populate_sample_data.py +0 -0
  233. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/serving/__init__.py +0 -0
  234. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/serving/serve.py +0 -0
  235. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/tasks.py +0 -0
  236. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/tests/test_integration.py +0 -0
  237. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/tests/test_training_dashboard.py +0 -0
  238. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/trading/__init__.py +0 -0
  239. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/trading/alpaca_client.py +0 -0
  240. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/trading/migrations.py +0 -0
  241. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/trading/models.py +0 -0
  242. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/trading/paper_trading.py +0 -0
  243. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/trading/risk_management.py +0 -0
  244. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/trading/trading_service.py +0 -0
  245. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/training/__init__.py +0 -0
  246. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/training/train.py +0 -0
  247. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/ml/training/train_model.py +0 -0
  248. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/mygroup/__init__.py +0 -0
  249. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/mygroup/test_cmd.py +0 -0
  250. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/public/__init__.py +0 -0
  251. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/public/commands/__init__.py +0 -0
  252. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/public/oi/oi.py +0 -0
  253. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/public/public.py +0 -0
  254. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/__init__.py +0 -0
  255. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/completion_cmd.py +0 -0
  256. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/health_cmd.py +0 -0
  257. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/logs_cmd.py +0 -0
  258. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/migrate_cmd.py +0 -0
  259. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/redis_cmd.py +0 -0
  260. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/self_cmd.py +0 -0
  261. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/store_cmd.py +0 -0
  262. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/test_cmd.py +0 -0
  263. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/visual_cmd.py +0 -0
  264. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/workflows_cmd.py +0 -0
  265. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/self/zsh_cmd.py +0 -0
  266. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/__init__.py +0 -0
  267. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/backends/__init__.py +0 -0
  268. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/backends/ipfs_backend.py +0 -0
  269. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/base.py +0 -0
  270. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/cache.py +0 -0
  271. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/encryption.py +0 -0
  272. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/factory.py +0 -0
  273. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/registry.py +0 -0
  274. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/storage/storacha_cli.py +0 -0
  275. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/__init__.py +0 -0
  276. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/__init__.py +0 -0
  277. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/async_command_database.py +0 -0
  278. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
  279. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/client.py +0 -0
  280. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/daemon.py +0 -0
  281. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/daemon_api.py +0 -0
  282. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
  283. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/process_cli.py +0 -0
  284. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/process_manager.py +0 -0
  285. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/daemon/test_daemon.py +0 -0
  286. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/dashboard/__init__.py +0 -0
  287. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/dashboard/dashboard_cmd.py +0 -0
  288. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/doc_convert.py +0 -0
  289. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/docker/__init__.py +0 -0
  290. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/docker/docker.py +0 -0
  291. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/file/__init__.py +0 -0
  292. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/gcloud/__init__.py +0 -0
  293. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/gcloud/config.toml +0 -0
  294. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/gcloud/gcloud.py +0 -0
  295. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/git_commit/__init__.py +0 -0
  296. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/git_commit/ai_service.py +0 -0
  297. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/interview/__init__.py +0 -0
  298. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/lsh_integration.py +0 -0
  299. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/client.py +0 -0
  300. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
  301. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
  302. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
  303. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
  304. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/model_service.py +0 -0
  305. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
  306. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/openai_adapter.py +0 -0
  307. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
  308. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
  309. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/test_example.py +0 -0
  310. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/test_integration.py +0 -0
  311. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/model_service/test_new_features.py +0 -0
  312. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/notebook/__init__.py +0 -0
  313. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/notebook/command_loader.py +0 -0
  314. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/notebook/converter.py +0 -0
  315. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/notebook/executor.py +0 -0
  316. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/notebook/notebook_cmd.py +0 -0
  317. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/notebook/schema.py +0 -0
  318. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/notebook/validator.py +0 -0
  319. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/openai/openai.py +0 -0
  320. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/registry/__init__.py +0 -0
  321. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/registry/registry.py +0 -0
  322. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/repo/__init__.py +0 -0
  323. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/repo/repo.py +0 -0
  324. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/scheduler/__init__.py +0 -0
  325. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
  326. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/scheduler/job.py +0 -0
  327. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/scheduler/monitor.py +0 -0
  328. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/scheduler/persistence.py +0 -0
  329. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/scheduler/scheduler.py +0 -0
  330. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/search/__init__.py +0 -0
  331. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/secrets/__init__.py +0 -0
  332. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/secrets/secrets_cmd.py +0 -0
  333. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/storage/__init__.py +0 -0
  334. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/storage/storage_cmd.py +0 -0
  335. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/sync/__init__.py +0 -0
  336. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/sync/test_cmd.py +0 -0
  337. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/videos/__init__.py +0 -0
  338. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/wakatime/__init__.py +0 -0
  339. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/wakatime/wakatime.py +0 -0
  340. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli/workflow/workflow.py +0 -0
  341. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
  342. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli_framework.egg-info/entry_points.txt +0 -0
  343. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli_framework.egg-info/requires.txt +0 -0
  344. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/src/mcli_framework.egg-info/top_level.txt +0 -0
  345. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/__init__.py +0 -0
  346. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_all_commands.py +0 -0
  347. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_app_logs_cmd.py +0 -0
  348. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_app_redis_cmd.py +0 -0
  349. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_logs_cmd.py +0 -0
  350. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_main_app.py +0 -0
  351. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_model_cmd.py +0 -0
  352. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_self_cmd.py +0 -0
  353. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_self_cmd_plugins.py +0 -0
  354. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_self_cmd_utilities.py +0 -0
  355. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_workflow_creation_commands.py +0 -0
  356. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_workflow_file.py +0 -0
  357. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_workflow_gcloud.py +0 -0
  358. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/cli/test_workflow_registry.py +0 -0
  359. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/conftest.py +0 -0
  360. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/e2e/__init__.py +0 -0
  361. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/e2e/test_complete_workflows.py +0 -0
  362. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/e2e/test_model_workflow.py +0 -0
  363. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/e2e/test_new_user_workflow.py +0 -0
  364. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/e2e/test_update_workflow.py +0 -0
  365. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/fixtures/__init__.py +0 -0
  366. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/fixtures/cli_fixtures.py +0 -0
  367. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/fixtures/data_fixtures.py +0 -0
  368. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/fixtures/db_fixtures.py +0 -0
  369. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/fixtures/model_fixtures.py +0 -0
  370. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/__init__.py +0 -0
  371. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_all_commands_comprehensive.py +0 -0
  372. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_daemon_server.py +0 -0
  373. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_direct_file_execution.py +0 -0
  374. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_e2e_dashboard_lsh_supabase.py +0 -0
  375. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_flask_webapp.py +0 -0
  376. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_folder_workflows_integration.py +0 -0
  377. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_gcloud_services.py +0 -0
  378. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_ml_auth.py +0 -0
  379. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_ml_data_pipeline.py +0 -0
  380. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_ml_models.py +0 -0
  381. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_ml_pipeline.py +0 -0
  382. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_module_imports.py +0 -0
  383. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_notebook_workflows.py +0 -0
  384. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_oi_service.py +0 -0
  385. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_repo_operations.py +0 -0
  386. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_scheduler_integration.py +0 -0
  387. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_service_registry.py +0 -0
  388. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_supabase_live_connection.py +0 -0
  389. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_video_processing.py +0 -0
  390. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_wakatime_api.py +0 -0
  391. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_webapp_full.py +0 -0
  392. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_workflow.py +0 -0
  393. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/integration/test_workflow_commands.py +0 -0
  394. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/performance/__init__.py +0 -0
  395. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/property/__init__.py +0 -0
  396. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/__init__.py +0 -0
  397. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/storage/__init__.py +0 -0
  398. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/storage/test_cache.py +0 -0
  399. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/storage/test_encryption.py +0 -0
  400. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/storage/test_storacha_cli.py +0 -0
  401. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_api_utils.py +0 -0
  402. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_async_process_manager.py +0 -0
  403. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_auth_modules.py +0 -0
  404. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_bug_fixes.py +0 -0
  405. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_config.py +0 -0
  406. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_custom_commands.py +0 -0
  407. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_custom_commands_filtering.py +0 -0
  408. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_daemon_api.py +0 -0
  409. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_dashboard_components.py +0 -0
  410. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_dashboard_functions.py +0 -0
  411. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_dashboard_pages.py +0 -0
  412. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_dependencies.py +0 -0
  413. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_doc_convert_workflow.py +0 -0
  414. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_emulator_workflow.py +0 -0
  415. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_erd_generation.py +0 -0
  416. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_erd_generic.py +0 -0
  417. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_erd_imports.py +0 -0
  418. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_folder_workflows.py +0 -0
  419. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_git_commit_workflow.py +0 -0
  420. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_health_cmd.py +0 -0
  421. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_lib_auth.py +0 -0
  422. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_lib_files.py +0 -0
  423. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_lib_utils.py +0 -0
  424. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_logger.py +0 -0
  425. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_ml_preprocessing.py +0 -0
  426. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_new_cmd.py +0 -0
  427. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_notebook_command_loader.py +0 -0
  428. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_notebook_executor.py +0 -0
  429. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_optional_deps.py +0 -0
  430. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_paths.py +0 -0
  431. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_pdf_compress.py +0 -0
  432. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_prediction_engine.py +0 -0
  433. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_pyenv.py +0 -0
  434. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_regression.py +0 -0
  435. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_scheduler.py +0 -0
  436. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_scheduler_cron_parser.py +0 -0
  437. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_scheduler_job.py +0 -0
  438. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_scheduler_monitor.py +0 -0
  439. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_scheduler_persistence.py +0 -0
  440. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_self_update.py +0 -0
  441. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_store_cmd.py +0 -0
  442. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_supabase_connection.py +0 -0
  443. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_supabase_pagination.py +0 -0
  444. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_toml_utils.py +0 -0
  445. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_trading_imports.py +0 -0
  446. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_ui_rich.py +0 -0
  447. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_uv_compat.py +0 -0
  448. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/test_workflow_file_completion.py +0 -0
  449. {mcli_framework-8.0.18 → mcli_framework-8.0.19}/tests/unit/workflow/test_notebook.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 8.0.18
3
+ Version: 8.0.19
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>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcli-framework"
3
- version = "8.0.18"
3
+ version = "8.0.19"
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.10"
@@ -11,16 +11,18 @@ from mcli.lib.logger.logger import disable_runtime_tracing, enable_runtime_traci
11
11
 
12
12
  # Desired command order for help display
13
13
  COMMAND_ORDER = [
14
- "run",
15
- "list",
16
- "search",
14
+ "init",
17
15
  "new",
18
16
  "edit",
17
+ "mv",
19
18
  "rm",
19
+ "search",
20
+ "list",
21
+ "run",
22
+ "context",
20
23
  "health",
21
24
  "sync",
22
25
  "self",
23
- "init",
24
26
  ]
25
27
 
26
28
 
@@ -401,6 +403,15 @@ def _add_lazy_commands(app: click.Group):
401
403
  except ImportError as e:
402
404
  logger.debug(f"Could not load edit command: {e}")
403
405
 
406
+ # mcli mv - Move/rename a command
407
+ try:
408
+ from mcli.app.mv_cmd import mv
409
+
410
+ app.add_command(mv, name="mv")
411
+ logger.debug("Added mv command")
412
+ except ImportError as e:
413
+ logger.debug(f"Could not load mv command: {e}")
414
+
404
415
  # mcli rm - Delete a command
405
416
  try:
406
417
  from mcli.app.delete_cmd import rm
@@ -0,0 +1,143 @@
1
+ """Top-level mv command for MCLI.
2
+
3
+ This module provides the `mcli mv` command for moving/renaming workflow commands.
4
+ Supports moving between local and global locations.
5
+ """
6
+
7
+ import shutil
8
+ from pathlib import Path
9
+
10
+ import click
11
+ from rich.prompt import Prompt
12
+
13
+ from mcli.lib.constants import MoveMessages
14
+ from mcli.lib.custom_commands import get_command_manager
15
+ from mcli.lib.logger.logger import get_logger
16
+ from mcli.lib.paths import get_custom_commands_dir
17
+ from mcli.lib.ui.styling import console
18
+
19
+ logger = get_logger(__name__)
20
+ MM = MoveMessages # Short alias for cleaner code
21
+
22
+ # Supported native script extensions
23
+ NATIVE_SCRIPT_EXTENSIONS = [".py", ".sh", ".bash", ".js", ".ts", ".ipynb"]
24
+
25
+
26
+ def find_command_file(workflows_dir: Path, command_name: str) -> Path | None:
27
+ """Find a command file by name (native script or JSON)."""
28
+ # Check native scripts first
29
+ for ext in NATIVE_SCRIPT_EXTENSIONS:
30
+ script_path = workflows_dir / f"{command_name}{ext}"
31
+ if script_path.exists():
32
+ return script_path
33
+
34
+ # Check JSON file
35
+ json_path = workflows_dir / f"{command_name}.json"
36
+ if json_path.exists():
37
+ return json_path
38
+
39
+ return None
40
+
41
+
42
+ @click.command("mv")
43
+ @click.argument("from_name", required=True)
44
+ @click.argument("to_name", required=True)
45
+ @click.option(
46
+ "--global",
47
+ "-g",
48
+ "from_global",
49
+ is_flag=True,
50
+ help="Source is a global command",
51
+ )
52
+ @click.option(
53
+ "--to-global",
54
+ "-G",
55
+ "to_global",
56
+ is_flag=True,
57
+ help="Move destination to global commands",
58
+ )
59
+ @click.option("--yes", "-y", is_flag=True, help="Skip confirmation prompt")
60
+ def mv(from_name: str, to_name: str, from_global: bool, to_global: bool, yes: bool):
61
+ """📦 Move or rename a workflow command.
62
+
63
+ Move a command from one location to another, or rename it within the same scope.
64
+
65
+ \b
66
+ Examples:
67
+ mcli mv old-name new-name # Rename local command
68
+ mcli mv my-cmd --to-global # Move local to global (keep same name)
69
+ mcli mv my-cmd -g new-name # Move global to local with new name
70
+ mcli mv my-cmd -g -G new-name # Rename global command
71
+ """
72
+ # Get source and destination directories
73
+ source_dir = get_custom_commands_dir(global_mode=from_global)
74
+ dest_dir = get_custom_commands_dir(global_mode=to_global)
75
+
76
+ # Find the source file
77
+ source_file = find_command_file(source_dir, from_name)
78
+
79
+ if not source_file:
80
+ console.print(MM.COMMAND_NOT_FOUND.format(name=from_name))
81
+ console.print(MM.SEARCHED_IN.format(path=source_dir))
82
+ return 1
83
+
84
+ # Determine destination path (preserve extension)
85
+ dest_file = dest_dir / f"{to_name}{source_file.suffix}"
86
+
87
+ # Check if destination already exists
88
+ if dest_file.exists():
89
+ console.print(MM.ALREADY_EXISTS.format(name=to_name))
90
+ console.print(MM.PATH_DISPLAY.format(path=dest_file))
91
+ return 1
92
+
93
+ # Describe the operation
94
+ if from_global == to_global:
95
+ # Same scope - just renaming
96
+ if from_name == to_name:
97
+ console.print(MM.NO_CHANGE_NEEDED)
98
+ return 0
99
+ operation = MM.RENAME_OP.format(from_name=from_name, to_name=to_name)
100
+ scope = "global" if from_global else "local"
101
+ console.print(MM.RENAMING_COMMAND.format(scope=scope))
102
+ else:
103
+ # Moving between scopes
104
+ from_scope = "global" if from_global else "local"
105
+ to_scope = "global" if to_global else "local"
106
+ operation = MM.MOVE_OP.format(from_name=from_name, from_scope=from_scope, to_scope=to_scope)
107
+ if from_name != to_name:
108
+ operation += MM.MOVE_AS_OP.format(to_name=to_name)
109
+ console.print(MM.MOVING_COMMAND)
110
+
111
+ console.print(MM.FROM_PATH.format(path=source_file))
112
+ console.print(MM.TO_PATH.format(path=dest_file))
113
+
114
+ # Confirm
115
+ if not yes:
116
+ should_move = Prompt.ask(MM.PROCEED_PROMPT, choices=["y", "n"], default="n")
117
+ if should_move.lower() != "y":
118
+ console.print(MM.CANCELLED)
119
+ return 0
120
+
121
+ # Ensure destination directory exists
122
+ dest_dir.mkdir(parents=True, exist_ok=True)
123
+
124
+ # Perform the move
125
+ try:
126
+ shutil.move(str(source_file), str(dest_file))
127
+
128
+ # Update lockfiles for both source and destination managers
129
+ source_manager = get_command_manager(global_mode=from_global)
130
+ source_manager.update_lockfile()
131
+
132
+ if from_global != to_global:
133
+ dest_manager = get_command_manager(global_mode=to_global)
134
+ dest_manager.update_lockfile()
135
+
136
+ console.print(MM.MOVE_SUCCESS.format(operation=operation))
137
+ console.print(MM.NEW_LOCATION.format(path=dest_file))
138
+ return 0
139
+
140
+ except Exception as e:
141
+ console.print(MM.MOVE_FAILED.format(error=e))
142
+ logger.exception("Failed to move command")
143
+ return 1
@@ -39,6 +39,7 @@ from .messages import (
39
39
  ErrorMessages,
40
40
  InfoMessages,
41
41
  ModelServiceMessages,
42
+ MoveMessages,
42
43
  PromptMessages,
43
44
  SuccessMessages,
44
45
  SyncMessages,
@@ -86,6 +87,7 @@ __all__ = [
86
87
  "ChatMessages",
87
88
  "CommandMessages",
88
89
  "EditMessages",
90
+ "MoveMessages",
89
91
  "ModelServiceMessages",
90
92
  "SystemIntegrationMessages",
91
93
  "SyncMessages",
@@ -942,6 +942,37 @@ class SyncMessages:
942
942
  DIR_NOT_EXIST = "Commands directory does not exist: {path}"
943
943
 
944
944
 
945
+ class MoveMessages:
946
+ """Move/rename command message constants."""
947
+
948
+ # Info messages
949
+ RENAMING_COMMAND = "[cyan]Renaming {scope} command:[/cyan]"
950
+ MOVING_COMMAND = "[cyan]Moving command:[/cyan]"
951
+ FROM_PATH = " From: {path}"
952
+ TO_PATH = " To: {path}"
953
+ PROCEED_PROMPT = "Proceed?"
954
+
955
+ # Success messages
956
+ MOVE_SUCCESS = "[green]✅ {operation}[/green]"
957
+ NEW_LOCATION = "[dim]New location: {path}[/dim]"
958
+
959
+ # Warning messages
960
+ NO_CHANGE_NEEDED = "[yellow]Source and destination are the same. Nothing to do.[/yellow]"
961
+ CANCELLED = "[yellow]Cancelled.[/yellow]"
962
+
963
+ # Error messages
964
+ COMMAND_NOT_FOUND = "[red]Command '{name}' not found.[/red]"
965
+ SEARCHED_IN = "[dim]Searched in: {path}[/dim]"
966
+ ALREADY_EXISTS = "[red]Command '{name}' already exists at destination.[/red]"
967
+ PATH_DISPLAY = "[dim]Path: {path}[/dim]"
968
+ MOVE_FAILED = "[red]Failed to move command: {error}[/red]"
969
+
970
+ # Operation descriptions
971
+ RENAME_OP = "Rename '{from_name}' to '{to_name}'"
972
+ MOVE_OP = "Move '{from_name}' from {from_scope} to {to_scope}"
973
+ MOVE_AS_OP = " as '{to_name}'"
974
+
975
+
945
976
  class VenvMessages:
946
977
  """Virtual environment related messages."""
947
978
 
@@ -984,5 +1015,6 @@ __all__ = [
984
1015
  "SystemIntegrationMessages",
985
1016
  "EditMessages",
986
1017
  "SyncMessages",
1018
+ "MoveMessages",
987
1019
  "VenvMessages",
988
1020
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 8.0.18
3
+ Version: 8.0.19
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>
@@ -36,6 +36,7 @@ src/mcli/app/list_cmd.py
36
36
  src/mcli/app/main.py
37
37
  src/mcli/app/migrate_cmd.py
38
38
  src/mcli/app/model_cmd.py
39
+ src/mcli/app/mv_cmd.py
39
40
  src/mcli/app/new_cmd.py
40
41
  src/mcli/app/remove_cmd.py
41
42
  src/mcli/app/rm_cmd.py
File without changes