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,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."""
@@ -22,62 +42,62 @@ class FleetStub(object):
22
42
  '/flwr.proto.Fleet/RegisterNode',
23
43
  request_serializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetRequest.SerializeToString,
24
44
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetResponse.FromString,
25
- )
45
+ _registered_method=True)
26
46
  self.ActivateNode = channel.unary_unary(
27
47
  '/flwr.proto.Fleet/ActivateNode',
28
48
  request_serializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeRequest.SerializeToString,
29
49
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeResponse.FromString,
30
- )
50
+ _registered_method=True)
31
51
  self.DeactivateNode = channel.unary_unary(
32
52
  '/flwr.proto.Fleet/DeactivateNode',
33
53
  request_serializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeRequest.SerializeToString,
34
54
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeResponse.FromString,
35
- )
55
+ _registered_method=True)
36
56
  self.UnregisterNode = channel.unary_unary(
37
57
  '/flwr.proto.Fleet/UnregisterNode',
38
58
  request_serializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetRequest.SerializeToString,
39
59
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetResponse.FromString,
40
- )
60
+ _registered_method=True)
41
61
  self.SendNodeHeartbeat = channel.unary_unary(
42
62
  '/flwr.proto.Fleet/SendNodeHeartbeat',
43
63
  request_serializer=flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatRequest.SerializeToString,
44
64
  response_deserializer=flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatResponse.FromString,
45
- )
65
+ _registered_method=True)
46
66
  self.PullMessages = channel.unary_unary(
47
67
  '/flwr.proto.Fleet/PullMessages',
48
68
  request_serializer=flwr_dot_proto_dot_fleet__pb2.PullMessagesRequest.SerializeToString,
49
69
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.PullMessagesResponse.FromString,
50
- )
70
+ _registered_method=True)
51
71
  self.PushMessages = channel.unary_unary(
52
72
  '/flwr.proto.Fleet/PushMessages',
53
73
  request_serializer=flwr_dot_proto_dot_fleet__pb2.PushMessagesRequest.SerializeToString,
54
74
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.PushMessagesResponse.FromString,
55
- )
75
+ _registered_method=True)
56
76
  self.GetRun = channel.unary_unary(
57
77
  '/flwr.proto.Fleet/GetRun',
58
78
  request_serializer=flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
59
79
  response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
60
- )
80
+ _registered_method=True)
61
81
  self.GetFab = channel.unary_unary(
62
82
  '/flwr.proto.Fleet/GetFab',
63
83
  request_serializer=flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
64
84
  response_deserializer=flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
65
- )
85
+ _registered_method=True)
66
86
  self.PushObject = channel.unary_unary(
67
87
  '/flwr.proto.Fleet/PushObject',
68
88
  request_serializer=flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
69
89
  response_deserializer=flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
70
- )
90
+ _registered_method=True)
71
91
  self.PullObject = channel.unary_unary(
72
92
  '/flwr.proto.Fleet/PullObject',
73
93
  request_serializer=flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
74
94
  response_deserializer=flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
75
- )
95
+ _registered_method=True)
76
96
  self.ConfirmMessageReceived = channel.unary_unary(
77
97
  '/flwr.proto.Fleet/ConfirmMessageReceived',
78
98
  request_serializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
79
99
  response_deserializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
80
- )
100
+ _registered_method=True)
81
101
 
82
102
 
83
103
  class FleetServicer(object):
@@ -236,6 +256,7 @@ def add_FleetServicer_to_server(servicer, server):
236
256
  generic_handler = grpc.method_handlers_generic_handler(
237
257
  'flwr.proto.Fleet', rpc_method_handlers)
238
258
  server.add_generic_rpc_handlers((generic_handler,))
259
+ server.add_registered_method_handlers('flwr.proto.Fleet', rpc_method_handlers)
239
260
 
240
261
 
241
262
  # This class is part of an EXPERIMENTAL API.
@@ -253,11 +274,21 @@ class Fleet(object):
253
274
  wait_for_ready=None,
254
275
  timeout=None,
255
276
  metadata=None):
256
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/RegisterNode',
277
+ return grpc.experimental.unary_unary(
278
+ request,
279
+ target,
280
+ '/flwr.proto.Fleet/RegisterNode',
257
281
  flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetRequest.SerializeToString,
258
282
  flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetResponse.FromString,
259
- options, channel_credentials,
260
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
283
+ options,
284
+ channel_credentials,
285
+ insecure,
286
+ call_credentials,
287
+ compression,
288
+ wait_for_ready,
289
+ timeout,
290
+ metadata,
291
+ _registered_method=True)
261
292
 
262
293
  @staticmethod
263
294
  def ActivateNode(request,
@@ -270,11 +301,21 @@ class Fleet(object):
270
301
  wait_for_ready=None,
271
302
  timeout=None,
272
303
  metadata=None):
273
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/ActivateNode',
304
+ return grpc.experimental.unary_unary(
305
+ request,
306
+ target,
307
+ '/flwr.proto.Fleet/ActivateNode',
274
308
  flwr_dot_proto_dot_fleet__pb2.ActivateNodeRequest.SerializeToString,
275
309
  flwr_dot_proto_dot_fleet__pb2.ActivateNodeResponse.FromString,
276
- options, channel_credentials,
277
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
310
+ options,
311
+ channel_credentials,
312
+ insecure,
313
+ call_credentials,
314
+ compression,
315
+ wait_for_ready,
316
+ timeout,
317
+ metadata,
318
+ _registered_method=True)
278
319
 
279
320
  @staticmethod
280
321
  def DeactivateNode(request,
@@ -287,11 +328,21 @@ class Fleet(object):
287
328
  wait_for_ready=None,
288
329
  timeout=None,
289
330
  metadata=None):
290
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/DeactivateNode',
331
+ return grpc.experimental.unary_unary(
332
+ request,
333
+ target,
334
+ '/flwr.proto.Fleet/DeactivateNode',
291
335
  flwr_dot_proto_dot_fleet__pb2.DeactivateNodeRequest.SerializeToString,
292
336
  flwr_dot_proto_dot_fleet__pb2.DeactivateNodeResponse.FromString,
293
- options, channel_credentials,
294
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
337
+ options,
338
+ channel_credentials,
339
+ insecure,
340
+ call_credentials,
341
+ compression,
342
+ wait_for_ready,
343
+ timeout,
344
+ metadata,
345
+ _registered_method=True)
295
346
 
296
347
  @staticmethod
297
348
  def UnregisterNode(request,
@@ -304,11 +355,21 @@ class Fleet(object):
304
355
  wait_for_ready=None,
305
356
  timeout=None,
306
357
  metadata=None):
307
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/UnregisterNode',
358
+ return grpc.experimental.unary_unary(
359
+ request,
360
+ target,
361
+ '/flwr.proto.Fleet/UnregisterNode',
308
362
  flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetRequest.SerializeToString,
309
363
  flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetResponse.FromString,
310
- options, channel_credentials,
311
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
364
+ options,
365
+ channel_credentials,
366
+ insecure,
367
+ call_credentials,
368
+ compression,
369
+ wait_for_ready,
370
+ timeout,
371
+ metadata,
372
+ _registered_method=True)
312
373
 
313
374
  @staticmethod
314
375
  def SendNodeHeartbeat(request,
@@ -321,11 +382,21 @@ class Fleet(object):
321
382
  wait_for_ready=None,
322
383
  timeout=None,
323
384
  metadata=None):
324
- 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',
325
389
  flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatRequest.SerializeToString,
326
390
  flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatResponse.FromString,
327
- options, channel_credentials,
328
- 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)
329
400
 
330
401
  @staticmethod
331
402
  def PullMessages(request,
@@ -338,11 +409,21 @@ class Fleet(object):
338
409
  wait_for_ready=None,
339
410
  timeout=None,
340
411
  metadata=None):
341
- 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',
342
416
  flwr_dot_proto_dot_fleet__pb2.PullMessagesRequest.SerializeToString,
343
417
  flwr_dot_proto_dot_fleet__pb2.PullMessagesResponse.FromString,
344
- options, channel_credentials,
345
- 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)
346
427
 
347
428
  @staticmethod
348
429
  def PushMessages(request,
@@ -355,11 +436,21 @@ class Fleet(object):
355
436
  wait_for_ready=None,
356
437
  timeout=None,
357
438
  metadata=None):
358
- 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',
359
443
  flwr_dot_proto_dot_fleet__pb2.PushMessagesRequest.SerializeToString,
360
444
  flwr_dot_proto_dot_fleet__pb2.PushMessagesResponse.FromString,
361
- options, channel_credentials,
362
- 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)
363
454
 
364
455
  @staticmethod
365
456
  def GetRun(request,
@@ -372,11 +463,21 @@ class Fleet(object):
372
463
  wait_for_ready=None,
373
464
  timeout=None,
374
465
  metadata=None):
375
- 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',
376
470
  flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
377
471
  flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
378
- options, channel_credentials,
379
- 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)
380
481
 
381
482
  @staticmethod
382
483
  def GetFab(request,
@@ -389,11 +490,21 @@ class Fleet(object):
389
490
  wait_for_ready=None,
390
491
  timeout=None,
391
492
  metadata=None):
392
- 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',
393
497
  flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
394
498
  flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
395
- options, channel_credentials,
396
- 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)
397
508
 
398
509
  @staticmethod
399
510
  def PushObject(request,
@@ -406,11 +517,21 @@ class Fleet(object):
406
517
  wait_for_ready=None,
407
518
  timeout=None,
408
519
  metadata=None):
409
- 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',
410
524
  flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
411
525
  flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
412
- options, channel_credentials,
413
- 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)
414
535
 
415
536
  @staticmethod
416
537
  def PullObject(request,
@@ -423,11 +544,21 @@ class Fleet(object):
423
544
  wait_for_ready=None,
424
545
  timeout=None,
425
546
  metadata=None):
426
- 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',
427
551
  flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
428
552
  flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
429
- options, channel_credentials,
430
- 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)
431
562
 
432
563
  @staticmethod
433
564
  def ConfirmMessageReceived(request,
@@ -440,8 +571,18 @@ class Fleet(object):
440
571
  wait_for_ready=None,
441
572
  timeout=None,
442
573
  metadata=None):
443
- 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',
444
578
  flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
445
579
  flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
446
- options, channel_credentials,
447
- 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)