vantage6 4.7.0rc1__py3-none-any.whl → 4.7.1rc1__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.
- tests_cli/test_node_cli.py +6 -1
- vantage6/cli/_version.py +1 -1
- vantage6/cli/algostore/start.py +7 -3
- vantage6/cli/configuration_wizard.py +21 -8
- vantage6/cli/dev/create.py +10 -8
- vantage6/cli/globals.py +0 -5
- vantage6/cli/server/start.py +4 -4
- vantage6/cli/template/algo_store_config.j2 +23 -0
- vantage6/cli/template/server_config.j2 +1 -1
- vantage6/cli/test/feature_tester.py +4 -1
- vantage6/cli/test/integration_test.py +6 -6
- {vantage6-4.7.0rc1.dist-info → vantage6-4.7.1rc1.dist-info}/METADATA +31 -11
- {vantage6-4.7.0rc1.dist-info → vantage6-4.7.1rc1.dist-info}/RECORD +16 -15
- {vantage6-4.7.0rc1.dist-info → vantage6-4.7.1rc1.dist-info}/WHEEL +0 -0
- {vantage6-4.7.0rc1.dist-info → vantage6-4.7.1rc1.dist-info}/entry_points.txt +0 -0
- {vantage6-4.7.0rc1.dist-info → vantage6-4.7.1rc1.dist-info}/top_level.txt +0 -0
tests_cli/test_node_cli.py
CHANGED
|
@@ -9,6 +9,7 @@ from io import BytesIO, StringIO
|
|
|
9
9
|
from click.testing import CliRunner
|
|
10
10
|
from docker.errors import APIError
|
|
11
11
|
|
|
12
|
+
from vantage6.common.globals import Ports
|
|
12
13
|
from vantage6.cli.globals import APPNAME
|
|
13
14
|
from vantage6.common import STRING_ENCODING
|
|
14
15
|
from vantage6.cli.common.utils import print_log_worker
|
|
@@ -408,7 +409,11 @@ class NodeCLITest(unittest.TestCase):
|
|
|
408
409
|
@patch("vantage6.cli.node.common.q")
|
|
409
410
|
def test_client(self, q, client, error, debug, info):
|
|
410
411
|
ctx = MagicMock(
|
|
411
|
-
config={
|
|
412
|
+
config={
|
|
413
|
+
"server_url": "localhost",
|
|
414
|
+
"port": Ports.DEV_SERVER.value,
|
|
415
|
+
"api_path": "",
|
|
416
|
+
}
|
|
412
417
|
)
|
|
413
418
|
|
|
414
419
|
# should not trigger an exception
|
vantage6/cli/_version.py
CHANGED
|
@@ -7,7 +7,7 @@ with open(os.path.join(here, "__build__")) as fp:
|
|
|
7
7
|
__build__ = json.load(fp)
|
|
8
8
|
|
|
9
9
|
# Module version
|
|
10
|
-
version_info = (4, 7,
|
|
10
|
+
version_info = (4, 7, 1, "candidate", __build__, 0)
|
|
11
11
|
|
|
12
12
|
# Module version stage suffix map
|
|
13
13
|
_specifier_ = {"alpha": "a", "beta": "b", "candidate": "rc", "final": ""}
|
vantage6/cli/algostore/start.py
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
3
|
from vantage6.common import info
|
|
4
|
-
from vantage6.common.globals import
|
|
4
|
+
from vantage6.common.globals import (
|
|
5
|
+
APPNAME,
|
|
6
|
+
DEFAULT_ALGO_STORE_IMAGE,
|
|
7
|
+
InstanceType,
|
|
8
|
+
Ports,
|
|
9
|
+
)
|
|
5
10
|
from vantage6.cli.common.start import (
|
|
6
11
|
attach_logs,
|
|
7
12
|
check_for_start,
|
|
@@ -11,7 +16,6 @@ from vantage6.cli.common.start import (
|
|
|
11
16
|
mount_source,
|
|
12
17
|
pull_infra_image,
|
|
13
18
|
)
|
|
14
|
-
from vantage6.cli.globals import AlgoStoreGlobals
|
|
15
19
|
from vantage6.cli.context.algorithm_store import AlgorithmStoreContext
|
|
16
20
|
from vantage6.cli.common.decorator import click_insert_context
|
|
17
21
|
|
|
@@ -80,7 +84,7 @@ def cli_algo_store_start(
|
|
|
80
84
|
info(cmd)
|
|
81
85
|
|
|
82
86
|
info("Run Docker container")
|
|
83
|
-
port_ = str(port or ctx.config["port"] or
|
|
87
|
+
port_ = str(port or ctx.config["port"] or Ports.DEV_ALGO_STORE.value)
|
|
84
88
|
container = docker_client.containers.run(
|
|
85
89
|
image,
|
|
86
90
|
command=cmd,
|
|
@@ -3,7 +3,7 @@ import questionary as q
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
|
|
5
5
|
from vantage6.common import generate_apikey
|
|
6
|
-
from vantage6.common.globals import DATABASE_TYPES, InstanceType, NodePolicy
|
|
6
|
+
from vantage6.common.globals import DATABASE_TYPES, InstanceType, NodePolicy, Ports
|
|
7
7
|
from vantage6.common.client.node_client import NodeClient
|
|
8
8
|
from vantage6.common.context import AppContext
|
|
9
9
|
from vantage6.common import error, warning, info
|
|
@@ -12,7 +12,6 @@ from vantage6.cli.configuration_manager import (
|
|
|
12
12
|
NodeConfigurationManager,
|
|
13
13
|
ServerConfigurationManager,
|
|
14
14
|
)
|
|
15
|
-
from vantage6.cli.globals import AlgoStoreGlobals, ServerGlobals
|
|
16
15
|
|
|
17
16
|
|
|
18
17
|
def node_configuration_questionaire(dirs: dict, instance_name: str) -> dict:
|
|
@@ -40,11 +39,25 @@ def node_configuration_questionaire(dirs: dict, instance_name: str) -> dict:
|
|
|
40
39
|
"message": "The base-URL of the server:",
|
|
41
40
|
"default": "http://localhost",
|
|
42
41
|
},
|
|
42
|
+
]
|
|
43
|
+
)
|
|
44
|
+
# remove trailing slash from server_url if entered by user
|
|
45
|
+
config["server_url"] = config["server_url"].rstrip("/")
|
|
46
|
+
|
|
47
|
+
# set default port to the https port if server_url is https
|
|
48
|
+
default_port = (
|
|
49
|
+
str(Ports.HTTPS.value)
|
|
50
|
+
if config["server_url"].startswith("https")
|
|
51
|
+
else str(Ports.DEV_SERVER.value)
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
config = config | q.prompt(
|
|
55
|
+
[
|
|
43
56
|
{
|
|
44
57
|
"type": "text",
|
|
45
58
|
"name": "port",
|
|
46
59
|
"message": "Enter port to which the server listens:",
|
|
47
|
-
"default":
|
|
60
|
+
"default": default_port,
|
|
48
61
|
},
|
|
49
62
|
{
|
|
50
63
|
"type": "text",
|
|
@@ -107,12 +120,12 @@ def node_configuration_questionaire(dirs: dict, instance_name: str) -> dict:
|
|
|
107
120
|
"Do you want to enter a list of allowed algorithms?"
|
|
108
121
|
).ask()
|
|
109
122
|
if ask_single_algorithms:
|
|
110
|
-
policies[NodePolicy.ALLOWED_ALGORITHMS] = _get_allowed_algorithms()
|
|
123
|
+
policies[NodePolicy.ALLOWED_ALGORITHMS.value] = _get_allowed_algorithms()
|
|
111
124
|
ask_algorithm_stores = q.confirm(
|
|
112
125
|
"Do you want to allow algorithms from specific algorithm stores?"
|
|
113
126
|
).ask()
|
|
114
127
|
if ask_algorithm_stores:
|
|
115
|
-
policies[NodePolicy.ALLOWED_ALGORITHM_STORES] = (
|
|
128
|
+
policies[NodePolicy.ALLOWED_ALGORITHM_STORES.value] = (
|
|
116
129
|
_get_allowed_algorithm_stores()
|
|
117
130
|
)
|
|
118
131
|
if ask_single_algorithms and ask_algorithm_stores:
|
|
@@ -291,9 +304,9 @@ def _get_common_server_config(
|
|
|
291
304
|
"message": "Enter port to which the server listens:",
|
|
292
305
|
"default": (
|
|
293
306
|
# Note that .value is required in YAML to get proper str value
|
|
294
|
-
|
|
307
|
+
str(Ports.DEV_SERVER.value)
|
|
295
308
|
if instance_type == InstanceType.SERVER
|
|
296
|
-
else
|
|
309
|
+
else str(Ports.DEV_ALGO_STORE.value)
|
|
297
310
|
),
|
|
298
311
|
},
|
|
299
312
|
]
|
|
@@ -489,7 +502,7 @@ def algo_store_configuration_questionaire(instance_name: str) -> dict:
|
|
|
489
502
|
InstanceType.ALGORITHM_STORE, instance_name, include_api_path=False
|
|
490
503
|
)
|
|
491
504
|
|
|
492
|
-
default_v6_server_uri = "http://localhost:
|
|
505
|
+
default_v6_server_uri = f"http://localhost:{Ports.DEV_SERVER.value}/api"
|
|
493
506
|
default_root_username = "root"
|
|
494
507
|
|
|
495
508
|
v6_server_uri = q.text(
|
vantage6/cli/dev/create.py
CHANGED
|
@@ -7,7 +7,7 @@ import pandas as pd
|
|
|
7
7
|
from jinja2 import Environment, FileSystemLoader
|
|
8
8
|
from colorama import Fore, Style
|
|
9
9
|
|
|
10
|
-
from vantage6.common.globals import APPNAME, InstanceType
|
|
10
|
+
from vantage6.common.globals import APPNAME, InstanceType, Ports
|
|
11
11
|
from vantage6.common import info, error, generate_apikey
|
|
12
12
|
|
|
13
13
|
import vantage6.cli.dev.data as data_dir
|
|
@@ -479,20 +479,22 @@ def demo_network(
|
|
|
479
479
|
"-p",
|
|
480
480
|
"--server-port",
|
|
481
481
|
type=int,
|
|
482
|
-
default=
|
|
483
|
-
help="Port to run the server on. Default is
|
|
482
|
+
default=Ports.DEV_SERVER.value,
|
|
483
|
+
help=f"Port to run the server on. Default is {Ports.DEV_SERVER.value}.",
|
|
484
484
|
)
|
|
485
485
|
@click.option(
|
|
486
486
|
"--ui-port",
|
|
487
487
|
type=int,
|
|
488
|
-
default=
|
|
489
|
-
help="Port to run the UI on. Default is
|
|
488
|
+
default=Ports.DEV_UI.value,
|
|
489
|
+
help=f"Port to run the UI on. Default is {Ports.DEV_UI.value}.",
|
|
490
490
|
)
|
|
491
491
|
@click.option(
|
|
492
492
|
"--algorithm-store-port",
|
|
493
493
|
type=int,
|
|
494
|
-
default=
|
|
495
|
-
help=
|
|
494
|
+
default=Ports.DEV_ALGO_STORE.value,
|
|
495
|
+
help=(
|
|
496
|
+
f"Port to run the algorithm store on. Default is {Ports.DEV_ALGO_STORE.value}."
|
|
497
|
+
),
|
|
496
498
|
)
|
|
497
499
|
@click.option(
|
|
498
500
|
"-i",
|
|
@@ -580,7 +582,7 @@ def create_demo_network(
|
|
|
580
582
|
)
|
|
581
583
|
info(
|
|
582
584
|
"Development network was set up successfully! You can now start the "
|
|
583
|
-
f"server and nodes with {Fore.GREEN}v6
|
|
585
|
+
f"server and nodes with {Fore.GREEN}v6 dev start-demo-network"
|
|
584
586
|
f"{Style.RESET_ALL}"
|
|
585
587
|
)
|
|
586
588
|
# find user credentials to print. Read from server import file
|
vantage6/cli/globals.py
CHANGED
|
@@ -33,9 +33,6 @@ DATA_FOLDER = PACKAGE_FOLDER / APPNAME / "_data"
|
|
|
33
33
|
# Maximum time to start up RabbitMQ in seconds
|
|
34
34
|
RABBIT_TIMEOUT = 300
|
|
35
35
|
|
|
36
|
-
# Default port to start the UI on
|
|
37
|
-
DEFAULT_UI_PORT = 5001
|
|
38
|
-
|
|
39
36
|
# Location of repository to create new algorithm templates from
|
|
40
37
|
ALGORITHM_TEMPLATE_REPO = "gh:vantage6/v6-algorithm-template.git"
|
|
41
38
|
|
|
@@ -58,7 +55,6 @@ class ServerGlobals(str, Enum):
|
|
|
58
55
|
|
|
59
56
|
DB_URI_ENV_VAR = "VANTAGE6_DB_URI"
|
|
60
57
|
CONFIG_NAME_ENV_VAR = "VANTAGE6_CONFIG_NAME"
|
|
61
|
-
PORT = "5000"
|
|
62
58
|
|
|
63
59
|
|
|
64
60
|
class AlgoStoreGlobals(str, Enum):
|
|
@@ -66,4 +62,3 @@ class AlgoStoreGlobals(str, Enum):
|
|
|
66
62
|
|
|
67
63
|
DB_URI_ENV_VAR = "VANTAGE6_ALGO_STORE_DB_URI"
|
|
68
64
|
CONFIG_NAME_ENV_VAR = "VANTAGE6_ALGO_STORE_CONFIG_NAME"
|
|
69
|
-
PORT = "5002" # 5001 is the default UI port
|
vantage6/cli/server/start.py
CHANGED
|
@@ -11,7 +11,7 @@ from vantage6.common.globals import (
|
|
|
11
11
|
InstanceType,
|
|
12
12
|
)
|
|
13
13
|
|
|
14
|
-
from vantage6.
|
|
14
|
+
from vantage6.common.globals import Ports
|
|
15
15
|
from vantage6.cli.context.server import ServerContext
|
|
16
16
|
from vantage6.cli.rabbitmq.queue_manager import RabbitMQManager
|
|
17
17
|
from vantage6.cli.server.common import stop_ui
|
|
@@ -151,7 +151,7 @@ def cli_server_start(
|
|
|
151
151
|
info(cmd)
|
|
152
152
|
|
|
153
153
|
info("Run Docker container")
|
|
154
|
-
port_ = str(port or ctx.config["port"] or
|
|
154
|
+
port_ = str(port or ctx.config["port"] or Ports.DEV_SERVER.value)
|
|
155
155
|
container = docker_client.containers.run(
|
|
156
156
|
image,
|
|
157
157
|
command=cmd,
|
|
@@ -222,9 +222,9 @@ def _start_ui(client: DockerClient, ctx: ServerContext, ui_port: int) -> None:
|
|
|
222
222
|
if not isinstance(ui_port, int) or not 0 < ui_port < 65536:
|
|
223
223
|
warning(
|
|
224
224
|
f"UI port '{ui_port}' is not valid! Using default port "
|
|
225
|
-
f"{
|
|
225
|
+
f"{Ports.DEV_UI.value}"
|
|
226
226
|
)
|
|
227
|
-
ui_port =
|
|
227
|
+
ui_port = str(Ports.DEV_UI.value)
|
|
228
228
|
|
|
229
229
|
# find image to use
|
|
230
230
|
image = get_image(None, ctx, "ui", DEFAULT_UI_IMAGE)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
allow_drop_all: 'True'
|
|
2
|
+
description: 'default_algorithm_store'
|
|
3
|
+
ip: 0.0.0.0
|
|
4
|
+
logging:
|
|
5
|
+
backup_count: 5
|
|
6
|
+
datefmt: '%Y-%m-%d %H:%M:%S'
|
|
7
|
+
file: test-server.log
|
|
8
|
+
format: '%(asctime)s - %(name)-14s - %(levelname)-8s - %(message)s'
|
|
9
|
+
level: DEBUG
|
|
10
|
+
max_size: 1024
|
|
11
|
+
use_console: true
|
|
12
|
+
port: {{ port }}
|
|
13
|
+
uri: sqlite:///default.sqlite
|
|
14
|
+
root_user:
|
|
15
|
+
v6_server_uri: http://localhost:{{ server_port }}/api
|
|
16
|
+
username: dev_admin
|
|
17
|
+
dev:
|
|
18
|
+
host_uri: {{ host_uri }}
|
|
19
|
+
disable_review: true
|
|
20
|
+
policies:
|
|
21
|
+
algorithm_view: public
|
|
22
|
+
allow_localhost: true
|
|
23
|
+
{{ user_provided_config }}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import sys
|
|
2
2
|
import click
|
|
3
3
|
|
|
4
|
+
from vantage6.common.globals import Ports
|
|
4
5
|
from vantage6.client import UserClient
|
|
5
6
|
from vantage6.cli.utils import error
|
|
6
7
|
from vantage6.cli.test.common.diagnostic_runner import DiagnosticRunner
|
|
@@ -8,7 +9,9 @@ from vantage6.cli.test.common.diagnostic_runner import DiagnosticRunner
|
|
|
8
9
|
|
|
9
10
|
@click.command()
|
|
10
11
|
@click.option("--host", type=str, default="http://localhost", help="URL of the server")
|
|
11
|
-
@click.option(
|
|
12
|
+
@click.option(
|
|
13
|
+
"--port", type=int, default=Ports.DEV_SERVER.value, help="Port of the server"
|
|
14
|
+
)
|
|
12
15
|
@click.option("--api-path", type=str, default="/api", help="API path of the server")
|
|
13
16
|
@click.option(
|
|
14
17
|
"--username",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
import click
|
|
3
3
|
|
|
4
|
+
from vantage6.common.globals import Ports
|
|
4
5
|
from vantage6.cli.utils import info
|
|
5
6
|
from vantage6.cli.dev.create import create_demo_network
|
|
6
7
|
from vantage6.cli.dev.start import start_demo_network
|
|
@@ -74,7 +75,7 @@ def cli_test_integration(
|
|
|
74
75
|
name=name,
|
|
75
76
|
num_nodes=3,
|
|
76
77
|
server_url=server_url,
|
|
77
|
-
server_port=
|
|
78
|
+
server_port=Ports.DEV_SERVER.value,
|
|
78
79
|
image=image,
|
|
79
80
|
extra_server_config=extra_server_config,
|
|
80
81
|
extra_node_config=extra_node_config,
|
|
@@ -84,7 +85,6 @@ def cli_test_integration(
|
|
|
84
85
|
click_ctx.invoke(
|
|
85
86
|
start_demo_network,
|
|
86
87
|
name=name,
|
|
87
|
-
system_folders=True,
|
|
88
88
|
server_image=image,
|
|
89
89
|
node_image=image,
|
|
90
90
|
)
|
|
@@ -98,7 +98,7 @@ def cli_test_integration(
|
|
|
98
98
|
diagnose_results = click_ctx.invoke(
|
|
99
99
|
cli_test_features,
|
|
100
100
|
host="http://localhost",
|
|
101
|
-
port=
|
|
101
|
+
port=Ports.DEV_SERVER.value,
|
|
102
102
|
api_path="/api",
|
|
103
103
|
username="dev_admin",
|
|
104
104
|
password="password",
|
|
@@ -110,12 +110,12 @@ def cli_test_integration(
|
|
|
110
110
|
)
|
|
111
111
|
|
|
112
112
|
# clean up the test resources
|
|
113
|
-
click_ctx.invoke(stop_demo_network, name=name
|
|
113
|
+
click_ctx.invoke(stop_demo_network, name=name)
|
|
114
114
|
if not keep:
|
|
115
|
-
click_ctx.invoke(remove_demo_network, name=name
|
|
115
|
+
click_ctx.invoke(remove_demo_network, name=name)
|
|
116
116
|
else:
|
|
117
117
|
info(
|
|
118
|
-
"Keeping the demo network {name}. You can start it with `v6 dev "
|
|
118
|
+
f"Keeping the demo network {name}. You can start it with `v6 dev "
|
|
119
119
|
"start-demo-network`"
|
|
120
120
|
)
|
|
121
121
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vantage6
|
|
3
|
-
Version: 4.7.
|
|
3
|
+
Version: 4.7.1rc1
|
|
4
4
|
Summary: vantage6 command line interface
|
|
5
5
|
Home-page: https://github.com/vantage6/vantage6
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -11,12 +11,13 @@ 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.4
|
|
14
|
+
Requires-Dist: pandas>=1.5.3
|
|
14
15
|
Requires-Dist: questionary==1.10.0
|
|
15
16
|
Requires-Dist: rich==13.5.2
|
|
16
17
|
Requires-Dist: schema==0.7.5
|
|
17
18
|
Requires-Dist: SQLAlchemy==1.4.46
|
|
18
|
-
Requires-Dist: vantage6-common==4.7.
|
|
19
|
-
Requires-Dist: vantage6-client==4.7.
|
|
19
|
+
Requires-Dist: vantage6-common==4.7.1rc1
|
|
20
|
+
Requires-Dist: vantage6-client==4.7.1rc1
|
|
20
21
|
Provides-Extra: dev
|
|
21
22
|
Requires-Dist: coverage==6.4.4; extra == "dev"
|
|
22
23
|
Requires-Dist: black; extra == "dev"
|
|
@@ -59,13 +60,24 @@ You can find more (user) documentation at [readthedocs (docs.vantage6.ai)](https
|
|
|
59
60
|
|
|
60
61
|

|
|
61
62
|
|
|
62
|
-
_A High level overview of the vantage6 infrastructure. Vantage6 has both a
|
|
63
|
+
_A High level overview of the vantage6 infrastructure. Vantage6 has both a
|
|
64
|
+
client-server and peer-to-peer architecture. The client is used by the researcher to
|
|
65
|
+
create (PET) computation requests. It is also used to manage users, organizations and
|
|
66
|
+
collaborations. The server contains users, organizations, collaborations, tasks and
|
|
67
|
+
their results. It provides a central access point for both the clients and nodes. The
|
|
68
|
+
nodes have access to privacy sensitive data and handle computation requests retrieved
|
|
69
|
+
from the server. Computation request are executed as separate containers on the node.
|
|
70
|
+
These containers are connected to containers at other nodes by a VPN network._
|
|
63
71
|
|
|
64
72
|
## :books: Quickstart
|
|
65
73
|
|
|
66
74
|
### Requirements
|
|
67
75
|
|
|
68
|
-
The **vantage6** infrastructure is delivered in Docker images. To run these images, you
|
|
76
|
+
The **vantage6** infrastructure is delivered in Docker images. To run these images, you
|
|
77
|
+
need to have [Docker](https://docs.docker.com/get-docker/) installed. To install the
|
|
78
|
+
latest version of the vantage6 CLI, you need to have
|
|
79
|
+
[Python](https://www.python.org/downloads/), we recommend using an environment manager
|
|
80
|
+
like [mini-conda](https://docs.conda.io/en/latest/miniconda.html).
|
|
69
81
|
|
|
70
82
|
Install the latest version of the vantage6 CLI by using:
|
|
71
83
|
|
|
@@ -101,7 +113,9 @@ v6 node attach
|
|
|
101
113
|
v6 server attach
|
|
102
114
|
```
|
|
103
115
|
|
|
104
|
-
From here you can use the [vantage6-client](https://pypi.org/project/vantage6-client)
|
|
116
|
+
From here you can use the [vantage6-client](https://pypi.org/project/vantage6-client)
|
|
117
|
+
to interact with the server. The demo network has a pre-configured organization with
|
|
118
|
+
the following credentials:
|
|
105
119
|
|
|
106
120
|
- Username: `dev_admin`
|
|
107
121
|
- Password: `password`
|
|
@@ -111,7 +125,7 @@ For example, you can create a new organization by running:
|
|
|
111
125
|
```python
|
|
112
126
|
from vantage6.client import Client
|
|
113
127
|
|
|
114
|
-
client = Client('http://127.0.0.1',
|
|
128
|
+
client = Client('http://127.0.0.1', 7601, '/api', log_level='debug')
|
|
115
129
|
client.authenticate('dev_admin', 'password')
|
|
116
130
|
client.setup_encryption(None)
|
|
117
131
|
|
|
@@ -125,7 +139,8 @@ client.organization.create(
|
|
|
125
139
|
)
|
|
126
140
|
```
|
|
127
141
|
|
|
128
|
-
You can find more (user) documentation at
|
|
142
|
+
You can find more (user) documentation at
|
|
143
|
+
[readthedocs (docs.vantage6.ai)](https://docs.vantage6.ai)
|
|
129
144
|
|
|
130
145
|
## Project structure
|
|
131
146
|
|
|
@@ -150,14 +165,16 @@ easily.
|
|
|
150
165
|
|
|
151
166
|
### Docker images
|
|
152
167
|
|
|
153
|
-
The vantage6 infrastructure is delivered in Docker images. All Docker images are stored
|
|
168
|
+
The vantage6 infrastructure is delivered in Docker images. All Docker images are stored
|
|
169
|
+
in our private [Harbor](https://goharbor.io/) registry. The most important images are:
|
|
154
170
|
|
|
155
171
|
- `harbor2.vantage6.ai/infrastructure/node:VERSION` -> _Node application Docker image_
|
|
156
172
|
- `harbor2.vantage6.ai/infrastructure/server:VERSION` -> _Server application Docker image_
|
|
157
173
|
- `harbor2.vantage6.ai/infrastructure/ui:VERSION` -> _User interface Docker image_
|
|
158
174
|
- `harbor2.vantage6.ai/infrastructure/algorithm-store:VERSION` -> _Algorithm store Docker image_
|
|
159
175
|
|
|
160
|
-
with `VERSION` being the full semantic version of the vantage6 infrastructure, e.g.
|
|
176
|
+
with `VERSION` being the full semantic version of the vantage6 infrastructure, e.g.
|
|
177
|
+
`4.0.0` or `4.1.0rc0`.
|
|
161
178
|
|
|
162
179
|
Several other images are used to support the infrastructure:
|
|
163
180
|
|
|
@@ -175,7 +192,10 @@ And finally there are some images released for algorithm development:
|
|
|
175
192
|
|
|
176
193
|
## :gift_heart: Join the community!
|
|
177
194
|
|
|
178
|
-
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
195
|
+
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
196
|
+
the federated learning community. If you are interested in contributing, first of all,
|
|
197
|
+
thank you! Second, please take a look at our
|
|
198
|
+
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
179
199
|
|
|
180
200
|
<a href="https://github.com/vantage6/vantage6/graphs/contributors">
|
|
181
201
|
<img src="https://contrib.rocks/image?repo=vantage6/vantage6" />
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
tests_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
tests_cli/test_example.py,sha256=0fw_v-lgZEacshWSDwLNyLMA1_xc48bKUGM3ll-n1L0,146
|
|
3
|
-
tests_cli/test_node_cli.py,sha256=
|
|
3
|
+
tests_cli/test_node_cli.py,sha256=09qQGsn7vhmIJz9B1sABPuiEfcL2-d8FxhsMUtmXAO0,16066
|
|
4
4
|
tests_cli/test_server_cli.py,sha256=61et2WpcVAr4SAsQTLJEeBy1RnewujMvFgFW6N_i7kg,5863
|
|
5
5
|
tests_cli/test_wizard.py,sha256=eoa0WQ9yw7IjtaeAKzbK8-sOCBGow7gLrhhmUx024p8,4881
|
|
6
6
|
vantage6/cli/__build__,sha256=a4ayc_80_OGda4BO_1o_V0etpOqiLx1JwB5S3beHW0s,1
|
|
7
7
|
vantage6/cli/__init__.py,sha256=-Ec-Z7ELDveGdSALXda3qdUGpkuKyJQfhN3eIm7koHE,127
|
|
8
|
-
vantage6/cli/_version.py,sha256=
|
|
8
|
+
vantage6/cli/_version.py,sha256=qCxldJurRua9llUQFx4vmGEY078l3L84UF5LYg6R7Qs,700
|
|
9
9
|
vantage6/cli/cli.py,sha256=AecGqgdDI_IaAbedeRN9F8E3hvSpqfbG9Ot7LiAfBTs,6074
|
|
10
10
|
vantage6/cli/configuration_manager.py,sha256=cN4tQpQjLG5GaGrsjEP-5ed_LqvPApIkNkM1J6ai3n0,3588
|
|
11
|
-
vantage6/cli/configuration_wizard.py,sha256=
|
|
12
|
-
vantage6/cli/globals.py,sha256=
|
|
11
|
+
vantage6/cli/configuration_wizard.py,sha256=_8KNvHaige6zsqu_9Oh9C9NsOogZb5fk2ofOhIN44Wc,20977
|
|
12
|
+
vantage6/cli/globals.py,sha256=KSnXnQK7jidAe6E0j2CsL5myDskQzHqWFsCgi-0oXTs,1612
|
|
13
13
|
vantage6/cli/utils.py,sha256=8_PZeihjopYXQU10gMwIKr87yDAq-_z2LKi0BcdhNEc,2365
|
|
14
14
|
vantage6/cli/algorithm/create.py,sha256=2Ks0JnWNldsn9Eg2h_lqn-yIMaJ-OYs-B3cv58tCiIs,1628
|
|
15
15
|
vantage6/cli/algorithm/update.py,sha256=qN1YzUK5oiBvDepQOvUGpSVxf_eGaD1DRjh522ythE8,1224
|
|
@@ -18,7 +18,7 @@ vantage6/cli/algostore/files.py,sha256=r89VRixK_K-c44qseq58Aa2Dqf1wEf8yompQRN5AV
|
|
|
18
18
|
vantage6/cli/algostore/list.py,sha256=owBrU52ANp8oE68Rk1Hhd6yNYqWX-7uREtmCok_wndg,417
|
|
19
19
|
vantage6/cli/algostore/new.py,sha256=9CMYBjHyXPIhOx7wtkFf99-6EHSTG70MRdg8m8VtMUg,2009
|
|
20
20
|
vantage6/cli/algostore/remove.py,sha256=ieQLpo2ZpblpPxaeRXdB7IO0DzTtURnveYQltW7TTSw,1643
|
|
21
|
-
vantage6/cli/algostore/start.py,sha256=
|
|
21
|
+
vantage6/cli/algostore/start.py,sha256=lkijG7K5TymXpZqVLhrW-YPhBmex_8T6WSLSruj64PQ,3169
|
|
22
22
|
vantage6/cli/algostore/stop.py,sha256=8g5DlISUXTf7abs4BTi2b2XOsuKWTwUGuCPIOMgSAeA,1835
|
|
23
23
|
vantage6/cli/common/decorator.py,sha256=7Iwlcc_ekgXJco4tNjEV79ul43Q28OrieiGkvDBeGeE,3625
|
|
24
24
|
vantage6/cli/common/start.py,sha256=tjz61lQ9yYf-ZAow_Zm3J17oJVDLSLBdxhfR8Wb9eoo,9255
|
|
@@ -28,7 +28,7 @@ vantage6/cli/context/algorithm_store.py,sha256=NsmrgDCTJ10KqQ209Q1sq-hBhuU_4LRqf
|
|
|
28
28
|
vantage6/cli/context/base_server.py,sha256=paKSzNrKWD-J6eakHAtGELk2cD05A8NqoCAuQfF7c2s,2972
|
|
29
29
|
vantage6/cli/context/node.py,sha256=lfaPlb8llgOR-fUG8VFebzh0IEynROyFN1HAg6p9gI0,7438
|
|
30
30
|
vantage6/cli/context/server.py,sha256=vBGJWNsJoVcIryX5OLiWnFklNRcjOVkhqm2U5tqW5b0,3946
|
|
31
|
-
vantage6/cli/dev/create.py,sha256=
|
|
31
|
+
vantage6/cli/dev/create.py,sha256=yimdQJge7W3Nxai2XVzY-aJJlg00gKIpJNHh_-DOcWQ,18409
|
|
32
32
|
vantage6/cli/dev/remove.py,sha256=1ZX5L3bqTsRUt8PkXUvH7tgSLR32viZ5Ve_Q1k-sQ5M,3055
|
|
33
33
|
vantage6/cli/dev/start.py,sha256=-rkM6lcEq4Z-8woukHJrAHstpG4hb8Yzx2_C-g7j_sU,4318
|
|
34
34
|
vantage6/cli/dev/stop.py,sha256=gPy87r8T3nqe7RFJjlYE9Bns8N3RiPPcdzNIFCoqGRY,1430
|
|
@@ -57,18 +57,19 @@ vantage6/cli/server/list.py,sha256=qxBaUFmkP2tNNo9cuZB5OsVg3KD_c9KJDSTC4cxuUOM,4
|
|
|
57
57
|
vantage6/cli/server/new.py,sha256=SGOQXQDNg9ihnPpmJCDTQ-Yn2GkDhEu84dtsQ3v5Pq4,1978
|
|
58
58
|
vantage6/cli/server/remove.py,sha256=6tfKfVa5dYnZAKQYo_VlGZTuiugi7sh2F3U2cZ7mCmQ,1627
|
|
59
59
|
vantage6/cli/server/shell.py,sha256=9b_koFmBQRQYIK57usm75hZAaIF4msicLTu55dYHlzM,1583
|
|
60
|
-
vantage6/cli/server/start.py,sha256=
|
|
60
|
+
vantage6/cli/server/start.py,sha256=4EnRl72Ub72UpcKQCmi9Utrczbts0r0DWLf-BHqy4_4,7735
|
|
61
61
|
vantage6/cli/server/stop.py,sha256=SMMcYGEP1pkDaeN-U33CkVafKLawhw2uDDKrj6RUIlk,4012
|
|
62
62
|
vantage6/cli/server/version.py,sha256=AUYp0CJBnYF8tD3HXqE7kM0RycXipjOYEDkraswUlaA,1306
|
|
63
63
|
vantage6/cli/server/common/__init__.py,sha256=htv0mFYa4GhIHdzA2xqUUgKhHcMh09UQERlIjIgrwOM,2062
|
|
64
|
+
vantage6/cli/template/algo_store_config.j2,sha256=QBGakqMOvUTcOIdAqoR4X6E8eApQ65ggAnQmaUViAV0,554
|
|
64
65
|
vantage6/cli/template/node_config.j2,sha256=XHJm5x5KEwuBAZERzWzzVKJxcw7Px5k-LYSMET_8dqU,743
|
|
65
|
-
vantage6/cli/template/server_config.j2,sha256=
|
|
66
|
+
vantage6/cli/template/server_config.j2,sha256=LKPa-ocK7h8qXgzrEYVHjxovaGX0CRQ0uPXImdAcpz0,804
|
|
66
67
|
vantage6/cli/template/server_import_config.j2,sha256=9WT2XeG9-ADoYLb4ahXhof3i9Fcvg0oqwNPyFwLJpvc,1827
|
|
67
|
-
vantage6/cli/test/feature_tester.py,sha256=
|
|
68
|
-
vantage6/cli/test/integration_test.py,sha256=
|
|
68
|
+
vantage6/cli/test/feature_tester.py,sha256=rdxRvDelVuOceXvbZh5dRc5Pdw4bVNiotj0m__RWN5Q,2563
|
|
69
|
+
vantage6/cli/test/integration_test.py,sha256=yQVG72XKDNH_eOPTsf3pb65FCBwJzMxn5VNfUGemJBM,3808
|
|
69
70
|
vantage6/cli/test/common/diagnostic_runner.py,sha256=x_4ikihgoSTKI914pqlgVziBSg5LpV6MheO6O_GBCeA,6657
|
|
70
|
-
vantage6-4.7.
|
|
71
|
-
vantage6-4.7.
|
|
72
|
-
vantage6-4.7.
|
|
73
|
-
vantage6-4.7.
|
|
74
|
-
vantage6-4.7.
|
|
71
|
+
vantage6-4.7.1rc1.dist-info/METADATA,sha256=S4vyAXaodJBJxG01HslHj9G12kU0y78lrms7fpC3OFs,10328
|
|
72
|
+
vantage6-4.7.1rc1.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
|
73
|
+
vantage6-4.7.1rc1.dist-info/entry_points.txt,sha256=YFBvwjxoeAGxYyPC-YevEgOBBYRGaXkS6jiOGGCLNy0,157
|
|
74
|
+
vantage6-4.7.1rc1.dist-info/top_level.txt,sha256=CYDIBS8jEfFq5YCs_Fuit54K9-3wdosZppTrsymIoUk,19
|
|
75
|
+
vantage6-4.7.1rc1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|