flwr 1.22.0__py3-none-any.whl → 1.24.0__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.
Files changed (301) hide show
  1. flwr/__init__.py +16 -5
  2. flwr/app/error.py +2 -2
  3. flwr/app/exception.py +3 -3
  4. flwr/cli/app.py +34 -1
  5. flwr/cli/app_cmd/__init__.py +23 -0
  6. flwr/cli/app_cmd/publish.py +285 -0
  7. flwr/cli/app_cmd/review.py +252 -0
  8. flwr/cli/auth_plugin/__init__.py +15 -6
  9. flwr/cli/auth_plugin/auth_plugin.py +94 -0
  10. flwr/cli/auth_plugin/noop_auth_plugin.py +101 -0
  11. flwr/cli/auth_plugin/oidc_cli_plugin.py +46 -32
  12. flwr/cli/build.py +166 -53
  13. flwr/cli/{cli_user_auth_interceptor.py → cli_account_auth_interceptor.py} +29 -11
  14. flwr/cli/config_utils.py +101 -13
  15. flwr/cli/federation/__init__.py +24 -0
  16. flwr/cli/federation/ls.py +140 -0
  17. flwr/cli/federation/show.py +317 -0
  18. flwr/cli/install.py +91 -13
  19. flwr/cli/log.py +54 -11
  20. flwr/cli/login/login.py +41 -27
  21. flwr/cli/ls.py +177 -133
  22. flwr/cli/new/new.py +175 -40
  23. flwr/cli/new/templates/app/code/task.pytorch.py.tpl +1 -0
  24. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +1 -1
  25. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -1
  26. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +1 -1
  27. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
  28. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +1 -1
  29. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
  30. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +3 -3
  31. flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +1 -1
  32. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
  33. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
  34. flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +1 -1
  35. flwr/cli/pull.py +12 -7
  36. flwr/cli/run/run.py +82 -31
  37. flwr/cli/run_utils.py +130 -0
  38. flwr/cli/stop.py +27 -9
  39. flwr/cli/supernode/__init__.py +25 -0
  40. flwr/cli/supernode/ls.py +268 -0
  41. flwr/cli/supernode/register.py +190 -0
  42. flwr/cli/supernode/unregister.py +140 -0
  43. flwr/cli/utils.py +464 -81
  44. flwr/client/__init__.py +2 -1
  45. flwr/client/dpfedavg_numpy_client.py +4 -1
  46. flwr/client/grpc_adapter_client/connection.py +12 -15
  47. flwr/client/grpc_rere_client/connection.py +68 -41
  48. flwr/client/grpc_rere_client/grpc_adapter.py +34 -14
  49. flwr/client/grpc_rere_client/{client_interceptor.py → node_auth_client_interceptor.py} +5 -7
  50. flwr/client/message_handler/message_handler.py +2 -2
  51. flwr/client/mod/secure_aggregation/secaggplus_mod.py +10 -8
  52. flwr/client/numpy_client.py +1 -1
  53. flwr/client/rest_client/connection.py +94 -51
  54. flwr/client/run_info_store.py +4 -5
  55. flwr/client/typing.py +1 -1
  56. flwr/clientapp/__init__.py +1 -2
  57. flwr/{client → clientapp}/client_app.py +9 -10
  58. flwr/clientapp/mod/centraldp_mods.py +16 -17
  59. flwr/clientapp/mod/localdp_mod.py +8 -9
  60. flwr/clientapp/typing.py +1 -1
  61. flwr/{client/clientapp → clientapp}/utils.py +4 -4
  62. flwr/common/address.py +1 -2
  63. flwr/common/args.py +3 -4
  64. flwr/common/config.py +13 -16
  65. flwr/common/constant.py +56 -13
  66. flwr/common/differential_privacy.py +3 -4
  67. flwr/common/event_log_plugin/event_log_plugin.py +3 -4
  68. flwr/common/exit/exit.py +15 -2
  69. flwr/common/exit/exit_code.py +39 -10
  70. flwr/common/exit/exit_handler.py +6 -2
  71. flwr/common/exit/signal_handler.py +5 -5
  72. flwr/common/grpc.py +6 -6
  73. flwr/common/inflatable_protobuf_utils.py +1 -1
  74. flwr/common/inflatable_utils.py +48 -31
  75. flwr/common/logger.py +19 -19
  76. flwr/common/message.py +4 -4
  77. flwr/common/object_ref.py +7 -7
  78. flwr/common/record/array.py +6 -6
  79. flwr/common/record/arrayrecord.py +18 -21
  80. flwr/common/record/configrecord.py +3 -3
  81. flwr/common/record/recorddict.py +5 -5
  82. flwr/common/record/typeddict.py +9 -2
  83. flwr/common/recorddict_compat.py +7 -10
  84. flwr/common/retry_invoker.py +20 -20
  85. flwr/common/secure_aggregation/crypto/symmetric_encryption.py +1 -89
  86. flwr/common/secure_aggregation/ndarrays_arithmetic.py +3 -3
  87. flwr/common/serde.py +9 -6
  88. flwr/common/serde_utils.py +2 -2
  89. flwr/common/telemetry.py +9 -5
  90. flwr/common/typing.py +59 -43
  91. flwr/compat/client/app.py +39 -38
  92. flwr/compat/client/grpc_client/connection.py +13 -13
  93. flwr/compat/server/app.py +5 -6
  94. flwr/proto/appio_pb2.py +13 -3
  95. flwr/proto/appio_pb2.pyi +134 -65
  96. flwr/proto/appio_pb2_grpc.py +20 -0
  97. flwr/proto/appio_pb2_grpc.pyi +27 -0
  98. flwr/proto/clientappio_pb2.py +17 -7
  99. flwr/proto/clientappio_pb2.pyi +15 -0
  100. flwr/proto/clientappio_pb2_grpc.py +206 -40
  101. flwr/proto/clientappio_pb2_grpc.pyi +168 -53
  102. flwr/proto/control_pb2.py +72 -40
  103. flwr/proto/control_pb2.pyi +319 -87
  104. flwr/proto/control_pb2_grpc.py +339 -28
  105. flwr/proto/control_pb2_grpc.pyi +209 -37
  106. flwr/proto/error_pb2.py +13 -3
  107. flwr/proto/error_pb2.pyi +24 -6
  108. flwr/proto/error_pb2_grpc.py +20 -0
  109. flwr/proto/error_pb2_grpc.pyi +27 -0
  110. flwr/proto/fab_pb2.py +24 -10
  111. flwr/proto/fab_pb2.pyi +68 -20
  112. flwr/proto/fab_pb2_grpc.py +20 -0
  113. flwr/proto/fab_pb2_grpc.pyi +27 -0
  114. flwr/proto/federation_pb2.py +38 -0
  115. flwr/proto/federation_pb2.pyi +56 -0
  116. flwr/proto/federation_pb2_grpc.py +24 -0
  117. flwr/proto/federation_pb2_grpc.pyi +31 -0
  118. flwr/proto/fleet_pb2.py +45 -27
  119. flwr/proto/fleet_pb2.pyi +186 -70
  120. flwr/proto/fleet_pb2_grpc.py +277 -66
  121. flwr/proto/fleet_pb2_grpc.pyi +201 -55
  122. flwr/proto/grpcadapter_pb2.py +14 -4
  123. flwr/proto/grpcadapter_pb2.pyi +38 -16
  124. flwr/proto/grpcadapter_pb2_grpc.py +35 -4
  125. flwr/proto/grpcadapter_pb2_grpc.pyi +38 -7
  126. flwr/proto/heartbeat_pb2.py +17 -7
  127. flwr/proto/heartbeat_pb2.pyi +51 -22
  128. flwr/proto/heartbeat_pb2_grpc.py +20 -0
  129. flwr/proto/heartbeat_pb2_grpc.pyi +27 -0
  130. flwr/proto/log_pb2.py +13 -3
  131. flwr/proto/log_pb2.pyi +34 -11
  132. flwr/proto/log_pb2_grpc.py +20 -0
  133. flwr/proto/log_pb2_grpc.pyi +27 -0
  134. flwr/proto/message_pb2.py +15 -5
  135. flwr/proto/message_pb2.pyi +154 -86
  136. flwr/proto/message_pb2_grpc.py +20 -0
  137. flwr/proto/message_pb2_grpc.pyi +27 -0
  138. flwr/proto/node_pb2.py +16 -4
  139. flwr/proto/node_pb2.pyi +77 -4
  140. flwr/proto/node_pb2_grpc.py +20 -0
  141. flwr/proto/node_pb2_grpc.pyi +27 -0
  142. flwr/proto/recorddict_pb2.py +13 -3
  143. flwr/proto/recorddict_pb2.pyi +184 -107
  144. flwr/proto/recorddict_pb2_grpc.py +20 -0
  145. flwr/proto/recorddict_pb2_grpc.pyi +27 -0
  146. flwr/proto/run_pb2.py +40 -31
  147. flwr/proto/run_pb2.pyi +149 -84
  148. flwr/proto/run_pb2_grpc.py +20 -0
  149. flwr/proto/run_pb2_grpc.pyi +27 -0
  150. flwr/proto/serverappio_pb2.py +13 -3
  151. flwr/proto/serverappio_pb2.pyi +32 -8
  152. flwr/proto/serverappio_pb2_grpc.py +246 -65
  153. flwr/proto/serverappio_pb2_grpc.pyi +221 -85
  154. flwr/proto/simulationio_pb2.py +16 -8
  155. flwr/proto/simulationio_pb2.pyi +15 -0
  156. flwr/proto/simulationio_pb2_grpc.py +162 -41
  157. flwr/proto/simulationio_pb2_grpc.pyi +149 -55
  158. flwr/proto/transport_pb2.py +20 -10
  159. flwr/proto/transport_pb2.pyi +249 -160
  160. flwr/proto/transport_pb2_grpc.py +35 -4
  161. flwr/proto/transport_pb2_grpc.pyi +38 -8
  162. flwr/server/app.py +173 -127
  163. flwr/server/client_manager.py +4 -5
  164. flwr/server/client_proxy.py +10 -11
  165. flwr/server/compat/app.py +4 -5
  166. flwr/server/compat/app_utils.py +2 -1
  167. flwr/server/compat/grid_client_proxy.py +10 -12
  168. flwr/server/compat/legacy_context.py +3 -4
  169. flwr/server/fleet_event_log_interceptor.py +2 -1
  170. flwr/server/grid/grid.py +2 -3
  171. flwr/server/grid/grpc_grid.py +10 -8
  172. flwr/server/grid/inmemory_grid.py +4 -4
  173. flwr/server/run_serverapp.py +2 -3
  174. flwr/server/server.py +34 -39
  175. flwr/server/server_app.py +7 -8
  176. flwr/server/server_config.py +1 -2
  177. flwr/server/serverapp/app.py +34 -28
  178. flwr/server/serverapp_components.py +4 -5
  179. flwr/server/strategy/aggregate.py +9 -8
  180. flwr/server/strategy/bulyan.py +13 -11
  181. flwr/server/strategy/dp_adaptive_clipping.py +16 -20
  182. flwr/server/strategy/dp_fixed_clipping.py +12 -17
  183. flwr/server/strategy/dpfedavg_adaptive.py +3 -4
  184. flwr/server/strategy/dpfedavg_fixed.py +6 -10
  185. flwr/server/strategy/fault_tolerant_fedavg.py +14 -13
  186. flwr/server/strategy/fedadagrad.py +18 -14
  187. flwr/server/strategy/fedadam.py +16 -14
  188. flwr/server/strategy/fedavg.py +16 -17
  189. flwr/server/strategy/fedavg_android.py +15 -15
  190. flwr/server/strategy/fedavgm.py +21 -18
  191. flwr/server/strategy/fedmedian.py +2 -3
  192. flwr/server/strategy/fedopt.py +11 -10
  193. flwr/server/strategy/fedprox.py +10 -9
  194. flwr/server/strategy/fedtrimmedavg.py +12 -11
  195. flwr/server/strategy/fedxgb_bagging.py +13 -11
  196. flwr/server/strategy/fedxgb_cyclic.py +6 -6
  197. flwr/server/strategy/fedxgb_nn_avg.py +4 -4
  198. flwr/server/strategy/fedyogi.py +16 -14
  199. flwr/server/strategy/krum.py +12 -11
  200. flwr/server/strategy/qfedavg.py +16 -15
  201. flwr/server/strategy/strategy.py +6 -9
  202. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +19 -8
  203. flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -2
  204. flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +3 -4
  205. flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +10 -12
  206. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +1 -3
  207. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +136 -42
  208. flwr/server/superlink/fleet/grpc_rere/{server_interceptor.py → node_auth_server_interceptor.py} +28 -51
  209. flwr/server/superlink/fleet/message_handler/message_handler.py +100 -49
  210. flwr/server/superlink/fleet/rest_rere/rest_api.py +54 -33
  211. flwr/server/superlink/fleet/vce/backend/backend.py +2 -2
  212. flwr/server/superlink/fleet/vce/backend/raybackend.py +6 -6
  213. flwr/server/superlink/fleet/vce/vce_api.py +32 -13
  214. flwr/server/superlink/linkstate/in_memory_linkstate.py +266 -207
  215. flwr/server/superlink/linkstate/linkstate.py +161 -62
  216. flwr/server/superlink/linkstate/linkstate_factory.py +24 -6
  217. flwr/server/superlink/linkstate/sqlite_linkstate.py +698 -638
  218. flwr/server/superlink/linkstate/utils.py +9 -60
  219. flwr/server/superlink/serverappio/serverappio_grpc.py +1 -2
  220. flwr/server/superlink/serverappio/serverappio_servicer.py +28 -23
  221. flwr/server/superlink/simulation/simulationio_grpc.py +1 -2
  222. flwr/server/superlink/simulation/simulationio_servicer.py +19 -14
  223. flwr/server/superlink/utils.py +4 -6
  224. flwr/server/typing.py +1 -1
  225. flwr/server/utils/tensorboard.py +15 -8
  226. flwr/server/utils/validator.py +2 -3
  227. flwr/server/workflow/default_workflows.py +5 -5
  228. flwr/server/workflow/secure_aggregation/secagg_workflow.py +2 -4
  229. flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +12 -10
  230. flwr/serverapp/strategy/bulyan.py +16 -15
  231. flwr/serverapp/strategy/dp_adaptive_clipping.py +12 -11
  232. flwr/serverapp/strategy/dp_fixed_clipping.py +11 -14
  233. flwr/serverapp/strategy/fedadagrad.py +10 -11
  234. flwr/serverapp/strategy/fedadam.py +10 -11
  235. flwr/serverapp/strategy/fedavg.py +9 -10
  236. flwr/serverapp/strategy/fedavgm.py +17 -16
  237. flwr/serverapp/strategy/fedmedian.py +2 -2
  238. flwr/serverapp/strategy/fedopt.py +10 -11
  239. flwr/serverapp/strategy/fedprox.py +7 -8
  240. flwr/serverapp/strategy/fedtrimmedavg.py +9 -9
  241. flwr/serverapp/strategy/fedxgb_bagging.py +3 -3
  242. flwr/serverapp/strategy/fedxgb_cyclic.py +9 -9
  243. flwr/serverapp/strategy/fedyogi.py +9 -11
  244. flwr/serverapp/strategy/krum.py +7 -7
  245. flwr/serverapp/strategy/multikrum.py +9 -9
  246. flwr/serverapp/strategy/qfedavg.py +17 -16
  247. flwr/serverapp/strategy/strategy.py +6 -9
  248. flwr/serverapp/strategy/strategy_utils.py +7 -8
  249. flwr/simulation/app.py +46 -42
  250. flwr/simulation/legacy_app.py +12 -12
  251. flwr/simulation/ray_transport/ray_actor.py +11 -12
  252. flwr/simulation/ray_transport/ray_client_proxy.py +12 -13
  253. flwr/simulation/run_simulation.py +44 -43
  254. flwr/simulation/simulationio_connection.py +4 -4
  255. flwr/supercore/cli/flower_superexec.py +3 -4
  256. flwr/supercore/constant.py +52 -0
  257. flwr/supercore/corestate/corestate.py +24 -3
  258. flwr/supercore/corestate/in_memory_corestate.py +138 -0
  259. flwr/supercore/corestate/sqlite_corestate.py +157 -0
  260. flwr/supercore/ffs/disk_ffs.py +1 -2
  261. flwr/supercore/ffs/ffs.py +1 -2
  262. flwr/supercore/ffs/ffs_factory.py +1 -2
  263. flwr/{common → supercore}/heartbeat.py +20 -25
  264. flwr/supercore/object_store/in_memory_object_store.py +1 -6
  265. flwr/supercore/object_store/object_store.py +1 -2
  266. flwr/supercore/object_store/object_store_factory.py +27 -8
  267. flwr/supercore/object_store/sqlite_object_store.py +253 -0
  268. flwr/{client/clientapp → supercore/primitives}/__init__.py +1 -1
  269. flwr/supercore/primitives/asymmetric.py +117 -0
  270. flwr/supercore/primitives/asymmetric_ed25519.py +175 -0
  271. flwr/supercore/sqlite_mixin.py +159 -0
  272. flwr/supercore/superexec/plugin/base_exec_plugin.py +1 -2
  273. flwr/supercore/superexec/plugin/exec_plugin.py +3 -3
  274. flwr/supercore/superexec/run_superexec.py +9 -13
  275. flwr/supercore/utils.py +20 -0
  276. flwr/superlink/artifact_provider/artifact_provider.py +1 -2
  277. flwr/{common → superlink}/auth_plugin/__init__.py +6 -6
  278. flwr/superlink/auth_plugin/auth_plugin.py +88 -0
  279. flwr/superlink/auth_plugin/noop_auth_plugin.py +84 -0
  280. flwr/superlink/federation/__init__.py +24 -0
  281. flwr/superlink/federation/federation_manager.py +64 -0
  282. flwr/superlink/federation/noop_federation_manager.py +71 -0
  283. flwr/superlink/servicer/control/{control_user_auth_interceptor.py → control_account_auth_interceptor.py} +41 -32
  284. flwr/superlink/servicer/control/control_event_log_interceptor.py +7 -7
  285. flwr/superlink/servicer/control/control_grpc.py +18 -17
  286. flwr/superlink/servicer/control/control_license_interceptor.py +3 -3
  287. flwr/superlink/servicer/control/control_servicer.py +239 -63
  288. flwr/supernode/cli/flower_supernode.py +74 -26
  289. flwr/supernode/nodestate/in_memory_nodestate.py +60 -49
  290. flwr/supernode/nodestate/nodestate.py +7 -8
  291. flwr/supernode/nodestate/nodestate_factory.py +7 -4
  292. flwr/supernode/runtime/run_clientapp.py +43 -24
  293. flwr/supernode/servicer/clientappio/clientappio_servicer.py +40 -10
  294. flwr/supernode/start_client_internal.py +175 -51
  295. {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/METADATA +8 -8
  296. flwr-1.24.0.dist-info/RECORD +454 -0
  297. flwr/common/auth_plugin/auth_plugin.py +0 -149
  298. flwr/supercore/object_store/utils.py +0 -43
  299. flwr-1.22.0.dist-info/RECORD +0 -428
  300. {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/WHEEL +0 -0
  301. {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,7 @@
1
1
  # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
2
  """Client and server classes corresponding to protobuf-defined services."""
3
3
  import grpc
4
+ import warnings
4
5
 
5
6
  from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
6
7
  from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
@@ -10,6 +11,25 @@ from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
10
11
  from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
11
12
  from flwr.proto import serverappio_pb2 as flwr_dot_proto_dot_serverappio__pb2
12
13
 
14
+ GRPC_GENERATED_VERSION = '1.70.0'
15
+ GRPC_VERSION = grpc.__version__
16
+ _version_not_supported = False
17
+
18
+ try:
19
+ from grpc._utilities import first_version_is_lower
20
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
21
+ except ImportError:
22
+ _version_not_supported = True
23
+
24
+ if _version_not_supported:
25
+ raise RuntimeError(
26
+ f'The grpc package installed is at version {GRPC_VERSION},'
27
+ + f' but the generated code in flwr/proto/serverappio_pb2_grpc.py depends on'
28
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
29
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
30
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
31
+ )
32
+
13
33
 
14
34
  class ServerAppIoStub(object):
15
35
  """Missing associated documentation comment in .proto file."""
@@ -24,82 +44,82 @@ class ServerAppIoStub(object):
24
44
  '/flwr.proto.ServerAppIo/ListAppsToLaunch',
25
45
  request_serializer=flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchRequest.SerializeToString,
26
46
  response_deserializer=flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchResponse.FromString,
27
- )
47
+ _registered_method=True)
28
48
  self.RequestToken = channel.unary_unary(
29
49
  '/flwr.proto.ServerAppIo/RequestToken',
30
50
  request_serializer=flwr_dot_proto_dot_appio__pb2.RequestTokenRequest.SerializeToString,
31
51
  response_deserializer=flwr_dot_proto_dot_appio__pb2.RequestTokenResponse.FromString,
32
- )
52
+ _registered_method=True)
33
53
  self.GetNodes = channel.unary_unary(
34
54
  '/flwr.proto.ServerAppIo/GetNodes',
35
55
  request_serializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.SerializeToString,
36
56
  response_deserializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesResponse.FromString,
37
- )
57
+ _registered_method=True)
38
58
  self.PushMessages = channel.unary_unary(
39
59
  '/flwr.proto.ServerAppIo/PushMessages',
40
60
  request_serializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.SerializeToString,
41
61
  response_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.FromString,
42
- )
62
+ _registered_method=True)
43
63
  self.PullMessages = channel.unary_unary(
44
64
  '/flwr.proto.ServerAppIo/PullMessages',
45
65
  request_serializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.SerializeToString,
46
66
  response_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.FromString,
47
- )
67
+ _registered_method=True)
48
68
  self.GetRun = channel.unary_unary(
49
69
  '/flwr.proto.ServerAppIo/GetRun',
50
70
  request_serializer=flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
51
71
  response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
52
- )
72
+ _registered_method=True)
53
73
  self.GetFab = channel.unary_unary(
54
74
  '/flwr.proto.ServerAppIo/GetFab',
55
75
  request_serializer=flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
56
76
  response_deserializer=flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
57
- )
77
+ _registered_method=True)
58
78
  self.PullAppInputs = channel.unary_unary(
59
79
  '/flwr.proto.ServerAppIo/PullAppInputs',
60
80
  request_serializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.SerializeToString,
61
81
  response_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.FromString,
62
- )
82
+ _registered_method=True)
63
83
  self.PushAppOutputs = channel.unary_unary(
64
84
  '/flwr.proto.ServerAppIo/PushAppOutputs',
65
85
  request_serializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.SerializeToString,
66
86
  response_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.FromString,
67
- )
87
+ _registered_method=True)
68
88
  self.UpdateRunStatus = channel.unary_unary(
69
89
  '/flwr.proto.ServerAppIo/UpdateRunStatus',
70
90
  request_serializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
71
91
  response_deserializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
72
- )
92
+ _registered_method=True)
73
93
  self.GetRunStatus = channel.unary_unary(
74
94
  '/flwr.proto.ServerAppIo/GetRunStatus',
75
95
  request_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
76
96
  response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
77
- )
97
+ _registered_method=True)
78
98
  self.PushLogs = channel.unary_unary(
79
99
  '/flwr.proto.ServerAppIo/PushLogs',
80
100
  request_serializer=flwr_dot_proto_dot_log__pb2.PushLogsRequest.SerializeToString,
81
101
  response_deserializer=flwr_dot_proto_dot_log__pb2.PushLogsResponse.FromString,
82
- )
102
+ _registered_method=True)
83
103
  self.SendAppHeartbeat = channel.unary_unary(
84
104
  '/flwr.proto.ServerAppIo/SendAppHeartbeat',
85
105
  request_serializer=flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatRequest.SerializeToString,
86
106
  response_deserializer=flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatResponse.FromString,
87
- )
107
+ _registered_method=True)
88
108
  self.PushObject = channel.unary_unary(
89
109
  '/flwr.proto.ServerAppIo/PushObject',
90
110
  request_serializer=flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
91
111
  response_deserializer=flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
92
- )
112
+ _registered_method=True)
93
113
  self.PullObject = channel.unary_unary(
94
114
  '/flwr.proto.ServerAppIo/PullObject',
95
115
  request_serializer=flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
96
116
  response_deserializer=flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
97
- )
117
+ _registered_method=True)
98
118
  self.ConfirmMessageReceived = channel.unary_unary(
99
119
  '/flwr.proto.ServerAppIo/ConfirmMessageReceived',
100
120
  request_serializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
101
121
  response_deserializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
102
- )
122
+ _registered_method=True)
103
123
 
104
124
 
105
125
  class ServerAppIoServicer(object):
@@ -190,7 +210,7 @@ class ServerAppIoServicer(object):
190
210
  raise NotImplementedError('Method not implemented!')
191
211
 
192
212
  def SendAppHeartbeat(self, request, context):
193
- """Heartbeat
213
+ """App heartbeat
194
214
  """
195
215
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
196
216
  context.set_details('Method not implemented!')
@@ -304,6 +324,7 @@ def add_ServerAppIoServicer_to_server(servicer, server):
304
324
  generic_handler = grpc.method_handlers_generic_handler(
305
325
  'flwr.proto.ServerAppIo', rpc_method_handlers)
306
326
  server.add_generic_rpc_handlers((generic_handler,))
327
+ server.add_registered_method_handlers('flwr.proto.ServerAppIo', rpc_method_handlers)
307
328
 
308
329
 
309
330
  # This class is part of an EXPERIMENTAL API.
@@ -321,11 +342,21 @@ class ServerAppIo(object):
321
342
  wait_for_ready=None,
322
343
  timeout=None,
323
344
  metadata=None):
324
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/ListAppsToLaunch',
345
+ return grpc.experimental.unary_unary(
346
+ request,
347
+ target,
348
+ '/flwr.proto.ServerAppIo/ListAppsToLaunch',
325
349
  flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchRequest.SerializeToString,
326
350
  flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchResponse.FromString,
327
- options, channel_credentials,
328
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
351
+ options,
352
+ channel_credentials,
353
+ insecure,
354
+ call_credentials,
355
+ compression,
356
+ wait_for_ready,
357
+ timeout,
358
+ metadata,
359
+ _registered_method=True)
329
360
 
330
361
  @staticmethod
331
362
  def RequestToken(request,
@@ -338,11 +369,21 @@ class ServerAppIo(object):
338
369
  wait_for_ready=None,
339
370
  timeout=None,
340
371
  metadata=None):
341
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/RequestToken',
372
+ return grpc.experimental.unary_unary(
373
+ request,
374
+ target,
375
+ '/flwr.proto.ServerAppIo/RequestToken',
342
376
  flwr_dot_proto_dot_appio__pb2.RequestTokenRequest.SerializeToString,
343
377
  flwr_dot_proto_dot_appio__pb2.RequestTokenResponse.FromString,
344
- options, channel_credentials,
345
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
378
+ options,
379
+ channel_credentials,
380
+ insecure,
381
+ call_credentials,
382
+ compression,
383
+ wait_for_ready,
384
+ timeout,
385
+ metadata,
386
+ _registered_method=True)
346
387
 
347
388
  @staticmethod
348
389
  def GetNodes(request,
@@ -355,11 +396,21 @@ class ServerAppIo(object):
355
396
  wait_for_ready=None,
356
397
  timeout=None,
357
398
  metadata=None):
358
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetNodes',
399
+ return grpc.experimental.unary_unary(
400
+ request,
401
+ target,
402
+ '/flwr.proto.ServerAppIo/GetNodes',
359
403
  flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.SerializeToString,
360
404
  flwr_dot_proto_dot_serverappio__pb2.GetNodesResponse.FromString,
361
- options, channel_credentials,
362
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
405
+ options,
406
+ channel_credentials,
407
+ insecure,
408
+ call_credentials,
409
+ compression,
410
+ wait_for_ready,
411
+ timeout,
412
+ metadata,
413
+ _registered_method=True)
363
414
 
364
415
  @staticmethod
365
416
  def PushMessages(request,
@@ -372,11 +423,21 @@ class ServerAppIo(object):
372
423
  wait_for_ready=None,
373
424
  timeout=None,
374
425
  metadata=None):
375
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushMessages',
426
+ return grpc.experimental.unary_unary(
427
+ request,
428
+ target,
429
+ '/flwr.proto.ServerAppIo/PushMessages',
376
430
  flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.SerializeToString,
377
431
  flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.FromString,
378
- options, channel_credentials,
379
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
432
+ options,
433
+ channel_credentials,
434
+ insecure,
435
+ call_credentials,
436
+ compression,
437
+ wait_for_ready,
438
+ timeout,
439
+ metadata,
440
+ _registered_method=True)
380
441
 
381
442
  @staticmethod
382
443
  def PullMessages(request,
@@ -389,11 +450,21 @@ class ServerAppIo(object):
389
450
  wait_for_ready=None,
390
451
  timeout=None,
391
452
  metadata=None):
392
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PullMessages',
453
+ return grpc.experimental.unary_unary(
454
+ request,
455
+ target,
456
+ '/flwr.proto.ServerAppIo/PullMessages',
393
457
  flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.SerializeToString,
394
458
  flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.FromString,
395
- options, channel_credentials,
396
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
459
+ options,
460
+ channel_credentials,
461
+ insecure,
462
+ call_credentials,
463
+ compression,
464
+ wait_for_ready,
465
+ timeout,
466
+ metadata,
467
+ _registered_method=True)
397
468
 
398
469
  @staticmethod
399
470
  def GetRun(request,
@@ -406,11 +477,21 @@ class ServerAppIo(object):
406
477
  wait_for_ready=None,
407
478
  timeout=None,
408
479
  metadata=None):
409
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetRun',
480
+ return grpc.experimental.unary_unary(
481
+ request,
482
+ target,
483
+ '/flwr.proto.ServerAppIo/GetRun',
410
484
  flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
411
485
  flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
412
- options, channel_credentials,
413
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
486
+ options,
487
+ channel_credentials,
488
+ insecure,
489
+ call_credentials,
490
+ compression,
491
+ wait_for_ready,
492
+ timeout,
493
+ metadata,
494
+ _registered_method=True)
414
495
 
415
496
  @staticmethod
416
497
  def GetFab(request,
@@ -423,11 +504,21 @@ class ServerAppIo(object):
423
504
  wait_for_ready=None,
424
505
  timeout=None,
425
506
  metadata=None):
426
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetFab',
507
+ return grpc.experimental.unary_unary(
508
+ request,
509
+ target,
510
+ '/flwr.proto.ServerAppIo/GetFab',
427
511
  flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
428
512
  flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
429
- options, channel_credentials,
430
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
513
+ options,
514
+ channel_credentials,
515
+ insecure,
516
+ call_credentials,
517
+ compression,
518
+ wait_for_ready,
519
+ timeout,
520
+ metadata,
521
+ _registered_method=True)
431
522
 
432
523
  @staticmethod
433
524
  def PullAppInputs(request,
@@ -440,11 +531,21 @@ class ServerAppIo(object):
440
531
  wait_for_ready=None,
441
532
  timeout=None,
442
533
  metadata=None):
443
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PullAppInputs',
534
+ return grpc.experimental.unary_unary(
535
+ request,
536
+ target,
537
+ '/flwr.proto.ServerAppIo/PullAppInputs',
444
538
  flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.SerializeToString,
445
539
  flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.FromString,
446
- options, channel_credentials,
447
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
540
+ options,
541
+ channel_credentials,
542
+ insecure,
543
+ call_credentials,
544
+ compression,
545
+ wait_for_ready,
546
+ timeout,
547
+ metadata,
548
+ _registered_method=True)
448
549
 
449
550
  @staticmethod
450
551
  def PushAppOutputs(request,
@@ -457,11 +558,21 @@ class ServerAppIo(object):
457
558
  wait_for_ready=None,
458
559
  timeout=None,
459
560
  metadata=None):
460
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushAppOutputs',
561
+ return grpc.experimental.unary_unary(
562
+ request,
563
+ target,
564
+ '/flwr.proto.ServerAppIo/PushAppOutputs',
461
565
  flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.SerializeToString,
462
566
  flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.FromString,
463
- options, channel_credentials,
464
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
567
+ options,
568
+ channel_credentials,
569
+ insecure,
570
+ call_credentials,
571
+ compression,
572
+ wait_for_ready,
573
+ timeout,
574
+ metadata,
575
+ _registered_method=True)
465
576
 
466
577
  @staticmethod
467
578
  def UpdateRunStatus(request,
@@ -474,11 +585,21 @@ class ServerAppIo(object):
474
585
  wait_for_ready=None,
475
586
  timeout=None,
476
587
  metadata=None):
477
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/UpdateRunStatus',
588
+ return grpc.experimental.unary_unary(
589
+ request,
590
+ target,
591
+ '/flwr.proto.ServerAppIo/UpdateRunStatus',
478
592
  flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
479
593
  flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
480
- options, channel_credentials,
481
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
594
+ options,
595
+ channel_credentials,
596
+ insecure,
597
+ call_credentials,
598
+ compression,
599
+ wait_for_ready,
600
+ timeout,
601
+ metadata,
602
+ _registered_method=True)
482
603
 
483
604
  @staticmethod
484
605
  def GetRunStatus(request,
@@ -491,11 +612,21 @@ class ServerAppIo(object):
491
612
  wait_for_ready=None,
492
613
  timeout=None,
493
614
  metadata=None):
494
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetRunStatus',
615
+ return grpc.experimental.unary_unary(
616
+ request,
617
+ target,
618
+ '/flwr.proto.ServerAppIo/GetRunStatus',
495
619
  flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
496
620
  flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
497
- options, channel_credentials,
498
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
621
+ options,
622
+ channel_credentials,
623
+ insecure,
624
+ call_credentials,
625
+ compression,
626
+ wait_for_ready,
627
+ timeout,
628
+ metadata,
629
+ _registered_method=True)
499
630
 
500
631
  @staticmethod
501
632
  def PushLogs(request,
@@ -508,11 +639,21 @@ class ServerAppIo(object):
508
639
  wait_for_ready=None,
509
640
  timeout=None,
510
641
  metadata=None):
511
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushLogs',
642
+ return grpc.experimental.unary_unary(
643
+ request,
644
+ target,
645
+ '/flwr.proto.ServerAppIo/PushLogs',
512
646
  flwr_dot_proto_dot_log__pb2.PushLogsRequest.SerializeToString,
513
647
  flwr_dot_proto_dot_log__pb2.PushLogsResponse.FromString,
514
- options, channel_credentials,
515
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
648
+ options,
649
+ channel_credentials,
650
+ insecure,
651
+ call_credentials,
652
+ compression,
653
+ wait_for_ready,
654
+ timeout,
655
+ metadata,
656
+ _registered_method=True)
516
657
 
517
658
  @staticmethod
518
659
  def SendAppHeartbeat(request,
@@ -525,11 +666,21 @@ class ServerAppIo(object):
525
666
  wait_for_ready=None,
526
667
  timeout=None,
527
668
  metadata=None):
528
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/SendAppHeartbeat',
669
+ return grpc.experimental.unary_unary(
670
+ request,
671
+ target,
672
+ '/flwr.proto.ServerAppIo/SendAppHeartbeat',
529
673
  flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatRequest.SerializeToString,
530
674
  flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatResponse.FromString,
531
- options, channel_credentials,
532
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
675
+ options,
676
+ channel_credentials,
677
+ insecure,
678
+ call_credentials,
679
+ compression,
680
+ wait_for_ready,
681
+ timeout,
682
+ metadata,
683
+ _registered_method=True)
533
684
 
534
685
  @staticmethod
535
686
  def PushObject(request,
@@ -542,11 +693,21 @@ class ServerAppIo(object):
542
693
  wait_for_ready=None,
543
694
  timeout=None,
544
695
  metadata=None):
545
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushObject',
696
+ return grpc.experimental.unary_unary(
697
+ request,
698
+ target,
699
+ '/flwr.proto.ServerAppIo/PushObject',
546
700
  flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
547
701
  flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
548
- options, channel_credentials,
549
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
702
+ options,
703
+ channel_credentials,
704
+ insecure,
705
+ call_credentials,
706
+ compression,
707
+ wait_for_ready,
708
+ timeout,
709
+ metadata,
710
+ _registered_method=True)
550
711
 
551
712
  @staticmethod
552
713
  def PullObject(request,
@@ -559,11 +720,21 @@ class ServerAppIo(object):
559
720
  wait_for_ready=None,
560
721
  timeout=None,
561
722
  metadata=None):
562
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PullObject',
723
+ return grpc.experimental.unary_unary(
724
+ request,
725
+ target,
726
+ '/flwr.proto.ServerAppIo/PullObject',
563
727
  flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
564
728
  flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
565
- options, channel_credentials,
566
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
729
+ options,
730
+ channel_credentials,
731
+ insecure,
732
+ call_credentials,
733
+ compression,
734
+ wait_for_ready,
735
+ timeout,
736
+ metadata,
737
+ _registered_method=True)
567
738
 
568
739
  @staticmethod
569
740
  def ConfirmMessageReceived(request,
@@ -576,8 +747,18 @@ class ServerAppIo(object):
576
747
  wait_for_ready=None,
577
748
  timeout=None,
578
749
  metadata=None):
579
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/ConfirmMessageReceived',
750
+ return grpc.experimental.unary_unary(
751
+ request,
752
+ target,
753
+ '/flwr.proto.ServerAppIo/ConfirmMessageReceived',
580
754
  flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
581
755
  flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
582
- options, channel_credentials,
583
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
756
+ options,
757
+ channel_credentials,
758
+ insecure,
759
+ call_credentials,
760
+ compression,
761
+ wait_for_ready,
762
+ timeout,
763
+ metadata,
764
+ _registered_method=True)