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,146 +1,261 @@
1
1
  """
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
+ Copyright 2024 Flower Labs GmbH. All Rights Reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ ==============================================================================
4
18
  """
19
+
5
20
  import abc
21
+ import collections.abc
6
22
  import flwr.proto.appio_pb2
23
+ import flwr.proto.heartbeat_pb2
7
24
  import flwr.proto.message_pb2
8
25
  import flwr.proto.run_pb2
9
26
  import grpc
27
+ import grpc.aio
28
+ import typing
29
+
30
+ _T = typing.TypeVar("_T")
31
+
32
+ class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
33
+
34
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
35
+ ...
10
36
 
11
37
  class ClientAppIoStub:
12
- def __init__(self, channel: grpc.Channel) -> None: ...
38
+ def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
13
39
  ListAppsToLaunch: grpc.UnaryUnaryMultiCallable[
14
40
  flwr.proto.appio_pb2.ListAppsToLaunchRequest,
15
- flwr.proto.appio_pb2.ListAppsToLaunchResponse]
41
+ flwr.proto.appio_pb2.ListAppsToLaunchResponse,
42
+ ]
16
43
  """Get run IDs with pending messages"""
17
44
 
18
45
  RequestToken: grpc.UnaryUnaryMultiCallable[
19
46
  flwr.proto.appio_pb2.RequestTokenRequest,
20
- flwr.proto.appio_pb2.RequestTokenResponse]
47
+ flwr.proto.appio_pb2.RequestTokenResponse,
48
+ ]
21
49
  """Request token"""
22
50
 
23
51
  GetRun: grpc.UnaryUnaryMultiCallable[
24
52
  flwr.proto.run_pb2.GetRunRequest,
25
- flwr.proto.run_pb2.GetRunResponse]
53
+ flwr.proto.run_pb2.GetRunResponse,
54
+ ]
26
55
  """Get run details"""
27
56
 
28
57
  PullClientAppInputs: grpc.UnaryUnaryMultiCallable[
29
58
  flwr.proto.appio_pb2.PullAppInputsRequest,
30
- flwr.proto.appio_pb2.PullAppInputsResponse]
59
+ flwr.proto.appio_pb2.PullAppInputsResponse,
60
+ ]
31
61
  """Pull client app inputs"""
32
62
 
33
63
  PushClientAppOutputs: grpc.UnaryUnaryMultiCallable[
34
64
  flwr.proto.appio_pb2.PushAppOutputsRequest,
35
- flwr.proto.appio_pb2.PushAppOutputsResponse]
65
+ flwr.proto.appio_pb2.PushAppOutputsResponse,
66
+ ]
36
67
  """Push client app outputs"""
37
68
 
38
69
  PushMessage: grpc.UnaryUnaryMultiCallable[
39
70
  flwr.proto.appio_pb2.PushAppMessagesRequest,
40
- flwr.proto.appio_pb2.PushAppMessagesResponse]
71
+ flwr.proto.appio_pb2.PushAppMessagesResponse,
72
+ ]
41
73
  """Push Message"""
42
74
 
43
75
  PullMessage: grpc.UnaryUnaryMultiCallable[
44
76
  flwr.proto.appio_pb2.PullAppMessagesRequest,
45
- flwr.proto.appio_pb2.PullAppMessagesResponse]
77
+ flwr.proto.appio_pb2.PullAppMessagesResponse,
78
+ ]
46
79
  """Pull Message"""
47
80
 
81
+ SendAppHeartbeat: grpc.UnaryUnaryMultiCallable[
82
+ flwr.proto.heartbeat_pb2.SendAppHeartbeatRequest,
83
+ flwr.proto.heartbeat_pb2.SendAppHeartbeatResponse,
84
+ ]
85
+ """App heartbeat"""
86
+
48
87
  PushObject: grpc.UnaryUnaryMultiCallable[
49
88
  flwr.proto.message_pb2.PushObjectRequest,
50
- flwr.proto.message_pb2.PushObjectResponse]
89
+ flwr.proto.message_pb2.PushObjectResponse,
90
+ ]
51
91
  """Push Object"""
52
92
 
53
93
  PullObject: grpc.UnaryUnaryMultiCallable[
54
94
  flwr.proto.message_pb2.PullObjectRequest,
55
- flwr.proto.message_pb2.PullObjectResponse]
95
+ flwr.proto.message_pb2.PullObjectResponse,
96
+ ]
56
97
  """Pull Object"""
57
98
 
58
99
  ConfirmMessageReceived: grpc.UnaryUnaryMultiCallable[
59
100
  flwr.proto.message_pb2.ConfirmMessageReceivedRequest,
60
- flwr.proto.message_pb2.ConfirmMessageReceivedResponse]
101
+ flwr.proto.message_pb2.ConfirmMessageReceivedResponse,
102
+ ]
61
103
  """Confirm Message Received"""
62
104
 
105
+ class ClientAppIoAsyncStub:
106
+ ListAppsToLaunch: grpc.aio.UnaryUnaryMultiCallable[
107
+ flwr.proto.appio_pb2.ListAppsToLaunchRequest,
108
+ flwr.proto.appio_pb2.ListAppsToLaunchResponse,
109
+ ]
110
+ """Get run IDs with pending messages"""
111
+
112
+ RequestToken: grpc.aio.UnaryUnaryMultiCallable[
113
+ flwr.proto.appio_pb2.RequestTokenRequest,
114
+ flwr.proto.appio_pb2.RequestTokenResponse,
115
+ ]
116
+ """Request token"""
117
+
118
+ GetRun: grpc.aio.UnaryUnaryMultiCallable[
119
+ flwr.proto.run_pb2.GetRunRequest,
120
+ flwr.proto.run_pb2.GetRunResponse,
121
+ ]
122
+ """Get run details"""
123
+
124
+ PullClientAppInputs: grpc.aio.UnaryUnaryMultiCallable[
125
+ flwr.proto.appio_pb2.PullAppInputsRequest,
126
+ flwr.proto.appio_pb2.PullAppInputsResponse,
127
+ ]
128
+ """Pull client app inputs"""
129
+
130
+ PushClientAppOutputs: grpc.aio.UnaryUnaryMultiCallable[
131
+ flwr.proto.appio_pb2.PushAppOutputsRequest,
132
+ flwr.proto.appio_pb2.PushAppOutputsResponse,
133
+ ]
134
+ """Push client app outputs"""
135
+
136
+ PushMessage: grpc.aio.UnaryUnaryMultiCallable[
137
+ flwr.proto.appio_pb2.PushAppMessagesRequest,
138
+ flwr.proto.appio_pb2.PushAppMessagesResponse,
139
+ ]
140
+ """Push Message"""
141
+
142
+ PullMessage: grpc.aio.UnaryUnaryMultiCallable[
143
+ flwr.proto.appio_pb2.PullAppMessagesRequest,
144
+ flwr.proto.appio_pb2.PullAppMessagesResponse,
145
+ ]
146
+ """Pull Message"""
147
+
148
+ SendAppHeartbeat: grpc.aio.UnaryUnaryMultiCallable[
149
+ flwr.proto.heartbeat_pb2.SendAppHeartbeatRequest,
150
+ flwr.proto.heartbeat_pb2.SendAppHeartbeatResponse,
151
+ ]
152
+ """App heartbeat"""
153
+
154
+ PushObject: grpc.aio.UnaryUnaryMultiCallable[
155
+ flwr.proto.message_pb2.PushObjectRequest,
156
+ flwr.proto.message_pb2.PushObjectResponse,
157
+ ]
158
+ """Push Object"""
159
+
160
+ PullObject: grpc.aio.UnaryUnaryMultiCallable[
161
+ flwr.proto.message_pb2.PullObjectRequest,
162
+ flwr.proto.message_pb2.PullObjectResponse,
163
+ ]
164
+ """Pull Object"""
165
+
166
+ ConfirmMessageReceived: grpc.aio.UnaryUnaryMultiCallable[
167
+ flwr.proto.message_pb2.ConfirmMessageReceivedRequest,
168
+ flwr.proto.message_pb2.ConfirmMessageReceivedResponse,
169
+ ]
170
+ """Confirm Message Received"""
63
171
 
64
172
  class ClientAppIoServicer(metaclass=abc.ABCMeta):
65
173
  @abc.abstractmethod
66
- def ListAppsToLaunch(self,
174
+ def ListAppsToLaunch(
175
+ self,
67
176
  request: flwr.proto.appio_pb2.ListAppsToLaunchRequest,
68
- context: grpc.ServicerContext,
69
- ) -> flwr.proto.appio_pb2.ListAppsToLaunchResponse:
177
+ context: _ServicerContext,
178
+ ) -> typing.Union[flwr.proto.appio_pb2.ListAppsToLaunchResponse, collections.abc.Awaitable[flwr.proto.appio_pb2.ListAppsToLaunchResponse]]:
70
179
  """Get run IDs with pending messages"""
71
- pass
72
180
 
73
181
  @abc.abstractmethod
74
- def RequestToken(self,
182
+ def RequestToken(
183
+ self,
75
184
  request: flwr.proto.appio_pb2.RequestTokenRequest,
76
- context: grpc.ServicerContext,
77
- ) -> flwr.proto.appio_pb2.RequestTokenResponse:
185
+ context: _ServicerContext,
186
+ ) -> typing.Union[flwr.proto.appio_pb2.RequestTokenResponse, collections.abc.Awaitable[flwr.proto.appio_pb2.RequestTokenResponse]]:
78
187
  """Request token"""
79
- pass
80
188
 
81
189
  @abc.abstractmethod
82
- def GetRun(self,
190
+ def GetRun(
191
+ self,
83
192
  request: flwr.proto.run_pb2.GetRunRequest,
84
- context: grpc.ServicerContext,
85
- ) -> flwr.proto.run_pb2.GetRunResponse:
193
+ context: _ServicerContext,
194
+ ) -> typing.Union[flwr.proto.run_pb2.GetRunResponse, collections.abc.Awaitable[flwr.proto.run_pb2.GetRunResponse]]:
86
195
  """Get run details"""
87
- pass
88
196
 
89
197
  @abc.abstractmethod
90
- def PullClientAppInputs(self,
198
+ def PullClientAppInputs(
199
+ self,
91
200
  request: flwr.proto.appio_pb2.PullAppInputsRequest,
92
- context: grpc.ServicerContext,
93
- ) -> flwr.proto.appio_pb2.PullAppInputsResponse:
201
+ context: _ServicerContext,
202
+ ) -> typing.Union[flwr.proto.appio_pb2.PullAppInputsResponse, collections.abc.Awaitable[flwr.proto.appio_pb2.PullAppInputsResponse]]:
94
203
  """Pull client app inputs"""
95
- pass
96
204
 
97
205
  @abc.abstractmethod
98
- def PushClientAppOutputs(self,
206
+ def PushClientAppOutputs(
207
+ self,
99
208
  request: flwr.proto.appio_pb2.PushAppOutputsRequest,
100
- context: grpc.ServicerContext,
101
- ) -> flwr.proto.appio_pb2.PushAppOutputsResponse:
209
+ context: _ServicerContext,
210
+ ) -> typing.Union[flwr.proto.appio_pb2.PushAppOutputsResponse, collections.abc.Awaitable[flwr.proto.appio_pb2.PushAppOutputsResponse]]:
102
211
  """Push client app outputs"""
103
- pass
104
212
 
105
213
  @abc.abstractmethod
106
- def PushMessage(self,
214
+ def PushMessage(
215
+ self,
107
216
  request: flwr.proto.appio_pb2.PushAppMessagesRequest,
108
- context: grpc.ServicerContext,
109
- ) -> flwr.proto.appio_pb2.PushAppMessagesResponse:
217
+ context: _ServicerContext,
218
+ ) -> typing.Union[flwr.proto.appio_pb2.PushAppMessagesResponse, collections.abc.Awaitable[flwr.proto.appio_pb2.PushAppMessagesResponse]]:
110
219
  """Push Message"""
111
- pass
112
220
 
113
221
  @abc.abstractmethod
114
- def PullMessage(self,
222
+ def PullMessage(
223
+ self,
115
224
  request: flwr.proto.appio_pb2.PullAppMessagesRequest,
116
- context: grpc.ServicerContext,
117
- ) -> flwr.proto.appio_pb2.PullAppMessagesResponse:
225
+ context: _ServicerContext,
226
+ ) -> typing.Union[flwr.proto.appio_pb2.PullAppMessagesResponse, collections.abc.Awaitable[flwr.proto.appio_pb2.PullAppMessagesResponse]]:
118
227
  """Pull Message"""
119
- pass
120
228
 
121
229
  @abc.abstractmethod
122
- def PushObject(self,
230
+ def SendAppHeartbeat(
231
+ self,
232
+ request: flwr.proto.heartbeat_pb2.SendAppHeartbeatRequest,
233
+ context: _ServicerContext,
234
+ ) -> typing.Union[flwr.proto.heartbeat_pb2.SendAppHeartbeatResponse, collections.abc.Awaitable[flwr.proto.heartbeat_pb2.SendAppHeartbeatResponse]]:
235
+ """App heartbeat"""
236
+
237
+ @abc.abstractmethod
238
+ def PushObject(
239
+ self,
123
240
  request: flwr.proto.message_pb2.PushObjectRequest,
124
- context: grpc.ServicerContext,
125
- ) -> flwr.proto.message_pb2.PushObjectResponse:
241
+ context: _ServicerContext,
242
+ ) -> typing.Union[flwr.proto.message_pb2.PushObjectResponse, collections.abc.Awaitable[flwr.proto.message_pb2.PushObjectResponse]]:
126
243
  """Push Object"""
127
- pass
128
244
 
129
245
  @abc.abstractmethod
130
- def PullObject(self,
246
+ def PullObject(
247
+ self,
131
248
  request: flwr.proto.message_pb2.PullObjectRequest,
132
- context: grpc.ServicerContext,
133
- ) -> flwr.proto.message_pb2.PullObjectResponse:
249
+ context: _ServicerContext,
250
+ ) -> typing.Union[flwr.proto.message_pb2.PullObjectResponse, collections.abc.Awaitable[flwr.proto.message_pb2.PullObjectResponse]]:
134
251
  """Pull Object"""
135
- pass
136
252
 
137
253
  @abc.abstractmethod
138
- def ConfirmMessageReceived(self,
254
+ def ConfirmMessageReceived(
255
+ self,
139
256
  request: flwr.proto.message_pb2.ConfirmMessageReceivedRequest,
140
- context: grpc.ServicerContext,
141
- ) -> flwr.proto.message_pb2.ConfirmMessageReceivedResponse:
257
+ context: _ServicerContext,
258
+ ) -> typing.Union[flwr.proto.message_pb2.ConfirmMessageReceivedResponse, collections.abc.Awaitable[flwr.proto.message_pb2.ConfirmMessageReceivedResponse]]:
142
259
  """Confirm Message Received"""
143
- pass
144
-
145
260
 
146
- def add_ClientAppIoServicer_to_server(servicer: ClientAppIoServicer, server: grpc.Server) -> None: ...
261
+ def add_ClientAppIoServicer_to_server(servicer: ClientAppIoServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
flwr/proto/control_pb2.py CHANGED
@@ -1,12 +1,22 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
3
4
  # source: flwr/proto/control.proto
4
- # Protobuf Python Version: 4.25.1
5
+ # Protobuf Python Version: 5.29.0
5
6
  """Generated protocol buffer code."""
6
7
  from google.protobuf import descriptor as _descriptor
7
8
  from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
8
10
  from google.protobuf import symbol_database as _symbol_database
9
11
  from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 29,
16
+ 0,
17
+ '',
18
+ 'flwr/proto/control.proto'
19
+ )
10
20
  # @@protoc_insertion_point(imports)
11
21
 
12
22
  _sym_db = _symbol_database.Default()
@@ -16,51 +26,73 @@ from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
16
26
  from flwr.proto import transport_pb2 as flwr_dot_proto_dot_transport__pb2
17
27
  from flwr.proto import recorddict_pb2 as flwr_dot_proto_dot_recorddict__pb2
18
28
  from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
29
+ from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
30
+ from flwr.proto import federation_pb2 as flwr_dot_proto_dot_federation__pb2
19
31
 
20
32
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66lwr/proto/control.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x1a\x66lwr/proto/transport.proto\x1a\x1b\x66lwr/proto/recorddict.proto\x1a\x14\x66lwr/proto/run.proto\"\xfa\x01\n\x0fStartRunRequest\x12\x1c\n\x03\x66\x61\x62\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Fab\x12H\n\x0foverride_config\x18\x02 \x03(\x0b\x32/.flwr.proto.StartRunRequest.OverrideConfigEntry\x12\x34\n\x12\x66\x65\x64\x65ration_options\x18\x03 \x01(\x0b\x32\x18.flwr.proto.ConfigRecord\x1aI\n\x13OverrideConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\"2\n\x10StartRunResponse\x12\x13\n\x06run_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\t\n\x07_run_id\"<\n\x11StreamLogsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x17\n\x0f\x61\x66ter_timestamp\x18\x02 \x01(\x01\"B\n\x12StreamLogsResponse\x12\x12\n\nlog_output\x18\x01 \x01(\t\x12\x18\n\x10latest_timestamp\x18\x02 \x01(\x01\"1\n\x0fListRunsRequest\x12\x13\n\x06run_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\t\n\x07_run_id\"\x9d\x01\n\x10ListRunsResponse\x12;\n\x08run_dict\x18\x01 \x03(\x0b\x32).flwr.proto.ListRunsResponse.RunDictEntry\x12\x0b\n\x03now\x18\x02 \x01(\t\x1a?\n\x0cRunDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.flwr.proto.Run:\x02\x38\x01\"\x18\n\x16GetLoginDetailsRequest\"\x8a\x01\n\x17GetLoginDetailsResponse\x12\x11\n\tauth_type\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65vice_code\x18\x02 \x01(\t\x12!\n\x19verification_uri_complete\x18\x03 \x01(\t\x12\x12\n\nexpires_in\x18\x04 \x01(\x03\x12\x10\n\x08interval\x18\x05 \x01(\x03\"+\n\x14GetAuthTokensRequest\x12\x13\n\x0b\x64\x65vice_code\x18\x01 \x01(\t\"D\n\x15GetAuthTokensResponse\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\t\x12\x15\n\rrefresh_token\x18\x02 \x01(\t\" \n\x0eStopRunRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"\"\n\x0fStopRunResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\"&\n\x14PullArtifactsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"1\n\x15PullArtifactsResponse\x12\x10\n\x03url\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x06\n\x04_url2\xc0\x04\n\x07\x43ontrol\x12G\n\x08StartRun\x12\x1b.flwr.proto.StartRunRequest\x1a\x1c.flwr.proto.StartRunResponse\"\x00\x12\x44\n\x07StopRun\x12\x1a.flwr.proto.StopRunRequest\x1a\x1b.flwr.proto.StopRunResponse\"\x00\x12O\n\nStreamLogs\x12\x1d.flwr.proto.StreamLogsRequest\x1a\x1e.flwr.proto.StreamLogsResponse\"\x00\x30\x01\x12G\n\x08ListRuns\x12\x1b.flwr.proto.ListRunsRequest\x1a\x1c.flwr.proto.ListRunsResponse\"\x00\x12\\\n\x0fGetLoginDetails\x12\".flwr.proto.GetLoginDetailsRequest\x1a#.flwr.proto.GetLoginDetailsResponse\"\x00\x12V\n\rGetAuthTokens\x12 .flwr.proto.GetAuthTokensRequest\x1a!.flwr.proto.GetAuthTokensResponse\"\x00\x12V\n\rPullArtifacts\x12 .flwr.proto.PullArtifactsRequest\x1a!.flwr.proto.PullArtifactsResponse\"\x00\x62\x06proto3')
33
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66lwr/proto/control.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x1a\x66lwr/proto/transport.proto\x1a\x1b\x66lwr/proto/recorddict.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x1b\x66lwr/proto/federation.proto\"\xa0\x02\n\x0fStartRunRequest\x12\x1c\n\x03\x66\x61\x62\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Fab\x12H\n\x0foverride_config\x18\x02 \x03(\x0b\x32/.flwr.proto.StartRunRequest.OverrideConfigEntry\x12\x34\n\x12\x66\x65\x64\x65ration_options\x18\x03 \x01(\x0b\x32\x18.flwr.proto.ConfigRecord\x12\x10\n\x08\x61pp_spec\x18\x04 \x01(\t\x12\x12\n\nfederation\x18\x05 \x01(\t\x1aI\n\x13OverrideConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\"2\n\x10StartRunResponse\x12\x13\n\x06run_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\t\n\x07_run_id\"<\n\x11StreamLogsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x17\n\x0f\x61\x66ter_timestamp\x18\x02 \x01(\x01\"B\n\x12StreamLogsResponse\x12\x12\n\nlog_output\x18\x01 \x01(\t\x12\x18\n\x10latest_timestamp\x18\x02 \x01(\x01\"1\n\x0fListRunsRequest\x12\x13\n\x06run_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\t\n\x07_run_id\"\x9d\x01\n\x10ListRunsResponse\x12;\n\x08run_dict\x18\x01 \x03(\x0b\x32).flwr.proto.ListRunsResponse.RunDictEntry\x12\x0b\n\x03now\x18\x02 \x01(\t\x1a?\n\x0cRunDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.flwr.proto.Run:\x02\x38\x01\"\x18\n\x16GetLoginDetailsRequest\"\x8b\x01\n\x17GetLoginDetailsResponse\x12\x12\n\nauthn_type\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65vice_code\x18\x02 \x01(\t\x12!\n\x19verification_uri_complete\x18\x03 \x01(\t\x12\x12\n\nexpires_in\x18\x04 \x01(\x03\x12\x10\n\x08interval\x18\x05 \x01(\x03\"+\n\x14GetAuthTokensRequest\x12\x13\n\x0b\x64\x65vice_code\x18\x01 \x01(\t\"D\n\x15GetAuthTokensResponse\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\t\x12\x15\n\rrefresh_token\x18\x02 \x01(\t\" \n\x0eStopRunRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"\"\n\x0fStopRunResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\"&\n\x14PullArtifactsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"1\n\x15PullArtifactsResponse\x12\x10\n\x03url\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x06\n\x04_url\")\n\x13RegisterNodeRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\"8\n\x14RegisterNodeResponse\x12\x14\n\x07node_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_node_id\"(\n\x15UnregisterNodeRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x04\"\x18\n\x16UnregisterNodeResponse\"\x12\n\x10ListNodesRequest\"J\n\x11ListNodesResponse\x12(\n\nnodes_info\x18\x01 \x03(\x0b\x32\x14.flwr.proto.NodeInfo\x12\x0b\n\x03now\x18\x02 \x01(\t\"\x18\n\x16ListFederationsRequest\"F\n\x17ListFederationsResponse\x12+\n\x0b\x66\x65\x64\x65rations\x18\x01 \x03(\x0b\x32\x16.flwr.proto.Federation\"0\n\x15ShowFederationRequest\x12\x17\n\x0f\x66\x65\x64\x65ration_name\x18\x01 \x01(\t\"Q\n\x16ShowFederationResponse\x12*\n\nfederation\x18\x01 \x01(\x0b\x32\x16.flwr.proto.Federation\x12\x0b\n\x03now\x18\x02 \x01(\t2\xf5\x07\n\x07\x43ontrol\x12G\n\x08StartRun\x12\x1b.flwr.proto.StartRunRequest\x1a\x1c.flwr.proto.StartRunResponse\"\x00\x12\x44\n\x07StopRun\x12\x1a.flwr.proto.StopRunRequest\x1a\x1b.flwr.proto.StopRunResponse\"\x00\x12O\n\nStreamLogs\x12\x1d.flwr.proto.StreamLogsRequest\x1a\x1e.flwr.proto.StreamLogsResponse\"\x00\x30\x01\x12G\n\x08ListRuns\x12\x1b.flwr.proto.ListRunsRequest\x1a\x1c.flwr.proto.ListRunsResponse\"\x00\x12\\\n\x0fGetLoginDetails\x12\".flwr.proto.GetLoginDetailsRequest\x1a#.flwr.proto.GetLoginDetailsResponse\"\x00\x12V\n\rGetAuthTokens\x12 .flwr.proto.GetAuthTokensRequest\x1a!.flwr.proto.GetAuthTokensResponse\"\x00\x12V\n\rPullArtifacts\x12 .flwr.proto.PullArtifactsRequest\x1a!.flwr.proto.PullArtifactsResponse\"\x00\x12S\n\x0cRegisterNode\x12\x1f.flwr.proto.RegisterNodeRequest\x1a .flwr.proto.RegisterNodeResponse\"\x00\x12Y\n\x0eUnregisterNode\x12!.flwr.proto.UnregisterNodeRequest\x1a\".flwr.proto.UnregisterNodeResponse\"\x00\x12J\n\tListNodes\x12\x1c.flwr.proto.ListNodesRequest\x1a\x1d.flwr.proto.ListNodesResponse\"\x00\x12\\\n\x0fListFederations\x12\".flwr.proto.ListFederationsRequest\x1a#.flwr.proto.ListFederationsResponse\"\x00\x12Y\n\x0eShowFederation\x12!.flwr.proto.ShowFederationRequest\x1a\".flwr.proto.ShowFederationResponse\"\x00\x62\x06proto3')
22
34
 
23
35
  _globals = globals()
24
36
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
25
37
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.control_pb2', _globals)
26
- if _descriptor._USE_C_DESCRIPTORS == False:
27
- DESCRIPTOR._options = None
28
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._options = None
38
+ if not _descriptor._USE_C_DESCRIPTORS:
39
+ DESCRIPTOR._loaded_options = None
40
+ _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._loaded_options = None
29
41
  _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_options = b'8\001'
30
- _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._options = None
42
+ _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._loaded_options = None
31
43
  _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_options = b'8\001'
32
- _globals['_STARTRUNREQUEST']._serialized_start=142
33
- _globals['_STARTRUNREQUEST']._serialized_end=392
34
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=319
35
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=392
36
- _globals['_STARTRUNRESPONSE']._serialized_start=394
37
- _globals['_STARTRUNRESPONSE']._serialized_end=444
38
- _globals['_STREAMLOGSREQUEST']._serialized_start=446
39
- _globals['_STREAMLOGSREQUEST']._serialized_end=506
40
- _globals['_STREAMLOGSRESPONSE']._serialized_start=508
41
- _globals['_STREAMLOGSRESPONSE']._serialized_end=574
42
- _globals['_LISTRUNSREQUEST']._serialized_start=576
43
- _globals['_LISTRUNSREQUEST']._serialized_end=625
44
- _globals['_LISTRUNSRESPONSE']._serialized_start=628
45
- _globals['_LISTRUNSRESPONSE']._serialized_end=785
46
- _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_start=722
47
- _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_end=785
48
- _globals['_GETLOGINDETAILSREQUEST']._serialized_start=787
49
- _globals['_GETLOGINDETAILSREQUEST']._serialized_end=811
50
- _globals['_GETLOGINDETAILSRESPONSE']._serialized_start=814
51
- _globals['_GETLOGINDETAILSRESPONSE']._serialized_end=952
52
- _globals['_GETAUTHTOKENSREQUEST']._serialized_start=954
53
- _globals['_GETAUTHTOKENSREQUEST']._serialized_end=997
54
- _globals['_GETAUTHTOKENSRESPONSE']._serialized_start=999
55
- _globals['_GETAUTHTOKENSRESPONSE']._serialized_end=1067
56
- _globals['_STOPRUNREQUEST']._serialized_start=1069
57
- _globals['_STOPRUNREQUEST']._serialized_end=1101
58
- _globals['_STOPRUNRESPONSE']._serialized_start=1103
59
- _globals['_STOPRUNRESPONSE']._serialized_end=1137
60
- _globals['_PULLARTIFACTSREQUEST']._serialized_start=1139
61
- _globals['_PULLARTIFACTSREQUEST']._serialized_end=1177
62
- _globals['_PULLARTIFACTSRESPONSE']._serialized_start=1179
63
- _globals['_PULLARTIFACTSRESPONSE']._serialized_end=1228
64
- _globals['_CONTROL']._serialized_start=1231
65
- _globals['_CONTROL']._serialized_end=1807
44
+ _globals['_STARTRUNREQUEST']._serialized_start=194
45
+ _globals['_STARTRUNREQUEST']._serialized_end=482
46
+ _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=409
47
+ _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=482
48
+ _globals['_STARTRUNRESPONSE']._serialized_start=484
49
+ _globals['_STARTRUNRESPONSE']._serialized_end=534
50
+ _globals['_STREAMLOGSREQUEST']._serialized_start=536
51
+ _globals['_STREAMLOGSREQUEST']._serialized_end=596
52
+ _globals['_STREAMLOGSRESPONSE']._serialized_start=598
53
+ _globals['_STREAMLOGSRESPONSE']._serialized_end=664
54
+ _globals['_LISTRUNSREQUEST']._serialized_start=666
55
+ _globals['_LISTRUNSREQUEST']._serialized_end=715
56
+ _globals['_LISTRUNSRESPONSE']._serialized_start=718
57
+ _globals['_LISTRUNSRESPONSE']._serialized_end=875
58
+ _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_start=812
59
+ _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_end=875
60
+ _globals['_GETLOGINDETAILSREQUEST']._serialized_start=877
61
+ _globals['_GETLOGINDETAILSREQUEST']._serialized_end=901
62
+ _globals['_GETLOGINDETAILSRESPONSE']._serialized_start=904
63
+ _globals['_GETLOGINDETAILSRESPONSE']._serialized_end=1043
64
+ _globals['_GETAUTHTOKENSREQUEST']._serialized_start=1045
65
+ _globals['_GETAUTHTOKENSREQUEST']._serialized_end=1088
66
+ _globals['_GETAUTHTOKENSRESPONSE']._serialized_start=1090
67
+ _globals['_GETAUTHTOKENSRESPONSE']._serialized_end=1158
68
+ _globals['_STOPRUNREQUEST']._serialized_start=1160
69
+ _globals['_STOPRUNREQUEST']._serialized_end=1192
70
+ _globals['_STOPRUNRESPONSE']._serialized_start=1194
71
+ _globals['_STOPRUNRESPONSE']._serialized_end=1228
72
+ _globals['_PULLARTIFACTSREQUEST']._serialized_start=1230
73
+ _globals['_PULLARTIFACTSREQUEST']._serialized_end=1268
74
+ _globals['_PULLARTIFACTSRESPONSE']._serialized_start=1270
75
+ _globals['_PULLARTIFACTSRESPONSE']._serialized_end=1319
76
+ _globals['_REGISTERNODEREQUEST']._serialized_start=1321
77
+ _globals['_REGISTERNODEREQUEST']._serialized_end=1362
78
+ _globals['_REGISTERNODERESPONSE']._serialized_start=1364
79
+ _globals['_REGISTERNODERESPONSE']._serialized_end=1420
80
+ _globals['_UNREGISTERNODEREQUEST']._serialized_start=1422
81
+ _globals['_UNREGISTERNODEREQUEST']._serialized_end=1462
82
+ _globals['_UNREGISTERNODERESPONSE']._serialized_start=1464
83
+ _globals['_UNREGISTERNODERESPONSE']._serialized_end=1488
84
+ _globals['_LISTNODESREQUEST']._serialized_start=1490
85
+ _globals['_LISTNODESREQUEST']._serialized_end=1508
86
+ _globals['_LISTNODESRESPONSE']._serialized_start=1510
87
+ _globals['_LISTNODESRESPONSE']._serialized_end=1584
88
+ _globals['_LISTFEDERATIONSREQUEST']._serialized_start=1586
89
+ _globals['_LISTFEDERATIONSREQUEST']._serialized_end=1610
90
+ _globals['_LISTFEDERATIONSRESPONSE']._serialized_start=1612
91
+ _globals['_LISTFEDERATIONSRESPONSE']._serialized_end=1682
92
+ _globals['_SHOWFEDERATIONREQUEST']._serialized_start=1684
93
+ _globals['_SHOWFEDERATIONREQUEST']._serialized_end=1732
94
+ _globals['_SHOWFEDERATIONRESPONSE']._serialized_start=1734
95
+ _globals['_SHOWFEDERATIONRESPONSE']._serialized_end=1815
96
+ _globals['_CONTROL']._serialized_start=1818
97
+ _globals['_CONTROL']._serialized_end=2831
66
98
  # @@protoc_insertion_point(module_scope)