vantage6-algorithm-store 4.14.0__tar.gz → 4.15.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/PKG-INFO +23 -23
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/setup.py +3 -3
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_algorithm.py +28 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/_version.py +1 -1
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/permission.py +0 -1
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/rule.py +1 -47
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/schema/input_schema.py +5 -3
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/vantage6_server.py +0 -1
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/version.py +0 -1
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/PKG-INFO +23 -23
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/requires.txt +5 -5
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/setup.cfg +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/__init__.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/base/__init__.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/base/unittest_base.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/__init__.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_policy.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_review.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_role.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_rule.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_user.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_v6server.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_version.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/test___init__.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/test_permission.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/__build__ +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/__init__.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/db.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/default_roles.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/globals.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/__init__.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/algorithm.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/allowed_argument_value.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/argument.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/base.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/common/enums.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/common/ui_visualization_schemas.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/database.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/function.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/policy.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/review.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/role.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/role_rule_association.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/rule.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/ui_visualization.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/user.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/vantage6_server.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/permission.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/__init__.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/algorithm.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/policy.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/review.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/role.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/schema/output_schema.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/user.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/wsgi.py +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/SOURCES.txt +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/dependency_links.txt +0 -0
- {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/top_level.txt +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vantage6_algorithm_store
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.15.0
|
|
4
4
|
Summary: Vantage6 algorithm store
|
|
5
5
|
Home-page: https://github.com/vantage6/vantage6
|
|
6
6
|
Requires-Python: >=3.10
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
|
-
Requires-Dist: flask==3.1.
|
|
8
|
+
Requires-Dist: flask==3.1.3
|
|
9
9
|
Requires-Dist: flask-cors==6.0.0
|
|
10
10
|
Requires-Dist: Flask-Principal==0.4.0
|
|
11
11
|
Requires-Dist: flask-marshmallow==0.15.0
|
|
@@ -13,12 +13,12 @@ Requires-Dist: Flask-RESTful==0.3.10
|
|
|
13
13
|
Requires-Dist: gevent==25.4.2
|
|
14
14
|
Requires-Dist: jsonschema==4.21.1
|
|
15
15
|
Requires-Dist: marshmallow==3.26.2
|
|
16
|
-
Requires-Dist: requests==2.
|
|
16
|
+
Requires-Dist: requests==2.33.1
|
|
17
17
|
Requires-Dist: schema==0.7.5
|
|
18
18
|
Requires-Dist: SQLAlchemy==1.4.46
|
|
19
|
-
Requires-Dist: werkzeug==3.1.
|
|
20
|
-
Requires-Dist: vantage6==4.
|
|
21
|
-
Requires-Dist: vantage6-common==4.
|
|
19
|
+
Requires-Dist: werkzeug==3.1.8
|
|
20
|
+
Requires-Dist: vantage6==4.15.0
|
|
21
|
+
Requires-Dist: vantage6-common==4.15.0
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Requires-Dist: coverage==6.4.4; extra == "dev"
|
|
24
24
|
Dynamic: description
|
|
@@ -175,36 +175,36 @@ easily.
|
|
|
175
175
|
### Docker images
|
|
176
176
|
|
|
177
177
|
The vantage6 infrastructure is delivered in Docker images. All Docker images are stored
|
|
178
|
-
in
|
|
178
|
+
in the vantage6 GitHub Container Registry. The most important images are:
|
|
179
179
|
|
|
180
|
-
- `
|
|
181
|
-
- `
|
|
182
|
-
- `
|
|
183
|
-
- `
|
|
180
|
+
- `ghcr.io/vantage6/infrastructure/node:VERSION` -> _Node application Docker image_
|
|
181
|
+
- `ghcr.io/vantage6/infrastructure/server:VERSION` -> _Server application Docker image_
|
|
182
|
+
- `ghcr.io/vantage6/infrastructure/ui:VERSION` -> _User interface Docker image_
|
|
183
|
+
- `ghcr.io/vantage6/infrastructure/algorithm-store:VERSION` -> _Algorithm store Docker image_
|
|
184
184
|
|
|
185
185
|
with `VERSION` being the full semantic version of the vantage6 infrastructure, e.g.
|
|
186
186
|
`4.0.0` or `4.1.0rc0`.
|
|
187
187
|
|
|
188
188
|
Several other images are used to support the infrastructure:
|
|
189
189
|
|
|
190
|
-
- `
|
|
191
|
-
- `
|
|
192
|
-
- `
|
|
193
|
-
- `
|
|
194
|
-
- `
|
|
195
|
-
- `
|
|
190
|
+
- `ghcr.io/vantage6/infrastructure-base:VERSION` -> _Base image for the infrastructure_
|
|
191
|
+
- `ghcr.io/vantage6/infrastructure/squid:VERSION` -> _Squid proxy image used for the whitelisting service_
|
|
192
|
+
- `ghcr.io/vantage6/infrastructure/alpine` -> _Alpine image used for vpn traffic forwarding_
|
|
193
|
+
- `ghcr.io/vantage6/infrastructure/vpn-client` -> _VPN image used to connect to the VPN_
|
|
194
|
+
- `ghcr.io/vantage6/infrastructure/vpn-configurator` -> _VPN image used for initialization_
|
|
195
|
+
- `ghcr.io/vantage6/infrastructure/ssh-tunnel` -> _SSH tunnel image used for connecting algorithms to external services_
|
|
196
196
|
|
|
197
197
|
And finally there are some images released for algorithm development:
|
|
198
198
|
|
|
199
|
-
- `
|
|
200
|
-
- `
|
|
199
|
+
- `ghcr.io/vantage6/infrastructure/algorithm-base:MAJOR.MINOR` -> _Base image for algorithm development_
|
|
200
|
+
- `ghcr.io/vantage6/infrastructure/algorithm-ohdsi-base:MAJOR.MINOR` -> _Extended algorithm base image for OHDSI algorithm development_
|
|
201
201
|
|
|
202
202
|
## :gift_heart: Join the community!
|
|
203
203
|
|
|
204
|
-
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
205
|
-
the federated learning community. If you are interested in contributing, first of all,
|
|
206
|
-
thank you! Second, please take a look at our
|
|
207
|
-
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
204
|
+
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
205
|
+
the federated learning community. If you are interested in contributing, first of all,
|
|
206
|
+
thank you! Second, please take a look at our
|
|
207
|
+
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
208
208
|
and our [code of conduct](CODE_OF_CONDUCT.md).
|
|
209
209
|
|
|
210
210
|
<a href="https://github.com/vantage6/vantage6/graphs/contributors">
|
|
@@ -31,7 +31,7 @@ setup(
|
|
|
31
31
|
packages=find_namespace_packages(),
|
|
32
32
|
python_requires=">=3.10",
|
|
33
33
|
install_requires=[
|
|
34
|
-
"flask==3.1.
|
|
34
|
+
"flask==3.1.3",
|
|
35
35
|
"flask-cors==6.0.0",
|
|
36
36
|
"Flask-Principal==0.4.0",
|
|
37
37
|
"flask-marshmallow==0.15.0",
|
|
@@ -39,10 +39,10 @@ setup(
|
|
|
39
39
|
"gevent==25.4.2",
|
|
40
40
|
"jsonschema==4.21.1",
|
|
41
41
|
"marshmallow==3.26.2",
|
|
42
|
-
"requests==2.
|
|
42
|
+
"requests==2.33.1",
|
|
43
43
|
"schema==0.7.5",
|
|
44
44
|
"SQLAlchemy==1.4.46",
|
|
45
|
-
"werkzeug==3.1.
|
|
45
|
+
"werkzeug==3.1.8",
|
|
46
46
|
f"vantage6 == {version_ns['__version__']}",
|
|
47
47
|
f"vantage6-common == {version_ns['__version__']}",
|
|
48
48
|
],
|
|
@@ -448,8 +448,36 @@ class TestAlgorithmResources(TestResources):
|
|
|
448
448
|
rv.json["functions"][0]["arguments"][0]["conditional_value"], "test"
|
|
449
449
|
)
|
|
450
450
|
|
|
451
|
+
# explicit null values for optional fields should be accepted
|
|
452
|
+
json_data["functions"][0]["arguments"] = [
|
|
453
|
+
{
|
|
454
|
+
"name": "nullable-arg",
|
|
455
|
+
"type": ArgumentType.STRING,
|
|
456
|
+
"has_default_value": False,
|
|
457
|
+
"default_value": None,
|
|
458
|
+
"conditional_operator": None,
|
|
459
|
+
"conditional_value": None,
|
|
460
|
+
}
|
|
461
|
+
]
|
|
462
|
+
rv = self.app.post("/api/algorithm", json=json_data, headers=HEADERS)
|
|
463
|
+
self.assertEqual(rv.status_code, 201)
|
|
464
|
+
|
|
451
465
|
# test that there is an error if argument with conditional does not have a
|
|
452
466
|
# default value
|
|
467
|
+
json_data["functions"][0]["arguments"] = [
|
|
468
|
+
{
|
|
469
|
+
"name": "dependent",
|
|
470
|
+
"type": ArgumentType.STRING,
|
|
471
|
+
"has_default_value": True,
|
|
472
|
+
"conditional_on": "conditional",
|
|
473
|
+
"conditional_operator": "==",
|
|
474
|
+
"conditional_value": "test",
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"name": "conditional",
|
|
478
|
+
"type": ArgumentType.STRING,
|
|
479
|
+
},
|
|
480
|
+
]
|
|
453
481
|
json_data["functions"][0]["arguments"][0]["has_default_value"] = False
|
|
454
482
|
rv = self.app.post("/api/algorithm", json=json_data, headers=HEADERS)
|
|
455
483
|
self.assertEqual(rv.status_code, 400)
|
|
@@ -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,
|
|
10
|
+
version_info = (4, 15, 0, "final", __build__, 0)
|
|
11
11
|
|
|
12
12
|
# Module version stage suffix map
|
|
13
13
|
_specifier_ = {"alpha": "a", "beta": "b", "candidate": "rc", "final": ""}
|
|
@@ -15,7 +15,6 @@ from vantage6.algorithm.store.resource import (
|
|
|
15
15
|
from vantage6.algorithm.store.resource.schema.output_schema import RuleOutputSchema
|
|
16
16
|
from vantage6.backend.common.resource.pagination import Pagination
|
|
17
17
|
|
|
18
|
-
|
|
19
18
|
module_name = logger_name(__name__)
|
|
20
19
|
log = logging.getLogger(module_name)
|
|
21
20
|
rule_schema = RuleOutputSchema()
|
|
@@ -44,13 +43,6 @@ def setup(api: Api, api_base: str, services: dict) -> None:
|
|
|
44
43
|
methods=("GET",),
|
|
45
44
|
resource_class_kwargs=services,
|
|
46
45
|
)
|
|
47
|
-
# api.add_resource(
|
|
48
|
-
# Rule,
|
|
49
|
-
# path + "/<int:id>",
|
|
50
|
-
# endpoint="rule_with_id",
|
|
51
|
-
# methods=("GET",),
|
|
52
|
-
# resource_class_kwargs=services,
|
|
53
|
-
# )
|
|
54
46
|
|
|
55
47
|
|
|
56
48
|
# ------------------------------------------------------------------------------
|
|
@@ -143,7 +135,7 @@ class Rules(AlgorithmStoreResources):
|
|
|
143
135
|
role = db.Role.get(args["role_id"])
|
|
144
136
|
if not role:
|
|
145
137
|
return {
|
|
146
|
-
"msg": f
|
|
138
|
+
"msg": f"Role with id={args['role_id']} does not exist!"
|
|
147
139
|
}, HTTPStatus.BAD_REQUEST
|
|
148
140
|
q = (
|
|
149
141
|
q.join(db.role_rule_association)
|
|
@@ -203,41 +195,3 @@ class Rules(AlgorithmStoreResources):
|
|
|
203
195
|
|
|
204
196
|
# model serialization
|
|
205
197
|
return self.response(page, rule_schema)
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
# class Rule(ServicesResources):
|
|
209
|
-
# @with_user
|
|
210
|
-
# def get(self, id):
|
|
211
|
-
# """Returns a specific rule
|
|
212
|
-
# ---
|
|
213
|
-
# description: >-
|
|
214
|
-
# Get a rule by it's id. The user must be authenticated, but does
|
|
215
|
-
# not require any additional permissions to view rules.\n
|
|
216
|
-
|
|
217
|
-
# Accesible to users.
|
|
218
|
-
|
|
219
|
-
# parameters:
|
|
220
|
-
# - in: path
|
|
221
|
-
# name: id
|
|
222
|
-
# schema:
|
|
223
|
-
# type: integer
|
|
224
|
-
# minimum: 1
|
|
225
|
-
# description: rule_id
|
|
226
|
-
# required: true
|
|
227
|
-
|
|
228
|
-
# responses:
|
|
229
|
-
# 200:
|
|
230
|
-
# description: Ok
|
|
231
|
-
# 404:
|
|
232
|
-
# description: Rule not found
|
|
233
|
-
|
|
234
|
-
# security:
|
|
235
|
-
# - bearerAuth: []
|
|
236
|
-
|
|
237
|
-
# tags: ["Rule"]
|
|
238
|
-
# """
|
|
239
|
-
# rule = db.Rule.get(id)
|
|
240
|
-
# if not rule:
|
|
241
|
-
# return {"msg": f"Rule id={id} not found!"}, HTTPStatus.NOT_FOUND
|
|
242
|
-
|
|
243
|
-
# return rule_schema.dump(rule, many=False), HTTPStatus.OK
|
|
@@ -272,10 +272,10 @@ class ArgumentInputSchema(_NameDescriptionSchema):
|
|
|
272
272
|
type_ = fields.String(required=True, data_key="type")
|
|
273
273
|
allowed_values = fields.List(_MixedBaseTypeField())
|
|
274
274
|
has_default_value = fields.Boolean()
|
|
275
|
-
default_value = fields.String()
|
|
275
|
+
default_value = fields.String(allow_none=True)
|
|
276
276
|
conditional_on = fields.String()
|
|
277
|
-
conditional_operator = fields.String()
|
|
278
|
-
conditional_value = fields.String()
|
|
277
|
+
conditional_operator = fields.String(allow_none=True)
|
|
278
|
+
conditional_value = fields.String(allow_none=True)
|
|
279
279
|
is_frontend_only = fields.Boolean()
|
|
280
280
|
|
|
281
281
|
@validates("type_")
|
|
@@ -294,6 +294,8 @@ class ArgumentInputSchema(_NameDescriptionSchema):
|
|
|
294
294
|
"""
|
|
295
295
|
Validate that the conditional comparator is one of the allowed values.
|
|
296
296
|
"""
|
|
297
|
+
if value is None:
|
|
298
|
+
return
|
|
297
299
|
comparators = [c.value for c in ConditionalArgComparator]
|
|
298
300
|
if value not in comparators:
|
|
299
301
|
raise ValidationError(
|
|
@@ -28,7 +28,6 @@ from vantage6.algorithm.store.resource import (
|
|
|
28
28
|
from vantage6.algorithm.store.resource import AlgorithmStoreResources
|
|
29
29
|
from vantage6.algorithm.store.default_roles import DefaultRole
|
|
30
30
|
|
|
31
|
-
|
|
32
31
|
module_name = __name__.split(".")[-1]
|
|
33
32
|
log = logging.getLogger(logger_name(__name__))
|
|
34
33
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vantage6_algorithm_store
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.15.0
|
|
4
4
|
Summary: Vantage6 algorithm store
|
|
5
5
|
Home-page: https://github.com/vantage6/vantage6
|
|
6
6
|
Requires-Python: >=3.10
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
|
-
Requires-Dist: flask==3.1.
|
|
8
|
+
Requires-Dist: flask==3.1.3
|
|
9
9
|
Requires-Dist: flask-cors==6.0.0
|
|
10
10
|
Requires-Dist: Flask-Principal==0.4.0
|
|
11
11
|
Requires-Dist: flask-marshmallow==0.15.0
|
|
@@ -13,12 +13,12 @@ Requires-Dist: Flask-RESTful==0.3.10
|
|
|
13
13
|
Requires-Dist: gevent==25.4.2
|
|
14
14
|
Requires-Dist: jsonschema==4.21.1
|
|
15
15
|
Requires-Dist: marshmallow==3.26.2
|
|
16
|
-
Requires-Dist: requests==2.
|
|
16
|
+
Requires-Dist: requests==2.33.1
|
|
17
17
|
Requires-Dist: schema==0.7.5
|
|
18
18
|
Requires-Dist: SQLAlchemy==1.4.46
|
|
19
|
-
Requires-Dist: werkzeug==3.1.
|
|
20
|
-
Requires-Dist: vantage6==4.
|
|
21
|
-
Requires-Dist: vantage6-common==4.
|
|
19
|
+
Requires-Dist: werkzeug==3.1.8
|
|
20
|
+
Requires-Dist: vantage6==4.15.0
|
|
21
|
+
Requires-Dist: vantage6-common==4.15.0
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Requires-Dist: coverage==6.4.4; extra == "dev"
|
|
24
24
|
Dynamic: description
|
|
@@ -175,36 +175,36 @@ easily.
|
|
|
175
175
|
### Docker images
|
|
176
176
|
|
|
177
177
|
The vantage6 infrastructure is delivered in Docker images. All Docker images are stored
|
|
178
|
-
in
|
|
178
|
+
in the vantage6 GitHub Container Registry. The most important images are:
|
|
179
179
|
|
|
180
|
-
- `
|
|
181
|
-
- `
|
|
182
|
-
- `
|
|
183
|
-
- `
|
|
180
|
+
- `ghcr.io/vantage6/infrastructure/node:VERSION` -> _Node application Docker image_
|
|
181
|
+
- `ghcr.io/vantage6/infrastructure/server:VERSION` -> _Server application Docker image_
|
|
182
|
+
- `ghcr.io/vantage6/infrastructure/ui:VERSION` -> _User interface Docker image_
|
|
183
|
+
- `ghcr.io/vantage6/infrastructure/algorithm-store:VERSION` -> _Algorithm store Docker image_
|
|
184
184
|
|
|
185
185
|
with `VERSION` being the full semantic version of the vantage6 infrastructure, e.g.
|
|
186
186
|
`4.0.0` or `4.1.0rc0`.
|
|
187
187
|
|
|
188
188
|
Several other images are used to support the infrastructure:
|
|
189
189
|
|
|
190
|
-
- `
|
|
191
|
-
- `
|
|
192
|
-
- `
|
|
193
|
-
- `
|
|
194
|
-
- `
|
|
195
|
-
- `
|
|
190
|
+
- `ghcr.io/vantage6/infrastructure-base:VERSION` -> _Base image for the infrastructure_
|
|
191
|
+
- `ghcr.io/vantage6/infrastructure/squid:VERSION` -> _Squid proxy image used for the whitelisting service_
|
|
192
|
+
- `ghcr.io/vantage6/infrastructure/alpine` -> _Alpine image used for vpn traffic forwarding_
|
|
193
|
+
- `ghcr.io/vantage6/infrastructure/vpn-client` -> _VPN image used to connect to the VPN_
|
|
194
|
+
- `ghcr.io/vantage6/infrastructure/vpn-configurator` -> _VPN image used for initialization_
|
|
195
|
+
- `ghcr.io/vantage6/infrastructure/ssh-tunnel` -> _SSH tunnel image used for connecting algorithms to external services_
|
|
196
196
|
|
|
197
197
|
And finally there are some images released for algorithm development:
|
|
198
198
|
|
|
199
|
-
- `
|
|
200
|
-
- `
|
|
199
|
+
- `ghcr.io/vantage6/infrastructure/algorithm-base:MAJOR.MINOR` -> _Base image for algorithm development_
|
|
200
|
+
- `ghcr.io/vantage6/infrastructure/algorithm-ohdsi-base:MAJOR.MINOR` -> _Extended algorithm base image for OHDSI algorithm development_
|
|
201
201
|
|
|
202
202
|
## :gift_heart: Join the community!
|
|
203
203
|
|
|
204
|
-
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
205
|
-
the federated learning community. If you are interested in contributing, first of all,
|
|
206
|
-
thank you! Second, please take a look at our
|
|
207
|
-
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
204
|
+
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
205
|
+
the federated learning community. If you are interested in contributing, first of all,
|
|
206
|
+
thank you! Second, please take a look at our
|
|
207
|
+
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
208
208
|
and our [code of conduct](CODE_OF_CONDUCT.md).
|
|
209
209
|
|
|
210
210
|
<a href="https://github.com/vantage6/vantage6/graphs/contributors">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
flask==3.1.
|
|
1
|
+
flask==3.1.3
|
|
2
2
|
flask-cors==6.0.0
|
|
3
3
|
Flask-Principal==0.4.0
|
|
4
4
|
flask-marshmallow==0.15.0
|
|
@@ -6,12 +6,12 @@ Flask-RESTful==0.3.10
|
|
|
6
6
|
gevent==25.4.2
|
|
7
7
|
jsonschema==4.21.1
|
|
8
8
|
marshmallow==3.26.2
|
|
9
|
-
requests==2.
|
|
9
|
+
requests==2.33.1
|
|
10
10
|
schema==0.7.5
|
|
11
11
|
SQLAlchemy==1.4.46
|
|
12
|
-
werkzeug==3.1.
|
|
13
|
-
vantage6==4.
|
|
14
|
-
vantage6-common==4.
|
|
12
|
+
werkzeug==3.1.8
|
|
13
|
+
vantage6==4.15.0
|
|
14
|
+
vantage6-common==4.15.0
|
|
15
15
|
|
|
16
16
|
[dev]
|
|
17
17
|
coverage==6.4.4
|
|
File without changes
|
|
File without changes
|
{vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/base/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/test___init__.py
RENAMED
|
File without changes
|
{vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/test_permission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/db.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/wsgi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|