mcli-framework 7.8.4__py3-none-any.whl → 7.9.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mcli-framework might be problematic. Click here for more details.
- mcli/__init__.py +160 -0
- mcli/__main__.py +14 -0
- mcli/app/__init__.py +23 -0
- mcli/app/main.py +10 -17
- mcli/app/model/__init__.py +0 -0
- mcli/app/model_cmd.py +57 -472
- mcli/app/video/__init__.py +5 -0
- mcli/chat/__init__.py +34 -0
- mcli/lib/__init__.py +0 -0
- mcli/lib/api/__init__.py +0 -0
- mcli/lib/auth/__init__.py +1 -0
- mcli/lib/config/__init__.py +1 -0
- mcli/lib/erd/__init__.py +25 -0
- mcli/lib/files/__init__.py +0 -0
- mcli/lib/fs/__init__.py +1 -0
- mcli/lib/lib.py +8 -1
- mcli/lib/logger/__init__.py +3 -0
- mcli/lib/performance/__init__.py +17 -0
- mcli/lib/pickles/__init__.py +1 -0
- mcli/lib/secrets/__init__.py +10 -0
- mcli/lib/secrets/commands.py +185 -0
- mcli/lib/secrets/manager.py +213 -0
- mcli/lib/secrets/repl.py +297 -0
- mcli/lib/secrets/store.py +246 -0
- mcli/lib/shell/__init__.py +0 -0
- mcli/lib/toml/__init__.py +1 -0
- mcli/lib/watcher/__init__.py +0 -0
- mcli/ml/__init__.py +16 -0
- mcli/ml/api/__init__.py +30 -0
- mcli/ml/api/routers/__init__.py +27 -0
- mcli/ml/auth/__init__.py +41 -0
- mcli/ml/backtesting/__init__.py +33 -0
- mcli/ml/cli/__init__.py +5 -0
- mcli/ml/config/__init__.py +33 -0
- mcli/ml/configs/__init__.py +16 -0
- mcli/ml/dashboard/__init__.py +12 -0
- mcli/ml/dashboard/components/__init__.py +7 -0
- mcli/ml/dashboard/pages/__init__.py +6 -0
- mcli/ml/data_ingestion/__init__.py +29 -0
- mcli/ml/database/__init__.py +40 -0
- mcli/ml/experimentation/__init__.py +29 -0
- mcli/ml/features/__init__.py +39 -0
- mcli/ml/mlops/__init__.py +19 -0
- mcli/ml/models/__init__.py +90 -0
- mcli/ml/monitoring/__init__.py +25 -0
- mcli/ml/optimization/__init__.py +27 -0
- mcli/ml/predictions/__init__.py +5 -0
- mcli/ml/preprocessing/__init__.py +24 -0
- mcli/ml/scripts/__init__.py +1 -0
- mcli/ml/trading/__init__.py +63 -0
- mcli/ml/training/__init__.py +7 -0
- mcli/mygroup/__init__.py +3 -0
- mcli/public/__init__.py +1 -0
- mcli/public/commands/__init__.py +2 -0
- mcli/self/__init__.py +3 -0
- mcli/self/self_cmd.py +8 -0
- mcli/self/zsh_cmd.py +259 -0
- mcli/workflow/__init__.py +0 -0
- mcli/workflow/daemon/__init__.py +15 -0
- mcli/workflow/dashboard/__init__.py +5 -0
- mcli/workflow/docker/__init__.py +0 -0
- mcli/workflow/file/__init__.py +0 -0
- mcli/workflow/gcloud/__init__.py +1 -0
- mcli/workflow/git_commit/__init__.py +0 -0
- mcli/workflow/interview/__init__.py +0 -0
- mcli/workflow/politician_trading/__init__.py +4 -0
- mcli/workflow/registry/__init__.py +0 -0
- mcli/workflow/repo/__init__.py +0 -0
- mcli/workflow/scheduler/__init__.py +25 -0
- mcli/workflow/search/__init__.py +0 -0
- mcli/workflow/sync/__init__.py +5 -0
- mcli/workflow/videos/__init__.py +1 -0
- mcli/workflow/wakatime/__init__.py +80 -0
- {mcli_framework-7.8.4.dist-info → mcli_framework-7.9.0.dist-info}/METADATA +2 -1
- {mcli_framework-7.8.4.dist-info → mcli_framework-7.9.0.dist-info}/RECORD +79 -12
- mcli/app/chat_cmd.py +0 -42
- mcli/test/test_cmd.py +0 -20
- {mcli_framework-7.8.4.dist-info → mcli_framework-7.9.0.dist-info}/WHEEL +0 -0
- {mcli_framework-7.8.4.dist-info → mcli_framework-7.9.0.dist-info}/entry_points.txt +0 -0
- {mcli_framework-7.8.4.dist-info → mcli_framework-7.9.0.dist-info}/licenses/LICENSE +0 -0
- {mcli_framework-7.8.4.dist-info → mcli_framework-7.9.0.dist-info}/top_level.txt +0 -0
mcli/__init__.py
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# logger.info("I am in mcli.__init__.py")
|
|
2
|
+
import sys
|
|
3
|
+
|
|
4
|
+
try:
|
|
5
|
+
from mcli.app import main
|
|
6
|
+
|
|
7
|
+
# from mcli.public import *
|
|
8
|
+
# from mcli.private import *
|
|
9
|
+
# Import the complete Click superset decorators
|
|
10
|
+
from mcli.lib.api.mcli_decorators import BOOL # mcli.BOOL - Click BOOL type
|
|
11
|
+
from mcli.lib.api.mcli_decorators import FLOAT # mcli.FLOAT - Click FLOAT type
|
|
12
|
+
from mcli.lib.api.mcli_decorators import INT # mcli.INT - Click INT type
|
|
13
|
+
from mcli.lib.api.mcli_decorators import STRING # mcli.STRING - Click STRING type
|
|
14
|
+
from mcli.lib.api.mcli_decorators import UNPROCESSED # mcli.UNPROCESSED - Click UNPROCESSED
|
|
15
|
+
from mcli.lib.api.mcli_decorators import UUID # mcli.UUID - Click UUID type
|
|
16
|
+
from mcli.lib.api.mcli_decorators import Abort # mcli.Abort - Click Abort
|
|
17
|
+
from mcli.lib.api.mcli_decorators import BadParameter # mcli.BadParameter - Click BadParameter
|
|
18
|
+
from mcli.lib.api.mcli_decorators import Choice # mcli.Choice - Click Choice type
|
|
19
|
+
from mcli.lib.api.mcli_decorators import File # mcli.File - Click File type
|
|
20
|
+
from mcli.lib.api.mcli_decorators import FloatRange # mcli.FloatRange - Click FloatRange type
|
|
21
|
+
from mcli.lib.api.mcli_decorators import IntRange # mcli.IntRange - Click IntRange type
|
|
22
|
+
from mcli.lib.api.mcli_decorators import ParamType # mcli.ParamType - Click ParamType
|
|
23
|
+
from mcli.lib.api.mcli_decorators import Path # mcli.Path - Click Path type
|
|
24
|
+
from mcli.lib.api.mcli_decorators import UsageError # mcli.UsageError - Click UsageError
|
|
25
|
+
from mcli.lib.api.mcli_decorators import api # @mcli.api - Legacy API decorator
|
|
26
|
+
from mcli.lib.api.mcli_decorators import (
|
|
27
|
+
api_command, # @mcli.api_command - Convenience for API endpoints
|
|
28
|
+
)
|
|
29
|
+
from mcli.lib.api.mcli_decorators import argument # @mcli.argument - Click argument decorator
|
|
30
|
+
from mcli.lib.api.mcli_decorators import (
|
|
31
|
+
background, # @mcli.background - Legacy background decorator
|
|
32
|
+
)
|
|
33
|
+
from mcli.lib.api.mcli_decorators import (
|
|
34
|
+
background_command, # @mcli.background_command - Convenience for background
|
|
35
|
+
)
|
|
36
|
+
from mcli.lib.api.mcli_decorators import clear # mcli.clear - Click clear
|
|
37
|
+
from mcli.lib.api.mcli_decorators import (
|
|
38
|
+
cli_with_api, # @mcli.cli_with_api - Legacy combined decorator
|
|
39
|
+
)
|
|
40
|
+
from mcli.lib.api.mcli_decorators import (
|
|
41
|
+
command, # @mcli.command - Complete Click command with API/background
|
|
42
|
+
)
|
|
43
|
+
from mcli.lib.api.mcli_decorators import confirm # mcli.confirm - Click confirmation
|
|
44
|
+
from mcli.lib.api.mcli_decorators import echo # mcli.echo - Click echo function
|
|
45
|
+
from mcli.lib.api.mcli_decorators import edit # mcli.edit - Click editor
|
|
46
|
+
from mcli.lib.api.mcli_decorators import (
|
|
47
|
+
format_filename, # mcli.format_filename - Click filename
|
|
48
|
+
)
|
|
49
|
+
from mcli.lib.api.mcli_decorators import get_app # mcli.get_app - Click app
|
|
50
|
+
from mcli.lib.api.mcli_decorators import get_app_dir # mcli.get_app_dir - Click app directory
|
|
51
|
+
from mcli.lib.api.mcli_decorators import (
|
|
52
|
+
get_binary_stream, # mcli.get_binary_stream - Click binary stream
|
|
53
|
+
)
|
|
54
|
+
from mcli.lib.api.mcli_decorators import (
|
|
55
|
+
get_current_context, # mcli.get_current_context - Click context
|
|
56
|
+
)
|
|
57
|
+
from mcli.lib.api.mcli_decorators import (
|
|
58
|
+
get_network_credentials, # mcli.get_network_credentials - Click network
|
|
59
|
+
)
|
|
60
|
+
from mcli.lib.api.mcli_decorators import get_os_args # mcli.get_os_args - Click OS args
|
|
61
|
+
from mcli.lib.api.mcli_decorators import (
|
|
62
|
+
get_terminal_size, # mcli.get_terminal_size - Click terminal size
|
|
63
|
+
)
|
|
64
|
+
from mcli.lib.api.mcli_decorators import (
|
|
65
|
+
get_text_stream, # mcli.get_text_stream - Click text stream
|
|
66
|
+
)
|
|
67
|
+
from mcli.lib.api.mcli_decorators import getchar # mcli.getchar - Click character input
|
|
68
|
+
from mcli.lib.api.mcli_decorators import (
|
|
69
|
+
group, # @mcli.group - Complete Click group with API support
|
|
70
|
+
)
|
|
71
|
+
from mcli.lib.api.mcli_decorators import launch # mcli.launch - Click launch
|
|
72
|
+
from mcli.lib.api.mcli_decorators import open_file # mcli.open_file - Click file operations
|
|
73
|
+
from mcli.lib.api.mcli_decorators import option # @mcli.option - Click option decorator
|
|
74
|
+
from mcli.lib.api.mcli_decorators import pause # mcli.pause - Click pause
|
|
75
|
+
from mcli.lib.api.mcli_decorators import progressbar # mcli.progressbar - Click progress bar
|
|
76
|
+
from mcli.lib.api.mcli_decorators import prompt # mcli.prompt - Click prompt
|
|
77
|
+
from mcli.lib.api.mcli_decorators import secho # mcli.secho - Click styled echo
|
|
78
|
+
from mcli.lib.api.mcli_decorators import style # mcli.style - Click styling
|
|
79
|
+
from mcli.lib.api.mcli_decorators import unstyle # mcli.unstyle - Click unstyle
|
|
80
|
+
from mcli.lib.api.mcli_decorators import ( # Core decorators (complete Click superset); Click re-exports (complete subsume); Click types (complete subsume); Convenience decorators; Legacy decorators (for backward compatibility); Server management; Configuration; Convenience functions
|
|
81
|
+
disable_api_server,
|
|
82
|
+
enable_api_server,
|
|
83
|
+
get_api_config,
|
|
84
|
+
health_check,
|
|
85
|
+
is_background_available,
|
|
86
|
+
is_server_running,
|
|
87
|
+
start_server,
|
|
88
|
+
status_check,
|
|
89
|
+
stop_server,
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
# Make everything available at the top level (complete Click subsume)
|
|
93
|
+
__all__ = [
|
|
94
|
+
"main",
|
|
95
|
+
# Core decorators (complete Click superset)
|
|
96
|
+
"command",
|
|
97
|
+
"group",
|
|
98
|
+
# Click re-exports (complete subsume)
|
|
99
|
+
"option",
|
|
100
|
+
"argument",
|
|
101
|
+
"echo",
|
|
102
|
+
"get_current_context",
|
|
103
|
+
"get_app",
|
|
104
|
+
"launch",
|
|
105
|
+
"open_file",
|
|
106
|
+
"get_os_args",
|
|
107
|
+
"get_binary_stream",
|
|
108
|
+
"get_text_stream",
|
|
109
|
+
"format_filename",
|
|
110
|
+
"getchar",
|
|
111
|
+
"pause",
|
|
112
|
+
"clear",
|
|
113
|
+
"style",
|
|
114
|
+
"unstyle",
|
|
115
|
+
"secho",
|
|
116
|
+
"edit",
|
|
117
|
+
"confirm",
|
|
118
|
+
"prompt",
|
|
119
|
+
"progressbar",
|
|
120
|
+
"get_terminal_size",
|
|
121
|
+
"get_app_dir",
|
|
122
|
+
"get_network_credentials",
|
|
123
|
+
# Click types (complete subsume)
|
|
124
|
+
"Path",
|
|
125
|
+
"Choice",
|
|
126
|
+
"IntRange",
|
|
127
|
+
"FloatRange",
|
|
128
|
+
"UNPROCESSED",
|
|
129
|
+
"STRING",
|
|
130
|
+
"INT",
|
|
131
|
+
"FLOAT",
|
|
132
|
+
"BOOL",
|
|
133
|
+
"UUID",
|
|
134
|
+
"File",
|
|
135
|
+
"ParamType",
|
|
136
|
+
"BadParameter",
|
|
137
|
+
"UsageError",
|
|
138
|
+
"Abort",
|
|
139
|
+
# Convenience decorators
|
|
140
|
+
"api_command",
|
|
141
|
+
"background_command",
|
|
142
|
+
# Legacy decorators (for backward compatibility)
|
|
143
|
+
"api",
|
|
144
|
+
"background",
|
|
145
|
+
"cli_with_api",
|
|
146
|
+
# Server management
|
|
147
|
+
"start_server",
|
|
148
|
+
"stop_server",
|
|
149
|
+
"is_server_running",
|
|
150
|
+
"is_background_available",
|
|
151
|
+
"get_api_config",
|
|
152
|
+
"enable_api_server",
|
|
153
|
+
"disable_api_server",
|
|
154
|
+
"health_check",
|
|
155
|
+
"status_check",
|
|
156
|
+
]
|
|
157
|
+
|
|
158
|
+
except ImportError:
|
|
159
|
+
# from .app import main
|
|
160
|
+
sys.exit(1)
|
mcli/__main__.py
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# logger.info("I am in mcli.__init__.py")
|
|
2
|
+
|
|
3
|
+
try:
|
|
4
|
+
from mcli.app.main import main as main_func
|
|
5
|
+
|
|
6
|
+
# from mcli.public import *
|
|
7
|
+
# from mcli.private import *
|
|
8
|
+
except ImportError:
|
|
9
|
+
from .app.main import main as main_func
|
|
10
|
+
|
|
11
|
+
__all__ = ["main_func"]
|
|
12
|
+
|
|
13
|
+
if __name__ == "__main__":
|
|
14
|
+
main_func()
|
mcli/app/__init__.py
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# src/mcli/app/__init__.py
|
|
2
|
+
import importlib
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
from mcli.lib.logger.logger import get_logger
|
|
6
|
+
|
|
7
|
+
logger = get_logger(__name__)
|
|
8
|
+
|
|
9
|
+
logger.info("Initializing mcli.app package")
|
|
10
|
+
|
|
11
|
+
# Import main function
|
|
12
|
+
try:
|
|
13
|
+
from .main import main
|
|
14
|
+
|
|
15
|
+
logger.info("Successfully imported main from .main")
|
|
16
|
+
except ImportError as e:
|
|
17
|
+
logger.error(f"Failed to import main: {e}")
|
|
18
|
+
import traceback
|
|
19
|
+
|
|
20
|
+
logger.error(f"Traceback: {traceback.format_exc()}")
|
|
21
|
+
raise
|
|
22
|
+
|
|
23
|
+
__all__ = ["main"]
|
mcli/app/main.py
CHANGED
|
@@ -12,8 +12,6 @@ from typing import List, Optional
|
|
|
12
12
|
import click
|
|
13
13
|
import tomli
|
|
14
14
|
|
|
15
|
-
# Import chat command group
|
|
16
|
-
from mcli.app.chat_cmd import chat
|
|
17
15
|
from mcli.lib.logger.logger import disable_runtime_tracing, enable_runtime_tracing, get_logger
|
|
18
16
|
from mcli.lib.ui.styling import info, success
|
|
19
17
|
|
|
@@ -346,14 +344,14 @@ def _add_lazy_commands(app: click.Group):
|
|
|
346
344
|
except Exception as e:
|
|
347
345
|
logger.debug(f"Could not load self commands: {e}")
|
|
348
346
|
|
|
349
|
-
#
|
|
347
|
+
# Library utilities and secrets management
|
|
350
348
|
try:
|
|
351
|
-
from mcli.
|
|
349
|
+
from mcli.lib.lib import lib
|
|
352
350
|
|
|
353
|
-
app.add_command(
|
|
354
|
-
logger.debug("Added
|
|
351
|
+
app.add_command(lib, name="lib")
|
|
352
|
+
logger.debug("Added lib commands")
|
|
355
353
|
except Exception as e:
|
|
356
|
-
logger.debug(f"Could not load
|
|
354
|
+
logger.debug(f"Could not load lib commands: {e}")
|
|
357
355
|
|
|
358
356
|
# Add workflow with completion-aware lazy loading
|
|
359
357
|
try:
|
|
@@ -377,16 +375,11 @@ def _add_lazy_commands(app: click.Group):
|
|
|
377
375
|
app.add_command(workflow_group, name="workflow")
|
|
378
376
|
|
|
379
377
|
# Lazy load other heavy commands that are used less frequently
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
"model": {
|
|
386
|
-
"import_path": "mcli.app.model_cmd.model",
|
|
387
|
-
"help": "Model management commands for offline and online model usage",
|
|
388
|
-
},
|
|
389
|
-
}
|
|
378
|
+
# NOTE: chat and model commands have been removed
|
|
379
|
+
# - chat: removed from core commands
|
|
380
|
+
# - model: moved to ~/.mcli/commands workflow
|
|
381
|
+
# - test: removed from core commands
|
|
382
|
+
lazy_commands = {}
|
|
390
383
|
|
|
391
384
|
for cmd_name, cmd_info in lazy_commands.items():
|
|
392
385
|
# Skip workflow since we already added it with completion support
|
|
File without changes
|