flwr 1.23.0__py3-none-any.whl → 1.25.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 (339) 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 +19 -0
  5. flwr/cli/{new/templates → app_cmd}/__init__.py +9 -1
  6. flwr/cli/app_cmd/publish.py +285 -0
  7. flwr/cli/app_cmd/review.py +262 -0
  8. flwr/cli/auth_plugin/auth_plugin.py +4 -5
  9. flwr/cli/auth_plugin/noop_auth_plugin.py +54 -11
  10. flwr/cli/auth_plugin/oidc_cli_plugin.py +32 -9
  11. flwr/cli/build.py +60 -18
  12. flwr/cli/cli_account_auth_interceptor.py +24 -7
  13. flwr/cli/config_utils.py +101 -13
  14. flwr/cli/{new/templates/app/code/flwr_tune → federation}/__init__.py +10 -1
  15. flwr/cli/federation/ls.py +140 -0
  16. flwr/cli/federation/show.py +318 -0
  17. flwr/cli/install.py +91 -13
  18. flwr/cli/log.py +52 -9
  19. flwr/cli/login/login.py +7 -4
  20. flwr/cli/ls.py +211 -130
  21. flwr/cli/new/new.py +123 -331
  22. flwr/cli/pull.py +10 -5
  23. flwr/cli/run/run.py +71 -29
  24. flwr/cli/run_utils.py +148 -0
  25. flwr/cli/stop.py +26 -8
  26. flwr/cli/supernode/ls.py +25 -12
  27. flwr/cli/supernode/register.py +9 -4
  28. flwr/cli/supernode/unregister.py +5 -3
  29. flwr/cli/utils.py +239 -16
  30. flwr/client/__init__.py +1 -1
  31. flwr/client/dpfedavg_numpy_client.py +4 -1
  32. flwr/client/grpc_adapter_client/connection.py +8 -9
  33. flwr/client/grpc_rere_client/connection.py +16 -14
  34. flwr/client/grpc_rere_client/grpc_adapter.py +6 -2
  35. flwr/client/grpc_rere_client/node_auth_client_interceptor.py +2 -1
  36. flwr/client/message_handler/message_handler.py +2 -2
  37. flwr/client/mod/secure_aggregation/secaggplus_mod.py +3 -3
  38. flwr/client/numpy_client.py +1 -1
  39. flwr/client/rest_client/connection.py +18 -18
  40. flwr/client/run_info_store.py +4 -5
  41. flwr/client/typing.py +1 -1
  42. flwr/clientapp/client_app.py +9 -10
  43. flwr/clientapp/mod/centraldp_mods.py +16 -17
  44. flwr/clientapp/mod/localdp_mod.py +8 -9
  45. flwr/clientapp/typing.py +1 -1
  46. flwr/clientapp/utils.py +3 -3
  47. flwr/common/address.py +1 -2
  48. flwr/common/args.py +3 -4
  49. flwr/common/config.py +13 -16
  50. flwr/common/constant.py +5 -2
  51. flwr/common/differential_privacy.py +3 -4
  52. flwr/common/event_log_plugin/event_log_plugin.py +3 -4
  53. flwr/common/exit/exit.py +15 -2
  54. flwr/common/exit/exit_code.py +19 -0
  55. flwr/common/exit/exit_handler.py +6 -2
  56. flwr/common/exit/signal_handler.py +5 -5
  57. flwr/common/grpc.py +6 -6
  58. flwr/common/inflatable_protobuf_utils.py +1 -1
  59. flwr/common/inflatable_utils.py +38 -21
  60. flwr/common/logger.py +19 -19
  61. flwr/common/message.py +4 -4
  62. flwr/common/object_ref.py +7 -7
  63. flwr/common/record/array.py +3 -3
  64. flwr/common/record/arrayrecord.py +18 -30
  65. flwr/common/record/configrecord.py +3 -3
  66. flwr/common/record/recorddict.py +5 -5
  67. flwr/common/record/typeddict.py +9 -2
  68. flwr/common/recorddict_compat.py +7 -10
  69. flwr/common/retry_invoker.py +20 -20
  70. flwr/common/secure_aggregation/ndarrays_arithmetic.py +3 -3
  71. flwr/common/serde.py +11 -4
  72. flwr/common/serde_utils.py +2 -2
  73. flwr/common/telemetry.py +9 -5
  74. flwr/common/typing.py +58 -37
  75. flwr/compat/client/app.py +38 -37
  76. flwr/compat/client/grpc_client/connection.py +11 -11
  77. flwr/compat/server/app.py +5 -6
  78. flwr/proto/appio_pb2.py +13 -3
  79. flwr/proto/appio_pb2.pyi +134 -65
  80. flwr/proto/appio_pb2_grpc.py +20 -0
  81. flwr/proto/appio_pb2_grpc.pyi +27 -0
  82. flwr/proto/clientappio_pb2.py +17 -7
  83. flwr/proto/clientappio_pb2.pyi +15 -0
  84. flwr/proto/clientappio_pb2_grpc.py +206 -40
  85. flwr/proto/clientappio_pb2_grpc.pyi +168 -53
  86. flwr/proto/control_pb2.py +71 -52
  87. flwr/proto/control_pb2.pyi +277 -111
  88. flwr/proto/control_pb2_grpc.py +249 -40
  89. flwr/proto/control_pb2_grpc.pyi +185 -52
  90. flwr/proto/error_pb2.py +13 -3
  91. flwr/proto/error_pb2.pyi +24 -6
  92. flwr/proto/error_pb2_grpc.py +20 -0
  93. flwr/proto/error_pb2_grpc.pyi +27 -0
  94. flwr/proto/fab_pb2.py +14 -4
  95. flwr/proto/fab_pb2.pyi +59 -31
  96. flwr/proto/fab_pb2_grpc.py +20 -0
  97. flwr/proto/fab_pb2_grpc.pyi +27 -0
  98. flwr/proto/federation_pb2.py +38 -0
  99. flwr/proto/federation_pb2.pyi +56 -0
  100. flwr/proto/federation_pb2_grpc.py +24 -0
  101. flwr/proto/federation_pb2_grpc.pyi +31 -0
  102. flwr/proto/fleet_pb2.py +24 -14
  103. flwr/proto/fleet_pb2.pyi +141 -61
  104. flwr/proto/fleet_pb2_grpc.py +189 -48
  105. flwr/proto/fleet_pb2_grpc.pyi +175 -61
  106. flwr/proto/grpcadapter_pb2.py +14 -4
  107. flwr/proto/grpcadapter_pb2.pyi +38 -16
  108. flwr/proto/grpcadapter_pb2_grpc.py +35 -4
  109. flwr/proto/grpcadapter_pb2_grpc.pyi +38 -7
  110. flwr/proto/heartbeat_pb2.py +17 -7
  111. flwr/proto/heartbeat_pb2.pyi +51 -22
  112. flwr/proto/heartbeat_pb2_grpc.py +20 -0
  113. flwr/proto/heartbeat_pb2_grpc.pyi +27 -0
  114. flwr/proto/log_pb2.py +13 -3
  115. flwr/proto/log_pb2.pyi +34 -11
  116. flwr/proto/log_pb2_grpc.py +20 -0
  117. flwr/proto/log_pb2_grpc.pyi +27 -0
  118. flwr/proto/message_pb2.py +15 -5
  119. flwr/proto/message_pb2.pyi +154 -86
  120. flwr/proto/message_pb2_grpc.py +20 -0
  121. flwr/proto/message_pb2_grpc.pyi +27 -0
  122. flwr/proto/node_pb2.py +15 -5
  123. flwr/proto/node_pb2.pyi +50 -25
  124. flwr/proto/node_pb2_grpc.py +20 -0
  125. flwr/proto/node_pb2_grpc.pyi +27 -0
  126. flwr/proto/recorddict_pb2.py +13 -3
  127. flwr/proto/recorddict_pb2.pyi +184 -107
  128. flwr/proto/recorddict_pb2_grpc.py +20 -0
  129. flwr/proto/recorddict_pb2_grpc.pyi +27 -0
  130. flwr/proto/run_pb2.py +40 -31
  131. flwr/proto/run_pb2.pyi +158 -84
  132. flwr/proto/run_pb2_grpc.py +20 -0
  133. flwr/proto/run_pb2_grpc.pyi +27 -0
  134. flwr/proto/serverappio_pb2.py +13 -3
  135. flwr/proto/serverappio_pb2.pyi +32 -8
  136. flwr/proto/serverappio_pb2_grpc.py +246 -65
  137. flwr/proto/serverappio_pb2_grpc.pyi +221 -85
  138. flwr/proto/simulationio_pb2.py +16 -8
  139. flwr/proto/simulationio_pb2.pyi +15 -0
  140. flwr/proto/simulationio_pb2_grpc.py +162 -41
  141. flwr/proto/simulationio_pb2_grpc.pyi +149 -55
  142. flwr/proto/transport_pb2.py +20 -10
  143. flwr/proto/transport_pb2.pyi +249 -160
  144. flwr/proto/transport_pb2_grpc.py +35 -4
  145. flwr/proto/transport_pb2_grpc.pyi +38 -8
  146. flwr/server/app.py +39 -17
  147. flwr/server/client_manager.py +4 -5
  148. flwr/server/client_proxy.py +10 -11
  149. flwr/server/compat/app.py +4 -5
  150. flwr/server/compat/app_utils.py +2 -1
  151. flwr/server/compat/grid_client_proxy.py +10 -12
  152. flwr/server/compat/legacy_context.py +3 -4
  153. flwr/server/fleet_event_log_interceptor.py +2 -1
  154. flwr/server/grid/grid.py +2 -3
  155. flwr/server/grid/grpc_grid.py +10 -8
  156. flwr/server/grid/inmemory_grid.py +4 -4
  157. flwr/server/run_serverapp.py +2 -3
  158. flwr/server/server.py +34 -39
  159. flwr/server/server_app.py +7 -8
  160. flwr/server/server_config.py +1 -2
  161. flwr/server/serverapp/app.py +34 -28
  162. flwr/server/serverapp_components.py +4 -5
  163. flwr/server/strategy/aggregate.py +9 -8
  164. flwr/server/strategy/bulyan.py +13 -11
  165. flwr/server/strategy/dp_adaptive_clipping.py +16 -20
  166. flwr/server/strategy/dp_fixed_clipping.py +12 -17
  167. flwr/server/strategy/dpfedavg_adaptive.py +3 -4
  168. flwr/server/strategy/dpfedavg_fixed.py +6 -10
  169. flwr/server/strategy/fault_tolerant_fedavg.py +14 -13
  170. flwr/server/strategy/fedadagrad.py +18 -14
  171. flwr/server/strategy/fedadam.py +16 -14
  172. flwr/server/strategy/fedavg.py +16 -17
  173. flwr/server/strategy/fedavg_android.py +15 -15
  174. flwr/server/strategy/fedavgm.py +21 -18
  175. flwr/server/strategy/fedmedian.py +2 -3
  176. flwr/server/strategy/fedopt.py +11 -10
  177. flwr/server/strategy/fedprox.py +10 -9
  178. flwr/server/strategy/fedtrimmedavg.py +12 -11
  179. flwr/server/strategy/fedxgb_bagging.py +13 -11
  180. flwr/server/strategy/fedxgb_cyclic.py +6 -6
  181. flwr/server/strategy/fedxgb_nn_avg.py +4 -4
  182. flwr/server/strategy/fedyogi.py +16 -14
  183. flwr/server/strategy/krum.py +12 -11
  184. flwr/server/strategy/qfedavg.py +16 -15
  185. flwr/server/strategy/strategy.py +6 -9
  186. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +2 -1
  187. flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -2
  188. flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +3 -4
  189. flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +10 -12
  190. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +1 -3
  191. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +4 -4
  192. flwr/server/superlink/fleet/grpc_rere/node_auth_server_interceptor.py +3 -2
  193. flwr/server/superlink/fleet/message_handler/message_handler.py +75 -30
  194. flwr/server/superlink/fleet/rest_rere/rest_api.py +2 -2
  195. flwr/server/superlink/fleet/vce/backend/backend.py +1 -1
  196. flwr/server/superlink/fleet/vce/backend/raybackend.py +5 -5
  197. flwr/server/superlink/fleet/vce/vce_api.py +15 -9
  198. flwr/server/superlink/linkstate/in_memory_linkstate.py +148 -149
  199. flwr/server/superlink/linkstate/linkstate.py +91 -43
  200. flwr/server/superlink/linkstate/linkstate_factory.py +22 -5
  201. flwr/server/superlink/linkstate/sqlite_linkstate.py +502 -436
  202. flwr/server/superlink/linkstate/utils.py +6 -6
  203. flwr/server/superlink/serverappio/serverappio_grpc.py +1 -2
  204. flwr/server/superlink/serverappio/serverappio_servicer.py +26 -21
  205. flwr/server/superlink/simulation/simulationio_grpc.py +1 -2
  206. flwr/server/superlink/simulation/simulationio_servicer.py +18 -13
  207. flwr/server/superlink/utils.py +4 -6
  208. flwr/server/typing.py +1 -1
  209. flwr/server/utils/tensorboard.py +15 -8
  210. flwr/server/workflow/default_workflows.py +5 -5
  211. flwr/server/workflow/secure_aggregation/secagg_workflow.py +2 -4
  212. flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +8 -8
  213. flwr/serverapp/strategy/bulyan.py +16 -15
  214. flwr/serverapp/strategy/dp_adaptive_clipping.py +12 -11
  215. flwr/serverapp/strategy/dp_fixed_clipping.py +11 -14
  216. flwr/serverapp/strategy/fedadagrad.py +10 -11
  217. flwr/serverapp/strategy/fedadam.py +10 -11
  218. flwr/serverapp/strategy/fedavg.py +9 -10
  219. flwr/serverapp/strategy/fedavgm.py +17 -16
  220. flwr/serverapp/strategy/fedmedian.py +2 -2
  221. flwr/serverapp/strategy/fedopt.py +10 -11
  222. flwr/serverapp/strategy/fedprox.py +7 -8
  223. flwr/serverapp/strategy/fedtrimmedavg.py +9 -9
  224. flwr/serverapp/strategy/fedxgb_bagging.py +3 -3
  225. flwr/serverapp/strategy/fedxgb_cyclic.py +9 -9
  226. flwr/serverapp/strategy/fedyogi.py +9 -11
  227. flwr/serverapp/strategy/krum.py +7 -7
  228. flwr/serverapp/strategy/multikrum.py +9 -9
  229. flwr/serverapp/strategy/qfedavg.py +17 -16
  230. flwr/serverapp/strategy/strategy.py +6 -9
  231. flwr/serverapp/strategy/strategy_utils.py +7 -8
  232. flwr/simulation/app.py +46 -42
  233. flwr/simulation/legacy_app.py +12 -12
  234. flwr/simulation/ray_transport/ray_actor.py +10 -11
  235. flwr/simulation/ray_transport/ray_client_proxy.py +11 -12
  236. flwr/simulation/run_simulation.py +43 -43
  237. flwr/simulation/simulationio_connection.py +4 -4
  238. flwr/supercore/cli/flower_superexec.py +3 -4
  239. flwr/supercore/constant.py +34 -1
  240. flwr/supercore/corestate/corestate.py +24 -3
  241. flwr/supercore/corestate/in_memory_corestate.py +138 -0
  242. flwr/supercore/corestate/sqlite_corestate.py +157 -0
  243. flwr/supercore/ffs/disk_ffs.py +1 -2
  244. flwr/supercore/ffs/ffs.py +1 -2
  245. flwr/supercore/ffs/ffs_factory.py +1 -2
  246. flwr/{common → supercore}/heartbeat.py +20 -25
  247. flwr/supercore/object_store/in_memory_object_store.py +1 -2
  248. flwr/supercore/object_store/object_store.py +1 -2
  249. flwr/supercore/object_store/object_store_factory.py +1 -2
  250. flwr/supercore/object_store/sqlite_object_store.py +8 -7
  251. flwr/supercore/primitives/asymmetric.py +1 -1
  252. flwr/supercore/primitives/asymmetric_ed25519.py +11 -1
  253. flwr/supercore/sqlite_mixin.py +37 -34
  254. flwr/supercore/superexec/plugin/base_exec_plugin.py +1 -2
  255. flwr/supercore/superexec/plugin/exec_plugin.py +3 -3
  256. flwr/supercore/superexec/run_superexec.py +9 -13
  257. flwr/supercore/utils.py +190 -0
  258. flwr/superlink/artifact_provider/artifact_provider.py +1 -2
  259. flwr/superlink/auth_plugin/auth_plugin.py +6 -9
  260. flwr/superlink/auth_plugin/noop_auth_plugin.py +6 -9
  261. flwr/{cli/new/templates/app → superlink/federation}/__init__.py +10 -1
  262. flwr/superlink/federation/federation_manager.py +64 -0
  263. flwr/superlink/federation/noop_federation_manager.py +71 -0
  264. flwr/superlink/servicer/control/control_account_auth_interceptor.py +22 -13
  265. flwr/superlink/servicer/control/control_event_log_interceptor.py +7 -7
  266. flwr/superlink/servicer/control/control_grpc.py +7 -6
  267. flwr/superlink/servicer/control/control_license_interceptor.py +3 -3
  268. flwr/superlink/servicer/control/control_servicer.py +190 -23
  269. flwr/supernode/cli/flower_supernode.py +58 -3
  270. flwr/supernode/nodestate/in_memory_nodestate.py +121 -49
  271. flwr/supernode/nodestate/nodestate.py +52 -8
  272. flwr/supernode/nodestate/nodestate_factory.py +7 -4
  273. flwr/supernode/runtime/run_clientapp.py +41 -22
  274. flwr/supernode/servicer/clientappio/clientappio_servicer.py +46 -10
  275. flwr/supernode/start_client_internal.py +165 -46
  276. {flwr-1.23.0.dist-info → flwr-1.25.0.dist-info}/METADATA +9 -11
  277. flwr-1.25.0.dist-info/RECORD +393 -0
  278. flwr/cli/new/templates/app/.gitignore.tpl +0 -163
  279. flwr/cli/new/templates/app/LICENSE.tpl +0 -202
  280. flwr/cli/new/templates/app/README.baseline.md.tpl +0 -127
  281. flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -68
  282. flwr/cli/new/templates/app/README.md.tpl +0 -37
  283. flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +0 -1
  284. flwr/cli/new/templates/app/code/__init__.py +0 -15
  285. flwr/cli/new/templates/app/code/__init__.py.tpl +0 -1
  286. flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl +0 -1
  287. flwr/cli/new/templates/app/code/client.baseline.py.tpl +0 -75
  288. flwr/cli/new/templates/app/code/client.huggingface.py.tpl +0 -93
  289. flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -71
  290. flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -102
  291. flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -46
  292. flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -80
  293. flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl +0 -55
  294. flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -108
  295. flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -82
  296. flwr/cli/new/templates/app/code/client.xgboost.py.tpl +0 -110
  297. flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +0 -36
  298. flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +0 -92
  299. flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -87
  300. flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -56
  301. flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +0 -73
  302. flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +0 -78
  303. flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -66
  304. flwr/cli/new/templates/app/code/server.baseline.py.tpl +0 -43
  305. flwr/cli/new/templates/app/code/server.huggingface.py.tpl +0 -42
  306. flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -39
  307. flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -41
  308. flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -38
  309. flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -41
  310. flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl +0 -31
  311. flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -44
  312. flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -38
  313. flwr/cli/new/templates/app/code/server.xgboost.py.tpl +0 -56
  314. flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +0 -1
  315. flwr/cli/new/templates/app/code/task.huggingface.py.tpl +0 -98
  316. flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -57
  317. flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -102
  318. flwr/cli/new/templates/app/code/task.numpy.py.tpl +0 -7
  319. flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -98
  320. flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl +0 -111
  321. flwr/cli/new/templates/app/code/task.sklearn.py.tpl +0 -67
  322. flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -52
  323. flwr/cli/new/templates/app/code/task.xgboost.py.tpl +0 -67
  324. flwr/cli/new/templates/app/code/utils.baseline.py.tpl +0 -1
  325. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +0 -146
  326. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +0 -80
  327. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +0 -65
  328. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -52
  329. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -56
  330. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -49
  331. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -53
  332. flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +0 -53
  333. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -52
  334. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -53
  335. flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +0 -61
  336. flwr/supercore/object_store/utils.py +0 -43
  337. flwr-1.23.0.dist-info/RECORD +0 -439
  338. {flwr-1.23.0.dist-info → flwr-1.25.0.dist-info}/WHEEL +0 -0
  339. {flwr-1.23.0.dist-info → flwr-1.25.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()
@@ -17,63 +27,72 @@ 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
19
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
20
31
 
21
32
 
22
- 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\"\x8a\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\x0e\n\x06\x61pp_id\x18\x04 \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(\t2\xbc\x06\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\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')
23
34
 
24
35
  _globals = globals()
25
36
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
37
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.control_pb2', _globals)
27
- if _descriptor._USE_C_DESCRIPTORS == False:
28
- DESCRIPTOR._options = None
29
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._options = None
38
+ if not _descriptor._USE_C_DESCRIPTORS:
39
+ DESCRIPTOR._loaded_options = None
40
+ _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._loaded_options = None
30
41
  _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_options = b'8\001'
31
- _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._options = None
42
+ _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._loaded_options = None
32
43
  _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_options = b'8\001'
33
- _globals['_STARTRUNREQUEST']._serialized_start=165
34
- _globals['_STARTRUNREQUEST']._serialized_end=431
35
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=358
36
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=431
37
- _globals['_STARTRUNRESPONSE']._serialized_start=433
38
- _globals['_STARTRUNRESPONSE']._serialized_end=483
39
- _globals['_STREAMLOGSREQUEST']._serialized_start=485
40
- _globals['_STREAMLOGSREQUEST']._serialized_end=545
41
- _globals['_STREAMLOGSRESPONSE']._serialized_start=547
42
- _globals['_STREAMLOGSRESPONSE']._serialized_end=613
43
- _globals['_LISTRUNSREQUEST']._serialized_start=615
44
- _globals['_LISTRUNSREQUEST']._serialized_end=664
45
- _globals['_LISTRUNSRESPONSE']._serialized_start=667
46
- _globals['_LISTRUNSRESPONSE']._serialized_end=824
47
- _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_start=761
48
- _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_end=824
49
- _globals['_GETLOGINDETAILSREQUEST']._serialized_start=826
50
- _globals['_GETLOGINDETAILSREQUEST']._serialized_end=850
51
- _globals['_GETLOGINDETAILSRESPONSE']._serialized_start=853
52
- _globals['_GETLOGINDETAILSRESPONSE']._serialized_end=992
53
- _globals['_GETAUTHTOKENSREQUEST']._serialized_start=994
54
- _globals['_GETAUTHTOKENSREQUEST']._serialized_end=1037
55
- _globals['_GETAUTHTOKENSRESPONSE']._serialized_start=1039
56
- _globals['_GETAUTHTOKENSRESPONSE']._serialized_end=1107
57
- _globals['_STOPRUNREQUEST']._serialized_start=1109
58
- _globals['_STOPRUNREQUEST']._serialized_end=1141
59
- _globals['_STOPRUNRESPONSE']._serialized_start=1143
60
- _globals['_STOPRUNRESPONSE']._serialized_end=1177
61
- _globals['_PULLARTIFACTSREQUEST']._serialized_start=1179
62
- _globals['_PULLARTIFACTSREQUEST']._serialized_end=1217
63
- _globals['_PULLARTIFACTSRESPONSE']._serialized_start=1219
64
- _globals['_PULLARTIFACTSRESPONSE']._serialized_end=1268
65
- _globals['_REGISTERNODEREQUEST']._serialized_start=1270
66
- _globals['_REGISTERNODEREQUEST']._serialized_end=1311
67
- _globals['_REGISTERNODERESPONSE']._serialized_start=1313
68
- _globals['_REGISTERNODERESPONSE']._serialized_end=1369
69
- _globals['_UNREGISTERNODEREQUEST']._serialized_start=1371
70
- _globals['_UNREGISTERNODEREQUEST']._serialized_end=1411
71
- _globals['_UNREGISTERNODERESPONSE']._serialized_start=1413
72
- _globals['_UNREGISTERNODERESPONSE']._serialized_end=1437
73
- _globals['_LISTNODESREQUEST']._serialized_start=1439
74
- _globals['_LISTNODESREQUEST']._serialized_end=1457
75
- _globals['_LISTNODESRESPONSE']._serialized_start=1459
76
- _globals['_LISTNODESRESPONSE']._serialized_end=1533
77
- _globals['_CONTROL']._serialized_start=1536
78
- _globals['_CONTROL']._serialized_end=2364
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
79
98
  # @@protoc_insertion_point(module_scope)