ml-dash 0.5.6__tar.gz → 0.5.8__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.
- {ml_dash-0.5.6 → ml_dash-0.5.8}/PKG-INFO +2 -1
- {ml_dash-0.5.6 → ml_dash-0.5.8}/pyproject.toml +5 -1
- ml_dash-0.5.8/src/ml_dash/cli.py +67 -0
- ml_dash-0.5.8/src/ml_dash/cli_commands/__init__.py +1 -0
- ml_dash-0.5.8/src/ml_dash/cli_commands/download.py +797 -0
- ml_dash-0.5.8/src/ml_dash/cli_commands/list.py +343 -0
- ml_dash-0.5.8/src/ml_dash/cli_commands/upload.py +1298 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/client.py +360 -0
- ml_dash-0.5.8/src/ml_dash/config.py +119 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/files.py +4 -4
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/storage.py +64 -13
- {ml_dash-0.5.6 → ml_dash-0.5.8}/LICENSE +0 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/README.md +0 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/__init__.py +0 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/auto_start.py +0 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/experiment.py +0 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/log.py +0 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/metric.py +0 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/params.py +0 -0
- {ml_dash-0.5.6 → ml_dash-0.5.8}/src/ml_dash/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: ml-dash
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.8
|
|
4
4
|
Summary: ML experiment tracking and data storage
|
|
5
5
|
Keywords: machine-learning,experiment-tracking,mlops,data-storage
|
|
6
6
|
Author: Ge Yang, Tom Tao
|
|
@@ -41,6 +41,7 @@ Requires-Dist: pyjwt>=2.8.0
|
|
|
41
41
|
Requires-Dist: imageio>=2.31.0
|
|
42
42
|
Requires-Dist: imageio-ffmpeg>=0.4.9
|
|
43
43
|
Requires-Dist: scikit-image>=0.21.0
|
|
44
|
+
Requires-Dist: rich>=13.0.0
|
|
44
45
|
Requires-Dist: pytest>=8.0.0 ; extra == 'dev'
|
|
45
46
|
Requires-Dist: pytest-asyncio>=0.23.0 ; extra == 'dev'
|
|
46
47
|
Requires-Dist: sphinx>=7.2.0 ; extra == 'dev'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "ml-dash"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.8"
|
|
4
4
|
description = "ML experiment tracking and data storage"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.9"
|
|
@@ -29,8 +29,12 @@ dependencies = [
|
|
|
29
29
|
"imageio>=2.31.0",
|
|
30
30
|
"imageio-ffmpeg>=0.4.9",
|
|
31
31
|
"scikit-image>=0.21.0",
|
|
32
|
+
"rich>=13.0.0",
|
|
32
33
|
]
|
|
33
34
|
|
|
35
|
+
[project.scripts]
|
|
36
|
+
ml-dash = "ml_dash.cli:main"
|
|
37
|
+
|
|
34
38
|
[project.optional-dependencies]
|
|
35
39
|
dev = [
|
|
36
40
|
"pytest>=8.0.0",
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"""ML-Dash command-line interface."""
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import sys
|
|
5
|
+
from typing import Optional, List
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def create_parser() -> argparse.ArgumentParser:
|
|
9
|
+
"""Create the main CLI argument parser."""
|
|
10
|
+
parser = argparse.ArgumentParser(
|
|
11
|
+
prog="ml-dash",
|
|
12
|
+
description="ML-Dash: ML experiment tracking and data storage CLI",
|
|
13
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
# Add subcommands
|
|
17
|
+
subparsers = parser.add_subparsers(
|
|
18
|
+
dest="command",
|
|
19
|
+
help="Available commands",
|
|
20
|
+
metavar="COMMAND",
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
# Import and add command parsers
|
|
24
|
+
from .cli_commands import upload, download, list as list_cmd
|
|
25
|
+
upload.add_parser(subparsers)
|
|
26
|
+
download.add_parser(subparsers)
|
|
27
|
+
list_cmd.add_parser(subparsers)
|
|
28
|
+
|
|
29
|
+
return parser
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def main(argv: Optional[List[str]] = None) -> int:
|
|
33
|
+
"""
|
|
34
|
+
Main CLI entry point.
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
argv: Command-line arguments (defaults to sys.argv[1:])
|
|
38
|
+
|
|
39
|
+
Returns:
|
|
40
|
+
Exit code (0 for success, non-zero for error)
|
|
41
|
+
"""
|
|
42
|
+
parser = create_parser()
|
|
43
|
+
args = parser.parse_args(argv)
|
|
44
|
+
|
|
45
|
+
# If no command specified, show help
|
|
46
|
+
if args.command is None:
|
|
47
|
+
parser.print_help()
|
|
48
|
+
return 0
|
|
49
|
+
|
|
50
|
+
# Route to command handlers
|
|
51
|
+
if args.command == "upload":
|
|
52
|
+
from .cli_commands import upload
|
|
53
|
+
return upload.cmd_upload(args)
|
|
54
|
+
elif args.command == "download":
|
|
55
|
+
from .cli_commands import download
|
|
56
|
+
return download.cmd_download(args)
|
|
57
|
+
elif args.command == "list":
|
|
58
|
+
from .cli_commands import list as list_cmd
|
|
59
|
+
return list_cmd.cmd_list(args)
|
|
60
|
+
|
|
61
|
+
# Unknown command (shouldn't happen due to subparsers)
|
|
62
|
+
parser.print_help()
|
|
63
|
+
return 1
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
if __name__ == "__main__":
|
|
67
|
+
sys.exit(main())
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""CLI command modules for ML-Dash."""
|