mcli-framework 7.10.2__tar.gz → 7.11.0__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.
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/PKG-INFO +51 -54
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/README.md +50 -53
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/pyproject.toml +1 -1
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/app/commands_cmd.py +150 -58
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/app/main.py +21 -27
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/custom_commands.py +52 -12
- mcli_framework-7.11.0/src/mcli/lib/paths.py +218 -0
- mcli_framework-7.11.0/src/mcli/self/migrate_cmd.py +261 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/self/self_cmd.py +8 -0
- mcli_framework-7.11.0/src/mcli/workflow/secrets/secrets_cmd.py +192 -0
- mcli_framework-7.11.0/src/mcli/workflow/workflow.py +48 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli_framework.egg-info/PKG-INFO +51 -54
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli_framework.egg-info/SOURCES.txt +2 -0
- mcli_framework-7.10.2/src/mcli/lib/paths.py +0 -94
- mcli_framework-7.10.2/src/mcli/workflow/workflow.py +0 -32
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/dependabot.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/build.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/ci.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/codeql.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/main_mcli.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/ml-pipeline.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/publish-self-hosted.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/publish.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/release.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/security.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/.github/workflows/test.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/LICENSE +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/MANIFEST.in +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/mcli_rust/Cargo.toml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/mcli_rust/src/command_parser.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/mcli_rust/src/file_watcher.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/mcli_rust/src/lib.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/mcli_rust/src/process_manager.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/mcli_rust/src/tfidf.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/setup.cfg +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/app/completion_helpers.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/app/model/model.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/app/model_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/app/video/video.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/chat/chat.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/chat/command_rag.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/chat/enhanced_chat.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/chat/system_controller.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/chat/system_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/cli.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/config.toml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/api/api.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/api/daemon_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/api/daemon_client_local.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/api/daemon_decorator.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/api/mcli_decorators.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/auth.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/aws_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/azure_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/credential_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/gcp_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/key_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/mcli_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/token_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/auth/token_util.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/config/config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/discovery/__init__.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/discovery/command_discovery.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/erd/erd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/erd/generate_graph.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/files/files.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/fs/fs.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/lib.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/logger/logger.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/optional_deps.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/performance/optimizer.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/performance/rust_bridge.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/performance/uvloop_config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/pickles/pickles.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/search/cached_vectorizer.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/secrets/commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/secrets/manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/secrets/repl.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/secrets/store.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/services/data_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/services/lsh_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/services/redis_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/shell/shell.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/toml/toml.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/ui/styling.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/ui/visual_effects.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/lib/watcher/watcher.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/app.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/middleware.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/admin_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/auth_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/backtest_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/data_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/model_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/monitoring_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/portfolio_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/prediction_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/trade_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/routers/websocket_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/api/schemas.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/auth/auth_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/auth/models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/auth/permissions.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/backtesting/backtest_engine.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/backtesting/performance_metrics.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/backtesting/run.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/cache.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/cli/main.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/config/settings.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/configs/dvc_config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/configs/mlflow_config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/configs/mlops_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/app.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/app_integrated.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/app_supabase.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/app_training.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/cli.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/common.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/components/charts.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/components/metrics.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/components/tables.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/overview.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/cicd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/debug_dependencies.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/gravity_viz.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/monte_carlo_predictions.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/predictions_enhanced.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/scrapers_and_logs.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/test_portfolio.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/trading.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/pages/workflows.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/streamlit_extras_utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/styles.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/dashboard/warning_suppression.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/data_ingestion/api_connectors.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/data_ingestion/data_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/data_ingestion/stream_processor.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/database/migrations/env.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/database/models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/database/session.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/experimentation/ab_testing.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/features/ensemble_features.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/features/recommendation_engine.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/features/stock_features.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/features/test_feature_engineering.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/logging.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/mlops/data_versioning.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/mlops/experiment_tracker.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/mlops/model_serving.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/mlops/pipeline_orchestrator.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/models/base_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/models/ensemble_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/models/recommendation_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/models/test_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/monitoring/drift_detection.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/monitoring/metrics.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/optimization/optimize.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/optimization/portfolio_optimizer.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/predictions/monte_carlo.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/predictions/prediction_engine.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/preprocessing/data_cleaners.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/preprocessing/feature_extractors.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/preprocessing/ml_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/preprocessing/test_preprocessing.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/scripts/populate_sample_data.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/serving/serve.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/tasks.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/tests/test_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/tests/test_training_dashboard.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/trading/alpaca_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/trading/migrations.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/trading/models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/trading/paper_trading.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/trading/risk_management.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/trading/trading_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/training/train.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/ml/training/train_model.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/mygroup/test_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/public/oi/oi.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/public/public.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/self/completion_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/self/logs_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/self/redis_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/self/store_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/self/test_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/self/visual_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/self/zsh_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/async_command_database.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/daemon.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/daemon_api.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/process_cli.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/process_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/daemon/test_daemon.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/dashboard/dashboard_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/doc_convert.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/docker/docker.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/gcloud/config.toml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/gcloud/gcloud.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/git_commit/ai_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/lsh_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/model_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/openai_adapter.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/test_example.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/test_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/model_service/test_new_features.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/notebook/converter.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/notebook/notebook_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/notebook/schema.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/notebook/validator.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/openai/openai.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/registry/registry.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/repo/repo.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/scheduler/job.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/scheduler/monitor.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/scheduler/persistence.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/scheduler/scheduler.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/sync/test_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli/workflow/wakatime/wakatime.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli_framework.egg-info/entry_points.txt +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli_framework.egg-info/requires.txt +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/src/mcli_framework.egg-info/top_level.txt +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_all_commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_app_logs_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_app_redis_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_logs_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_main_app.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_model_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_self_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_self_cmd_commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_self_cmd_plugins.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_self_cmd_utilities.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_workflow_file.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_workflow_gcloud.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/cli/test_workflow_registry.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/conftest.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/demo_generate_graph.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/demo_hierarchical_transform.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/e2e/test_complete_workflows.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/e2e/test_model_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/e2e/test_new_user_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/e2e/test_update_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/fixtures/chat_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/fixtures/cli_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/fixtures/data_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/fixtures/db_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/fixtures/model_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_agent.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_chat_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_chat_system.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_daemon_server.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_e2e_dashboard_lsh_supabase.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_flask_webapp.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_gcloud_services.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_lsh_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_lsh_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_ml_auth.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_ml_data_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_ml_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_ml_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_module_imports.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_oi_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_repo_operations.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_scheduler_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_service_registry.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_supabase_live_connection.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_video_processing.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_wakatime_api.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_webapp_full.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/integration/test_workflow_commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/run_tests.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/test_harness.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/test_openai_adapter.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_api_utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_async_process_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_auth_modules.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_bug_fixes.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_custom_commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_custom_commands_filtering.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_daemon_api.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_dashboard_components.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_dashboard_functions.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_dashboard_pages.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_dependencies.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_doc_convert_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_emulator_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_erd_generation.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_erd_generic.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_erd_imports.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_git_commit_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_lib_auth.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_lib_files.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_lib_utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_logger.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_ml_preprocessing.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_optional_deps.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_paths.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_pdf_compress.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_prediction_engine.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_regression.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_scheduler.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_scheduler_cron_parser.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_scheduler_job.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_scheduler_monitor.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_scheduler_persistence.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_self_update.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_store_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_supabase_connection.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_supabase_pagination.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_toml_utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_trading_imports.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_ui_rich.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/tests/unit/test_uv_compat.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.0}/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: 7.
|
|
3
|
+
Version: 7.11.0
|
|
4
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.
|
|
5
5
|
Author-email: Luis Fernandez de la Vara <luis@lefv.io>
|
|
6
6
|
Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
|
|
@@ -233,20 +233,20 @@ def app(message):
|
|
|
233
233
|
EOF
|
|
234
234
|
|
|
235
235
|
# Import as workflow
|
|
236
|
-
mcli
|
|
236
|
+
mcli workflow import-script my_task.py --name my-task
|
|
237
237
|
|
|
238
238
|
# Run it
|
|
239
|
-
mcli
|
|
239
|
+
mcli workflowss my-task --message "Hi"
|
|
240
240
|
```
|
|
241
241
|
|
|
242
242
|
#### Method 2: Interactive Creation
|
|
243
243
|
|
|
244
244
|
```bash
|
|
245
245
|
# Create workflow interactively
|
|
246
|
-
mcli
|
|
246
|
+
mcli workflow add my-task
|
|
247
247
|
|
|
248
248
|
# Edit in your $EDITOR, then run
|
|
249
|
-
mcli
|
|
249
|
+
mcli workflowss my-task
|
|
250
250
|
```
|
|
251
251
|
|
|
252
252
|
## 📦 Workflow System Features
|
|
@@ -257,29 +257,28 @@ Multiple ways to create workflows:
|
|
|
257
257
|
|
|
258
258
|
```bash
|
|
259
259
|
# Import from existing Python script
|
|
260
|
-
mcli
|
|
261
|
-
|
|
260
|
+
mcli workflow import-script script.py --name my-workflow
|
|
262
261
|
# Create new workflow interactively
|
|
263
|
-
mcli
|
|
262
|
+
mcli workflow add my-workflow --group workflow --description "Does something useful"
|
|
264
263
|
|
|
265
264
|
# List all workflows
|
|
266
|
-
mcli
|
|
265
|
+
mcli workflow list-custom
|
|
267
266
|
```
|
|
268
267
|
|
|
269
268
|
### 2. **Edit & Manage Workflows**
|
|
270
269
|
|
|
271
270
|
```bash
|
|
272
271
|
# Edit workflow in $EDITOR
|
|
273
|
-
mcli
|
|
272
|
+
mcli workflow edit my-workflow
|
|
274
273
|
|
|
275
274
|
# Show workflow details
|
|
276
|
-
mcli
|
|
275
|
+
mcli workflow info my-workflow
|
|
277
276
|
|
|
278
277
|
# Search workflows
|
|
279
|
-
mcli
|
|
278
|
+
mcli workflow search "pdf"
|
|
280
279
|
|
|
281
280
|
# Remove workflow
|
|
282
|
-
mcli
|
|
281
|
+
mcli workflow remove my-workflow
|
|
283
282
|
```
|
|
284
283
|
|
|
285
284
|
### 3. **Export & Import (Portability)**
|
|
@@ -288,13 +287,13 @@ Share workflows across machines or with your team:
|
|
|
288
287
|
|
|
289
288
|
```bash
|
|
290
289
|
# Export all workflows to JSON
|
|
291
|
-
mcli
|
|
290
|
+
mcli workflow export my-workflows.json
|
|
292
291
|
|
|
293
292
|
# Import on another machine
|
|
294
|
-
mcli
|
|
293
|
+
mcli workflow import my-workflows.json
|
|
295
294
|
|
|
296
295
|
# Export single workflow to Python script
|
|
297
|
-
mcli
|
|
296
|
+
mcli workflow export-script my-workflow --output my_workflow.py
|
|
298
297
|
```
|
|
299
298
|
|
|
300
299
|
Your workflows are just JSON files in `~/.mcli/commands/`:
|
|
@@ -313,10 +312,10 @@ MCLI automatically maintains a lockfile for reproducibility:
|
|
|
313
312
|
|
|
314
313
|
```bash
|
|
315
314
|
# Update lockfile with current workflow versions
|
|
316
|
-
mcli
|
|
315
|
+
mcli workflow update-lockfile
|
|
317
316
|
|
|
318
317
|
# Verify workflows match lockfile
|
|
319
|
-
mcli
|
|
318
|
+
mcli workflow verify
|
|
320
319
|
```
|
|
321
320
|
|
|
322
321
|
Example `commands.lock.json`:
|
|
@@ -346,7 +345,7 @@ git commit -m "Update workflows"
|
|
|
346
345
|
|
|
347
346
|
# On another machine
|
|
348
347
|
git pull
|
|
349
|
-
mcli
|
|
348
|
+
mcli workflow verify # Ensures consistency
|
|
350
349
|
```
|
|
351
350
|
|
|
352
351
|
### 5. **Run as Daemon or Scheduled Task**
|
|
@@ -357,29 +356,29 @@ Workflows aren't coupled to the engine - run them however you want:
|
|
|
357
356
|
|
|
358
357
|
```bash
|
|
359
358
|
# Start workflow as background daemon
|
|
360
|
-
mcli
|
|
359
|
+
mcli workflows daemon start my-task-daemon --workflow my-task
|
|
361
360
|
|
|
362
361
|
# Check daemon status
|
|
363
|
-
mcli
|
|
362
|
+
mcli workflows daemon status
|
|
364
363
|
|
|
365
364
|
# Stop daemon
|
|
366
|
-
mcli
|
|
365
|
+
mcli workflows daemon stop my-task-daemon
|
|
367
366
|
```
|
|
368
367
|
|
|
369
368
|
#### As Scheduled Task:
|
|
370
369
|
|
|
371
370
|
```bash
|
|
372
371
|
# Schedule workflow to run every hour
|
|
373
|
-
mcli
|
|
372
|
+
mcli workflows scheduler add \
|
|
374
373
|
--name hourly-sync \
|
|
375
374
|
--schedule "0 * * * *" \
|
|
376
375
|
--workflow my-task
|
|
377
376
|
|
|
378
377
|
# List scheduled workflows
|
|
379
|
-
mcli
|
|
378
|
+
mcli workflows scheduler list
|
|
380
379
|
|
|
381
380
|
# View logs
|
|
382
|
-
mcli
|
|
381
|
+
mcli workflows scheduler logs hourly-sync
|
|
383
382
|
```
|
|
384
383
|
|
|
385
384
|
## 🎨 Real-World Workflow Examples
|
|
@@ -388,12 +387,11 @@ mcli workflow scheduler logs hourly-sync
|
|
|
388
387
|
|
|
389
388
|
```bash
|
|
390
389
|
# Create PDF processing workflow
|
|
391
|
-
mcli
|
|
392
|
-
|
|
390
|
+
mcli workflow import-script pdf_tool.py --name pdf
|
|
393
391
|
# Use it
|
|
394
|
-
mcli
|
|
395
|
-
mcli
|
|
396
|
-
mcli
|
|
392
|
+
mcli workflows pdf extract ~/Documents/report.pdf
|
|
393
|
+
mcli workflows pdf compress ~/Documents/*.pdf --output compressed/
|
|
394
|
+
mcli workflows pdf split large.pdf --pages 10
|
|
397
395
|
```
|
|
398
396
|
|
|
399
397
|
### Example 2: Data Sync Workflow
|
|
@@ -423,13 +421,12 @@ def status():
|
|
|
423
421
|
click.echo("Checking sync status...")
|
|
424
422
|
EOF
|
|
425
423
|
|
|
426
|
-
mcli
|
|
427
|
-
|
|
424
|
+
mcli workflow import-script sync.py --name sync
|
|
428
425
|
# Run manually
|
|
429
|
-
mcli
|
|
426
|
+
mcli workflows sync backup ~/data remote:backup
|
|
430
427
|
|
|
431
428
|
# Or schedule it
|
|
432
|
-
mcli
|
|
429
|
+
mcli workflows scheduler add \
|
|
433
430
|
--name nightly-backup \
|
|
434
431
|
--schedule "0 2 * * *" \
|
|
435
432
|
--workflow "sync backup ~/data remote:backup"
|
|
@@ -439,13 +436,12 @@ mcli workflow scheduler add \
|
|
|
439
436
|
|
|
440
437
|
```bash
|
|
441
438
|
# Already included as built-in workflow
|
|
442
|
-
mcli
|
|
439
|
+
mcli workflows git-commit
|
|
443
440
|
|
|
444
441
|
# Or create your own variant
|
|
445
|
-
mcli
|
|
442
|
+
mcli workflow export-script git-commit --output my_git_helper.py
|
|
446
443
|
# Edit my_git_helper.py to customize
|
|
447
|
-
mcli
|
|
448
|
-
```
|
|
444
|
+
mcli workflow import-script my_git_helper.py --name my-git```
|
|
449
445
|
|
|
450
446
|
## 🔧 Workflow Structure
|
|
451
447
|
|
|
@@ -471,7 +467,7 @@ Each workflow is a JSON file with this structure:
|
|
|
471
467
|
MCLI comes with powerful built-in workflows:
|
|
472
468
|
|
|
473
469
|
```bash
|
|
474
|
-
mcli
|
|
470
|
+
mcli workflows --help
|
|
475
471
|
```
|
|
476
472
|
|
|
477
473
|
Available workflows:
|
|
@@ -515,8 +511,8 @@ You write scripts. They work. Then:
|
|
|
515
511
|
mcli self completion install
|
|
516
512
|
|
|
517
513
|
# Now use tab completion
|
|
518
|
-
mcli
|
|
519
|
-
mcli
|
|
514
|
+
mcli workflows <TAB> # Shows all workflows
|
|
515
|
+
mcli workflows pdf <TAB> # Shows pdf subcommands
|
|
520
516
|
```
|
|
521
517
|
|
|
522
518
|
### AI Chat Integration
|
|
@@ -562,10 +558,13 @@ make wheel
|
|
|
562
558
|
|
|
563
559
|
## 📖 Documentation
|
|
564
560
|
|
|
565
|
-
-
|
|
561
|
+
- **📚 Documentation Index**: [Complete Documentation Index](docs/INDEX.md) - All docs organized by category
|
|
562
|
+
- **Installation**: See [Installation Guide](docs/setup/INSTALL.md)
|
|
566
563
|
- **Workflows**: Full workflow documentation (this README)
|
|
567
564
|
- **Shell Completion**: See [Shell Completion Guide](docs/features/SHELL_COMPLETION.md)
|
|
565
|
+
- **Testing**: See [Testing Guide](docs/development/TESTING.md)
|
|
568
566
|
- **Contributing**: See [Contributing Guide](CONTRIBUTING.md)
|
|
567
|
+
- **Release Notes**: See [Latest Release (7.10.2)](docs/releases/7.10.2.md)
|
|
569
568
|
|
|
570
569
|
## 🎯 Common Use Cases
|
|
571
570
|
|
|
@@ -573,21 +572,20 @@ make wheel
|
|
|
573
572
|
|
|
574
573
|
```bash
|
|
575
574
|
# Create your daily automation
|
|
576
|
-
mcli
|
|
577
|
-
|
|
578
|
-
mcli workflow scheduler add --name daily --schedule "0 9 * * *" --workflow daily-tasks
|
|
575
|
+
mcli workflow add daily-tasks# Add your tasks in $EDITOR
|
|
576
|
+
mcli workflows scheduler add --name daily --schedule "0 9 * * *" --workflow daily-tasks
|
|
579
577
|
```
|
|
580
578
|
|
|
581
579
|
### Use Case 2: Team Workflow Sharing
|
|
582
580
|
|
|
583
581
|
```bash
|
|
584
582
|
# On your machine
|
|
585
|
-
mcli
|
|
583
|
+
mcli workflow export team-workflows.json
|
|
586
584
|
|
|
587
585
|
# Share file with team
|
|
588
586
|
# On teammate's machine
|
|
589
|
-
mcli
|
|
590
|
-
mcli
|
|
587
|
+
mcli workflow import team-workflows.json
|
|
588
|
+
mcli workflow verify # Ensure consistency
|
|
591
589
|
```
|
|
592
590
|
|
|
593
591
|
### Use Case 3: CI/CD Integration
|
|
@@ -595,9 +593,9 @@ mcli commands verify # Ensure consistency
|
|
|
595
593
|
```bash
|
|
596
594
|
# In your CI pipeline
|
|
597
595
|
- pip install mcli-framework
|
|
598
|
-
- mcli
|
|
599
|
-
- mcli
|
|
600
|
-
- mcli
|
|
596
|
+
- mcli workflow import ci-workflows.json
|
|
597
|
+
- mcli workflows build-and-test
|
|
598
|
+
- mcli workflows deploy --env production
|
|
601
599
|
```
|
|
602
600
|
|
|
603
601
|
## 📦 Dependencies
|
|
@@ -627,7 +625,7 @@ We welcome contributions! Especially workflow examples.
|
|
|
627
625
|
1. Fork the repository
|
|
628
626
|
2. Create feature branch: `git checkout -b feature/awesome-workflow`
|
|
629
627
|
3. Create your workflow
|
|
630
|
-
4. Export it: `mcli
|
|
628
|
+
4. Export it: `mcli workflow export my-workflow.json`
|
|
631
629
|
5. Submit PR with workflow JSON
|
|
632
630
|
|
|
633
631
|
## 📄 License
|
|
@@ -646,5 +644,4 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
646
644
|
|
|
647
645
|
```bash
|
|
648
646
|
pip install mcli-framework
|
|
649
|
-
mcli
|
|
650
|
-
```
|
|
647
|
+
mcli workflow add my-first-workflow```
|
|
@@ -73,20 +73,20 @@ def app(message):
|
|
|
73
73
|
EOF
|
|
74
74
|
|
|
75
75
|
# Import as workflow
|
|
76
|
-
mcli
|
|
76
|
+
mcli workflow import-script my_task.py --name my-task
|
|
77
77
|
|
|
78
78
|
# Run it
|
|
79
|
-
mcli
|
|
79
|
+
mcli workflowss my-task --message "Hi"
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
#### Method 2: Interactive Creation
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
85
|
# Create workflow interactively
|
|
86
|
-
mcli
|
|
86
|
+
mcli workflow add my-task
|
|
87
87
|
|
|
88
88
|
# Edit in your $EDITOR, then run
|
|
89
|
-
mcli
|
|
89
|
+
mcli workflowss my-task
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
## 📦 Workflow System Features
|
|
@@ -97,29 +97,28 @@ Multiple ways to create workflows:
|
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
99
|
# Import from existing Python script
|
|
100
|
-
mcli
|
|
101
|
-
|
|
100
|
+
mcli workflow import-script script.py --name my-workflow
|
|
102
101
|
# Create new workflow interactively
|
|
103
|
-
mcli
|
|
102
|
+
mcli workflow add my-workflow --group workflow --description "Does something useful"
|
|
104
103
|
|
|
105
104
|
# List all workflows
|
|
106
|
-
mcli
|
|
105
|
+
mcli workflow list-custom
|
|
107
106
|
```
|
|
108
107
|
|
|
109
108
|
### 2. **Edit & Manage Workflows**
|
|
110
109
|
|
|
111
110
|
```bash
|
|
112
111
|
# Edit workflow in $EDITOR
|
|
113
|
-
mcli
|
|
112
|
+
mcli workflow edit my-workflow
|
|
114
113
|
|
|
115
114
|
# Show workflow details
|
|
116
|
-
mcli
|
|
115
|
+
mcli workflow info my-workflow
|
|
117
116
|
|
|
118
117
|
# Search workflows
|
|
119
|
-
mcli
|
|
118
|
+
mcli workflow search "pdf"
|
|
120
119
|
|
|
121
120
|
# Remove workflow
|
|
122
|
-
mcli
|
|
121
|
+
mcli workflow remove my-workflow
|
|
123
122
|
```
|
|
124
123
|
|
|
125
124
|
### 3. **Export & Import (Portability)**
|
|
@@ -128,13 +127,13 @@ Share workflows across machines or with your team:
|
|
|
128
127
|
|
|
129
128
|
```bash
|
|
130
129
|
# Export all workflows to JSON
|
|
131
|
-
mcli
|
|
130
|
+
mcli workflow export my-workflows.json
|
|
132
131
|
|
|
133
132
|
# Import on another machine
|
|
134
|
-
mcli
|
|
133
|
+
mcli workflow import my-workflows.json
|
|
135
134
|
|
|
136
135
|
# Export single workflow to Python script
|
|
137
|
-
mcli
|
|
136
|
+
mcli workflow export-script my-workflow --output my_workflow.py
|
|
138
137
|
```
|
|
139
138
|
|
|
140
139
|
Your workflows are just JSON files in `~/.mcli/commands/`:
|
|
@@ -153,10 +152,10 @@ MCLI automatically maintains a lockfile for reproducibility:
|
|
|
153
152
|
|
|
154
153
|
```bash
|
|
155
154
|
# Update lockfile with current workflow versions
|
|
156
|
-
mcli
|
|
155
|
+
mcli workflow update-lockfile
|
|
157
156
|
|
|
158
157
|
# Verify workflows match lockfile
|
|
159
|
-
mcli
|
|
158
|
+
mcli workflow verify
|
|
160
159
|
```
|
|
161
160
|
|
|
162
161
|
Example `commands.lock.json`:
|
|
@@ -186,7 +185,7 @@ git commit -m "Update workflows"
|
|
|
186
185
|
|
|
187
186
|
# On another machine
|
|
188
187
|
git pull
|
|
189
|
-
mcli
|
|
188
|
+
mcli workflow verify # Ensures consistency
|
|
190
189
|
```
|
|
191
190
|
|
|
192
191
|
### 5. **Run as Daemon or Scheduled Task**
|
|
@@ -197,29 +196,29 @@ Workflows aren't coupled to the engine - run them however you want:
|
|
|
197
196
|
|
|
198
197
|
```bash
|
|
199
198
|
# Start workflow as background daemon
|
|
200
|
-
mcli
|
|
199
|
+
mcli workflows daemon start my-task-daemon --workflow my-task
|
|
201
200
|
|
|
202
201
|
# Check daemon status
|
|
203
|
-
mcli
|
|
202
|
+
mcli workflows daemon status
|
|
204
203
|
|
|
205
204
|
# Stop daemon
|
|
206
|
-
mcli
|
|
205
|
+
mcli workflows daemon stop my-task-daemon
|
|
207
206
|
```
|
|
208
207
|
|
|
209
208
|
#### As Scheduled Task:
|
|
210
209
|
|
|
211
210
|
```bash
|
|
212
211
|
# Schedule workflow to run every hour
|
|
213
|
-
mcli
|
|
212
|
+
mcli workflows scheduler add \
|
|
214
213
|
--name hourly-sync \
|
|
215
214
|
--schedule "0 * * * *" \
|
|
216
215
|
--workflow my-task
|
|
217
216
|
|
|
218
217
|
# List scheduled workflows
|
|
219
|
-
mcli
|
|
218
|
+
mcli workflows scheduler list
|
|
220
219
|
|
|
221
220
|
# View logs
|
|
222
|
-
mcli
|
|
221
|
+
mcli workflows scheduler logs hourly-sync
|
|
223
222
|
```
|
|
224
223
|
|
|
225
224
|
## 🎨 Real-World Workflow Examples
|
|
@@ -228,12 +227,11 @@ mcli workflow scheduler logs hourly-sync
|
|
|
228
227
|
|
|
229
228
|
```bash
|
|
230
229
|
# Create PDF processing workflow
|
|
231
|
-
mcli
|
|
232
|
-
|
|
230
|
+
mcli workflow import-script pdf_tool.py --name pdf
|
|
233
231
|
# Use it
|
|
234
|
-
mcli
|
|
235
|
-
mcli
|
|
236
|
-
mcli
|
|
232
|
+
mcli workflows pdf extract ~/Documents/report.pdf
|
|
233
|
+
mcli workflows pdf compress ~/Documents/*.pdf --output compressed/
|
|
234
|
+
mcli workflows pdf split large.pdf --pages 10
|
|
237
235
|
```
|
|
238
236
|
|
|
239
237
|
### Example 2: Data Sync Workflow
|
|
@@ -263,13 +261,12 @@ def status():
|
|
|
263
261
|
click.echo("Checking sync status...")
|
|
264
262
|
EOF
|
|
265
263
|
|
|
266
|
-
mcli
|
|
267
|
-
|
|
264
|
+
mcli workflow import-script sync.py --name sync
|
|
268
265
|
# Run manually
|
|
269
|
-
mcli
|
|
266
|
+
mcli workflows sync backup ~/data remote:backup
|
|
270
267
|
|
|
271
268
|
# Or schedule it
|
|
272
|
-
mcli
|
|
269
|
+
mcli workflows scheduler add \
|
|
273
270
|
--name nightly-backup \
|
|
274
271
|
--schedule "0 2 * * *" \
|
|
275
272
|
--workflow "sync backup ~/data remote:backup"
|
|
@@ -279,13 +276,12 @@ mcli workflow scheduler add \
|
|
|
279
276
|
|
|
280
277
|
```bash
|
|
281
278
|
# Already included as built-in workflow
|
|
282
|
-
mcli
|
|
279
|
+
mcli workflows git-commit
|
|
283
280
|
|
|
284
281
|
# Or create your own variant
|
|
285
|
-
mcli
|
|
282
|
+
mcli workflow export-script git-commit --output my_git_helper.py
|
|
286
283
|
# Edit my_git_helper.py to customize
|
|
287
|
-
mcli
|
|
288
|
-
```
|
|
284
|
+
mcli workflow import-script my_git_helper.py --name my-git```
|
|
289
285
|
|
|
290
286
|
## 🔧 Workflow Structure
|
|
291
287
|
|
|
@@ -311,7 +307,7 @@ Each workflow is a JSON file with this structure:
|
|
|
311
307
|
MCLI comes with powerful built-in workflows:
|
|
312
308
|
|
|
313
309
|
```bash
|
|
314
|
-
mcli
|
|
310
|
+
mcli workflows --help
|
|
315
311
|
```
|
|
316
312
|
|
|
317
313
|
Available workflows:
|
|
@@ -355,8 +351,8 @@ You write scripts. They work. Then:
|
|
|
355
351
|
mcli self completion install
|
|
356
352
|
|
|
357
353
|
# Now use tab completion
|
|
358
|
-
mcli
|
|
359
|
-
mcli
|
|
354
|
+
mcli workflows <TAB> # Shows all workflows
|
|
355
|
+
mcli workflows pdf <TAB> # Shows pdf subcommands
|
|
360
356
|
```
|
|
361
357
|
|
|
362
358
|
### AI Chat Integration
|
|
@@ -402,10 +398,13 @@ make wheel
|
|
|
402
398
|
|
|
403
399
|
## 📖 Documentation
|
|
404
400
|
|
|
405
|
-
-
|
|
401
|
+
- **📚 Documentation Index**: [Complete Documentation Index](docs/INDEX.md) - All docs organized by category
|
|
402
|
+
- **Installation**: See [Installation Guide](docs/setup/INSTALL.md)
|
|
406
403
|
- **Workflows**: Full workflow documentation (this README)
|
|
407
404
|
- **Shell Completion**: See [Shell Completion Guide](docs/features/SHELL_COMPLETION.md)
|
|
405
|
+
- **Testing**: See [Testing Guide](docs/development/TESTING.md)
|
|
408
406
|
- **Contributing**: See [Contributing Guide](CONTRIBUTING.md)
|
|
407
|
+
- **Release Notes**: See [Latest Release (7.10.2)](docs/releases/7.10.2.md)
|
|
409
408
|
|
|
410
409
|
## 🎯 Common Use Cases
|
|
411
410
|
|
|
@@ -413,21 +412,20 @@ make wheel
|
|
|
413
412
|
|
|
414
413
|
```bash
|
|
415
414
|
# Create your daily automation
|
|
416
|
-
mcli
|
|
417
|
-
|
|
418
|
-
mcli workflow scheduler add --name daily --schedule "0 9 * * *" --workflow daily-tasks
|
|
415
|
+
mcli workflow add daily-tasks# Add your tasks in $EDITOR
|
|
416
|
+
mcli workflows scheduler add --name daily --schedule "0 9 * * *" --workflow daily-tasks
|
|
419
417
|
```
|
|
420
418
|
|
|
421
419
|
### Use Case 2: Team Workflow Sharing
|
|
422
420
|
|
|
423
421
|
```bash
|
|
424
422
|
# On your machine
|
|
425
|
-
mcli
|
|
423
|
+
mcli workflow export team-workflows.json
|
|
426
424
|
|
|
427
425
|
# Share file with team
|
|
428
426
|
# On teammate's machine
|
|
429
|
-
mcli
|
|
430
|
-
mcli
|
|
427
|
+
mcli workflow import team-workflows.json
|
|
428
|
+
mcli workflow verify # Ensure consistency
|
|
431
429
|
```
|
|
432
430
|
|
|
433
431
|
### Use Case 3: CI/CD Integration
|
|
@@ -435,9 +433,9 @@ mcli commands verify # Ensure consistency
|
|
|
435
433
|
```bash
|
|
436
434
|
# In your CI pipeline
|
|
437
435
|
- pip install mcli-framework
|
|
438
|
-
- mcli
|
|
439
|
-
- mcli
|
|
440
|
-
- mcli
|
|
436
|
+
- mcli workflow import ci-workflows.json
|
|
437
|
+
- mcli workflows build-and-test
|
|
438
|
+
- mcli workflows deploy --env production
|
|
441
439
|
```
|
|
442
440
|
|
|
443
441
|
## 📦 Dependencies
|
|
@@ -467,7 +465,7 @@ We welcome contributions! Especially workflow examples.
|
|
|
467
465
|
1. Fork the repository
|
|
468
466
|
2. Create feature branch: `git checkout -b feature/awesome-workflow`
|
|
469
467
|
3. Create your workflow
|
|
470
|
-
4. Export it: `mcli
|
|
468
|
+
4. Export it: `mcli workflow export my-workflow.json`
|
|
471
469
|
5. Submit PR with workflow JSON
|
|
472
470
|
|
|
473
471
|
## 📄 License
|
|
@@ -486,5 +484,4 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
486
484
|
|
|
487
485
|
```bash
|
|
488
486
|
pip install mcli-framework
|
|
489
|
-
mcli
|
|
490
|
-
```
|
|
487
|
+
mcli workflow add my-first-workflow```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mcli-framework"
|
|
3
|
-
version = "7.
|
|
3
|
+
version = "7.11.0"
|
|
4
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."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.9"
|