vantage6 5.0.0a21__py3-none-any.whl → 5.0.0a26__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.

Files changed (39) hide show
  1. tests_cli/test_client_script.py +23 -0
  2. vantage6/cli/__build__ +1 -1
  3. vantage6/cli/algorithm/generate_algorithm_json.py +529 -0
  4. vantage6/cli/cli.py +25 -0
  5. vantage6/cli/common/start.py +220 -9
  6. vantage6/cli/common/stop.py +90 -0
  7. vantage6/cli/common/utils.py +8 -7
  8. vantage6/cli/config.py +260 -0
  9. vantage6/cli/configuration_manager.py +3 -11
  10. vantage6/cli/configuration_wizard.py +60 -101
  11. vantage6/cli/context/node.py +34 -45
  12. vantage6/cli/context/server.py +26 -0
  13. vantage6/cli/dev/create.py +78 -17
  14. vantage6/cli/dev/data/km_dataset.csv +2401 -0
  15. vantage6/cli/dev/remove.py +99 -98
  16. vantage6/cli/globals.py +20 -0
  17. vantage6/cli/node/new.py +4 -3
  18. vantage6/cli/node/remove.py +4 -2
  19. vantage6/cli/node/start.py +17 -20
  20. vantage6/cli/prometheus/monitoring_manager.py +146 -0
  21. vantage6/cli/prometheus/prometheus.yml +5 -0
  22. vantage6/cli/server/new.py +25 -6
  23. vantage6/cli/server/start.py +42 -212
  24. vantage6/cli/server/stop.py +35 -105
  25. vantage6/cli/template/algo_store_config.j2 +0 -1
  26. vantage6/cli/template/node_config.j2 +1 -1
  27. vantage6/cli/template/server_import_config.j2 +0 -2
  28. vantage6/cli/test/algo_test_scripts/algo_test_arguments.py +29 -0
  29. vantage6/cli/test/algo_test_scripts/algo_test_script.py +91 -0
  30. vantage6/cli/test/client_script.py +151 -0
  31. vantage6/cli/test/common/diagnostic_runner.py +2 -2
  32. vantage6/cli/use/context.py +46 -0
  33. vantage6/cli/use/namespace.py +55 -0
  34. vantage6/cli/utils.py +70 -4
  35. {vantage6-5.0.0a21.dist-info → vantage6-5.0.0a26.dist-info}/METADATA +5 -8
  36. {vantage6-5.0.0a21.dist-info → vantage6-5.0.0a26.dist-info}/RECORD +39 -27
  37. {vantage6-5.0.0a21.dist-info → vantage6-5.0.0a26.dist-info}/WHEEL +0 -0
  38. {vantage6-5.0.0a21.dist-info → vantage6-5.0.0a26.dist-info}/entry_points.txt +0 -0
  39. {vantage6-5.0.0a21.dist-info → vantage6-5.0.0a26.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,151 @@
1
+ # import click
2
+ # import json
3
+ # import subprocess
4
+ # import sys
5
+
6
+ # from pathlib import Path
7
+
8
+ # from rich.console import Console
9
+
10
+ # from vantage6.cli.dev.create import create_demo_network
11
+ # from vantage6.cli.dev.remove import remove_demo_network
12
+
13
+ # # from vantage6.cli.dev.start import start_demo_network
14
+ # # from vantage6.cli.dev.stop import stop_demo_network
15
+ # from vantage6.cli.utils import prompt_config_name
16
+ # from vantage6.common.globals import Ports
17
+
18
+ # TEST_FILE_PATH = Path(__file__).parent / "algo_test_scripts" / "algo_test_script.py"
19
+
20
+
21
+ # @click.command()
22
+ # @click.option(
23
+ # "--script",
24
+ # type=click.Path(),
25
+ # default=TEST_FILE_PATH,
26
+ # help="Path of the script to test the algorithm. If a script is not provided, the default script is used.",
27
+ # )
28
+ # @click.option(
29
+ # "--task-arguments",
30
+ # type=str,
31
+ # default=None,
32
+ # help="Arguments to be provided to Task.create function. If --script is provided, this should not be set.",
33
+ # )
34
+ # @click.option(
35
+ # "--create-dev-network",
36
+ # is_flag=True,
37
+ # help="Create a new dev network to run the test",
38
+ # )
39
+ # @click.option(
40
+ # "--start-dev-network",
41
+ # is_flag=True,
42
+ # help="Start a dev network to run the test",
43
+ # )
44
+ # @click.option(
45
+ # "-n", "--name", default=None, type=str, help="Name for your development setup"
46
+ # )
47
+ # @click.option(
48
+ # "--server-url",
49
+ # type=str,
50
+ # default="http://host.docker.internal",
51
+ # help="Server URL to point to. If you are using Docker Desktop, "
52
+ # "the default http://host.docker.internal should not be changed.",
53
+ # )
54
+ # @click.option(
55
+ # "-i", "--image", type=str, default=None, help="Server Docker image to use"
56
+ # )
57
+ # @click.option(
58
+ # "--keep",
59
+ # type=bool,
60
+ # default=False,
61
+ # help="Keep the dev network after finishing the test",
62
+ # )
63
+ # @click.option(
64
+ # "--add-dataset",
65
+ # type=(str, click.Path()),
66
+ # default=[],
67
+ # multiple=True,
68
+ # help="Add a dataset to the nodes. The first argument is the label of the database, "
69
+ # "the second is the path to the dataset file.",
70
+ # )
71
+ # @click.pass_context
72
+ # def cli_test_client_script(
73
+ # click_ctx: click.Context,
74
+ # script: Path | None,
75
+ # task_arguments: str | None,
76
+ # name: str,
77
+ # server_url: str,
78
+ # create_dev_network: bool,
79
+ # start_dev_network: bool,
80
+ # image: str,
81
+ # keep: bool,
82
+ # add_dataset: list[tuple[str, Path]] = (),
83
+ # ) -> int:
84
+ # """
85
+ # Run a script for testing an algorithm on a dev network.
86
+ # The path to the script must be provided as an argument.
87
+ # """
88
+ # if not (script or task_arguments):
89
+ # raise click.UsageError("--script or --task-arguments must be set.")
90
+ # elif script != TEST_FILE_PATH and task_arguments:
91
+ # raise click.UsageError("--script and --task-arguments cannot be set together.")
92
+
93
+ # # Check if the task_arguments is a valid JSON string
94
+ # if task_arguments:
95
+ # try:
96
+ # json.loads(task_arguments.replace("'", '"'))
97
+ # except json.JSONDecodeError:
98
+ # raise click.UsageError("task-arguments must be a valid JSON string.")
99
+
100
+ # name = prompt_config_name(name)
101
+
102
+ # # create the network
103
+ # if create_dev_network:
104
+ # click_ctx.invoke(
105
+ # create_demo_network,
106
+ # name=name,
107
+ # num_nodes=3,
108
+ # server_url=server_url,
109
+ # server_port=Ports.DEV_SERVER.value,
110
+ # image=image,
111
+ # extra_server_config=None,
112
+ # extra_node_config=None,
113
+ # add_dataset=add_dataset,
114
+ # )
115
+
116
+ # # start the server and nodes
117
+ # if create_dev_network or start_dev_network:
118
+ # click_ctx.invoke(
119
+ # start_demo_network,
120
+ # name=name,
121
+ # server_image=image,
122
+ # node_image=image,
123
+ # )
124
+
125
+ # # run the test script and get the result
126
+ # if not task_arguments:
127
+ # subprocess_args = ["python", script]
128
+ # else:
129
+ # subprocess_args = ["python", script, task_arguments]
130
+
131
+ # result = subprocess.run(subprocess_args, stdout=sys.stdout, stderr=sys.stderr)
132
+
133
+ # # check the exit code. If the test passed, it should be 0
134
+ # if result.returncode == 0:
135
+ # msg = ":heavy_check_mark: [green]Test passed[/green]"
136
+ # else:
137
+ # msg = ":x: [red]Test failed[/red]"
138
+
139
+ # console = Console()
140
+ # console.print(msg)
141
+
142
+ # # clean up the test resources. Keep the network if --keep is set, or if the network
143
+ # # was created for this test. If the network was started for this test, stop it but
144
+ # # do not remove it.
145
+ # if not keep:
146
+ # if create_dev_network or start_dev_network:
147
+ # click_ctx.invoke(stop_demo_network, name=name)
148
+ # if create_dev_network:
149
+ # click_ctx.invoke(remove_demo_network, name=name)
150
+
151
+ # return result.returncode
@@ -122,8 +122,8 @@ class DiagnosticRunner:
122
122
  description="VPN Diagnostic test",
123
123
  image=DIAGNOSTICS_IMAGE,
124
124
  method="vpn_features",
125
- input_={
126
- "kwargs": {"other_nodes": self.organization_ids},
125
+ arguments={
126
+ "other_nodes": self.organization_ids,
127
127
  },
128
128
  organizations=self.organization_ids,
129
129
  )
@@ -0,0 +1,46 @@
1
+ import click
2
+ import questionary
3
+ from kubernetes import config
4
+
5
+ from vantage6.common import error
6
+
7
+ from vantage6.cli.config import CliConfig
8
+ from vantage6.cli.utils import switch_context_and_namespace
9
+
10
+
11
+ @click.command()
12
+ @click.argument("context", required=False, type=str, default=None)
13
+ def cli_use_context(context: str):
14
+ """
15
+ Set which Kubernetes context to use.
16
+ """
17
+ # Get available contexts
18
+ contexts, active_context = config.list_kube_config_contexts()
19
+ context_names = [ctx["name"] for ctx in contexts]
20
+
21
+ # Prompt user to select a context
22
+ if not context:
23
+ current = active_context["name"] if active_context else None
24
+ context = questionary.select(
25
+ "Which Kubernetes context do you want to use?",
26
+ choices=context_names,
27
+ default=current if current in context_names else None,
28
+ ).ask()
29
+
30
+ # If no context is selected (e.g. KeyboardInterrupt), exit
31
+ if not context:
32
+ return
33
+
34
+ # Load the selected context
35
+ try:
36
+ config.load_kube_config(context=context)
37
+ except Exception:
38
+ error(f"Cannot not find {context} in kube config")
39
+ return
40
+
41
+ # Update kubeconfig current-context
42
+ switch_context_and_namespace(context=context)
43
+
44
+ # Clear the last_context in CLI config
45
+ cli_config = CliConfig()
46
+ cli_config.remove_kube()
@@ -0,0 +1,55 @@
1
+ import click
2
+ import questionary
3
+ from kubernetes import client, config
4
+
5
+ from vantage6.cli.config import CliConfig
6
+ from vantage6.cli.utils import switch_context_and_namespace
7
+ from vantage6.common import error
8
+
9
+
10
+ @click.command()
11
+ @click.argument("namespace", required=False, type=str, default=None)
12
+ def cli_use_namespace(namespace: str):
13
+ """
14
+ Set which Kubernetes namespace to use.
15
+
16
+ The namespace will be created if it does not exist.
17
+ """
18
+ # Load the active context configuration
19
+ config.load_kube_config()
20
+
21
+ try:
22
+ v1 = client.CoreV1Api()
23
+ namespace_list = v1.list_namespace()
24
+ except Exception:
25
+ error(
26
+ "Failed to connect to Kubernetes cluster. Check if the cluster is running and reachable."
27
+ )
28
+ return
29
+
30
+ namespace_names = [ns.metadata.name for ns in namespace_list.items]
31
+
32
+ # Prompt user to select a namespace
33
+ if not namespace:
34
+ namespace = questionary.select(
35
+ "Which Kubernetes namespace do you want to use?",
36
+ choices=namespace_names,
37
+ ).ask()
38
+
39
+ # If no namespace is selected (e.g. KeyboardInterrupt), exit
40
+ if not namespace:
41
+ return
42
+
43
+ # Check if namespace exists, create if not
44
+ if namespace not in namespace_names:
45
+ namespace_body = client.V1Namespace(
46
+ metadata=client.V1ObjectMeta(name=namespace)
47
+ )
48
+ v1.create_namespace(namespace_body)
49
+
50
+ # Switch to the selected namespace for current context
51
+ switch_context_and_namespace(namespace=namespace)
52
+
53
+ # Remove the last_context in CLI config
54
+ cli_config = CliConfig()
55
+ cli_config.remove_kube()
vantage6/cli/utils.py CHANGED
@@ -4,14 +4,15 @@ Utility functions for the CLI
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
+ import os
7
8
  import re
9
+ import subprocess
10
+ from pathlib import Path
11
+
8
12
  import docker
9
- import os
10
13
  import questionary as q
11
14
 
12
- from pathlib import Path
13
-
14
- from vantage6.common import error, warning, info
15
+ from vantage6.common import error, info, warning
15
16
 
16
17
 
17
18
  def check_config_name_allowed(name: str) -> None:
@@ -99,3 +100,68 @@ def prompt_config_name(name: str | None) -> None:
99
100
  name = name.replace(" ", "-")
100
101
  info(f"Replaced spaces from configuration name: {name}")
101
102
  return name
103
+
104
+
105
+ def switch_context_and_namespace(
106
+ context: str | None = None, namespace: str | None = None
107
+ ) -> None:
108
+ # input validation
109
+ validate_input_cmd_args(context, "context name", allow_none=True)
110
+ validate_input_cmd_args(namespace, "namespace name", allow_none=True)
111
+
112
+ try:
113
+ if context:
114
+ subprocess.run(
115
+ ["kubectl", "config", "use-context", context],
116
+ check=True,
117
+ stdout=subprocess.DEVNULL,
118
+ )
119
+ info(f"Successfully set context to: {context}")
120
+
121
+ if namespace:
122
+ subprocess.run(
123
+ [
124
+ "kubectl",
125
+ "config",
126
+ "set-context",
127
+ context or "--current",
128
+ f"--namespace={namespace}",
129
+ ],
130
+ check=True,
131
+ stdout=subprocess.DEVNULL,
132
+ )
133
+ info(f"Successfully set namespace to: {namespace}")
134
+
135
+ except subprocess.CalledProcessError as e:
136
+ error(f"Failed to set Kubernetes context or namespace: {e}")
137
+
138
+
139
+ def validate_input_cmd_args(
140
+ value: str | None, field_name: str, allow_none: bool = False
141
+ ) -> None:
142
+ """
143
+ Validate input for subprocess commands.
144
+
145
+ Parameters
146
+ ----------
147
+ value : str | None
148
+ The value to validate.
149
+ field_name : str
150
+ The name of the field being validated, used for error messages.
151
+ allow_none : bool, optional
152
+ Whether None is allowed as a valid value. Defaults to False.
153
+
154
+ Raises
155
+ ------
156
+ SystemExit
157
+ If the input is invalid.
158
+ """
159
+ if allow_none and value is None:
160
+ return
161
+
162
+ if not isinstance(value, str) or not re.match("^[a-zA-Z0-9_.-]+$", value):
163
+ error(
164
+ f"Invalid {field_name}: {value}. Use only alphanumeric characters, "
165
+ "dashes, underscores, or dots."
166
+ )
167
+ exit(1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vantage6
3
- Version: 5.0.0a21
3
+ Version: 5.0.0a26
4
4
  Summary: vantage6 command line interface
5
5
  Home-page: https://github.com/vantage6/vantage6
6
6
  Requires-Python: >=3.10
@@ -11,13 +11,14 @@ Requires-Dist: copier==9.2.0
11
11
  Requires-Dist: docker==7.1.0
12
12
  Requires-Dist: ipython==8.10.0
13
13
  Requires-Dist: jinja2==3.1.6
14
+ Requires-Dist: kubernetes==28.1.0
14
15
  Requires-Dist: pandas>=1.5.3
15
16
  Requires-Dist: questionary==1.10.0
16
17
  Requires-Dist: rich==13.5.2
17
18
  Requires-Dist: schema==0.7.5
18
19
  Requires-Dist: sqlalchemy==2.0.37
19
- Requires-Dist: vantage6-common==5.0.0a21
20
- Requires-Dist: vantage6-client==5.0.0a21
20
+ Requires-Dist: vantage6-common==5.0.0a26
21
+ Requires-Dist: vantage6-client==5.0.0a26
21
22
  Provides-Extra: dev
22
23
  Requires-Dist: coverage==6.4.4; extra == "dev"
23
24
  Requires-Dist: black; extra == "dev"
@@ -70,7 +71,7 @@ collaborations. The server contains users, organizations, collaborations, tasks
70
71
  their results. It provides a central access point for both the clients and nodes. The
71
72
  nodes have access to privacy sensitive data and handle computation requests retrieved
72
73
  from the server. Computation request are executed as separate containers on the node.
73
- These containers are connected to containers at other nodes by a VPN network._
74
+ These containers are connected to containers at other nodes by a internal network._
74
75
 
75
76
  ## :books: Quickstart
76
77
 
@@ -185,11 +186,7 @@ with `VERSION` being the full semantic version of the vantage6 infrastructure, e
185
186
  Several other images are used to support the infrastructure:
186
187
 
187
188
  - `harbor2.vantage6.ai/infrastructure/infrastructure-base:VERSION` -> _Base image for the infrastructure_
188
- - `harbor2.vantage6.ai/infrastructure/squid:VERSION` -> _Squid proxy image used for the whitelisting service_
189
189
  - `harbor2.vantage6.ai/infrastructure/alpine` -> _Alpine image used for vpn traffic forwarding_
190
- - `harbor2.vantage6.ai/infrastructure/vpn-client` -> _VPN image used to connect to the VPN_
191
- - `harbor2.vantage6.ai/infrastructure/vpn-configurator` -> _VPN image used for initialization_
192
- - `harbor2.vantage6.ai/infrastructure/ssh-tunnel` -> _SSH tunnel image used for connecting algorithms to external services_
193
190
 
194
191
  And finally there are some images released for algorithm development:
195
192
 
@@ -1,17 +1,20 @@
1
1
  tests_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ tests_cli/test_client_script.py,sha256=_Wf8nKEfq6HEnfUQtwZvyICEmEa1TngyI_orPRQ7ZNQ,683
2
3
  tests_cli/test_example.py,sha256=0fw_v-lgZEacshWSDwLNyLMA1_xc48bKUGM3ll-n1L0,146
3
4
  tests_cli/test_node_cli.py,sha256=jM-nZkcvdEwwHVgQi8C7cYAbTJOzVmFl60MFXYVH9ig,16798
4
5
  tests_cli/test_server_cli.py,sha256=Yv6k0mkqElrpPgFtro_OH2Bjixz7mDXioxhvXr9VsAQ,6550
5
6
  tests_cli/test_wizard.py,sha256=D0bIMqYJ8vgl4_hTQOH5Tb8JAFt1bIfPzU9zNSvYf8o,5009
6
- vantage6/cli/__build__,sha256=b0tmEhJfs6Da7NJ5nf1snCmUJP2SD5swgRCiwfvY9EM,2
7
+ vantage6/cli/__build__,sha256=X5xKsIysdFfpERow5GZJIGB-osEVoUM9e-mOl-ZCRMo,2
7
8
  vantage6/cli/__init__.py,sha256=ZXbeQ_-g2-M4XYteWZkoO5lMFYhqjm5doQgGy1fq8i0,125
8
9
  vantage6/cli/_version.py,sha256=iDijqhgy5jzZ0LAyzW1LlXeeuMcHWMyg9D8xbXtV7Ck,696
9
- vantage6/cli/cli.py,sha256=B0F328FSBBslwplMPk8lIlr0r-taKuCgb8v9DIdyE3Q,5699
10
- vantage6/cli/configuration_manager.py,sha256=CHGyYkHT8sIaEZjRrmWuiiDPfFdpFEbpl-yV5jG7OgM,3563
11
- vantage6/cli/configuration_wizard.py,sha256=aNpddEbUAye9HTVgo63_bwvnyKlC6FydDgURcmkkpzI,21048
12
- vantage6/cli/globals.py,sha256=ZmZHYG5Zm38L5eBSNXUaEznmL9bZHOU6F86aYAExq0I,1732
13
- vantage6/cli/utils.py,sha256=Jfr6IeHMQDk_wU5X7rJ1dRY118dhVVX8PwzwMYMv9Vw,2481
10
+ vantage6/cli/cli.py,sha256=EeMfvBABKYauujZDR09IjpBgtbBg1sS1iJPuzre-AqM,6474
11
+ vantage6/cli/config.py,sha256=Jqe3VcvoxPrFlvw7cuKt4-5oyL0YTZXvpNsqPybSAYk,7973
12
+ vantage6/cli/configuration_manager.py,sha256=4MRPG9bVk2RKuM0FKKRu5Eba5xeH8tPze09Ri02zDpY,3353
13
+ vantage6/cli/configuration_wizard.py,sha256=1-fDYQ5PG3Sw7WVHItgnoijZ9wY1u15zQv_ChuRyPQM,19056
14
+ vantage6/cli/globals.py,sha256=qLTqllCKxckl3bGvTg4rifR0nwJ70JO1TscghbNoP_8,2214
15
+ vantage6/cli/utils.py,sha256=mhCtsxCf8nOCaW3layW8aJGI0XAjGs0IuheCNj3o-IA,4397
14
16
  vantage6/cli/algorithm/create.py,sha256=kRT1BlBcb0fDaB2Q988WxtA6EyAZmOW5QoU2uhbwBIo,2075
17
+ vantage6/cli/algorithm/generate_algorithm_json.py,sha256=c3__OWap90o1tGPmrlShbnJgybwIqXBmsB9GwWdqRaU,19941
15
18
  vantage6/cli/algorithm/update.py,sha256=WwAfTnq0kTOgePUsBzGoo1AJQqGMn82E9Bjk1wf61CQ,1338
16
19
  vantage6/cli/algostore/attach.py,sha256=0WzLnKigJAelPpL5EaWcnRuUyQzMSofrrZfEzwDIvSw,311
17
20
  vantage6/cli/algostore/files.py,sha256=r89VRixK_K-c44qseq58Aa2Dqf1wEf8yompQRN5AVu4,580
@@ -21,28 +24,32 @@ vantage6/cli/algostore/remove.py,sha256=ieQLpo2ZpblpPxaeRXdB7IO0DzTtURnveYQltW7T
21
24
  vantage6/cli/algostore/start.py,sha256=MI1wSvRdORyOdgZZKkyxFZSHwxUj060HXAlm-elYh0M,3181
22
25
  vantage6/cli/algostore/stop.py,sha256=79C-q27x_BdkrwZGLVDnKOsyMiHXeG9k_UsfcLrGEgw,1841
23
26
  vantage6/cli/common/decorator.py,sha256=7Iwlcc_ekgXJco4tNjEV79ul43Q28OrieiGkvDBeGeE,3625
24
- vantage6/cli/common/start.py,sha256=IazXW6hKzFTomGu19lvr5z-EOzyXOD1fKokCwiIA8zc,9253
25
- vantage6/cli/common/utils.py,sha256=eYlR-n2r3j7rW-EPSUnJR98Df8ye551WOl8tW912p3A,5153
27
+ vantage6/cli/common/start.py,sha256=IwmkA0n4_0rXAebyVWyjaD5ZImHa0icCkbdZAjxHn68,15345
28
+ vantage6/cli/common/stop.py,sha256=CxW5OFZT7eacpln9J05ble2Q3xHCqyxYqJ00rPUbrVo,2645
29
+ vantage6/cli/common/utils.py,sha256=v38HsTT5mJK_s7zD8CoXhmNTjpKRaKZkR6Yqo9OioQs,5147
26
30
  vantage6/cli/context/__init__.py,sha256=e8rfY2tCyu6_SLQ-rbVzEHkDtmbnGCZRHFN_HH-2bnA,2683
27
31
  vantage6/cli/context/algorithm_store.py,sha256=RimxNcoqfWeu2WQede6wsOu1rx-azzXIPVkCDqVJLWs,3944
28
32
  vantage6/cli/context/base_server.py,sha256=paKSzNrKWD-J6eakHAtGELk2cD05A8NqoCAuQfF7c2s,2972
29
- vantage6/cli/context/node.py,sha256=vEmlWtx7V0e5yqRp9Yi-FhIzSDd4LgnXPVXKYn2n048,7370
30
- vantage6/cli/context/server.py,sha256=vBGJWNsJoVcIryX5OLiWnFklNRcjOVkhqm2U5tqW5b0,3946
31
- vantage6/cli/dev/create.py,sha256=yjG3y2phQw-yIiR2AIy1BpUG3oPVa-b0t7oeqCe1prA,19305
32
- vantage6/cli/dev/remove.py,sha256=R_OU_LXLDCnoD-2xnegg4lh0B3t8EgpqzDqueLx16io,3730
33
+ vantage6/cli/context/node.py,sha256=FPIbWu19khKoVAusf3zgcNZqdlPHw3zYsSO4f2bE5WE,7221
34
+ vantage6/cli/context/server.py,sha256=qyslg6jY0I-29nktxROAb-KAVYZGh9TZsuby25rio0U,4588
35
+ vantage6/cli/dev/create.py,sha256=75HRKIgqNU-LYHX7BWDRbbIl7EAPXIC-SWxKhlh_Iac,21238
36
+ vantage6/cli/dev/remove.py,sha256=G6_dvnFFACOLNIzrcRSSBp6N28AwXCcH15OrdnE_JWg,3929
37
+ vantage6/cli/dev/data/km_dataset.csv,sha256=OrYF2ympb2QndiUOX_nTFGGB1HbAp2eOvZzrQ_PqJs4,31283
33
38
  vantage6/cli/node/attach.py,sha256=cmouPrkbIbg21_wlAe-L-ecmrKVxiDkzGmEtRaCnKQY,276
34
39
  vantage6/cli/node/clean.py,sha256=uCty2GNuwoTybs1nIOygQLxtbleQ-rnnS6_4ieWVmCw,1199
35
40
  vantage6/cli/node/create_private_key.py,sha256=iGLK8x1aOmeObq-vZxlveosiqx1R0myfjU64R5lR0ho,5005
36
41
  vantage6/cli/node/files.py,sha256=V7bJeR8weX0Llpp6y9wQoNrRsvlotEE6e70aTJp9j6M,1331
37
42
  vantage6/cli/node/list.py,sha256=_WZ8EBIEUlzFhVp3cR2MK5FUuQicMEZHhD8npMwKSpM,1664
38
- vantage6/cli/node/new.py,sha256=wuv8mdL4sLV91TJMIksU8dx2LlcUFrA1oORyiICruMw,2039
39
- vantage6/cli/node/remove.py,sha256=Al1XALUwciOU6zIRQB2D9EggUdvtU23laOZTWyYKKvc,3552
43
+ vantage6/cli/node/new.py,sha256=D-zI20pneF8kmGZKTRj09IaMMsj7z2rhiGXegMZywik,2040
44
+ vantage6/cli/node/remove.py,sha256=5gylLyMa8LoavQNQv71JuwrTZN2rJwLrphl4Z0Fu6_8,3658
40
45
  vantage6/cli/node/restart.py,sha256=bWx0n4tN8TWOy_o8lJkA7AR-H1UIbfAiPp93I5wXg1Y,3709
41
46
  vantage6/cli/node/set_api_key.py,sha256=2kB8wveTy9_N8kX4huVhJhY86Ppd2BI8v-d7MRXQAdA,1877
42
- vantage6/cli/node/start.py,sha256=mV4vDBBtFcxva4MJdg5ymsstefDM4bV4pmhSsVX1o4k,12407
47
+ vantage6/cli/node/start.py,sha256=iwqRtyt4uLLgPLBxE6lt_lEe__IxKVKB2aECIKPTz9Q,12306
43
48
  vantage6/cli/node/stop.py,sha256=Hf5z2r6ttbW-DeU0cdHNXIJcgL-eIVRv8i7zZLo4foY,4159
44
49
  vantage6/cli/node/version.py,sha256=X921xyIvIPYObPac2Si5msZ2tay5ySidnPWmGj1ilZw,1959
45
50
  vantage6/cli/node/common/__init__.py,sha256=-nNEqN4Cfzkkz7ughjm0FErGI8NgcOzpKw4va5-0W-E,2882
51
+ vantage6/cli/prometheus/monitoring_manager.py,sha256=tNvguLonbVILqCDnHRizef5NwKnEOV0DuzTx0Bhd2HU,4906
52
+ vantage6/cli/prometheus/prometheus.yml,sha256=Q4i9lVknITBodHUMgarRnEsXfXTNuSdI6a-9pW4YCoI,98
46
53
  vantage6/cli/rabbitmq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
54
  vantage6/cli/rabbitmq/definitions.py,sha256=CcS9jG7ZGB6LjzHQqZ2FliDurPItUvNSjHrOYptORZg,637
48
55
  vantage6/cli/rabbitmq/queue_manager.py,sha256=KGDGHy4NBN8O9xhjzfI7mh65i9lOQIqQwrOFqvGFdHI,7545
@@ -51,22 +58,27 @@ vantage6/cli/server/attach.py,sha256=q1E40nGCBEFUF1p94sZoU-Ud3OXAUy4-FJqcP7Gqa7U
51
58
  vantage6/cli/server/files.py,sha256=LJhFyYHcEnCgFhVAM-lX6_EnfhMJ7YPdN21kVIpmwkc,507
52
59
  vantage6/cli/server/import_.py,sha256=pW1WlVc7eKoLhprxkREz9g8RfXxkEylB2467PsRV8eI,4557
53
60
  vantage6/cli/server/list.py,sha256=_kVBe7TrtUfT2ZLWPkVvKj4xx5AvS17e99Bwp0ajc_E,410
54
- vantage6/cli/server/new.py,sha256=JnUMMD0UUSCOdO0K7v19l5HOV7vnMd9D38WUoEJ2F00,2094
61
+ vantage6/cli/server/new.py,sha256=x7ii_5hUrXDXZOUIot6ghUjvzUjnaSTTVSaP28ojIBY,2474
55
62
  vantage6/cli/server/remove.py,sha256=6tfKfVa5dYnZAKQYo_VlGZTuiugi7sh2F3U2cZ7mCmQ,1627
56
63
  vantage6/cli/server/shell.py,sha256=7cSdBOwvloWyCz3RXHaFZUnxgNRV4gZUDmIFecV8Hks,1589
57
- vantage6/cli/server/start.py,sha256=mPfsfkihJWf8bObNoln4YuBwOCVx3EstXtcNft8Pigo,7787
58
- vantage6/cli/server/stop.py,sha256=DY3r9VsUk_r3cqIm1iL-U-kstLVb9pZsiGDSZyAMrKA,4147
64
+ vantage6/cli/server/start.py,sha256=wTxBOlf_4pmk-cV07dL1GYkU5nOXO-AOFmKmHlHi5hQ,2448
65
+ vantage6/cli/server/stop.py,sha256=J0jgaroGMFwW-Prj7KAOsqDDi-g4cSa4gTPnXHWHZhM,1319
59
66
  vantage6/cli/server/version.py,sha256=aXAztHEky_F2jPbfPdHPfsAY7rdTurl0_3S6bL94_QQ,1318
60
67
  vantage6/cli/server/common/__init__.py,sha256=htv0mFYa4GhIHdzA2xqUUgKhHcMh09UQERlIjIgrwOM,2062
61
- vantage6/cli/template/algo_store_config.j2,sha256=XR-ly-47p6egH8lVh4lZZDh3YSV4kFnkZprdsfSkS2Y,552
62
- vantage6/cli/template/node_config.j2,sha256=EyVKeyW0qAyvdUNSXTHUzPKRNunAMyn-cDTKiSyTbDc,730
68
+ vantage6/cli/template/algo_store_config.j2,sha256=tdPdoZUlBQsFEUUDGWK65oSsIS29QxToT4n_zu9soQA,528
69
+ vantage6/cli/template/node_config.j2,sha256=420R7mvk4SoISmr3MphB3JQvMGsnLmVjhZd2GEJa5rQ,732
63
70
  vantage6/cli/template/server_config.j2,sha256=K7svQM6HTmMrlKPVW9cbNPloH7LicBoLdIEiarD6CP8,765
64
- vantage6/cli/template/server_import_config.j2,sha256=9WT2XeG9-ADoYLb4ahXhof3i9Fcvg0oqwNPyFwLJpvc,1827
71
+ vantage6/cli/template/server_import_config.j2,sha256=eVoQnXfP5IejzlAYiu5GikPibMpBVrxpw-TX0Obi4J0,1782
72
+ vantage6/cli/test/client_script.py,sha256=AHQ4fhzbtD-VcJAm0rxUDteepXNa4Bef9SKWnzobTd0,4825
65
73
  vantage6/cli/test/feature_tester.py,sha256=Jd-dSB_4HRcvkDnAMs57m4WK0SDHsqTmg9ON56wnEOc,2634
66
74
  vantage6/cli/test/integration_test.py,sha256=MctR_t-WEyxzFpMdc6ByTcX1BQglZiT5-CIOQXTBBWo,4034
67
- vantage6/cli/test/common/diagnostic_runner.py,sha256=F8vEaCD6HeKWDcQGVzRkPYxdvEk9owqfciOVdN3bHbw,6607
68
- vantage6-5.0.0a21.dist-info/METADATA,sha256=PByHN2IBEWeWJDHePjFMIzI-3b4VM5xqr_AHfZRWRA0,10907
69
- vantage6-5.0.0a21.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
70
- vantage6-5.0.0a21.dist-info/entry_points.txt,sha256=YFBvwjxoeAGxYyPC-YevEgOBBYRGaXkS6jiOGGCLNy0,157
71
- vantage6-5.0.0a21.dist-info/top_level.txt,sha256=CYDIBS8jEfFq5YCs_Fuit54K9-3wdosZppTrsymIoUk,19
72
- vantage6-5.0.0a21.dist-info/RECORD,,
75
+ 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=SaBpmadYdTGCrx2QBwCtImXcJxqz92QhdnVOmU7NvWk,2752
77
+ vantage6/cli/test/common/diagnostic_runner.py,sha256=5-KgspYW0PncO_t_TrQzd_GSOXVwH-7bIVv-IHOxwQM,6598
78
+ vantage6/cli/use/context.py,sha256=mEtOfbuLtYQlRh-ypif24WtOwgpcvXObX310mmXIkWY,1362
79
+ vantage6/cli/use/namespace.py,sha256=MOd9H3GJwZ0cho0mmlHTRlGPLoQEiSnZIFDsFsvYw4Q,1643
80
+ vantage6-5.0.0a26.dist-info/METADATA,sha256=a1Iczp3c5e-prJBsMCOXgLnBxayrzHKM4Ale7FUu4kQ,10525
81
+ vantage6-5.0.0a26.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
82
+ vantage6-5.0.0a26.dist-info/entry_points.txt,sha256=YFBvwjxoeAGxYyPC-YevEgOBBYRGaXkS6jiOGGCLNy0,157
83
+ vantage6-5.0.0a26.dist-info/top_level.txt,sha256=CYDIBS8jEfFq5YCs_Fuit54K9-3wdosZppTrsymIoUk,19
84
+ vantage6-5.0.0a26.dist-info/RECORD,,