vantage6 5.0.0a26__py3-none-any.whl → 5.0.0a33__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 vantage6 might be problematic. Click here for more details.
- vantage6/cli/__init__.py +5 -1
- vantage6/cli/algorithm/generate_algorithm_json.py +28 -34
- vantage6/cli/algostore/list.py +2 -1
- vantage6/cli/algostore/start.py +6 -6
- vantage6/cli/algostore/stop.py +3 -2
- vantage6/cli/common/decorator.py +3 -1
- vantage6/cli/common/start.py +2 -4
- vantage6/cli/common/utils.py +7 -13
- vantage6/cli/configuration_manager.py +5 -3
- vantage6/cli/configuration_wizard.py +6 -10
- vantage6/cli/context/__init__.py +2 -1
- vantage6/cli/context/algorithm_store.py +10 -7
- vantage6/cli/context/node.py +7 -7
- vantage6/cli/context/server.py +10 -5
- vantage6/cli/dev/create.py +11 -13
- vantage6/cli/dev/remove.py +2 -2
- vantage6/cli/globals.py +5 -5
- vantage6/cli/node/common/__init__.py +6 -5
- vantage6/cli/node/start.py +18 -24
- vantage6/cli/server/files.py +4 -2
- vantage6/cli/server/import_.py +7 -7
- vantage6/cli/server/list.py +2 -1
- vantage6/cli/server/shell.py +5 -4
- vantage6/cli/server/start.py +2 -1
- vantage6/cli/server/stop.py +3 -2
- vantage6/cli/server/version.py +5 -4
- vantage6/cli/template/node_config.j2 +2 -0
- vantage6/cli/test/algo_test_scripts/algo_test_script.py +6 -5
- vantage6/cli/test/feature_tester.py +5 -2
- vantage6-5.0.0a33.dist-info/METADATA +54 -0
- {vantage6-5.0.0a26.dist-info → vantage6-5.0.0a33.dist-info}/RECORD +33 -42
- {vantage6-5.0.0a26.dist-info → vantage6-5.0.0a33.dist-info}/WHEEL +1 -2
- vantage6-5.0.0a33.dist-info/entry_points.txt +2 -0
- tests_cli/__init__.py +0 -0
- tests_cli/test_client_script.py +0 -23
- tests_cli/test_example.py +0 -7
- tests_cli/test_node_cli.py +0 -452
- tests_cli/test_server_cli.py +0 -179
- tests_cli/test_wizard.py +0 -141
- vantage6/cli/__build__ +0 -1
- vantage6/cli/_version.py +0 -23
- vantage6-5.0.0a26.dist-info/METADATA +0 -231
- vantage6-5.0.0a26.dist-info/entry_points.txt +0 -5
- vantage6-5.0.0a26.dist-info/top_level.txt +0 -2
vantage6/cli/globals.py
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
This module contains global variables that are used throughout the CLI.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from enum import Enum
|
|
6
5
|
from pathlib import Path
|
|
7
6
|
|
|
7
|
+
from vantage6.common.enum import StrEnumBase
|
|
8
8
|
from vantage6.common.globals import APPNAME
|
|
9
9
|
|
|
10
10
|
#
|
|
@@ -58,28 +58,28 @@ PROMETHEUS_DIR = "prometheus"
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
# datasets included in the nodes of the dev network
|
|
61
|
-
class DefaultDatasets(
|
|
61
|
+
class DefaultDatasets(StrEnumBase):
|
|
62
62
|
"""Enum containing default datasets"""
|
|
63
63
|
|
|
64
64
|
OLYMPIC_ATHLETES = "olympic_athletes_2016.csv"
|
|
65
65
|
KAPLAN_MEIER_TEST = "km_dataset.csv"
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
class ServerType(
|
|
68
|
+
class ServerType(StrEnumBase):
|
|
69
69
|
"""Enum containing server types"""
|
|
70
70
|
|
|
71
71
|
V6SERVER = "server"
|
|
72
72
|
ALGORITHM_STORE = "algorithm-store"
|
|
73
73
|
|
|
74
74
|
|
|
75
|
-
class ServerGlobals(
|
|
75
|
+
class ServerGlobals(StrEnumBase):
|
|
76
76
|
"""Enum containing server environment variables"""
|
|
77
77
|
|
|
78
78
|
DB_URI_ENV_VAR = "VANTAGE6_DB_URI"
|
|
79
79
|
CONFIG_NAME_ENV_VAR = "VANTAGE6_CONFIG_NAME"
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
class AlgoStoreGlobals(
|
|
82
|
+
class AlgoStoreGlobals(StrEnumBase):
|
|
83
83
|
"""Enum containing algorithm store environment variables"""
|
|
84
84
|
|
|
85
85
|
DB_URI_ENV_VAR = "VANTAGE6_ALGO_STORE_DB_URI"
|
|
@@ -3,15 +3,17 @@ Common functions that are used in node CLI commands
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
|
+
|
|
6
7
|
import docker
|
|
7
8
|
from colorama import Fore, Style
|
|
8
9
|
|
|
9
|
-
from vantage6.common import error, info
|
|
10
|
+
from vantage6.common import debug, error, info
|
|
10
11
|
from vantage6.common.globals import APPNAME, InstanceType, RequiredNodeEnvVars
|
|
12
|
+
|
|
11
13
|
from vantage6.client import UserClient
|
|
12
14
|
|
|
13
|
-
from vantage6.cli.context.node import NodeContext
|
|
14
15
|
from vantage6.cli.configuration_wizard import select_configuration_questionaire
|
|
16
|
+
from vantage6.cli.context.node import NodeContext
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
def create_client(ctx: NodeContext) -> UserClient:
|
|
@@ -86,8 +88,7 @@ def select_node(name: str, system_folders: bool) -> tuple[str, str]:
|
|
|
86
88
|
# raise error if config could not be found
|
|
87
89
|
if not NodeContext.config_exists(name, system_folders):
|
|
88
90
|
error(
|
|
89
|
-
f"The configuration {Fore.RED}{name}{Style.RESET_ALL} could "
|
|
90
|
-
f"not be found."
|
|
91
|
+
f"The configuration {Fore.RED}{name}{Style.RESET_ALL} could not be found."
|
|
91
92
|
)
|
|
92
93
|
exit(1)
|
|
93
94
|
return name
|
|
@@ -108,6 +109,6 @@ def find_running_node_names(client: docker.DockerClient) -> list[str]:
|
|
|
108
109
|
List of names of running nodes
|
|
109
110
|
"""
|
|
110
111
|
running_nodes = client.containers.list(
|
|
111
|
-
filters={"label": f"{APPNAME}-type={InstanceType.NODE
|
|
112
|
+
filters={"label": f"{APPNAME}-type={InstanceType.NODE}"}
|
|
112
113
|
)
|
|
113
114
|
return [node.name for node in running_nodes]
|
vantage6/cli/node/start.py
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
+
import os.path
|
|
2
|
+
import time
|
|
1
3
|
from pathlib import Path
|
|
2
4
|
from threading import Thread
|
|
3
|
-
import time
|
|
4
|
-
import os.path
|
|
5
5
|
|
|
6
6
|
import click
|
|
7
7
|
import docker
|
|
8
|
-
|
|
9
8
|
from colorama import Fore, Style
|
|
10
9
|
|
|
11
|
-
from vantage6.
|
|
12
|
-
from vantage6.common import warning, error, info, debug
|
|
10
|
+
from vantage6.common import debug, error, info, warning
|
|
13
11
|
from vantage6.common.dataclass import TaskDB
|
|
12
|
+
from vantage6.common.docker.addons import (
|
|
13
|
+
check_docker_running,
|
|
14
|
+
remove_container_if_exists,
|
|
15
|
+
)
|
|
14
16
|
from vantage6.common.globals import (
|
|
15
17
|
APPNAME,
|
|
16
18
|
DEFAULT_DOCKER_REGISTRY,
|
|
@@ -18,17 +20,14 @@ from vantage6.common.globals import (
|
|
|
18
20
|
DEFAULT_NODE_IMAGE_WO_TAG,
|
|
19
21
|
InstanceType,
|
|
20
22
|
)
|
|
21
|
-
from vantage6.common.docker.addons import (
|
|
22
|
-
remove_container_if_exists,
|
|
23
|
-
check_docker_running,
|
|
24
|
-
)
|
|
25
23
|
|
|
24
|
+
from vantage6.cli import __version__
|
|
26
25
|
from vantage6.cli.common.decorator import click_insert_context
|
|
27
|
-
from vantage6.cli.
|
|
26
|
+
from vantage6.cli.common.start import pull_infra_image
|
|
28
27
|
from vantage6.cli.common.utils import print_log_worker
|
|
28
|
+
from vantage6.cli.context.node import NodeContext
|
|
29
29
|
from vantage6.cli.node.common import create_client
|
|
30
30
|
from vantage6.cli.utils import check_config_name_allowed
|
|
31
|
-
from vantage6.cli import __version__
|
|
32
31
|
|
|
33
32
|
|
|
34
33
|
@click.command()
|
|
@@ -41,18 +40,17 @@ from vantage6.cli import __version__
|
|
|
41
40
|
@click.option(
|
|
42
41
|
"--force-db-mount",
|
|
43
42
|
is_flag=True,
|
|
44
|
-
help="Always mount node databases; skip the check if they are
|
|
43
|
+
help="Always mount node databases; skip the check if they are existing files.",
|
|
45
44
|
)
|
|
46
45
|
@click.option(
|
|
47
46
|
"--attach/--detach",
|
|
48
47
|
default=False,
|
|
49
|
-
help="Show node logs on the current console after starting the
|
|
48
|
+
help="Show node logs on the current console after starting the node",
|
|
50
49
|
)
|
|
51
50
|
@click.option(
|
|
52
51
|
"--mount-src",
|
|
53
52
|
default="",
|
|
54
|
-
help="Override vantage6 source code in container with the source"
|
|
55
|
-
" code in this path",
|
|
53
|
+
help="Override vantage6 source code in container with the source code in this path",
|
|
56
54
|
)
|
|
57
55
|
@click_insert_context(InstanceType.NODE, include_name=True, include_system_folders=True)
|
|
58
56
|
def cli_node_start(
|
|
@@ -79,7 +77,7 @@ def cli_node_start(
|
|
|
79
77
|
|
|
80
78
|
# check that this node is not already running
|
|
81
79
|
running_nodes = docker_client.containers.list(
|
|
82
|
-
filters={"label": f"{APPNAME}-type={InstanceType.NODE
|
|
80
|
+
filters={"label": f"{APPNAME}-type={InstanceType.NODE}"}
|
|
83
81
|
)
|
|
84
82
|
|
|
85
83
|
suffix = "system" if system_folders else "user"
|
|
@@ -117,9 +115,7 @@ def cli_node_start(
|
|
|
117
115
|
f":{major_minor}"
|
|
118
116
|
)
|
|
119
117
|
except Exception:
|
|
120
|
-
warning(
|
|
121
|
-
"Could not determine server version. Using default " "node image"
|
|
122
|
-
)
|
|
118
|
+
warning("Could not determine server version. Using default node image")
|
|
123
119
|
|
|
124
120
|
if major_minor and not __version__.startswith(major_minor):
|
|
125
121
|
warning(
|
|
@@ -243,8 +239,8 @@ def cli_node_start(
|
|
|
243
239
|
if db.type.is_file_based() and not db_file_exists:
|
|
244
240
|
error(
|
|
245
241
|
f"Database {Fore.RED}{db.uri}{Style.RESET_ALL} not found. Databases of "
|
|
246
|
-
f"type '{db.type}' must be present on the harddrive. Please
|
|
247
|
-
"your node configuration file."
|
|
242
|
+
f"type '{db.type}' must be present on the harddrive. Please "
|
|
243
|
+
"update your node configuration file."
|
|
248
244
|
)
|
|
249
245
|
exit(1)
|
|
250
246
|
|
|
@@ -283,9 +279,7 @@ def cli_node_start(
|
|
|
283
279
|
# we won't accept overwrites of existing env vars
|
|
284
280
|
env_overwrites = extra_env.keys() & env.keys()
|
|
285
281
|
if env_overwrites:
|
|
286
|
-
error(
|
|
287
|
-
"Cannot overwrite existing node environment variables: " f"{env_overwrites}"
|
|
288
|
-
)
|
|
282
|
+
error(f"Cannot overwrite existing node environment variables: {env_overwrites}")
|
|
289
283
|
exit(1)
|
|
290
284
|
env.update(extra_env)
|
|
291
285
|
|
vantage6/cli/server/files.py
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
3
|
from vantage6.common import info
|
|
4
|
-
from vantage6.
|
|
4
|
+
from vantage6.common.globals import InstanceType
|
|
5
|
+
|
|
5
6
|
from vantage6.cli.common.decorator import click_insert_context
|
|
7
|
+
from vantage6.cli.context.server import ServerContext
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
@click.command()
|
|
9
|
-
@click_insert_context(type_=
|
|
11
|
+
@click_insert_context(type_=InstanceType.SERVER)
|
|
10
12
|
def cli_server_files(ctx: ServerContext) -> None:
|
|
11
13
|
"""
|
|
12
14
|
List files that belong to a particular server instance.
|
vantage6/cli/server/import_.py
CHANGED
|
@@ -4,7 +4,6 @@ from threading import Thread
|
|
|
4
4
|
import click
|
|
5
5
|
import docker
|
|
6
6
|
from sqlalchemy.engine.url import make_url
|
|
7
|
-
from vantage6.cli.globals import ServerGlobals
|
|
8
7
|
|
|
9
8
|
from vantage6.common import info, warning
|
|
10
9
|
from vantage6.common.docker.addons import check_docker_running, pull_image
|
|
@@ -14,10 +13,12 @@ from vantage6.common.globals import (
|
|
|
14
13
|
DEFAULT_SERVER_IMAGE,
|
|
15
14
|
InstanceType,
|
|
16
15
|
)
|
|
17
|
-
|
|
18
|
-
from vantage6.cli.utils import check_config_name_allowed
|
|
16
|
+
|
|
19
17
|
from vantage6.cli.common.decorator import click_insert_context
|
|
20
18
|
from vantage6.cli.common.utils import print_log_worker
|
|
19
|
+
from vantage6.cli.context.server import ServerContext
|
|
20
|
+
from vantage6.cli.globals import ServerGlobals
|
|
21
|
+
from vantage6.cli.utils import check_config_name_allowed
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
# TODO this method has a lot of duplicated code from `start`
|
|
@@ -33,8 +34,7 @@ from vantage6.cli.common.utils import print_log_worker
|
|
|
33
34
|
@click.option(
|
|
34
35
|
"--mount-src",
|
|
35
36
|
default="",
|
|
36
|
-
help="Override vantage6 source code in container with the source"
|
|
37
|
-
" code in this path",
|
|
37
|
+
help="Override vantage6 source code in container with the source code in this path",
|
|
38
38
|
)
|
|
39
39
|
@click.option(
|
|
40
40
|
"--keep/--auto-remove",
|
|
@@ -42,7 +42,7 @@ from vantage6.cli.common.utils import print_log_worker
|
|
|
42
42
|
help="Keep image after finishing. Useful for debugging",
|
|
43
43
|
)
|
|
44
44
|
@click.option("--wait", default=False, help="Wait for the import to finish")
|
|
45
|
-
@click_insert_context(type_=
|
|
45
|
+
@click_insert_context(type_=InstanceType.SERVER)
|
|
46
46
|
def cli_server_import(
|
|
47
47
|
ctx: ServerContext,
|
|
48
48
|
file: str,
|
|
@@ -111,7 +111,7 @@ def cli_server_import(
|
|
|
111
111
|
mounts.append(docker.types.Mount("/mnt/database/", dirname, type="bind"))
|
|
112
112
|
|
|
113
113
|
environment_vars = {
|
|
114
|
-
ServerGlobals.DB_URI_ENV_VAR: f"sqlite:////mnt/database/{basename}"
|
|
114
|
+
ServerGlobals.DB_URI_ENV_VAR.value: f"sqlite:////mnt/database/{basename}"
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
else:
|
vantage6/cli/server/list.py
CHANGED
|
@@ -2,6 +2,7 @@ import click
|
|
|
2
2
|
|
|
3
3
|
from vantage6.common.docker.addons import check_docker_running
|
|
4
4
|
from vantage6.common.globals import InstanceType
|
|
5
|
+
|
|
5
6
|
from vantage6.cli.common.utils import get_server_configuration_list
|
|
6
7
|
|
|
7
8
|
|
|
@@ -12,4 +13,4 @@ def cli_server_configuration_list() -> None:
|
|
|
12
13
|
"""
|
|
13
14
|
check_docker_running()
|
|
14
15
|
|
|
15
|
-
get_server_configuration_list(InstanceType.SERVER
|
|
16
|
+
get_server_configuration_list(InstanceType.SERVER)
|
vantage6/cli/server/shell.py
CHANGED
|
@@ -4,15 +4,16 @@ import click
|
|
|
4
4
|
import docker
|
|
5
5
|
from colorama import Fore, Style
|
|
6
6
|
|
|
7
|
-
from vantage6.common import
|
|
7
|
+
from vantage6.common import debug as debug_msg, error, info
|
|
8
8
|
from vantage6.common.docker.addons import check_docker_running
|
|
9
9
|
from vantage6.common.globals import APPNAME, InstanceType
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
from vantage6.cli.common.decorator import click_insert_context
|
|
12
|
+
from vantage6.cli.context.server import ServerContext
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
@click.command()
|
|
15
|
-
@click_insert_context(type_=
|
|
16
|
+
@click_insert_context(type_=InstanceType.SERVER)
|
|
16
17
|
def cli_server_shell(ctx: ServerContext) -> None:
|
|
17
18
|
"""
|
|
18
19
|
Run an iPython shell within a running server. This can be used to modify
|
|
@@ -28,7 +29,7 @@ def cli_server_shell(ctx: ServerContext) -> None:
|
|
|
28
29
|
docker_client = docker.from_env()
|
|
29
30
|
|
|
30
31
|
running_servers = docker_client.containers.list(
|
|
31
|
-
filters={"label": f"{APPNAME}-type={InstanceType.SERVER
|
|
32
|
+
filters={"label": f"{APPNAME}-type={InstanceType.SERVER}"}
|
|
32
33
|
)
|
|
33
34
|
|
|
34
35
|
if ctx.docker_container_name not in [s.name for s in running_servers]:
|
vantage6/cli/server/start.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
3
|
from vantage6.common import info
|
|
4
|
+
from vantage6.common.globals import InstanceType
|
|
4
5
|
|
|
5
6
|
from vantage6.cli.common.decorator import click_insert_context
|
|
6
7
|
from vantage6.cli.common.start import (
|
|
@@ -27,7 +28,7 @@ from vantage6.cli.context.server import ServerContext
|
|
|
27
28
|
default=False,
|
|
28
29
|
help="Print server logs to the console after start",
|
|
29
30
|
)
|
|
30
|
-
@click_insert_context(type_=
|
|
31
|
+
@click_insert_context(type_=InstanceType.SERVER)
|
|
31
32
|
def cli_server_start(
|
|
32
33
|
ctx: ServerContext,
|
|
33
34
|
context: str,
|
vantage6/cli/server/stop.py
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
3
|
from vantage6.common import info
|
|
4
|
+
from vantage6.common.globals import InstanceType
|
|
4
5
|
|
|
5
6
|
from vantage6.cli.common.decorator import click_insert_context
|
|
7
|
+
from vantage6.cli.common.stop import helm_uninstall, stop_port_forward
|
|
6
8
|
from vantage6.cli.config import CliConfig
|
|
7
9
|
from vantage6.cli.context.server import ServerContext
|
|
8
|
-
from vantage6.cli.common.stop import helm_uninstall, stop_port_forward
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
@click.command()
|
|
12
13
|
# add context and namespace options
|
|
13
14
|
@click.option("--context", default=None, help="Kubernetes context to use")
|
|
14
15
|
@click.option("--namespace", default=None, help="Kubernetes namespace to use")
|
|
15
|
-
@click_insert_context(type_=
|
|
16
|
+
@click_insert_context(type_=InstanceType.SERVER)
|
|
16
17
|
def cli_server_stop(
|
|
17
18
|
ctx: ServerContext,
|
|
18
19
|
context: str,
|
vantage6/cli/server/version.py
CHANGED
|
@@ -4,9 +4,10 @@ import docker
|
|
|
4
4
|
from vantage6.common import error
|
|
5
5
|
from vantage6.common.docker.addons import check_docker_running
|
|
6
6
|
from vantage6.common.globals import InstanceType
|
|
7
|
-
|
|
8
|
-
from vantage6.cli.globals import DEFAULT_SERVER_SYSTEM_FOLDERS
|
|
7
|
+
|
|
9
8
|
from vantage6.cli import __version__
|
|
9
|
+
from vantage6.cli.common.utils import get_running_servers, get_server_name
|
|
10
|
+
from vantage6.cli.globals import DEFAULT_SERVER_SYSTEM_FOLDERS
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
@click.command()
|
|
@@ -22,10 +23,10 @@ def cli_server_version(name: str, system_folders: bool) -> None:
|
|
|
22
23
|
check_docker_running()
|
|
23
24
|
client = docker.from_env()
|
|
24
25
|
|
|
25
|
-
running_server_names = get_running_servers(client, InstanceType.SERVER
|
|
26
|
+
running_server_names = get_running_servers(client, InstanceType.SERVER)
|
|
26
27
|
|
|
27
28
|
name = get_server_name(
|
|
28
|
-
name, system_folders, running_server_names, InstanceType.SERVER
|
|
29
|
+
name, system_folders, running_server_names, InstanceType.SERVER
|
|
29
30
|
)
|
|
30
31
|
|
|
31
32
|
if name in running_server_names:
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import logging
|
|
2
1
|
import json
|
|
2
|
+
import logging
|
|
3
3
|
import sys
|
|
4
4
|
|
|
5
|
+
from vantage6.common import error
|
|
5
6
|
from vantage6.common.enum import TaskStatus
|
|
7
|
+
from vantage6.common.globals import Ports
|
|
6
8
|
|
|
7
9
|
from vantage6.client import Client
|
|
8
|
-
|
|
9
|
-
from vantage6.common.globals import Ports
|
|
10
|
+
|
|
10
11
|
import vantage6.cli.test.algo_test_scripts.algo_test_arguments as arguments
|
|
11
12
|
|
|
12
13
|
|
|
@@ -33,7 +34,7 @@ def create_and_run_task(client: Client, task_args: dict, algo_name: str = "algor
|
|
|
33
34
|
|
|
34
35
|
try:
|
|
35
36
|
# check if the task has failed
|
|
36
|
-
assert client.task.get(task_id)["status"] != TaskStatus.FAILED
|
|
37
|
+
assert client.task.get(task_id)["status"] != TaskStatus.FAILED
|
|
37
38
|
|
|
38
39
|
logging.info("Task for %s completed successfully.", algo_name)
|
|
39
40
|
|
|
@@ -57,7 +58,7 @@ def run_test(custom_args: dict | None = None):
|
|
|
57
58
|
"""
|
|
58
59
|
# Create a client and authenticate
|
|
59
60
|
client = Client(
|
|
60
|
-
server_url=f"http://localhost:{Ports.DEV_SERVER
|
|
61
|
+
server_url=f"http://localhost:{Ports.DEV_SERVER}/api",
|
|
61
62
|
auth_url="http://localhost:8080",
|
|
62
63
|
)
|
|
63
64
|
try:
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import sys
|
|
2
|
+
|
|
2
3
|
import click
|
|
3
4
|
|
|
4
5
|
from vantage6.common.globals import Ports
|
|
6
|
+
|
|
5
7
|
from vantage6.client import UserClient
|
|
6
|
-
|
|
8
|
+
|
|
7
9
|
from vantage6.cli.test.common.diagnostic_runner import DiagnosticRunner
|
|
10
|
+
from vantage6.cli.utils import error
|
|
8
11
|
|
|
9
12
|
|
|
10
13
|
@click.command()
|
|
11
14
|
@click.option(
|
|
12
15
|
"--server-url",
|
|
13
16
|
type=str,
|
|
14
|
-
default=f"http://localhost:{Ports.DEV_SERVER
|
|
17
|
+
default=f"http://localhost:{Ports.DEV_SERVER}/api",
|
|
15
18
|
help="URL of the server",
|
|
16
19
|
)
|
|
17
20
|
@click.option(
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vantage6
|
|
3
|
+
Version: 5.0.0a33
|
|
4
|
+
Summary: vantage6 command line interface
|
|
5
|
+
Author: Vantage6 Team
|
|
6
|
+
Maintainer-email: Frank Martin <f.martin@iknl.nl>, Bart van Beusekom <b.vanbeusekom@iknl.nl>
|
|
7
|
+
License: MIT
|
|
8
|
+
Requires-Python: >=3.13
|
|
9
|
+
Requires-Dist: click==8.1.3
|
|
10
|
+
Requires-Dist: colorama==0.4.6
|
|
11
|
+
Requires-Dist: copier==9.2.0
|
|
12
|
+
Requires-Dist: docker==7.1.0
|
|
13
|
+
Requires-Dist: ipython==8.10.0
|
|
14
|
+
Requires-Dist: jinja2==3.1.6
|
|
15
|
+
Requires-Dist: kubernetes==28.1.0
|
|
16
|
+
Requires-Dist: pandas>=2.2.3
|
|
17
|
+
Requires-Dist: questionary==1.10.0
|
|
18
|
+
Requires-Dist: rich==13.5.2
|
|
19
|
+
Requires-Dist: schema==0.7.5
|
|
20
|
+
Requires-Dist: sqlalchemy==2.0.37
|
|
21
|
+
Requires-Dist: vantage6-client==5.0.0a33
|
|
22
|
+
Requires-Dist: vantage6-common==5.0.0a33
|
|
23
|
+
Provides-Extra: dev
|
|
24
|
+
Requires-Dist: black; extra == 'dev'
|
|
25
|
+
Requires-Dist: coverage==7.10.2; extra == 'dev'
|
|
26
|
+
Requires-Dist: pre-commit; extra == 'dev'
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
|
|
29
|
+
<h1 align="center">
|
|
30
|
+
<br>
|
|
31
|
+
<a href="https://vantage6.ai"><img src="https://github.com/IKNL/guidelines/blob/master/resources/logos/vantage6.png?raw=true" alt="vantage6" width="350"></a>
|
|
32
|
+
</h1>
|
|
33
|
+
|
|
34
|
+
<h3 align=center> A Privacy Enhancing Technology (PET) Operations platform</h3>
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
# Vantage6 CLI
|
|
39
|
+
|
|
40
|
+
This package provides the command-line interface (CLI) for managing vantage6
|
|
41
|
+
infrastructure instances, such as servers and nodes.
|
|
42
|
+
|
|
43
|
+
## Documentation
|
|
44
|
+
|
|
45
|
+
For complete documentation, installation instructions, and usage examples, please see
|
|
46
|
+
the **[main Vantage6 README](https://github.com/vantage6/vantage6/blob/main/README.md)**
|
|
47
|
+
.
|
|
48
|
+
|
|
49
|
+
## About Vantage6
|
|
50
|
+
|
|
51
|
+
Vantage6 is a Privacy Enhancing Technology (PET) Operations platform that enables
|
|
52
|
+
federated learning and multi-party computation. For more information, visit
|
|
53
|
+
[vantage6.ai](https://vantage6.ai) or join our
|
|
54
|
+
[Discord community](https://discord.gg/yAyFf6Y).
|
|
@@ -1,39 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
tests_cli/test_client_script.py,sha256=_Wf8nKEfq6HEnfUQtwZvyICEmEa1TngyI_orPRQ7ZNQ,683
|
|
3
|
-
tests_cli/test_example.py,sha256=0fw_v-lgZEacshWSDwLNyLMA1_xc48bKUGM3ll-n1L0,146
|
|
4
|
-
tests_cli/test_node_cli.py,sha256=jM-nZkcvdEwwHVgQi8C7cYAbTJOzVmFl60MFXYVH9ig,16798
|
|
5
|
-
tests_cli/test_server_cli.py,sha256=Yv6k0mkqElrpPgFtro_OH2Bjixz7mDXioxhvXr9VsAQ,6550
|
|
6
|
-
tests_cli/test_wizard.py,sha256=D0bIMqYJ8vgl4_hTQOH5Tb8JAFt1bIfPzU9zNSvYf8o,5009
|
|
7
|
-
vantage6/cli/__build__,sha256=X5xKsIysdFfpERow5GZJIGB-osEVoUM9e-mOl-ZCRMo,2
|
|
8
|
-
vantage6/cli/__init__.py,sha256=ZXbeQ_-g2-M4XYteWZkoO5lMFYhqjm5doQgGy1fq8i0,125
|
|
9
|
-
vantage6/cli/_version.py,sha256=iDijqhgy5jzZ0LAyzW1LlXeeuMcHWMyg9D8xbXtV7Ck,696
|
|
1
|
+
vantage6/cli/__init__.py,sha256=8KIgMPbZTNdkYlUrB8irpsUA7KdkFdLbNbMKixOP2dE,277
|
|
10
2
|
vantage6/cli/cli.py,sha256=EeMfvBABKYauujZDR09IjpBgtbBg1sS1iJPuzre-AqM,6474
|
|
11
3
|
vantage6/cli/config.py,sha256=Jqe3VcvoxPrFlvw7cuKt4-5oyL0YTZXvpNsqPybSAYk,7973
|
|
12
|
-
vantage6/cli/configuration_manager.py,sha256=
|
|
13
|
-
vantage6/cli/configuration_wizard.py,sha256=
|
|
14
|
-
vantage6/cli/globals.py,sha256=
|
|
4
|
+
vantage6/cli/configuration_manager.py,sha256=FV0RmiKmaGI2le8coUA4R5NTFUgPeph5XimxqgDhIsg,3332
|
|
5
|
+
vantage6/cli/configuration_wizard.py,sha256=6UB4YwBlCjRT88bHgp6VeDFgQklAM2g2WXS10qmyhnY,18912
|
|
6
|
+
vantage6/cli/globals.py,sha256=CxpxWXBLvAJR7st4-iRh95xbBZrn3qxKdbW3_7wmKY8,2245
|
|
15
7
|
vantage6/cli/utils.py,sha256=mhCtsxCf8nOCaW3layW8aJGI0XAjGs0IuheCNj3o-IA,4397
|
|
16
8
|
vantage6/cli/algorithm/create.py,sha256=kRT1BlBcb0fDaB2Q988WxtA6EyAZmOW5QoU2uhbwBIo,2075
|
|
17
|
-
vantage6/cli/algorithm/generate_algorithm_json.py,sha256=
|
|
9
|
+
vantage6/cli/algorithm/generate_algorithm_json.py,sha256=huaqoadhz-2-Sy6SON9zFe_cAatvE7dtTQazvmNOgMA,19558
|
|
18
10
|
vantage6/cli/algorithm/update.py,sha256=WwAfTnq0kTOgePUsBzGoo1AJQqGMn82E9Bjk1wf61CQ,1338
|
|
19
11
|
vantage6/cli/algostore/attach.py,sha256=0WzLnKigJAelPpL5EaWcnRuUyQzMSofrrZfEzwDIvSw,311
|
|
20
12
|
vantage6/cli/algostore/files.py,sha256=r89VRixK_K-c44qseq58Aa2Dqf1wEf8yompQRN5AVu4,580
|
|
21
|
-
vantage6/cli/algostore/list.py,sha256=
|
|
13
|
+
vantage6/cli/algostore/list.py,sha256=xBCnwGbuWY_rrx6jrFX8JVAEFXh8GwqwicqpxMiaSa8,418
|
|
22
14
|
vantage6/cli/algostore/new.py,sha256=ekqZ7_qCUtWs0QU6coo34thfkksHbCAYAD8nr0SKgO4,2147
|
|
23
15
|
vantage6/cli/algostore/remove.py,sha256=ieQLpo2ZpblpPxaeRXdB7IO0DzTtURnveYQltW7TTSw,1643
|
|
24
|
-
vantage6/cli/algostore/start.py,sha256=
|
|
25
|
-
vantage6/cli/algostore/stop.py,sha256=
|
|
26
|
-
vantage6/cli/common/decorator.py,sha256=
|
|
27
|
-
vantage6/cli/common/start.py,sha256=
|
|
16
|
+
vantage6/cli/algostore/start.py,sha256=fse7beckD5bWtjQLQ8xRA_jeqsxM0cZjZo2_S0rYvSM,3160
|
|
17
|
+
vantage6/cli/algostore/stop.py,sha256=Fqoj7W7NOW5nkvND5J2oSMqMD8knfD93fraN9KBSCmg,1836
|
|
18
|
+
vantage6/cli/common/decorator.py,sha256=KF3uFjmn00qtTSD90BLczaX-gqvlt2Kud4PJGm7P4jU,3627
|
|
19
|
+
vantage6/cli/common/start.py,sha256=6L_6NraS1U9Gj_UiQYkg4UE4bwjQkCQdTigb1L6fCm4,15277
|
|
28
20
|
vantage6/cli/common/stop.py,sha256=CxW5OFZT7eacpln9J05ble2Q3xHCqyxYqJ00rPUbrVo,2645
|
|
29
|
-
vantage6/cli/common/utils.py,sha256=
|
|
30
|
-
vantage6/cli/context/__init__.py,sha256=
|
|
31
|
-
vantage6/cli/context/algorithm_store.py,sha256=
|
|
21
|
+
vantage6/cli/common/utils.py,sha256=z9NX_2hft2bkIvilnrtLV92ui62pIEhj-f3gCJcjcQ4,4970
|
|
22
|
+
vantage6/cli/context/__init__.py,sha256=88LSA3h_v-t8PzjCrzl0vw1jkOdNUNr3nPo-L2e9onc,2684
|
|
23
|
+
vantage6/cli/context/algorithm_store.py,sha256=s6T5coyGHyXHupE1EFvcXCL8A69a2gUe5-6w6jNNKko,3967
|
|
32
24
|
vantage6/cli/context/base_server.py,sha256=paKSzNrKWD-J6eakHAtGELk2cD05A8NqoCAuQfF7c2s,2972
|
|
33
|
-
vantage6/cli/context/node.py,sha256=
|
|
34
|
-
vantage6/cli/context/server.py,sha256=
|
|
35
|
-
vantage6/cli/dev/create.py,sha256=
|
|
36
|
-
vantage6/cli/dev/remove.py,sha256=
|
|
25
|
+
vantage6/cli/context/node.py,sha256=bjrBGopoqR0SVTYvKCmhhGTzdaX8wg0GLBKbiLKMIGQ,7264
|
|
26
|
+
vantage6/cli/context/server.py,sha256=Bnv25avqIv0eG79uuY6W8ZrktTDAcF82Gmeo-dKjbyI,4630
|
|
27
|
+
vantage6/cli/dev/create.py,sha256=WBBPG9jyNvPQVb1koHX9y3VKQmlijlq-QBsYYzqqojg,21207
|
|
28
|
+
vantage6/cli/dev/remove.py,sha256=kjmOqkMO0ZU5F-3KgQ05VlfQQCS5Ta6yLY32DU0rH7k,3917
|
|
37
29
|
vantage6/cli/dev/data/km_dataset.csv,sha256=OrYF2ympb2QndiUOX_nTFGGB1HbAp2eOvZzrQ_PqJs4,31283
|
|
38
30
|
vantage6/cli/node/attach.py,sha256=cmouPrkbIbg21_wlAe-L-ecmrKVxiDkzGmEtRaCnKQY,276
|
|
39
31
|
vantage6/cli/node/clean.py,sha256=uCty2GNuwoTybs1nIOygQLxtbleQ-rnnS6_4ieWVmCw,1199
|
|
@@ -44,10 +36,10 @@ vantage6/cli/node/new.py,sha256=D-zI20pneF8kmGZKTRj09IaMMsj7z2rhiGXegMZywik,2040
|
|
|
44
36
|
vantage6/cli/node/remove.py,sha256=5gylLyMa8LoavQNQv71JuwrTZN2rJwLrphl4Z0Fu6_8,3658
|
|
45
37
|
vantage6/cli/node/restart.py,sha256=bWx0n4tN8TWOy_o8lJkA7AR-H1UIbfAiPp93I5wXg1Y,3709
|
|
46
38
|
vantage6/cli/node/set_api_key.py,sha256=2kB8wveTy9_N8kX4huVhJhY86Ppd2BI8v-d7MRXQAdA,1877
|
|
47
|
-
vantage6/cli/node/start.py,sha256=
|
|
39
|
+
vantage6/cli/node/start.py,sha256=M8fZUDDF42wO3gs8Wkik-8MhP0EslvIjOEBxem2rP4s,12220
|
|
48
40
|
vantage6/cli/node/stop.py,sha256=Hf5z2r6ttbW-DeU0cdHNXIJcgL-eIVRv8i7zZLo4foY,4159
|
|
49
41
|
vantage6/cli/node/version.py,sha256=X921xyIvIPYObPac2Si5msZ2tay5ySidnPWmGj1ilZw,1959
|
|
50
|
-
vantage6/cli/node/common/__init__.py,sha256
|
|
42
|
+
vantage6/cli/node/common/__init__.py,sha256=uCfV8BYLFI_PI1rwaFjQTOqq9-HeusdAIB9GnzLA0zU,2862
|
|
51
43
|
vantage6/cli/prometheus/monitoring_manager.py,sha256=tNvguLonbVILqCDnHRizef5NwKnEOV0DuzTx0Bhd2HU,4906
|
|
52
44
|
vantage6/cli/prometheus/prometheus.yml,sha256=Q4i9lVknITBodHUMgarRnEsXfXTNuSdI6a-9pW4YCoI,98
|
|
53
45
|
vantage6/cli/rabbitmq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -55,30 +47,29 @@ vantage6/cli/rabbitmq/definitions.py,sha256=CcS9jG7ZGB6LjzHQqZ2FliDurPItUvNSjHrO
|
|
|
55
47
|
vantage6/cli/rabbitmq/queue_manager.py,sha256=KGDGHy4NBN8O9xhjzfI7mh65i9lOQIqQwrOFqvGFdHI,7545
|
|
56
48
|
vantage6/cli/rabbitmq/rabbitmq.config,sha256=LYAQAEoXaF472XeJDYXc9JfWSETIzPRIR2W-JB2i7fU,136
|
|
57
49
|
vantage6/cli/server/attach.py,sha256=q1E40nGCBEFUF1p94sZoU-Ud3OXAUy4-FJqcP7Gqa7U,322
|
|
58
|
-
vantage6/cli/server/files.py,sha256=
|
|
59
|
-
vantage6/cli/server/import_.py,sha256=
|
|
60
|
-
vantage6/cli/server/list.py,sha256=
|
|
50
|
+
vantage6/cli/server/files.py,sha256=MsnLaY91F2m49mm_FpVboFrSsZiEsu175KioN1alZfk,568
|
|
51
|
+
vantage6/cli/server/import_.py,sha256=jtgY0lvYTCsJQyzho8qXUsG9Mfw5m9DWtz0Ik7y0cE8,4568
|
|
52
|
+
vantage6/cli/server/list.py,sha256=HAwvjadhdNJi7L9rMmEwqI45IavPx-QA1ptlhEG7MK0,405
|
|
61
53
|
vantage6/cli/server/new.py,sha256=x7ii_5hUrXDXZOUIot6ghUjvzUjnaSTTVSaP28ojIBY,2474
|
|
62
54
|
vantage6/cli/server/remove.py,sha256=6tfKfVa5dYnZAKQYo_VlGZTuiugi7sh2F3U2cZ7mCmQ,1627
|
|
63
|
-
vantage6/cli/server/shell.py,sha256=
|
|
64
|
-
vantage6/cli/server/start.py,sha256=
|
|
65
|
-
vantage6/cli/server/stop.py,sha256=
|
|
66
|
-
vantage6/cli/server/version.py,sha256=
|
|
55
|
+
vantage6/cli/server/shell.py,sha256=8y-m_UjOxJ-vatWeSWT4AZZgpAC4bgTze0BJTk4qlOI,1595
|
|
56
|
+
vantage6/cli/server/start.py,sha256=eL2SoA1GdLgqM5QoAQIuPYVfXlvHaojSM6Zhl2cY8q0,2508
|
|
57
|
+
vantage6/cli/server/stop.py,sha256=Nhccrf4vfGkLpathFMwv3VqeIEDVIdaQnbdXGh2UBjY,1379
|
|
58
|
+
vantage6/cli/server/version.py,sha256=lqrPNKMbFO22W-NarJ2TjLd7fZT43hV-sFRbzMlBniw,1307
|
|
67
59
|
vantage6/cli/server/common/__init__.py,sha256=htv0mFYa4GhIHdzA2xqUUgKhHcMh09UQERlIjIgrwOM,2062
|
|
68
60
|
vantage6/cli/template/algo_store_config.j2,sha256=tdPdoZUlBQsFEUUDGWK65oSsIS29QxToT4n_zu9soQA,528
|
|
69
|
-
vantage6/cli/template/node_config.j2,sha256=
|
|
61
|
+
vantage6/cli/template/node_config.j2,sha256=Y5IA5tyG9X8MDMnJ7_ZlMVMCIA6NkZOhwM_ykTOGT4g,784
|
|
70
62
|
vantage6/cli/template/server_config.j2,sha256=K7svQM6HTmMrlKPVW9cbNPloH7LicBoLdIEiarD6CP8,765
|
|
71
63
|
vantage6/cli/template/server_import_config.j2,sha256=eVoQnXfP5IejzlAYiu5GikPibMpBVrxpw-TX0Obi4J0,1782
|
|
72
64
|
vantage6/cli/test/client_script.py,sha256=AHQ4fhzbtD-VcJAm0rxUDteepXNa4Bef9SKWnzobTd0,4825
|
|
73
|
-
vantage6/cli/test/feature_tester.py,sha256=
|
|
65
|
+
vantage6/cli/test/feature_tester.py,sha256=AsZam91KqaAo_yIFxyZ5Hmy1ZPw83d02BDyO4TzKFQo,2631
|
|
74
66
|
vantage6/cli/test/integration_test.py,sha256=MctR_t-WEyxzFpMdc6ByTcX1BQglZiT5-CIOQXTBBWo,4034
|
|
75
67
|
vantage6/cli/test/algo_test_scripts/algo_test_arguments.py,sha256=HIKAhJ5zKkWMGXpCb_KLukbcwbyeMK5j3wcqubalbyM,791
|
|
76
|
-
vantage6/cli/test/algo_test_scripts/algo_test_script.py,sha256=
|
|
68
|
+
vantage6/cli/test/algo_test_scripts/algo_test_script.py,sha256=jfzXPmpL0HlE_eq1jXLV3HuZgh_aV-ZOaawHcYIuwQE,2741
|
|
77
69
|
vantage6/cli/test/common/diagnostic_runner.py,sha256=5-KgspYW0PncO_t_TrQzd_GSOXVwH-7bIVv-IHOxwQM,6598
|
|
78
70
|
vantage6/cli/use/context.py,sha256=mEtOfbuLtYQlRh-ypif24WtOwgpcvXObX310mmXIkWY,1362
|
|
79
71
|
vantage6/cli/use/namespace.py,sha256=MOd9H3GJwZ0cho0mmlHTRlGPLoQEiSnZIFDsFsvYw4Q,1643
|
|
80
|
-
vantage6-5.0.
|
|
81
|
-
vantage6-5.0.
|
|
82
|
-
vantage6-5.0.
|
|
83
|
-
vantage6-5.0.
|
|
84
|
-
vantage6-5.0.0a26.dist-info/RECORD,,
|
|
72
|
+
vantage6-5.0.0a33.dist-info/METADATA,sha256=ZaeekTWCozYRPHpHPBGCxXRxuw9ovIRH_Ld-VvJX9gs,1779
|
|
73
|
+
vantage6-5.0.0a33.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
74
|
+
vantage6-5.0.0a33.dist-info/entry_points.txt,sha256=RKVCMsD70s_Gp6If89uDlCphsZ9uLIOMt1gciv8EMDQ,53
|
|
75
|
+
vantage6-5.0.0a33.dist-info/RECORD,,
|
tests_cli/__init__.py
DELETED
|
File without changes
|
tests_cli/test_client_script.py
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# from click import UsageError
|
|
2
|
-
# from vantage6.cli.test.client_script import cli_test_client_script
|
|
3
|
-
|
|
4
|
-
# import click
|
|
5
|
-
# import unittest
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# class TestScriptTest(unittest.TestCase):
|
|
9
|
-
# def test_script_incorrect_usage(self):
|
|
10
|
-
# ctx = click.Context(cli_test_client_script)
|
|
11
|
-
|
|
12
|
-
# with self.assertRaises(UsageError):
|
|
13
|
-
# ctx.invoke(
|
|
14
|
-
# cli_test_client_script,
|
|
15
|
-
# script="path/to/script.py",
|
|
16
|
-
# task_arguments="{'my_arg': 1}",
|
|
17
|
-
# )
|
|
18
|
-
|
|
19
|
-
# with self.assertRaises(UsageError):
|
|
20
|
-
# ctx.invoke(
|
|
21
|
-
# cli_test_client_script,
|
|
22
|
-
# task_arguments="not_a_json",
|
|
23
|
-
# )
|