vantage6 4.2.1__py3-none-any.whl → 4.3.0b3__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 (64) hide show
  1. tests_cli/test_example.py +0 -1
  2. tests_cli/test_node_cli.py +74 -79
  3. tests_cli/test_server_cli.py +22 -22
  4. tests_cli/test_wizard.py +41 -29
  5. vantage6/cli/__build__ +1 -1
  6. vantage6/cli/_version.py +11 -8
  7. vantage6/cli/algorithm/create.py +14 -14
  8. vantage6/cli/algorithm/update.py +9 -6
  9. vantage6/cli/algostore/attach.py +32 -0
  10. vantage6/cli/algostore/new.py +55 -0
  11. vantage6/cli/algostore/start.py +102 -0
  12. vantage6/cli/algostore/stop.py +60 -0
  13. vantage6/cli/cli.py +32 -12
  14. vantage6/cli/common/decorator.py +92 -0
  15. vantage6/cli/common/start.py +232 -0
  16. vantage6/cli/configuration_manager.py +22 -32
  17. vantage6/cli/configuration_wizard.py +255 -193
  18. vantage6/cli/context/__init__.py +86 -0
  19. vantage6/cli/context/algorithm_store.py +130 -0
  20. vantage6/cli/context/base_server.py +89 -0
  21. vantage6/cli/context/node.py +254 -0
  22. vantage6/cli/context/server.py +127 -0
  23. vantage6/cli/dev/create.py +180 -113
  24. vantage6/cli/dev/remove.py +20 -19
  25. vantage6/cli/dev/start.py +10 -10
  26. vantage6/cli/dev/stop.py +7 -5
  27. vantage6/cli/globals.py +24 -0
  28. vantage6/cli/node/attach.py +21 -10
  29. vantage6/cli/node/clean.py +4 -2
  30. vantage6/cli/node/common/__init__.py +15 -11
  31. vantage6/cli/node/create_private_key.py +58 -27
  32. vantage6/cli/node/files.py +14 -6
  33. vantage6/cli/node/list.py +18 -24
  34. vantage6/cli/node/new.py +21 -12
  35. vantage6/cli/node/remove.py +31 -22
  36. vantage6/cli/node/set_api_key.py +18 -12
  37. vantage6/cli/node/start.py +38 -12
  38. vantage6/cli/node/stop.py +32 -18
  39. vantage6/cli/node/version.py +23 -13
  40. vantage6/cli/rabbitmq/__init__.py +9 -9
  41. vantage6/cli/rabbitmq/definitions.py +24 -28
  42. vantage6/cli/rabbitmq/queue_manager.py +37 -40
  43. vantage6/cli/server/attach.py +16 -11
  44. vantage6/cli/server/common/__init__.py +37 -25
  45. vantage6/cli/server/files.py +1 -1
  46. vantage6/cli/server/import_.py +45 -37
  47. vantage6/cli/server/list.py +22 -23
  48. vantage6/cli/server/new.py +20 -14
  49. vantage6/cli/server/remove.py +5 -4
  50. vantage6/cli/server/shell.py +17 -6
  51. vantage6/cli/server/start.py +118 -174
  52. vantage6/cli/server/stop.py +31 -23
  53. vantage6/cli/server/version.py +16 -13
  54. vantage6/cli/test/common/diagnostic_runner.py +30 -34
  55. vantage6/cli/test/feature_tester.py +51 -25
  56. vantage6/cli/test/integration_test.py +69 -29
  57. vantage6/cli/utils.py +6 -5
  58. {vantage6-4.2.1.dist-info → vantage6-4.3.0b3.dist-info}/METADATA +5 -3
  59. vantage6-4.3.0b3.dist-info/RECORD +68 -0
  60. vantage6/cli/context.py +0 -416
  61. vantage6-4.2.1.dist-info/RECORD +0 -58
  62. {vantage6-4.2.1.dist-info → vantage6-4.3.0b3.dist-info}/WHEEL +0 -0
  63. {vantage6-4.2.1.dist-info → vantage6-4.3.0b3.dist-info}/entry_points.txt +0 -0
  64. {vantage6-4.2.1.dist-info → vantage6-4.3.0b3.dist-info}/top_level.txt +0 -0
@@ -30,9 +30,13 @@ class DiagnosticRunner:
30
30
  Whether to run the diagnostics only on nodes that are online. By
31
31
  default False
32
32
  """
33
+
33
34
  def __init__(
34
- self, client: UserClient, collaboration_id: int,
35
- organizations: list[int] | None = None, online_only: bool = False
35
+ self,
36
+ client: UserClient,
37
+ collaboration_id: int,
38
+ organizations: list[int] | None = None,
39
+ online_only: bool = False,
36
40
  ) -> None:
37
41
  self.client = client
38
42
  self.collaboration_id = collaboration_id
@@ -44,24 +48,21 @@ class DiagnosticRunner:
44
48
  orgs = self.client.organization.list(
45
49
  collaboration=self.collaboration_id, per_page=1000
46
50
  )
47
- self.organization_ids = [org['id'] for org in orgs['data']]
51
+ self.organization_ids = [org["id"] for org in orgs["data"]]
48
52
  else:
49
53
  self.organization_ids = organizations
50
54
 
51
55
  if online_only:
52
56
  nodes = self.client.node.list(
53
- collaboration=self.collaboration_id,
54
- is_online=True
57
+ collaboration=self.collaboration_id, is_online=True
55
58
  )
56
59
  debug(nodes)
57
- online_orgs = [
58
- node['organization']['id'] for node in nodes['data']
59
- ]
60
- self.organization_ids = \
61
- list(set(self.organization_ids).intersection(online_orgs))
62
-
63
- info(f"Running diagnostics to {len(self.organization_ids)} "
64
- "organization(s)")
60
+ online_orgs = [node["organization"]["id"] for node in nodes["data"]]
61
+ self.organization_ids = list(
62
+ set(self.organization_ids).intersection(online_orgs)
63
+ )
64
+
65
+ info(f"Running diagnostics to {len(self.organization_ids)} " "organization(s)")
65
66
  info(f" organizations: {self.organization_ids}")
66
67
  info(f" collaboration: {self.collaboration_id}")
67
68
 
@@ -100,9 +101,7 @@ class DiagnosticRunner:
100
101
  "method": "base_features",
101
102
  },
102
103
  organizations=self.organization_ids,
103
- databases=[
104
- {'label': 'default'}
105
- ]
104
+ databases=[{"label": "default"}],
106
105
  )
107
106
  debug(task)
108
107
 
@@ -126,7 +125,7 @@ class DiagnosticRunner:
126
125
  image=DIAGNOSTICS_IMAGE,
127
126
  input_={
128
127
  "method": "vpn_features",
129
- "kwargs": {"other_nodes": self.organization_ids}
128
+ "kwargs": {"other_nodes": self.organization_ids},
130
129
  },
131
130
  organizations=self.organization_ids,
132
131
  )
@@ -150,16 +149,12 @@ class DiagnosticRunner:
150
149
  # TODO should we have the option to combine these in one request? Seems
151
150
  # like it would be more efficient
152
151
  # TODO ensure that we get all pages of results
153
- results = self.client.wait_for_results(task_id=task_id)['data']
154
- runs = self.client.run.from_task(task_id=task_id)['data']
152
+ results = self.client.wait_for_results(task_id=task_id)["data"]
153
+ runs = self.client.run.from_task(task_id=task_id)["data"]
155
154
  print("\n")
156
155
  for res in results:
157
- matched_run = [
158
- run for run in runs if run['id'] == res['run']['id']
159
- ][0]
160
- self.display_diagnostic_results(
161
- res, matched_run['organization']['id']
162
- )
156
+ matched_run = [run for run in runs if run["id"] == res["run"]["id"]][0]
157
+ self.display_diagnostic_results(res, matched_run["organization"]["id"])
163
158
  print()
164
159
  return results
165
160
 
@@ -176,21 +171,22 @@ class DiagnosticRunner:
176
171
  """
177
172
  res = json.loads(result["result"])
178
173
  t_ = Table(title=f"Basic Diagnostics Summary (organization {org_id})")
179
- t_.add_column('name')
180
- t_.add_column('success')
174
+ t_.add_column("name")
175
+ t_.add_column("success")
181
176
  e_ = Table(title=f"Basic Diagnostics Errors (organization {org_id})")
182
- e_.add_column('name')
183
- e_.add_column('exception')
184
- e_.add_column('traceback')
185
- e_.add_column('payload')
177
+ e_.add_column("name")
178
+ e_.add_column("exception")
179
+ e_.add_column("traceback")
180
+ e_.add_column("payload")
186
181
  errors = False
187
182
  for diag in res:
188
- if diag['success']:
183
+ if diag["success"]:
189
184
  success = ":heavy_check_mark: [green]success[/green]"
190
185
  else:
191
186
  success = ":x: [red]failed[/red]"
192
- e_.add_row(diag["name"], diag["exception"], diag["traceback"],
193
- diag["payload"])
187
+ e_.add_row(
188
+ diag["name"], diag["exception"], diag["traceback"], diag["payload"]
189
+ )
194
190
  errors = True
195
191
  t_.add_row(diag["name"], success)
196
192
 
@@ -7,29 +7,57 @@ from vantage6.cli.test.common.diagnostic_runner import DiagnosticRunner
7
7
 
8
8
 
9
9
  @click.command()
10
- @click.option("--host", type=str, default="http://localhost",
11
- help="URL of the server")
10
+ @click.option("--host", type=str, default="http://localhost", help="URL of the server")
12
11
  @click.option("--port", type=int, default=5000, help="Port of the server")
13
- @click.option("--api-path", type=str, default="/api",
14
- help="API path of the server")
15
- @click.option("--username", type=str, default="root",
16
- help="Username of vantage6 user account to create the task with")
17
- @click.option("--password", type=str, default="root",
18
- help="Password of vantage6 user account to create the task with")
19
- @click.option("--collaboration", type=int, default=1,
20
- help="ID of the collaboration to create the task in")
21
- @click.option("-o", "--organizations", type=int, default=[], multiple=True,
22
- help="ID(s) of the organization(s) to create the task for")
23
- @click.option("--all-nodes", is_flag=True,
24
- help="Run the diagnostic test on all nodes in the collaboration")
25
- @click.option("--online-only", is_flag=True,
26
- help="Run the diagnostic test on only nodes that are online")
27
- @click.option("--no-vpn", is_flag=True,
28
- help="Don't execute VPN tests")
12
+ @click.option("--api-path", type=str, default="/api", help="API path of the server")
13
+ @click.option(
14
+ "--username",
15
+ type=str,
16
+ default="root",
17
+ help="Username of vantage6 user account to create the task with",
18
+ )
19
+ @click.option(
20
+ "--password",
21
+ type=str,
22
+ default="root",
23
+ help="Password of vantage6 user account to create the task with",
24
+ )
25
+ @click.option(
26
+ "--collaboration",
27
+ type=int,
28
+ default=1,
29
+ help="ID of the collaboration to create the task in",
30
+ )
31
+ @click.option(
32
+ "-o",
33
+ "--organizations",
34
+ type=int,
35
+ default=[],
36
+ multiple=True,
37
+ help="ID(s) of the organization(s) to create the task for",
38
+ )
39
+ @click.option(
40
+ "--all-nodes",
41
+ is_flag=True,
42
+ help="Run the diagnostic test on all nodes in the collaboration",
43
+ )
44
+ @click.option(
45
+ "--online-only",
46
+ is_flag=True,
47
+ help="Run the diagnostic test on only nodes that are online",
48
+ )
49
+ @click.option("--no-vpn", is_flag=True, help="Don't execute VPN tests")
29
50
  def cli_test_features(
30
- host: str, port: int, api_path: str, username: str, password: str,
31
- collaboration: int, organizations: list[int] | None, all_nodes: bool,
32
- online_only: bool, no_vpn: bool
51
+ host: str,
52
+ port: int,
53
+ api_path: str,
54
+ username: str,
55
+ password: str,
56
+ collaboration: int,
57
+ organizations: list[int] | None,
58
+ all_nodes: bool,
59
+ online_only: bool,
60
+ no_vpn: bool,
33
61
  ) -> list[dict]:
34
62
  """
35
63
  Run diagnostic checks on an existing vantage6 network.
@@ -44,11 +72,9 @@ def cli_test_features(
44
72
  if all_nodes or not organizations:
45
73
  organizations = None
46
74
 
47
- client = UserClient(host=host, port=port, path=api_path,
48
- log_level='critical')
75
+ client = UserClient(host=host, port=port, path=api_path, log_level="critical")
49
76
  client.authenticate(username=username, password=password)
50
77
  client.setup_encryption(None)
51
- diagnose = DiagnosticRunner(client, collaboration, organizations,
52
- online_only)
78
+ diagnose = DiagnosticRunner(client, collaboration, organizations, online_only)
53
79
  res = diagnose(base=True, vpn=not no_vpn)
54
80
  return res
@@ -11,27 +11,49 @@ from vantage6.cli.test.feature_tester import cli_test_features
11
11
 
12
12
 
13
13
  @click.command()
14
- @click.option('-n', '--name', default=None, type=str,
15
- help="Name for your development setup")
16
- @click.option('--server-url', type=str, default='http://host.docker.internal',
17
- help='Server URL to point to. If you are using Docker Desktop, '
18
- 'the default http://host.docker.internal should not be changed.')
19
- @click.option('-i', '--image', type=str, default=None,
20
- help='Server Docker image to use')
21
- @click.option('--keep', type=bool, default=False,
22
- help='Keep the dev network after finishing the test')
23
- @click.option('--extra-server-config', type=click.Path(exists=True),
24
- default=None, help='YAML File with additional server '
25
- 'configuration. This will be appended to the server '
26
- 'configuration file')
27
- @click.option('--extra-node-config', type=click.Path('rb'), default=None,
28
- help='YAML File with additional node configuration. This will be'
29
- ' appended to each of the node configuration files')
14
+ @click.option(
15
+ "-n", "--name", default=None, type=str, help="Name for your development setup"
16
+ )
17
+ @click.option(
18
+ "--server-url",
19
+ type=str,
20
+ default="http://host.docker.internal",
21
+ help="Server URL to point to. If you are using Docker Desktop, "
22
+ "the default http://host.docker.internal should not be changed.",
23
+ )
24
+ @click.option(
25
+ "-i", "--image", type=str, default=None, help="Server Docker image to use"
26
+ )
27
+ @click.option(
28
+ "--keep",
29
+ type=bool,
30
+ default=False,
31
+ help="Keep the dev network after finishing the test",
32
+ )
33
+ @click.option(
34
+ "--extra-server-config",
35
+ type=click.Path(exists=True),
36
+ default=None,
37
+ help="YAML File with additional server "
38
+ "configuration. This will be appended to the server "
39
+ "configuration file",
40
+ )
41
+ @click.option(
42
+ "--extra-node-config",
43
+ type=click.Path("rb"),
44
+ default=None,
45
+ help="YAML File with additional node configuration. This will be"
46
+ " appended to each of the node configuration files",
47
+ )
30
48
  @click.pass_context
31
49
  def cli_test_integration(
32
- click_ctx: click.Context, name: str, server_url: str, image: str,
33
- keep: bool = False, extra_server_config: Path = None,
34
- extra_node_config: Path = None
50
+ click_ctx: click.Context,
51
+ name: str,
52
+ server_url: str,
53
+ image: str,
54
+ keep: bool = False,
55
+ extra_server_config: Path = None,
56
+ extra_node_config: Path = None,
35
57
  ) -> list[dict]:
36
58
  """
37
59
  Create dev network and run diagnostic checks on it.
@@ -48,15 +70,23 @@ def cli_test_integration(
48
70
  # create server & node configurations and create test resources (
49
71
  # collaborations, organizations, etc)
50
72
  click_ctx.invoke(
51
- create_demo_network, name=name, num_nodes=3, server_url=server_url,
52
- server_port=5000, image=image, extra_server_config=extra_server_config,
53
- extra_node_config=extra_node_config
73
+ create_demo_network,
74
+ name=name,
75
+ num_nodes=3,
76
+ server_url=server_url,
77
+ server_port=5000,
78
+ image=image,
79
+ extra_server_config=extra_server_config,
80
+ extra_node_config=extra_node_config,
54
81
  )
55
82
 
56
83
  # start the server and nodes
57
84
  click_ctx.invoke(
58
- start_demo_network, name=name, system_folders=True, server_image=image,
59
- node_image=image
85
+ start_demo_network,
86
+ name=name,
87
+ system_folders=True,
88
+ server_image=image,
89
+ node_image=image,
60
90
  )
61
91
 
62
92
  # run the diagnostic tests
@@ -66,9 +96,17 @@ def cli_test_integration(
66
96
  # TODO VPN testing is always excluded - allow to include it with a flag
67
97
  # when vdev commands can handle extra config parameters
68
98
  diagnose_results = click_ctx.invoke(
69
- cli_test_features, host="http://localhost", port=5000, api_path='/api',
70
- username='org_1-admin', password='password', collaboration=1,
71
- organizations=None, all_nodes=True, online_only=False, no_vpn=True
99
+ cli_test_features,
100
+ host="http://localhost",
101
+ port=5000,
102
+ api_path="/api",
103
+ username="org_1-admin",
104
+ password="password",
105
+ collaboration=1,
106
+ organizations=None,
107
+ all_nodes=True,
108
+ online_only=False,
109
+ no_vpn=True,
72
110
  )
73
111
 
74
112
  # clean up the test resources
@@ -76,7 +114,9 @@ def cli_test_integration(
76
114
  if not keep:
77
115
  click_ctx.invoke(remove_demo_network, name=name, system_folders=True)
78
116
  else:
79
- info("Keeping the demo network {name}. You can start it with `v6 dev "
80
- "start-demo-network`")
117
+ info(
118
+ "Keeping the demo network {name}. You can start it with `v6 dev "
119
+ "start-demo-network`"
120
+ )
81
121
 
82
122
  return diagnose_results
vantage6/cli/utils.py CHANGED
@@ -25,16 +25,17 @@ def check_config_name_allowed(name: str) -> None:
25
25
  if name.count(" ") > 0:
26
26
  name = name.replace(" ", "-")
27
27
  info(f"Replaced spaces from configuration name: {name}")
28
- if not re.match('^[a-zA-Z0-9_.-]+$', name):
29
- error(f"Name '{name}' is not allowed. Please use only the following "
30
- "characters: a-zA-Z0-9_.-")
28
+ if not re.match("^[a-zA-Z0-9_.-]+$", name):
29
+ error(
30
+ f"Name '{name}' is not allowed. Please use only the following "
31
+ "characters: a-zA-Z0-9_.-"
32
+ )
31
33
  # FIXME: FM, 2023-01-03: I dont think this is a good side effect. This
32
34
  # should be handled by the caller.
33
35
  exit(1)
34
36
 
35
37
 
36
- def check_if_docker_daemon_is_running(
37
- docker_client: docker.DockerClient) -> None:
38
+ def check_if_docker_daemon_is_running(docker_client: docker.DockerClient) -> None:
38
39
  """
39
40
  Check if Docker daemon is running
40
41
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vantage6
3
- Version: 4.2.1
3
+ Version: 4.3.0b3
4
4
  Summary: vantage6 command line interface
5
5
  Home-page: https://github.com/vantage6/vantage6
6
6
  Requires-Python: >=3.10
@@ -15,10 +15,12 @@ Requires-Dist: questionary ==1.10.0
15
15
  Requires-Dist: rich ==13.5.2
16
16
  Requires-Dist: schema ==0.7.5
17
17
  Requires-Dist: SQLAlchemy ==1.4.46
18
- Requires-Dist: vantage6-common ==4.2.1
19
- Requires-Dist: vantage6-client ==4.2.1
18
+ Requires-Dist: vantage6-common ==4.3.0b3
19
+ Requires-Dist: vantage6-client ==4.3.0b3
20
20
  Provides-Extra: dev
21
21
  Requires-Dist: coverage ==6.4.4 ; extra == 'dev'
22
+ Requires-Dist: black ; extra == 'dev'
23
+ Requires-Dist: pre-commit ; extra == 'dev'
22
24
 
23
25
  <h1 align="center">
24
26
  <br>
@@ -0,0 +1,68 @@
1
+ tests_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ tests_cli/test_example.py,sha256=0fw_v-lgZEacshWSDwLNyLMA1_xc48bKUGM3ll-n1L0,146
3
+ tests_cli/test_node_cli.py,sha256=FpK6MXQL_0i42k1hf4enfoLamCZ0Clv2cNLBryS-rEs,15758
4
+ tests_cli/test_server_cli.py,sha256=gfbwp_JFsEv0MZlKZuemNhdNkU4sxCARHy4gTDCdZp0,5798
5
+ tests_cli/test_wizard.py,sha256=ntYuXm3SWKvPgcE7wGVPM9ReWoPNMu9_UbDL6KAE1wU,3772
6
+ vantage6/cli/__build__,sha256=TgdAhWK-24tgzgXB3s_jrRa3IjCWfeAfZAt-Rym0n84,1
7
+ vantage6/cli/__init__.py,sha256=dEbhLHe9VfU3otY3CQkMVrj39uPGWjqzAvHW2B2Flgs,62
8
+ vantage6/cli/_version.py,sha256=KQrzTJZVe-_U7oqr-s8Cgd2NFSkskimnkIIKa_7yXcc,695
9
+ vantage6/cli/cli.py,sha256=OO--_SGHTFKM_SzuVu2WMfsOpeI5-r3ElM2H2xxVpI8,5630
10
+ vantage6/cli/configuration_manager.py,sha256=gN-FINxV74Sj58FeSgwlDX-ZpWoOCw-e2l-1a0Bysu0,3501
11
+ vantage6/cli/configuration_wizard.py,sha256=ig8oJumGbSB5PQY1Q8b0zV4R8v2xEzIvkeFqVu1x9PU,13818
12
+ vantage6/cli/globals.py,sha256=ioATsNh41iWvupVPxpN85CrCZaasExptDFPfzzxD_MU,1641
13
+ vantage6/cli/utils.py,sha256=J-LesedzLquJ5lWe4kOaPe2G6WmBorU-Dj_P_WiqZaU,2364
14
+ vantage6/cli/algorithm/create.py,sha256=xdQGVhpIdqkOXLaVBB8Jc1Q9SbsWtR8KiYIfqH8ww0I,1453
15
+ vantage6/cli/algorithm/update.py,sha256=t2JgJZohYBoVRsIx9er2tKO1yQnzanEJkIEm65XaQqc,800
16
+ vantage6/cli/algostore/attach.py,sha256=KsoYPE3Ukv8dTs-cNY8kJJJ-xeCQxbOMhjbEukZJ4iU,1123
17
+ vantage6/cli/algostore/new.py,sha256=9CMYBjHyXPIhOx7wtkFf99-6EHSTG70MRdg8m8VtMUg,2009
18
+ vantage6/cli/algostore/start.py,sha256=iuo6eOvNvRk9SrJUg5X8IdETIXlyWszwgrm0dhDhz4A,3087
19
+ vantage6/cli/algostore/stop.py,sha256=M3_nb4f0TZiJODKiBuxGgvfrZEdgRTh5qohDoqZeCQw,1814
20
+ vantage6/cli/common/decorator.py,sha256=F0tDTQz6wVH9R-jOfhA1Vx7nJZ1u30V4Sez8NuKV2g4,3222
21
+ vantage6/cli/common/start.py,sha256=P9qXwdEzSL_wPyvsSiF4rcX-aVsO_AwbYPYhXIIh4Cs,7029
22
+ vantage6/cli/context/__init__.py,sha256=u3f5LjsIjb_DhAL86jwa5V_9CpJjgbF4wwhxpostLvI,2682
23
+ vantage6/cli/context/algorithm_store.py,sha256=IyQ8MaaAPI3V73R0NBp3XMJSqYwc0RF83EeILmvuZhY,4063
24
+ vantage6/cli/context/base_server.py,sha256=paKSzNrKWD-J6eakHAtGELk2cD05A8NqoCAuQfF7c2s,2972
25
+ vantage6/cli/context/node.py,sha256=kOSUCEGik4eVIeY2YzUhPI1LwZrmaq1HuXREvBFRFKY,7236
26
+ vantage6/cli/context/server.py,sha256=f19cAc_rjrNctzllrsozZ2O7k2pTS94_oDqzLMsgPj8,4071
27
+ vantage6/cli/dev/create.py,sha256=Arw2KuI9vJ60I96X6ND9n72Ng2lScq4MXb0MvEbwvRM,13408
28
+ vantage6/cli/dev/remove.py,sha256=5jPjKaYnStCZkVIrn36A3yM_Hea8f6wtjOSiq865sv4,2204
29
+ vantage6/cli/dev/start.py,sha256=eVT2-v_tfzjGuKYbnl2ltZmSQa3KdRl5D1nNB62lfQ4,1648
30
+ vantage6/cli/dev/stop.py,sha256=YHsTBRvIWcA7Nmv6tNwpIsxkUeTyieXAPTTQGh_Dj1w,1033
31
+ vantage6/cli/node/attach.py,sha256=uWKoP8N__yJZj1QX_xRWHGnBJnEP0peGAH22SpwVXdo,2167
32
+ vantage6/cli/node/clean.py,sha256=9W9PaVILx8SnmB2lymw23KJeQmH5nFcX79QHcEOvo0A,1124
33
+ vantage6/cli/node/create_private_key.py,sha256=ojzwis_EW5AaBHc7gK9LmGhFxZTAkuBUQpEpjYcnC74,4997
34
+ vantage6/cli/node/files.py,sha256=V7bJeR8weX0Llpp6y9wQoNrRsvlotEE6e70aTJp9j6M,1331
35
+ vantage6/cli/node/list.py,sha256=_WZ8EBIEUlzFhVp3cR2MK5FUuQicMEZHhD8npMwKSpM,1664
36
+ vantage6/cli/node/new.py,sha256=C-ZHQOiOtslOy6mF-G-MuR5E_65GKJW7L4FxxrKojUg,1923
37
+ vantage6/cli/node/remove.py,sha256=9pBWKF1YtvT6j7fDOKAEkGeT57JpJQgHa3uLorA5e4s,3553
38
+ vantage6/cli/node/set_api_key.py,sha256=IX07QwpTGefRC92lqm34HX9xThRVcXl5DcWSLt1Ro6w,1747
39
+ vantage6/cli/node/start.py,sha256=HsoI4Mf_Ue4_an1PMzm2OTgcaD-2YLnpZ4mzX2CnD4Y,13326
40
+ vantage6/cli/node/stop.py,sha256=NfXlSCQ6VcC15iVhgiMklIq-inv6aPnoHrjnvbFpAHc,2678
41
+ vantage6/cli/node/version.py,sha256=eYJ4ayQsEsHPL00V88UY1LhmlnQCzF-Te4lrw4SFbHQ,1836
42
+ vantage6/cli/node/common/__init__.py,sha256=IOHza2H0e-igJg4iWFqE4Pqs8czafq_8GPT_pWYoJD8,3238
43
+ vantage6/cli/rabbitmq/__init__.py,sha256=Kb8pTiIAoRchbwLznM6-c4j6mkKAKXAparpYbjjajHU,737
44
+ vantage6/cli/rabbitmq/definitions.py,sha256=CcS9jG7ZGB6LjzHQqZ2FliDurPItUvNSjHrOYptORZg,637
45
+ vantage6/cli/rabbitmq/queue_manager.py,sha256=QurvkbgtRUUBSv_XggnLEpvi33oeFuwB7abPe_QSRtA,7543
46
+ vantage6/cli/rabbitmq/rabbitmq.config,sha256=LYAQAEoXaF472XeJDYXc9JfWSETIzPRIR2W-JB2i7fU,136
47
+ vantage6/cli/server/attach.py,sha256=5FhopXz0b25EnL4Pu8auqFKOrSHsTTuNmrmgZ6HS0xs,2004
48
+ vantage6/cli/server/files.py,sha256=lYqr5ZjEPbd6hd2b1_M2AEKgHuNAwDoyDll88Obe33Q,488
49
+ vantage6/cli/server/import_.py,sha256=PGG5VLc_NIoXTVlGqCHHCjd4l-aytEWHkr57wDF9nyg,4611
50
+ vantage6/cli/server/list.py,sha256=3MlnirengkcWCmSJOfvFNClU5I-OVSXvEQy_-qhHjGU,1797
51
+ vantage6/cli/server/new.py,sha256=SGOQXQDNg9ihnPpmJCDTQ-Yn2GkDhEu84dtsQ3v5Pq4,1978
52
+ vantage6/cli/server/remove.py,sha256=bXT4fk4Chfk1029gc4RiZlxGdpeo7H8Ua3BKYJLlw_4,1195
53
+ vantage6/cli/server/shell.py,sha256=NfbBKmzTcA6fLcLO_tj_BecbzMScoAkmC00sDhYa9Sw,1564
54
+ vantage6/cli/server/start.py,sha256=T93mEm5T2OiBUifqkizyD5Eu8edZG80mTWgvx1k70oc,7593
55
+ vantage6/cli/server/stop.py,sha256=Go94ch1yzjWjwNbDqqobc2koGqVX3bK5My-nQxL17C0,3950
56
+ vantage6/cli/server/version.py,sha256=Q6xeXECONdhutMMAsqSvTqSGQm4rObP-gbmP03ugY7I,1738
57
+ vantage6/cli/server/common/__init__.py,sha256=TTB7BoOw0YL483Vt5-wseaEUq2Er9DKyNWxJFNBFeko,4835
58
+ vantage6/cli/template/node_config.j2,sha256=ebTifJuRlfUhjtI8jm9A2SWXGpUcg8L-XUBInSwAppA,522
59
+ vantage6/cli/template/server_config.j2,sha256=rKXMky8rA7Lnf5USlPx0Es9AskwmL4bILWfACPvygv4,394
60
+ vantage6/cli/template/server_import_config.j2,sha256=PRB0ym_FYjx9vhkmY9C0xzlv_85Y5kBfWdUYs089bNQ,1844
61
+ vantage6/cli/test/feature_tester.py,sha256=2fyzcksj2mandORn3j814PXyhWE7huaKuIHyxhlUX0Y,2329
62
+ vantage6/cli/test/integration_test.py,sha256=DT3qjl1lq7nVBflT5ed1Yu2aNT1cwHCqh8_hafi4e2k,3802
63
+ vantage6/cli/test/common/diagnostic_runner.py,sha256=x_4ikihgoSTKI914pqlgVziBSg5LpV6MheO6O_GBCeA,6657
64
+ vantage6-4.3.0b3.dist-info/METADATA,sha256=nUUf7FkPF13CyWBWNL2QiPD-Cy-duMnSNTz0GxoYZtg,9845
65
+ vantage6-4.3.0b3.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
66
+ vantage6-4.3.0b3.dist-info/entry_points.txt,sha256=YFBvwjxoeAGxYyPC-YevEgOBBYRGaXkS6jiOGGCLNy0,157
67
+ vantage6-4.3.0b3.dist-info/top_level.txt,sha256=CYDIBS8jEfFq5YCs_Fuit54K9-3wdosZppTrsymIoUk,19
68
+ vantage6-4.3.0b3.dist-info/RECORD,,