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.
Files changed (59) hide show
  1. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/PKG-INFO +23 -23
  2. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/setup.py +3 -3
  3. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_algorithm.py +28 -0
  4. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/_version.py +1 -1
  5. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/permission.py +0 -1
  6. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/rule.py +1 -47
  7. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/schema/input_schema.py +5 -3
  8. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/vantage6_server.py +0 -1
  9. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/version.py +0 -1
  10. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/PKG-INFO +23 -23
  11. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/requires.txt +5 -5
  12. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/setup.cfg +0 -0
  13. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/__init__.py +0 -0
  14. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/base/__init__.py +0 -0
  15. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/base/unittest_base.py +0 -0
  16. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/__init__.py +0 -0
  17. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_policy.py +0 -0
  18. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_review.py +0 -0
  19. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_role.py +0 -0
  20. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_rule.py +0 -0
  21. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_user.py +0 -0
  22. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_v6server.py +0 -0
  23. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/resources/test_version.py +0 -0
  24. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/test___init__.py +0 -0
  25. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/tests_store/test_permission.py +0 -0
  26. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/__build__ +0 -0
  27. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/__init__.py +0 -0
  28. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/db.py +0 -0
  29. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/default_roles.py +0 -0
  30. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/globals.py +0 -0
  31. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/__init__.py +0 -0
  32. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/algorithm.py +0 -0
  33. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/allowed_argument_value.py +0 -0
  34. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/argument.py +0 -0
  35. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/base.py +0 -0
  36. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/common/enums.py +0 -0
  37. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/common/ui_visualization_schemas.py +0 -0
  38. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/database.py +0 -0
  39. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/function.py +0 -0
  40. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/policy.py +0 -0
  41. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/review.py +0 -0
  42. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/role.py +0 -0
  43. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/role_rule_association.py +0 -0
  44. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/rule.py +0 -0
  45. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/ui_visualization.py +0 -0
  46. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/user.py +0 -0
  47. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/model/vantage6_server.py +0 -0
  48. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/permission.py +0 -0
  49. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/__init__.py +0 -0
  50. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/algorithm.py +0 -0
  51. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/policy.py +0 -0
  52. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/review.py +0 -0
  53. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/role.py +0 -0
  54. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/schema/output_schema.py +0 -0
  55. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/resource/user.py +0 -0
  56. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6/algorithm/store/wsgi.py +0 -0
  57. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/SOURCES.txt +0 -0
  58. {vantage6_algorithm_store-4.14.0 → vantage6_algorithm_store-4.15.0}/vantage6_algorithm_store.egg-info/dependency_links.txt +0 -0
  59. {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.14.0
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.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.32.4
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.5
20
- Requires-Dist: vantage6==4.14.0
21
- Requires-Dist: vantage6-common==4.14.0
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 our private [Harbor](https://goharbor.io/) registry. The most important images are:
178
+ in the vantage6 GitHub Container Registry. The most important images are:
179
179
 
180
- - `harbor2.vantage6.ai/infrastructure/node:VERSION` -> _Node application Docker image_
181
- - `harbor2.vantage6.ai/infrastructure/server:VERSION` -> _Server application Docker image_
182
- - `harbor2.vantage6.ai/infrastructure/ui:VERSION` -> _User interface Docker image_
183
- - `harbor2.vantage6.ai/infrastructure/algorithm-store:VERSION` -> _Algorithm store Docker image_
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
- - `harbor2.vantage6.ai/infrastructure/infrastructure-base:VERSION` -> _Base image for the infrastructure_
191
- - `harbor2.vantage6.ai/infrastructure/squid:VERSION` -> _Squid proxy image used for the whitelisting service_
192
- - `harbor2.vantage6.ai/infrastructure/alpine` -> _Alpine image used for vpn traffic forwarding_
193
- - `harbor2.vantage6.ai/infrastructure/vpn-client` -> _VPN image used to connect to the VPN_
194
- - `harbor2.vantage6.ai/infrastructure/vpn-configurator` -> _VPN image used for initialization_
195
- - `harbor2.vantage6.ai/infrastructure/ssh-tunnel` -> _SSH tunnel image used for connecting algorithms to external services_
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
- - `harbor2.vantage6.ai/infrastructure/algorithm-base:MAJOR.MINOR` -> _Base image for algorithm development_
200
- - `harbor2.vantage6.ai/infrastructure/algorithm-ohdsi-base:MAJOR.MINOR` -> _Extended algorithm base image for OHDSI algorithm development_
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.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.32.4",
42
+ "requests==2.33.1",
43
43
  "schema==0.7.5",
44
44
  "SQLAlchemy==1.4.46",
45
- "werkzeug==3.1.5",
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, 14, 0, "final", __build__, 0)
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": ""}
@@ -13,7 +13,6 @@ from sqlalchemy import Column, Integer, ForeignKey, Table
13
13
 
14
14
  from vantage6.algorithm.store.model.base import Base
15
15
 
16
-
17
16
  Permission = Table(
18
17
  "Permission",
19
18
  Base.metadata,
@@ -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'Role with id={args["role_id"]} does not exist!'
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
 
@@ -12,7 +12,6 @@ from vantage6.algorithm.store._version import __version__
12
12
  # TODO move to common / refactor
13
13
  from vantage6.algorithm.store.resource import AlgorithmStoreResources
14
14
 
15
-
16
15
  module_name = logger_name(__name__)
17
16
  log = logging.getLogger(module_name)
18
17
 
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vantage6_algorithm_store
3
- Version: 4.14.0
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.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.32.4
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.5
20
- Requires-Dist: vantage6==4.14.0
21
- Requires-Dist: vantage6-common==4.14.0
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 our private [Harbor](https://goharbor.io/) registry. The most important images are:
178
+ in the vantage6 GitHub Container Registry. The most important images are:
179
179
 
180
- - `harbor2.vantage6.ai/infrastructure/node:VERSION` -> _Node application Docker image_
181
- - `harbor2.vantage6.ai/infrastructure/server:VERSION` -> _Server application Docker image_
182
- - `harbor2.vantage6.ai/infrastructure/ui:VERSION` -> _User interface Docker image_
183
- - `harbor2.vantage6.ai/infrastructure/algorithm-store:VERSION` -> _Algorithm store Docker image_
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
- - `harbor2.vantage6.ai/infrastructure/infrastructure-base:VERSION` -> _Base image for the infrastructure_
191
- - `harbor2.vantage6.ai/infrastructure/squid:VERSION` -> _Squid proxy image used for the whitelisting service_
192
- - `harbor2.vantage6.ai/infrastructure/alpine` -> _Alpine image used for vpn traffic forwarding_
193
- - `harbor2.vantage6.ai/infrastructure/vpn-client` -> _VPN image used to connect to the VPN_
194
- - `harbor2.vantage6.ai/infrastructure/vpn-configurator` -> _VPN image used for initialization_
195
- - `harbor2.vantage6.ai/infrastructure/ssh-tunnel` -> _SSH tunnel image used for connecting algorithms to external services_
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
- - `harbor2.vantage6.ai/infrastructure/algorithm-base:MAJOR.MINOR` -> _Base image for algorithm development_
200
- - `harbor2.vantage6.ai/infrastructure/algorithm-ohdsi-base:MAJOR.MINOR` -> _Extended algorithm base image for OHDSI algorithm development_
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
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.32.4
9
+ requests==2.33.1
10
10
  schema==0.7.5
11
11
  SQLAlchemy==1.4.46
12
- werkzeug==3.1.5
13
- vantage6==4.14.0
14
- vantage6-common==4.14.0
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