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 fab_pb2 as flwr_dot_proto_dot_fab__pb2
6
7
  from flwr.proto import fleet_pb2 as flwr_dot_proto_dot_fleet__pb2
@@ -8,6 +9,25 @@ from flwr.proto import heartbeat_pb2 as flwr_dot_proto_dot_heartbeat__pb2
8
9
  from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
9
10
  from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
10
11
 
12
+ GRPC_GENERATED_VERSION = '1.70.0'
13
+ GRPC_VERSION = grpc.__version__
14
+ _version_not_supported = False
15
+
16
+ try:
17
+ from grpc._utilities import first_version_is_lower
18
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
19
+ except ImportError:
20
+ _version_not_supported = True
21
+
22
+ if _version_not_supported:
23
+ raise RuntimeError(
24
+ f'The grpc package installed is at version {GRPC_VERSION},'
25
+ + f' but the generated code in flwr/proto/fleet_pb2_grpc.py depends on'
26
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
27
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
28
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
29
+ )
30
+
11
31
 
12
32
  class FleetStub(object):
13
33
  """Missing associated documentation comment in .proto file."""
@@ -18,69 +38,95 @@ class FleetStub(object):
18
38
  Args:
19
39
  channel: A grpc.Channel.
20
40
  """
21
- self.CreateNode = channel.unary_unary(
22
- '/flwr.proto.Fleet/CreateNode',
23
- request_serializer=flwr_dot_proto_dot_fleet__pb2.CreateNodeRequest.SerializeToString,
24
- response_deserializer=flwr_dot_proto_dot_fleet__pb2.CreateNodeResponse.FromString,
25
- )
26
- self.DeleteNode = channel.unary_unary(
27
- '/flwr.proto.Fleet/DeleteNode',
28
- request_serializer=flwr_dot_proto_dot_fleet__pb2.DeleteNodeRequest.SerializeToString,
29
- response_deserializer=flwr_dot_proto_dot_fleet__pb2.DeleteNodeResponse.FromString,
30
- )
41
+ self.RegisterNode = channel.unary_unary(
42
+ '/flwr.proto.Fleet/RegisterNode',
43
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetRequest.SerializeToString,
44
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetResponse.FromString,
45
+ _registered_method=True)
46
+ self.ActivateNode = channel.unary_unary(
47
+ '/flwr.proto.Fleet/ActivateNode',
48
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeRequest.SerializeToString,
49
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeResponse.FromString,
50
+ _registered_method=True)
51
+ self.DeactivateNode = channel.unary_unary(
52
+ '/flwr.proto.Fleet/DeactivateNode',
53
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeRequest.SerializeToString,
54
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeResponse.FromString,
55
+ _registered_method=True)
56
+ self.UnregisterNode = channel.unary_unary(
57
+ '/flwr.proto.Fleet/UnregisterNode',
58
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetRequest.SerializeToString,
59
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetResponse.FromString,
60
+ _registered_method=True)
31
61
  self.SendNodeHeartbeat = channel.unary_unary(
32
62
  '/flwr.proto.Fleet/SendNodeHeartbeat',
33
63
  request_serializer=flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatRequest.SerializeToString,
34
64
  response_deserializer=flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatResponse.FromString,
35
- )
65
+ _registered_method=True)
36
66
  self.PullMessages = channel.unary_unary(
37
67
  '/flwr.proto.Fleet/PullMessages',
38
68
  request_serializer=flwr_dot_proto_dot_fleet__pb2.PullMessagesRequest.SerializeToString,
39
69
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.PullMessagesResponse.FromString,
40
- )
70
+ _registered_method=True)
41
71
  self.PushMessages = channel.unary_unary(
42
72
  '/flwr.proto.Fleet/PushMessages',
43
73
  request_serializer=flwr_dot_proto_dot_fleet__pb2.PushMessagesRequest.SerializeToString,
44
74
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.PushMessagesResponse.FromString,
45
- )
75
+ _registered_method=True)
46
76
  self.GetRun = channel.unary_unary(
47
77
  '/flwr.proto.Fleet/GetRun',
48
78
  request_serializer=flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
49
79
  response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
50
- )
80
+ _registered_method=True)
51
81
  self.GetFab = channel.unary_unary(
52
82
  '/flwr.proto.Fleet/GetFab',
53
83
  request_serializer=flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
54
84
  response_deserializer=flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
55
- )
85
+ _registered_method=True)
56
86
  self.PushObject = channel.unary_unary(
57
87
  '/flwr.proto.Fleet/PushObject',
58
88
  request_serializer=flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
59
89
  response_deserializer=flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
60
- )
90
+ _registered_method=True)
61
91
  self.PullObject = channel.unary_unary(
62
92
  '/flwr.proto.Fleet/PullObject',
63
93
  request_serializer=flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
64
94
  response_deserializer=flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
65
- )
95
+ _registered_method=True)
66
96
  self.ConfirmMessageReceived = channel.unary_unary(
67
97
  '/flwr.proto.Fleet/ConfirmMessageReceived',
68
98
  request_serializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
69
99
  response_deserializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
70
- )
100
+ _registered_method=True)
71
101
 
72
102
 
73
103
  class FleetServicer(object):
74
104
  """Missing associated documentation comment in .proto file."""
75
105
 
76
- def CreateNode(self, request, context):
77
- """Missing associated documentation comment in .proto file."""
106
+ def RegisterNode(self, request, context):
107
+ """Register Node
108
+ """
78
109
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
79
110
  context.set_details('Method not implemented!')
80
111
  raise NotImplementedError('Method not implemented!')
81
112
 
82
- def DeleteNode(self, request, context):
83
- """Missing associated documentation comment in .proto file."""
113
+ def ActivateNode(self, request, context):
114
+ """Activate Node
115
+ """
116
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
117
+ context.set_details('Method not implemented!')
118
+ raise NotImplementedError('Method not implemented!')
119
+
120
+ def DeactivateNode(self, request, context):
121
+ """Deactivate Node
122
+ """
123
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
124
+ context.set_details('Method not implemented!')
125
+ raise NotImplementedError('Method not implemented!')
126
+
127
+ def UnregisterNode(self, request, context):
128
+ """Unregister Node
129
+ """
84
130
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
85
131
  context.set_details('Method not implemented!')
86
132
  raise NotImplementedError('Method not implemented!')
@@ -146,15 +192,25 @@ class FleetServicer(object):
146
192
 
147
193
  def add_FleetServicer_to_server(servicer, server):
148
194
  rpc_method_handlers = {
149
- 'CreateNode': grpc.unary_unary_rpc_method_handler(
150
- servicer.CreateNode,
151
- request_deserializer=flwr_dot_proto_dot_fleet__pb2.CreateNodeRequest.FromString,
152
- response_serializer=flwr_dot_proto_dot_fleet__pb2.CreateNodeResponse.SerializeToString,
195
+ 'RegisterNode': grpc.unary_unary_rpc_method_handler(
196
+ servicer.RegisterNode,
197
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetRequest.FromString,
198
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetResponse.SerializeToString,
199
+ ),
200
+ 'ActivateNode': grpc.unary_unary_rpc_method_handler(
201
+ servicer.ActivateNode,
202
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeRequest.FromString,
203
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeResponse.SerializeToString,
153
204
  ),
154
- 'DeleteNode': grpc.unary_unary_rpc_method_handler(
155
- servicer.DeleteNode,
156
- request_deserializer=flwr_dot_proto_dot_fleet__pb2.DeleteNodeRequest.FromString,
157
- response_serializer=flwr_dot_proto_dot_fleet__pb2.DeleteNodeResponse.SerializeToString,
205
+ 'DeactivateNode': grpc.unary_unary_rpc_method_handler(
206
+ servicer.DeactivateNode,
207
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeRequest.FromString,
208
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeResponse.SerializeToString,
209
+ ),
210
+ 'UnregisterNode': grpc.unary_unary_rpc_method_handler(
211
+ servicer.UnregisterNode,
212
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetRequest.FromString,
213
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetResponse.SerializeToString,
158
214
  ),
159
215
  'SendNodeHeartbeat': grpc.unary_unary_rpc_method_handler(
160
216
  servicer.SendNodeHeartbeat,
@@ -200,6 +256,7 @@ def add_FleetServicer_to_server(servicer, server):
200
256
  generic_handler = grpc.method_handlers_generic_handler(
201
257
  'flwr.proto.Fleet', rpc_method_handlers)
202
258
  server.add_generic_rpc_handlers((generic_handler,))
259
+ server.add_registered_method_handlers('flwr.proto.Fleet', rpc_method_handlers)
203
260
 
204
261
 
205
262
  # This class is part of an EXPERIMENTAL API.
@@ -207,7 +264,7 @@ class Fleet(object):
207
264
  """Missing associated documentation comment in .proto file."""
208
265
 
209
266
  @staticmethod
210
- def CreateNode(request,
267
+ def RegisterNode(request,
211
268
  target,
212
269
  options=(),
213
270
  channel_credentials=None,
@@ -217,14 +274,24 @@ class Fleet(object):
217
274
  wait_for_ready=None,
218
275
  timeout=None,
219
276
  metadata=None):
220
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/CreateNode',
221
- flwr_dot_proto_dot_fleet__pb2.CreateNodeRequest.SerializeToString,
222
- flwr_dot_proto_dot_fleet__pb2.CreateNodeResponse.FromString,
223
- options, channel_credentials,
224
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
277
+ return grpc.experimental.unary_unary(
278
+ request,
279
+ target,
280
+ '/flwr.proto.Fleet/RegisterNode',
281
+ flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetRequest.SerializeToString,
282
+ flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetResponse.FromString,
283
+ options,
284
+ channel_credentials,
285
+ insecure,
286
+ call_credentials,
287
+ compression,
288
+ wait_for_ready,
289
+ timeout,
290
+ metadata,
291
+ _registered_method=True)
225
292
 
226
293
  @staticmethod
227
- def DeleteNode(request,
294
+ def ActivateNode(request,
228
295
  target,
229
296
  options=(),
230
297
  channel_credentials=None,
@@ -234,11 +301,75 @@ class Fleet(object):
234
301
  wait_for_ready=None,
235
302
  timeout=None,
236
303
  metadata=None):
237
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/DeleteNode',
238
- flwr_dot_proto_dot_fleet__pb2.DeleteNodeRequest.SerializeToString,
239
- flwr_dot_proto_dot_fleet__pb2.DeleteNodeResponse.FromString,
240
- options, channel_credentials,
241
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
304
+ return grpc.experimental.unary_unary(
305
+ request,
306
+ target,
307
+ '/flwr.proto.Fleet/ActivateNode',
308
+ flwr_dot_proto_dot_fleet__pb2.ActivateNodeRequest.SerializeToString,
309
+ flwr_dot_proto_dot_fleet__pb2.ActivateNodeResponse.FromString,
310
+ options,
311
+ channel_credentials,
312
+ insecure,
313
+ call_credentials,
314
+ compression,
315
+ wait_for_ready,
316
+ timeout,
317
+ metadata,
318
+ _registered_method=True)
319
+
320
+ @staticmethod
321
+ def DeactivateNode(request,
322
+ target,
323
+ options=(),
324
+ channel_credentials=None,
325
+ call_credentials=None,
326
+ insecure=False,
327
+ compression=None,
328
+ wait_for_ready=None,
329
+ timeout=None,
330
+ metadata=None):
331
+ return grpc.experimental.unary_unary(
332
+ request,
333
+ target,
334
+ '/flwr.proto.Fleet/DeactivateNode',
335
+ flwr_dot_proto_dot_fleet__pb2.DeactivateNodeRequest.SerializeToString,
336
+ flwr_dot_proto_dot_fleet__pb2.DeactivateNodeResponse.FromString,
337
+ options,
338
+ channel_credentials,
339
+ insecure,
340
+ call_credentials,
341
+ compression,
342
+ wait_for_ready,
343
+ timeout,
344
+ metadata,
345
+ _registered_method=True)
346
+
347
+ @staticmethod
348
+ def UnregisterNode(request,
349
+ target,
350
+ options=(),
351
+ channel_credentials=None,
352
+ call_credentials=None,
353
+ insecure=False,
354
+ compression=None,
355
+ wait_for_ready=None,
356
+ timeout=None,
357
+ metadata=None):
358
+ return grpc.experimental.unary_unary(
359
+ request,
360
+ target,
361
+ '/flwr.proto.Fleet/UnregisterNode',
362
+ flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetRequest.SerializeToString,
363
+ flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetResponse.FromString,
364
+ options,
365
+ channel_credentials,
366
+ insecure,
367
+ call_credentials,
368
+ compression,
369
+ wait_for_ready,
370
+ timeout,
371
+ metadata,
372
+ _registered_method=True)
242
373
 
243
374
  @staticmethod
244
375
  def SendNodeHeartbeat(request,
@@ -251,11 +382,21 @@ class Fleet(object):
251
382
  wait_for_ready=None,
252
383
  timeout=None,
253
384
  metadata=None):
254
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/SendNodeHeartbeat',
385
+ return grpc.experimental.unary_unary(
386
+ request,
387
+ target,
388
+ '/flwr.proto.Fleet/SendNodeHeartbeat',
255
389
  flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatRequest.SerializeToString,
256
390
  flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatResponse.FromString,
257
- options, channel_credentials,
258
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
391
+ options,
392
+ channel_credentials,
393
+ insecure,
394
+ call_credentials,
395
+ compression,
396
+ wait_for_ready,
397
+ timeout,
398
+ metadata,
399
+ _registered_method=True)
259
400
 
260
401
  @staticmethod
261
402
  def PullMessages(request,
@@ -268,11 +409,21 @@ class Fleet(object):
268
409
  wait_for_ready=None,
269
410
  timeout=None,
270
411
  metadata=None):
271
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/PullMessages',
412
+ return grpc.experimental.unary_unary(
413
+ request,
414
+ target,
415
+ '/flwr.proto.Fleet/PullMessages',
272
416
  flwr_dot_proto_dot_fleet__pb2.PullMessagesRequest.SerializeToString,
273
417
  flwr_dot_proto_dot_fleet__pb2.PullMessagesResponse.FromString,
274
- options, channel_credentials,
275
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
418
+ options,
419
+ channel_credentials,
420
+ insecure,
421
+ call_credentials,
422
+ compression,
423
+ wait_for_ready,
424
+ timeout,
425
+ metadata,
426
+ _registered_method=True)
276
427
 
277
428
  @staticmethod
278
429
  def PushMessages(request,
@@ -285,11 +436,21 @@ class Fleet(object):
285
436
  wait_for_ready=None,
286
437
  timeout=None,
287
438
  metadata=None):
288
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/PushMessages',
439
+ return grpc.experimental.unary_unary(
440
+ request,
441
+ target,
442
+ '/flwr.proto.Fleet/PushMessages',
289
443
  flwr_dot_proto_dot_fleet__pb2.PushMessagesRequest.SerializeToString,
290
444
  flwr_dot_proto_dot_fleet__pb2.PushMessagesResponse.FromString,
291
- options, channel_credentials,
292
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
445
+ options,
446
+ channel_credentials,
447
+ insecure,
448
+ call_credentials,
449
+ compression,
450
+ wait_for_ready,
451
+ timeout,
452
+ metadata,
453
+ _registered_method=True)
293
454
 
294
455
  @staticmethod
295
456
  def GetRun(request,
@@ -302,11 +463,21 @@ class Fleet(object):
302
463
  wait_for_ready=None,
303
464
  timeout=None,
304
465
  metadata=None):
305
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/GetRun',
466
+ return grpc.experimental.unary_unary(
467
+ request,
468
+ target,
469
+ '/flwr.proto.Fleet/GetRun',
306
470
  flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
307
471
  flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
308
- options, channel_credentials,
309
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
472
+ options,
473
+ channel_credentials,
474
+ insecure,
475
+ call_credentials,
476
+ compression,
477
+ wait_for_ready,
478
+ timeout,
479
+ metadata,
480
+ _registered_method=True)
310
481
 
311
482
  @staticmethod
312
483
  def GetFab(request,
@@ -319,11 +490,21 @@ class Fleet(object):
319
490
  wait_for_ready=None,
320
491
  timeout=None,
321
492
  metadata=None):
322
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/GetFab',
493
+ return grpc.experimental.unary_unary(
494
+ request,
495
+ target,
496
+ '/flwr.proto.Fleet/GetFab',
323
497
  flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
324
498
  flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
325
- options, channel_credentials,
326
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
499
+ options,
500
+ channel_credentials,
501
+ insecure,
502
+ call_credentials,
503
+ compression,
504
+ wait_for_ready,
505
+ timeout,
506
+ metadata,
507
+ _registered_method=True)
327
508
 
328
509
  @staticmethod
329
510
  def PushObject(request,
@@ -336,11 +517,21 @@ class Fleet(object):
336
517
  wait_for_ready=None,
337
518
  timeout=None,
338
519
  metadata=None):
339
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/PushObject',
520
+ return grpc.experimental.unary_unary(
521
+ request,
522
+ target,
523
+ '/flwr.proto.Fleet/PushObject',
340
524
  flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
341
525
  flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
342
- options, channel_credentials,
343
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
526
+ options,
527
+ channel_credentials,
528
+ insecure,
529
+ call_credentials,
530
+ compression,
531
+ wait_for_ready,
532
+ timeout,
533
+ metadata,
534
+ _registered_method=True)
344
535
 
345
536
  @staticmethod
346
537
  def PullObject(request,
@@ -353,11 +544,21 @@ class Fleet(object):
353
544
  wait_for_ready=None,
354
545
  timeout=None,
355
546
  metadata=None):
356
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/PullObject',
547
+ return grpc.experimental.unary_unary(
548
+ request,
549
+ target,
550
+ '/flwr.proto.Fleet/PullObject',
357
551
  flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
358
552
  flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
359
- options, channel_credentials,
360
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
553
+ options,
554
+ channel_credentials,
555
+ insecure,
556
+ call_credentials,
557
+ compression,
558
+ wait_for_ready,
559
+ timeout,
560
+ metadata,
561
+ _registered_method=True)
361
562
 
362
563
  @staticmethod
363
564
  def ConfirmMessageReceived(request,
@@ -370,8 +571,18 @@ class Fleet(object):
370
571
  wait_for_ready=None,
371
572
  timeout=None,
372
573
  metadata=None):
373
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/ConfirmMessageReceived',
574
+ return grpc.experimental.unary_unary(
575
+ request,
576
+ target,
577
+ '/flwr.proto.Fleet/ConfirmMessageReceived',
374
578
  flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
375
579
  flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
376
- options, channel_credentials,
377
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
580
+ options,
581
+ channel_credentials,
582
+ insecure,
583
+ call_credentials,
584
+ compression,
585
+ wait_for_ready,
586
+ timeout,
587
+ metadata,
588
+ _registered_method=True)