mcli-framework 7.0.0__tar.gz → 7.0.1__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 (265) hide show
  1. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/PKG-INFO +1 -1
  2. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/pyproject.toml +1 -1
  3. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/logs_cmd.py +26 -27
  4. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/logger/logger.py +5 -7
  5. mcli_framework-7.0.1/src/mcli/lib/paths.py +82 -0
  6. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli_framework.egg-info/PKG-INFO +1 -1
  7. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli_framework.egg-info/SOURCES.txt +1 -0
  8. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/dependabot.yml +0 -0
  9. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/workflows/build.yml +0 -0
  10. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/workflows/ci.yml +0 -0
  11. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/workflows/ml-pipeline.yml +0 -0
  12. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/workflows/publish-self-hosted.yml +0 -0
  13. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/workflows/publish.yml +0 -0
  14. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/workflows/release.yml +0 -0
  15. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/workflows/security.yml +0 -0
  16. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/.github/workflows/test.yml +0 -0
  17. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/LICENSE +0 -0
  18. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/MANIFEST.in +0 -0
  19. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/PERFORMANCE_OPTIMIZATIONS.md +0 -0
  20. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/README.md +0 -0
  21. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/mcli_rust/Cargo.toml +0 -0
  22. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/mcli_rust/src/command_parser.rs +0 -0
  23. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/mcli_rust/src/file_watcher.rs +0 -0
  24. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/mcli_rust/src/lib.rs +0 -0
  25. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/mcli_rust/src/process_manager.rs +0 -0
  26. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/mcli_rust/src/tfidf.rs +0 -0
  27. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/setup.cfg +0 -0
  28. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/chat_cmd.py +0 -0
  29. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/commands_cmd.py +0 -0
  30. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/completion_cmd.py +0 -0
  31. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/completion_helpers.py +0 -0
  32. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/cron_test_cmd.py +0 -0
  33. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/main.py +0 -0
  34. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/model/model.py +0 -0
  35. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/model_cmd.py +0 -0
  36. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/redis_cmd.py +0 -0
  37. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/video/video.py +0 -0
  38. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/app/visual_cmd.py +0 -0
  39. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/chat/chat.py +0 -0
  40. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/chat/command_rag.py +0 -0
  41. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/chat/enhanced_chat.py +0 -0
  42. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/chat/system_controller.py +0 -0
  43. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/chat/system_integration.py +0 -0
  44. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/cli.py +0 -0
  45. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/config.toml +0 -0
  46. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/api/api.py +0 -0
  47. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/api/daemon_client.py +0 -0
  48. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/api/daemon_client_local.py +0 -0
  49. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/api/daemon_decorator.py +0 -0
  50. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/api/mcli_decorators.py +0 -0
  51. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/auth.py +0 -0
  52. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/aws_manager.py +0 -0
  53. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/azure_manager.py +0 -0
  54. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/credential_manager.py +0 -0
  55. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/gcp_manager.py +0 -0
  56. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/key_manager.py +0 -0
  57. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/mcli_manager.py +0 -0
  58. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/token_manager.py +0 -0
  59. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/auth/token_util.py +0 -0
  60. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/config/config.py +0 -0
  61. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/discovery/__init__.py +0 -0
  62. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/discovery/command_discovery.py +0 -0
  63. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/erd/erd.py +0 -0
  64. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/erd/generate_graph.py +0 -0
  65. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/files/files.py +0 -0
  66. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/fs/fs.py +0 -0
  67. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/lib.py +0 -0
  68. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/performance/optimizer.py +0 -0
  69. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/performance/rust_bridge.py +0 -0
  70. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/performance/uvloop_config.py +0 -0
  71. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/pickles/pickles.py +0 -0
  72. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/search/cached_vectorizer.py +0 -0
  73. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/services/data_pipeline.py +0 -0
  74. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/services/lsh_client.py +0 -0
  75. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/services/redis_service.py +0 -0
  76. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/shell/shell.py +0 -0
  77. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/toml/toml.py +0 -0
  78. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/ui/styling.py +0 -0
  79. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/ui/visual_effects.py +0 -0
  80. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/lib/watcher/watcher.py +0 -0
  81. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/app.py +0 -0
  82. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/middleware.py +0 -0
  83. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/admin_router.py +0 -0
  84. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/auth_router.py +0 -0
  85. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/backtest_router.py +0 -0
  86. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/data_router.py +0 -0
  87. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/model_router.py +0 -0
  88. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/monitoring_router.py +0 -0
  89. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/portfolio_router.py +0 -0
  90. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/prediction_router.py +0 -0
  91. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/trade_router.py +0 -0
  92. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/routers/websocket_router.py +0 -0
  93. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/api/schemas.py +0 -0
  94. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/auth/auth_manager.py +0 -0
  95. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/auth/models.py +0 -0
  96. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/auth/permissions.py +0 -0
  97. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/backtesting/backtest_engine.py +0 -0
  98. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/backtesting/performance_metrics.py +0 -0
  99. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/cache.py +0 -0
  100. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/cli/main.py +0 -0
  101. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/config/settings.py +0 -0
  102. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/configs/dvc_config.py +0 -0
  103. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/configs/mlflow_config.py +0 -0
  104. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/configs/mlops_manager.py +0 -0
  105. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/dashboard/app.py +0 -0
  106. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/dashboard/app_integrated.py +0 -0
  107. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/dashboard/app_supabase.py +0 -0
  108. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/dashboard/app_training.py +0 -0
  109. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/dashboard/cli.py +0 -0
  110. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/data_ingestion/api_connectors.py +0 -0
  111. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/data_ingestion/data_pipeline.py +0 -0
  112. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/data_ingestion/stream_processor.py +0 -0
  113. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/database/migrations/env.py +0 -0
  114. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/database/models.py +0 -0
  115. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/database/session.py +0 -0
  116. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/experimentation/ab_testing.py +0 -0
  117. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/features/ensemble_features.py +0 -0
  118. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/features/political_features.py +0 -0
  119. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/features/recommendation_engine.py +0 -0
  120. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/features/stock_features.py +0 -0
  121. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/features/test_feature_engineering.py +0 -0
  122. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/logging.py +0 -0
  123. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/mlops/data_versioning.py +0 -0
  124. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/mlops/experiment_tracker.py +0 -0
  125. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/mlops/model_serving.py +0 -0
  126. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/mlops/pipeline_orchestrator.py +0 -0
  127. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/models/base_models.py +0 -0
  128. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/models/ensemble_models.py +0 -0
  129. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/models/recommendation_models.py +0 -0
  130. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/models/test_models.py +0 -0
  131. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/monitoring/drift_detection.py +0 -0
  132. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/monitoring/metrics.py +0 -0
  133. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/optimization/portfolio_optimizer.py +0 -0
  134. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/preprocessing/data_cleaners.py +0 -0
  135. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/preprocessing/feature_extractors.py +0 -0
  136. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/preprocessing/ml_pipeline.py +0 -0
  137. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/preprocessing/politician_trading_preprocessor.py +0 -0
  138. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/preprocessing/test_preprocessing.py +0 -0
  139. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/scripts/populate_sample_data.py +0 -0
  140. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/tasks.py +0 -0
  141. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/tests/test_integration.py +0 -0
  142. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/ml/tests/test_training_dashboard.py +0 -0
  143. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/public/oi/oi.py +0 -0
  144. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/public/public.py +0 -0
  145. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/self/self_cmd.py +0 -0
  146. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/api_daemon.py +0 -0
  147. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/async_command_database.py +0 -0
  148. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
  149. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/client.py +0 -0
  150. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/commands.py +0 -0
  151. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/daemon.py +0 -0
  152. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/daemon_api.py +0 -0
  153. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
  154. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/process_cli.py +0 -0
  155. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/process_manager.py +0 -0
  156. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/daemon/test_daemon.py +0 -0
  157. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/dashboard/dashboard_cmd.py +0 -0
  158. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/docker/docker.py +0 -0
  159. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/file/file.py +0 -0
  160. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/gcloud/config.toml +0 -0
  161. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/gcloud/gcloud.py +0 -0
  162. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/git_commit/ai_service.py +0 -0
  163. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/git_commit/commands.py +0 -0
  164. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/lsh_integration.py +0 -0
  165. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/client.py +0 -0
  166. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
  167. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
  168. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
  169. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
  170. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/model_service.py +0 -0
  171. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
  172. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
  173. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
  174. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/test_example.py +0 -0
  175. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/test_integration.py +0 -0
  176. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/model_service/test_new_features.py +0 -0
  177. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/openai/openai.py +0 -0
  178. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/commands.py +0 -0
  179. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/config.py +0 -0
  180. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/connectivity.py +0 -0
  181. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/data_sources.py +0 -0
  182. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/database.py +0 -0
  183. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/demo.py +0 -0
  184. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/models.py +0 -0
  185. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/monitoring.py +0 -0
  186. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/scrapers.py +0 -0
  187. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/scrapers_california.py +0 -0
  188. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/scrapers_eu.py +0 -0
  189. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/scrapers_uk.py +0 -0
  190. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/scrapers_us_states.py +0 -0
  191. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/supabase_functions.py +0 -0
  192. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/politician_trading/workflow.py +0 -0
  193. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/registry/registry.py +0 -0
  194. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/repo/repo.py +0 -0
  195. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/scheduler/commands.py +0 -0
  196. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
  197. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/scheduler/job.py +0 -0
  198. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/scheduler/monitor.py +0 -0
  199. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/scheduler/persistence.py +0 -0
  200. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/scheduler/scheduler.py +0 -0
  201. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/sync/sync_cmd.py +0 -0
  202. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/sync/test_cmd.py +0 -0
  203. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/videos/videos.py +0 -0
  204. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/wakatime/wakatime.py +0 -0
  205. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli/workflow/workflow.py +0 -0
  206. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
  207. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli_framework.egg-info/entry_points.txt +0 -0
  208. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli_framework.egg-info/requires.txt +0 -0
  209. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/src/mcli_framework.egg-info/top_level.txt +0 -0
  210. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/conftest.py +0 -0
  211. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/demo_generate_graph.py +0 -0
  212. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/demo_hierarchical_transform.py +0 -0
  213. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/end_to_end_integration_test.py +0 -0
  214. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/pytest.ini +0 -0
  215. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/run_tests.py +0 -0
  216. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/simple_integration_test.py +0 -0
  217. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_agent_functionality.py +0 -0
  218. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_all_cli.py +0 -0
  219. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_auth.py +0 -0
  220. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_california_scraper.py +0 -0
  221. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_chat_client.py +0 -0
  222. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_chat_cmd.py +0 -0
  223. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_chat_system_control.py +0 -0
  224. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_command_discovery.py +0 -0
  225. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_congress_scraper.py +0 -0
  226. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_daemon.py +0 -0
  227. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_daemon_client.py +0 -0
  228. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_data_pipeline.py +0 -0
  229. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_enhanced_chat.py +0 -0
  230. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_erd.py +0 -0
  231. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_erd_import.py +0 -0
  232. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_file.py +0 -0
  233. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_fix.py +0 -0
  234. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_fixed_issues.py +0 -0
  235. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_gcloud.py +0 -0
  236. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_generate_graph.py +0 -0
  237. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_generic_erd.py +0 -0
  238. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_harness.py +0 -0
  239. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_lib.py +0 -0
  240. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_lsh_client.py +0 -0
  241. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_lsh_integration.py +0 -0
  242. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_main_app.py +0 -0
  243. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_main_app_functions.py +0 -0
  244. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_ml_auth.py +0 -0
  245. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_ml_models.py +0 -0
  246. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_ml_pipeline.py +0 -0
  247. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_oi.py +0 -0
  248. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_optional_dependencies.py +0 -0
  249. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_politician_trading_integration.py +0 -0
  250. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_preprocessing_simple.py +0 -0
  251. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_registry.py +0 -0
  252. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_repo.py +0 -0
  253. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_rich.py +0 -0
  254. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_self.py +0 -0
  255. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_uk_scraper.py +0 -0
  256. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_us_states_scraper.py +0 -0
  257. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_utility_functions.py +0 -0
  258. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_utility_functions_simple.py +0 -0
  259. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_uv_compatibility.py +0 -0
  260. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_videos.py +0 -0
  261. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_wakatime.py +0 -0
  262. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_webapp.py +0 -0
  263. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_webapp_comprehensive.py +0 -0
  264. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_workflow.py +0 -0
  265. {mcli_framework-7.0.0 → mcli_framework-7.0.1}/tests/test_workflow_integration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 7.0.0
3
+ Version: 7.0.1
4
4
  Summary: 🚀 High-performance CLI framework with Rust extensions, AI chat, and stunning visuals
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcli-framework"
3
- version = "7.0.0"
3
+ version = "7.0.1"
4
4
  description = "🚀 High-performance CLI framework with Rust extensions, AI chat, and stunning visuals"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
@@ -16,6 +16,8 @@ from rich.live import Live
16
16
  from rich.panel import Panel
17
17
  from rich.text import Text
18
18
 
19
+ from mcli.lib.paths import get_logs_dir
20
+
19
21
  console = Console()
20
22
 
21
23
 
@@ -25,6 +27,24 @@ def logs_group():
25
27
  pass
26
28
 
27
29
 
30
+ @logs_group.command(name="location")
31
+ def show_location():
32
+ """Show the location of the logs directory"""
33
+ logs_dir = get_logs_dir()
34
+ console.print(f"📁 [cyan]Logs directory:[/cyan] {logs_dir}")
35
+ console.print(f" [dim]Set MCLI_HOME environment variable to change location[/dim]")
36
+
37
+ # Show if directory exists and has files
38
+ if logs_dir.exists():
39
+ log_files = list(logs_dir.glob("mcli*.log"))
40
+ if log_files:
41
+ console.print(f" [green]✓ {len(log_files)} log file(s) found[/green]")
42
+ else:
43
+ console.print(f" [yellow]⚠ Directory exists but no log files yet[/yellow]")
44
+ else:
45
+ console.print(f" [yellow]⚠ Directory will be created on first use[/yellow]")
46
+
47
+
28
48
  @logs_group.command(name="stream")
29
49
  @click.option(
30
50
  "--type",
@@ -49,13 +69,7 @@ def stream_logs(type: str, lines: int, follow: bool):
49
69
  Shows log output with syntax highlighting and real-time updates.
50
70
  Similar to 'tail -f' but with enhanced formatting for MCLI logs.
51
71
  """
52
- logs_dir = Path("logs")
53
-
54
- if not logs_dir.exists():
55
- console.print(
56
- "❌ No logs directory found. Run some MCLI commands to generate logs.", style="red"
57
- )
58
- return
72
+ logs_dir = get_logs_dir()
59
73
 
60
74
  # Get today's log files
61
75
  today = datetime.now().strftime("%Y%m%d")
@@ -98,12 +112,7 @@ def stream_logs(type: str, lines: int, follow: bool):
98
112
  @click.option("--date", "-d", help="Show logs for specific date (YYYYMMDD format)")
99
113
  def list_logs(date: Optional[str]):
100
114
  """List available log files"""
101
- logs_dir = Path("logs")
102
-
103
- if not logs_dir.exists():
104
- console.print("❌ No logs directory found", style="red")
105
- return
106
-
115
+ logs_dir = get_logs_dir()
107
116
  _list_available_logs(logs_dir, date)
108
117
 
109
118
 
@@ -113,11 +122,9 @@ def list_logs(date: Optional[str]):
113
122
  @click.option("--date", "-d", help="Date for log file (YYYYMMDD format, default: today)")
114
123
  def tail_logs(log_type: str, lines: int, date: Optional[str]):
115
124
  """Show the last N lines of a specific log file"""
116
- logs_dir = Path("logs")
125
+ logs_dir = get_logs_dir()
117
126
 
118
- if not logs_dir.exists():
119
- console.print("❌ No logs directory found", style="red")
120
- return
127
+ # Note: get_logs_dir() creates the directory automatically
121
128
 
122
129
  # Use provided date or default to today
123
130
  log_date = date or datetime.now().strftime("%Y%m%d")
@@ -168,11 +175,7 @@ def tail_logs(log_type: str, lines: int, date: Optional[str]):
168
175
  )
169
176
  def grep_logs(pattern: str, type: str, date: Optional[str], context: int):
170
177
  """Search for patterns in log files"""
171
- logs_dir = Path("logs")
172
-
173
- if not logs_dir.exists():
174
- console.print("❌ No logs directory found", style="red")
175
- return
178
+ logs_dir = get_logs_dir()
176
179
 
177
180
  # Use provided date or default to today
178
181
  log_date = date or datetime.now().strftime("%Y%m%d")
@@ -216,11 +219,7 @@ def grep_logs(pattern: str, type: str, date: Optional[str], context: int):
216
219
  @click.option("--confirm", "-y", is_flag=True, help="Skip confirmation prompt")
217
220
  def clear_logs(older_than: Optional[int], confirm: bool):
218
221
  """Clear old log files"""
219
- logs_dir = Path("logs")
220
-
221
- if not logs_dir.exists():
222
- console.print("❌ No logs directory found", style="red")
223
- return
222
+ logs_dir = get_logs_dir()
224
223
 
225
224
  # Find log files
226
225
  log_files = list(logs_dir.glob("mcli*.log"))
@@ -208,13 +208,11 @@ class McliLogger:
208
208
 
209
209
  # Set up file handler with path resolution
210
210
  try:
211
- # Find the project root directory (where logs dir should be)
212
- # Start with the current file and navigate up the directory structure
213
- current_file = Path(__file__)
214
- # Go up 5 levels: file -> logger -> lib -> mcli -> src -> repo_root
215
- project_root = current_file.parents[4]
216
- log_dir = project_root / "logs"
217
- log_dir.mkdir(exist_ok=True)
211
+ # Import paths utility for consistent path resolution
212
+ from mcli.lib.paths import get_logs_dir
213
+
214
+ # Get logs directory (e.g., ~/.mcli/logs)
215
+ log_dir = get_logs_dir()
218
216
 
219
217
  # Create daily log file
220
218
  timestamp = datetime.now().strftime("%Y%m%d")
@@ -0,0 +1,82 @@
1
+ """
2
+ Path resolution utilities for mcli
3
+
4
+ Provides consistent path resolution for logs, config, and data directories
5
+ that work both when running from source and when installed as a package.
6
+ """
7
+
8
+ import os
9
+ from pathlib import Path
10
+ from typing import Optional
11
+
12
+
13
+ def get_mcli_home() -> Path:
14
+ """
15
+ Get the mcli home directory for storing logs, config, and data.
16
+
17
+ Returns:
18
+ Path to ~/.mcli directory, created if it doesn't exist
19
+ """
20
+ # Check for MCLI_HOME environment variable first
21
+ mcli_home = os.getenv("MCLI_HOME")
22
+ if mcli_home:
23
+ path = Path(mcli_home)
24
+ else:
25
+ # Use XDG_DATA_HOME if set, otherwise default to ~/.mcli
26
+ xdg_data_home = os.getenv("XDG_DATA_HOME")
27
+ if xdg_data_home:
28
+ path = Path(xdg_data_home) / "mcli"
29
+ else:
30
+ path = Path.home() / ".mcli"
31
+
32
+ # Create directory if it doesn't exist
33
+ path.mkdir(parents=True, exist_ok=True)
34
+ return path
35
+
36
+
37
+ def get_logs_dir() -> Path:
38
+ """
39
+ Get the logs directory for mcli.
40
+
41
+ Returns:
42
+ Path to logs directory (e.g., ~/.mcli/logs), created if it doesn't exist
43
+ """
44
+ logs_dir = get_mcli_home() / "logs"
45
+ logs_dir.mkdir(parents=True, exist_ok=True)
46
+ return logs_dir
47
+
48
+
49
+ def get_config_dir() -> Path:
50
+ """
51
+ Get the config directory for mcli.
52
+
53
+ Returns:
54
+ Path to config directory (e.g., ~/.mcli/config), created if it doesn't exist
55
+ """
56
+ config_dir = get_mcli_home() / "config"
57
+ config_dir.mkdir(parents=True, exist_ok=True)
58
+ return config_dir
59
+
60
+
61
+ def get_data_dir() -> Path:
62
+ """
63
+ Get the data directory for mcli.
64
+
65
+ Returns:
66
+ Path to data directory (e.g., ~/.mcli/data), created if it doesn't exist
67
+ """
68
+ data_dir = get_mcli_home() / "data"
69
+ data_dir.mkdir(parents=True, exist_ok=True)
70
+ return data_dir
71
+
72
+
73
+ def get_cache_dir() -> Path:
74
+ """
75
+ Get the cache directory for mcli.
76
+
77
+ Returns:
78
+ Path to cache directory (e.g., ~/.mcli/cache), created if it doesn't exist
79
+ """
80
+ cache_dir = get_mcli_home() / "cache"
81
+ cache_dir.mkdir(parents=True, exist_ok=True)
82
+ return cache_dir
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 7.0.0
3
+ Version: 7.0.1
4
4
  Summary: 🚀 High-performance CLI framework with Rust extensions, AI chat, and stunning visuals
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
@@ -39,6 +39,7 @@ src/mcli/chat/enhanced_chat.py
39
39
  src/mcli/chat/system_controller.py
40
40
  src/mcli/chat/system_integration.py
41
41
  src/mcli/lib/lib.py
42
+ src/mcli/lib/paths.py
42
43
  src/mcli/lib/api/api.py
43
44
  src/mcli/lib/api/daemon_client.py
44
45
  src/mcli/lib/api/daemon_client_local.py
File without changes
File without changes
File without changes