flwr 1.23.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 (292) 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/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/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/federation/__init__.py +24 -0
  15. flwr/cli/federation/ls.py +140 -0
  16. flwr/cli/federation/show.py +317 -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 +170 -130
  21. flwr/cli/new/new.py +33 -50
  22. flwr/cli/new/templates/app/code/task.pytorch.py.tpl +1 -0
  23. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +1 -1
  24. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -1
  25. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +1 -1
  26. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
  27. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +1 -1
  28. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
  29. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +3 -3
  30. flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +1 -1
  31. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
  32. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
  33. flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +1 -1
  34. flwr/cli/pull.py +10 -5
  35. flwr/cli/run/run.py +77 -30
  36. flwr/cli/run_utils.py +130 -0
  37. flwr/cli/stop.py +25 -7
  38. flwr/cli/supernode/ls.py +16 -8
  39. flwr/cli/supernode/register.py +9 -4
  40. flwr/cli/supernode/unregister.py +5 -3
  41. flwr/cli/utils.py +376 -16
  42. flwr/client/__init__.py +1 -1
  43. flwr/client/dpfedavg_numpy_client.py +4 -1
  44. flwr/client/grpc_adapter_client/connection.py +6 -7
  45. flwr/client/grpc_rere_client/connection.py +10 -11
  46. flwr/client/grpc_rere_client/grpc_adapter.py +6 -2
  47. flwr/client/grpc_rere_client/node_auth_client_interceptor.py +2 -1
  48. flwr/client/message_handler/message_handler.py +2 -2
  49. flwr/client/mod/secure_aggregation/secaggplus_mod.py +3 -3
  50. flwr/client/numpy_client.py +1 -1
  51. flwr/client/rest_client/connection.py +12 -14
  52. flwr/client/run_info_store.py +4 -5
  53. flwr/client/typing.py +1 -1
  54. flwr/clientapp/client_app.py +9 -10
  55. flwr/clientapp/mod/centraldp_mods.py +16 -17
  56. flwr/clientapp/mod/localdp_mod.py +8 -9
  57. flwr/clientapp/typing.py +1 -1
  58. flwr/clientapp/utils.py +3 -3
  59. flwr/common/address.py +1 -2
  60. flwr/common/args.py +3 -4
  61. flwr/common/config.py +13 -16
  62. flwr/common/constant.py +5 -2
  63. flwr/common/differential_privacy.py +3 -4
  64. flwr/common/event_log_plugin/event_log_plugin.py +3 -4
  65. flwr/common/exit/exit.py +15 -2
  66. flwr/common/exit/exit_code.py +19 -0
  67. flwr/common/exit/exit_handler.py +6 -2
  68. flwr/common/exit/signal_handler.py +5 -5
  69. flwr/common/grpc.py +6 -6
  70. flwr/common/inflatable_protobuf_utils.py +1 -1
  71. flwr/common/inflatable_utils.py +38 -21
  72. flwr/common/logger.py +19 -19
  73. flwr/common/message.py +4 -4
  74. flwr/common/object_ref.py +7 -7
  75. flwr/common/record/array.py +3 -3
  76. flwr/common/record/arrayrecord.py +18 -30
  77. flwr/common/record/configrecord.py +3 -3
  78. flwr/common/record/recorddict.py +5 -5
  79. flwr/common/record/typeddict.py +9 -2
  80. flwr/common/recorddict_compat.py +7 -10
  81. flwr/common/retry_invoker.py +20 -20
  82. flwr/common/secure_aggregation/ndarrays_arithmetic.py +3 -3
  83. flwr/common/serde.py +5 -4
  84. flwr/common/serde_utils.py +2 -2
  85. flwr/common/telemetry.py +9 -5
  86. flwr/common/typing.py +52 -37
  87. flwr/compat/client/app.py +38 -37
  88. flwr/compat/client/grpc_client/connection.py +11 -11
  89. flwr/compat/server/app.py +5 -6
  90. flwr/proto/appio_pb2.py +13 -3
  91. flwr/proto/appio_pb2.pyi +134 -65
  92. flwr/proto/appio_pb2_grpc.py +20 -0
  93. flwr/proto/appio_pb2_grpc.pyi +27 -0
  94. flwr/proto/clientappio_pb2.py +17 -7
  95. flwr/proto/clientappio_pb2.pyi +15 -0
  96. flwr/proto/clientappio_pb2_grpc.py +206 -40
  97. flwr/proto/clientappio_pb2_grpc.pyi +168 -53
  98. flwr/proto/control_pb2.py +71 -52
  99. flwr/proto/control_pb2.pyi +277 -111
  100. flwr/proto/control_pb2_grpc.py +249 -40
  101. flwr/proto/control_pb2_grpc.pyi +185 -52
  102. flwr/proto/error_pb2.py +13 -3
  103. flwr/proto/error_pb2.pyi +24 -6
  104. flwr/proto/error_pb2_grpc.py +20 -0
  105. flwr/proto/error_pb2_grpc.pyi +27 -0
  106. flwr/proto/fab_pb2.py +14 -4
  107. flwr/proto/fab_pb2.pyi +59 -31
  108. flwr/proto/fab_pb2_grpc.py +20 -0
  109. flwr/proto/fab_pb2_grpc.pyi +27 -0
  110. flwr/proto/federation_pb2.py +38 -0
  111. flwr/proto/federation_pb2.pyi +56 -0
  112. flwr/proto/federation_pb2_grpc.py +24 -0
  113. flwr/proto/federation_pb2_grpc.pyi +31 -0
  114. flwr/proto/fleet_pb2.py +14 -4
  115. flwr/proto/fleet_pb2.pyi +137 -61
  116. flwr/proto/fleet_pb2_grpc.py +189 -48
  117. flwr/proto/fleet_pb2_grpc.pyi +175 -61
  118. flwr/proto/grpcadapter_pb2.py +14 -4
  119. flwr/proto/grpcadapter_pb2.pyi +38 -16
  120. flwr/proto/grpcadapter_pb2_grpc.py +35 -4
  121. flwr/proto/grpcadapter_pb2_grpc.pyi +38 -7
  122. flwr/proto/heartbeat_pb2.py +17 -7
  123. flwr/proto/heartbeat_pb2.pyi +51 -22
  124. flwr/proto/heartbeat_pb2_grpc.py +20 -0
  125. flwr/proto/heartbeat_pb2_grpc.pyi +27 -0
  126. flwr/proto/log_pb2.py +13 -3
  127. flwr/proto/log_pb2.pyi +34 -11
  128. flwr/proto/log_pb2_grpc.py +20 -0
  129. flwr/proto/log_pb2_grpc.pyi +27 -0
  130. flwr/proto/message_pb2.py +15 -5
  131. flwr/proto/message_pb2.pyi +154 -86
  132. flwr/proto/message_pb2_grpc.py +20 -0
  133. flwr/proto/message_pb2_grpc.pyi +27 -0
  134. flwr/proto/node_pb2.py +15 -5
  135. flwr/proto/node_pb2.pyi +50 -25
  136. flwr/proto/node_pb2_grpc.py +20 -0
  137. flwr/proto/node_pb2_grpc.pyi +27 -0
  138. flwr/proto/recorddict_pb2.py +13 -3
  139. flwr/proto/recorddict_pb2.pyi +184 -107
  140. flwr/proto/recorddict_pb2_grpc.py +20 -0
  141. flwr/proto/recorddict_pb2_grpc.pyi +27 -0
  142. flwr/proto/run_pb2.py +40 -31
  143. flwr/proto/run_pb2.pyi +149 -84
  144. flwr/proto/run_pb2_grpc.py +20 -0
  145. flwr/proto/run_pb2_grpc.pyi +27 -0
  146. flwr/proto/serverappio_pb2.py +13 -3
  147. flwr/proto/serverappio_pb2.pyi +32 -8
  148. flwr/proto/serverappio_pb2_grpc.py +246 -65
  149. flwr/proto/serverappio_pb2_grpc.pyi +221 -85
  150. flwr/proto/simulationio_pb2.py +16 -8
  151. flwr/proto/simulationio_pb2.pyi +15 -0
  152. flwr/proto/simulationio_pb2_grpc.py +162 -41
  153. flwr/proto/simulationio_pb2_grpc.pyi +149 -55
  154. flwr/proto/transport_pb2.py +20 -10
  155. flwr/proto/transport_pb2.pyi +249 -160
  156. flwr/proto/transport_pb2_grpc.py +35 -4
  157. flwr/proto/transport_pb2_grpc.pyi +38 -8
  158. flwr/server/app.py +38 -17
  159. flwr/server/client_manager.py +4 -5
  160. flwr/server/client_proxy.py +10 -11
  161. flwr/server/compat/app.py +4 -5
  162. flwr/server/compat/app_utils.py +2 -1
  163. flwr/server/compat/grid_client_proxy.py +10 -12
  164. flwr/server/compat/legacy_context.py +3 -4
  165. flwr/server/fleet_event_log_interceptor.py +2 -1
  166. flwr/server/grid/grid.py +2 -3
  167. flwr/server/grid/grpc_grid.py +10 -8
  168. flwr/server/grid/inmemory_grid.py +4 -4
  169. flwr/server/run_serverapp.py +2 -3
  170. flwr/server/server.py +34 -39
  171. flwr/server/server_app.py +7 -8
  172. flwr/server/server_config.py +1 -2
  173. flwr/server/serverapp/app.py +34 -28
  174. flwr/server/serverapp_components.py +4 -5
  175. flwr/server/strategy/aggregate.py +9 -8
  176. flwr/server/strategy/bulyan.py +13 -11
  177. flwr/server/strategy/dp_adaptive_clipping.py +16 -20
  178. flwr/server/strategy/dp_fixed_clipping.py +12 -17
  179. flwr/server/strategy/dpfedavg_adaptive.py +3 -4
  180. flwr/server/strategy/dpfedavg_fixed.py +6 -10
  181. flwr/server/strategy/fault_tolerant_fedavg.py +14 -13
  182. flwr/server/strategy/fedadagrad.py +18 -14
  183. flwr/server/strategy/fedadam.py +16 -14
  184. flwr/server/strategy/fedavg.py +16 -17
  185. flwr/server/strategy/fedavg_android.py +15 -15
  186. flwr/server/strategy/fedavgm.py +21 -18
  187. flwr/server/strategy/fedmedian.py +2 -3
  188. flwr/server/strategy/fedopt.py +11 -10
  189. flwr/server/strategy/fedprox.py +10 -9
  190. flwr/server/strategy/fedtrimmedavg.py +12 -11
  191. flwr/server/strategy/fedxgb_bagging.py +13 -11
  192. flwr/server/strategy/fedxgb_cyclic.py +6 -6
  193. flwr/server/strategy/fedxgb_nn_avg.py +4 -4
  194. flwr/server/strategy/fedyogi.py +16 -14
  195. flwr/server/strategy/krum.py +12 -11
  196. flwr/server/strategy/qfedavg.py +16 -15
  197. flwr/server/strategy/strategy.py +6 -9
  198. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +2 -1
  199. flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -2
  200. flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +3 -4
  201. flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +10 -12
  202. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +1 -3
  203. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +4 -4
  204. flwr/server/superlink/fleet/grpc_rere/node_auth_server_interceptor.py +3 -2
  205. flwr/server/superlink/fleet/message_handler/message_handler.py +34 -28
  206. flwr/server/superlink/fleet/rest_rere/rest_api.py +2 -2
  207. flwr/server/superlink/fleet/vce/backend/backend.py +1 -1
  208. flwr/server/superlink/fleet/vce/backend/raybackend.py +5 -5
  209. flwr/server/superlink/fleet/vce/vce_api.py +15 -9
  210. flwr/server/superlink/linkstate/in_memory_linkstate.py +115 -150
  211. flwr/server/superlink/linkstate/linkstate.py +59 -43
  212. flwr/server/superlink/linkstate/linkstate_factory.py +22 -5
  213. flwr/server/superlink/linkstate/sqlite_linkstate.py +447 -438
  214. flwr/server/superlink/linkstate/utils.py +6 -6
  215. flwr/server/superlink/serverappio/serverappio_grpc.py +1 -2
  216. flwr/server/superlink/serverappio/serverappio_servicer.py +26 -21
  217. flwr/server/superlink/simulation/simulationio_grpc.py +1 -2
  218. flwr/server/superlink/simulation/simulationio_servicer.py +18 -13
  219. flwr/server/superlink/utils.py +4 -6
  220. flwr/server/typing.py +1 -1
  221. flwr/server/utils/tensorboard.py +15 -8
  222. flwr/server/workflow/default_workflows.py +5 -5
  223. flwr/server/workflow/secure_aggregation/secagg_workflow.py +2 -4
  224. flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +8 -8
  225. flwr/serverapp/strategy/bulyan.py +16 -15
  226. flwr/serverapp/strategy/dp_adaptive_clipping.py +12 -11
  227. flwr/serverapp/strategy/dp_fixed_clipping.py +11 -14
  228. flwr/serverapp/strategy/fedadagrad.py +10 -11
  229. flwr/serverapp/strategy/fedadam.py +10 -11
  230. flwr/serverapp/strategy/fedavg.py +9 -10
  231. flwr/serverapp/strategy/fedavgm.py +17 -16
  232. flwr/serverapp/strategy/fedmedian.py +2 -2
  233. flwr/serverapp/strategy/fedopt.py +10 -11
  234. flwr/serverapp/strategy/fedprox.py +7 -8
  235. flwr/serverapp/strategy/fedtrimmedavg.py +9 -9
  236. flwr/serverapp/strategy/fedxgb_bagging.py +3 -3
  237. flwr/serverapp/strategy/fedxgb_cyclic.py +9 -9
  238. flwr/serverapp/strategy/fedyogi.py +9 -11
  239. flwr/serverapp/strategy/krum.py +7 -7
  240. flwr/serverapp/strategy/multikrum.py +9 -9
  241. flwr/serverapp/strategy/qfedavg.py +17 -16
  242. flwr/serverapp/strategy/strategy.py +6 -9
  243. flwr/serverapp/strategy/strategy_utils.py +7 -8
  244. flwr/simulation/app.py +46 -42
  245. flwr/simulation/legacy_app.py +12 -12
  246. flwr/simulation/ray_transport/ray_actor.py +10 -11
  247. flwr/simulation/ray_transport/ray_client_proxy.py +11 -12
  248. flwr/simulation/run_simulation.py +43 -43
  249. flwr/simulation/simulationio_connection.py +4 -4
  250. flwr/supercore/cli/flower_superexec.py +3 -4
  251. flwr/supercore/constant.py +31 -1
  252. flwr/supercore/corestate/corestate.py +24 -3
  253. flwr/supercore/corestate/in_memory_corestate.py +138 -0
  254. flwr/supercore/corestate/sqlite_corestate.py +157 -0
  255. flwr/supercore/ffs/disk_ffs.py +1 -2
  256. flwr/supercore/ffs/ffs.py +1 -2
  257. flwr/supercore/ffs/ffs_factory.py +1 -2
  258. flwr/{common → supercore}/heartbeat.py +20 -25
  259. flwr/supercore/object_store/in_memory_object_store.py +1 -2
  260. flwr/supercore/object_store/object_store.py +1 -2
  261. flwr/supercore/object_store/object_store_factory.py +1 -2
  262. flwr/supercore/object_store/sqlite_object_store.py +8 -7
  263. flwr/supercore/primitives/asymmetric.py +1 -1
  264. flwr/supercore/primitives/asymmetric_ed25519.py +11 -1
  265. flwr/supercore/sqlite_mixin.py +37 -34
  266. flwr/supercore/superexec/plugin/base_exec_plugin.py +1 -2
  267. flwr/supercore/superexec/plugin/exec_plugin.py +3 -3
  268. flwr/supercore/superexec/run_superexec.py +9 -13
  269. flwr/superlink/artifact_provider/artifact_provider.py +1 -2
  270. flwr/superlink/auth_plugin/auth_plugin.py +6 -9
  271. flwr/superlink/auth_plugin/noop_auth_plugin.py +6 -9
  272. flwr/superlink/federation/__init__.py +24 -0
  273. flwr/superlink/federation/federation_manager.py +64 -0
  274. flwr/superlink/federation/noop_federation_manager.py +71 -0
  275. flwr/superlink/servicer/control/control_account_auth_interceptor.py +22 -13
  276. flwr/superlink/servicer/control/control_event_log_interceptor.py +7 -7
  277. flwr/superlink/servicer/control/control_grpc.py +5 -6
  278. flwr/superlink/servicer/control/control_license_interceptor.py +3 -3
  279. flwr/superlink/servicer/control/control_servicer.py +102 -18
  280. flwr/supernode/cli/flower_supernode.py +58 -3
  281. flwr/supernode/nodestate/in_memory_nodestate.py +60 -49
  282. flwr/supernode/nodestate/nodestate.py +7 -8
  283. flwr/supernode/nodestate/nodestate_factory.py +7 -4
  284. flwr/supernode/runtime/run_clientapp.py +41 -22
  285. flwr/supernode/servicer/clientappio/clientappio_servicer.py +40 -10
  286. flwr/supernode/start_client_internal.py +158 -42
  287. {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/METADATA +8 -8
  288. flwr-1.24.0.dist-info/RECORD +454 -0
  289. flwr/supercore/object_store/utils.py +0 -43
  290. flwr-1.23.0.dist-info/RECORD +0 -439
  291. {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/WHEEL +0 -0
  292. {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,454 @@
1
+ flwr/__init__.py,sha256=qWcOJi_qjNUCo-63r8MwgeZmHt_LhbXWgGyXIcIqGw4,1333
2
+ flwr/app/__init__.py,sha256=Pqg1iWx_TiBuGYeGJnS1QgYYWcAnPnZ2h4Y5iacNSls,1195
3
+ flwr/app/error.py,sha256=Kpn6-JZCq8V3Ff-tNaJ4mnv30KEgqGTqrosfX9dLOak,2329
4
+ flwr/app/exception.py,sha256=k-OOZDZihv20mcZleY0CA4pBGJryTWZlrTgnweZVE3A,1267
5
+ flwr/app/metadata.py,sha256=rdMBn0zhIOYmCvmGENQWSQqDwcxwsMJzCle4PQdlc_Y,7331
6
+ flwr/cli/__init__.py,sha256=EfMGmHoobET6P2blBt_eOByXL8299MgFfB7XNdaPQ6I,720
7
+ flwr/cli/app.py,sha256=4qmEhpM5tuc77CNkE7CUPXr8d13S_A6Vau91GUTelGw,3167
8
+ flwr/cli/app_cmd/__init__.py,sha256=O_vTzS2u-n27fBYnDbjTMMKQQ2Bz80Y4JqGBHSAnK40,856
9
+ flwr/cli/app_cmd/publish.py,sha256=nnXU3rlh15dZ1Vn0LKZsOZcMvQ6ESN1GGWw9bqRhjBA,9688
10
+ flwr/cli/app_cmd/review.py,sha256=eiyKtAkydbs75Puxm0hVBvecV30hNt1toauZSOP_KI0,8504
11
+ flwr/cli/auth_plugin/__init__.py,sha256=qpebWV9uLpx72_J8yTVgT1DlH2Y9MK_RraDoTYEqv-w,1359
12
+ flwr/cli/auth_plugin/auth_plugin.py,sha256=H3y8oErskZxp5WdDCkFuj4B7C2ql6NLCqXns7T1YDtw,2994
13
+ flwr/cli/auth_plugin/noop_auth_plugin.py,sha256=jxCKUKs5yFb3W2p2ZUN9b7k9otVDk56Uzohr3n9Jwek,3242
14
+ flwr/cli/auth_plugin/oidc_cli_plugin.py,sha256=vEBe_a1KWdV0USAurw-LjAwVzB_TuN3lsMTA4lKN6ok,5722
15
+ flwr/cli/build.py,sha256=A9lzUNuGqLNId6PQppSWSlbMACl_LeW5Ispp9DuuX6k,10383
16
+ flwr/cli/cli_account_auth_interceptor.py,sha256=mXgxThpZjU_2Xlae9xT8ewOw60GeE64comDd57asLIY,3680
17
+ flwr/cli/config_utils.py,sha256=Yt7Y9dHSNULrRjrmNgUFuzx9ehdPj7wVokj3QcjzxFI,11155
18
+ flwr/cli/constant.py,sha256=LtxufmhkEqNWQ9doWbbbkUKa12vN_RK_Of5u0So-GHA,1729
19
+ flwr/cli/example.py,sha256=SNTorkKPrx1rOryGREUyZu8TcOc1-vFv1zEddaysdY0,2216
20
+ flwr/cli/federation/__init__.py,sha256=Nx1muSlCUZkUCBLFH-nkdx1ku-LtnKsEJ2PmnMwpGn4,836
21
+ flwr/cli/federation/ls.py,sha256=56Rk81YDfeeAdeca3o5cUmp0a6ntkLNK9f_CRD-4ZtU,4939
22
+ flwr/cli/federation/show.py,sha256=qwcubck0YcUpxuTRyAJF2YPVSlMiMJN500Wf3DB-MAk,10002
23
+ flwr/cli/install.py,sha256=yhgUWd_Psyc18DaoQHEQ5Ji45ZQ-3LclueM9uRxUEPw,10063
24
+ flwr/cli/log.py,sha256=ZWveENLdDC0Dm10YIMcc3qdGV1aO-2YZXyHBhnB6ofI,7848
25
+ flwr/cli/login/__init__.py,sha256=B1SXKU3HCQhWfFDMJhlC7FOl8UsvH4mxysxeBnrfyUE,800
26
+ flwr/cli/login/login.py,sha256=_nJKmDNVUkWRW6GnzTTNm3BmwCVjSxswtngHQfcDmZ4,4623
27
+ flwr/cli/ls.py,sha256=IReCUJLBofsroCSq2kJo2EOkipiOgz81lo1-HlYPjL4,11889
28
+ flwr/cli/new/__init__.py,sha256=QA1E2QtzPvFCjLTUHnFnJbufuFiGyT_0Y53Wpbvg1F0,790
29
+ flwr/cli/new/new.py,sha256=Q2fv9aspTeGDKHZt3EwZK7eFqyjBvUNxX-CMRUpwcDU,14619
30
+ flwr/cli/new/templates/__init__.py,sha256=FpjWCfIySU2DB4kh0HOXLAjlZNNFDTVU4w3HoE2TzcI,725
31
+ flwr/cli/new/templates/app/.gitignore.tpl,sha256=HZJcGQoxp7aUzaPg8Uqch3kNrIESwr9yjimDxJYgXVY,3104
32
+ flwr/cli/new/templates/app/LICENSE.tpl,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
33
+ flwr/cli/new/templates/app/README.baseline.md.tpl,sha256=oClo5eR0iLuPzBT7uS3ikhNRAnySz_lhkHFElixKyJM,9640
34
+ flwr/cli/new/templates/app/README.flowertune.md.tpl,sha256=2-W0HAseLWOe1JJU0TsNocp63D14N7jLwWhtYjxlfxs,3494
35
+ flwr/cli/new/templates/app/README.md.tpl,sha256=uI8vUMCEGA1-WJ8-9EUFCnNtofWFkJNOxaR1V6r_Su4,1908
36
+ flwr/cli/new/templates/app/__init__.py,sha256=LbR0ksGiF566JcHM_H5m1Tc4-oYUEilWFlcXR-Oe6bI,729
37
+ flwr/cli/new/templates/app/code/__init__.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
38
+ flwr/cli/new/templates/app/code/__init__.py,sha256=zXa2YU1swzHxOKDQbwlDMEwVPOUswVeosjkiXNMTgFo,736
39
+ flwr/cli/new/templates/app/code/__init__.py.tpl,sha256=J0Gn74E7khpLyKJVNqOPu7ev93vkcu1PZugsbxtABMw,52
40
+ flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl,sha256=mKIS8MK_X8T9NlmcX1-_c9Bbexc-ueqDIBI7uN6c4dE,45
41
+ flwr/cli/new/templates/app/code/client.baseline.py.tpl,sha256=w8xYWhVAb5AFDLj206Nxz5U-xbzDBv0px2FFvE5wRTM,2438
42
+ flwr/cli/new/templates/app/code/client.huggingface.py.tpl,sha256=SIZZ3s-6u8IU8cFfsqu6ZU8zjhfI1m1SWauOSUcW8TA,3015
43
+ flwr/cli/new/templates/app/code/client.jax.py.tpl,sha256=uFCIPwAHYiRAgh2W3nRni_Oig02ZzRF-ofUG5O19zcE,2125
44
+ flwr/cli/new/templates/app/code/client.mlx.py.tpl,sha256=CHU2IBIzI2YENZZuvTsAlSdL94DK19wMYMIhr-JgwZ8,3422
45
+ flwr/cli/new/templates/app/code/client.numpy.py.tpl,sha256=1_WEoOPe9jJeK-7FZgYuDUqY8mC0vxgqA83d-h201Gk,1381
46
+ flwr/cli/new/templates/app/code/client.pytorch.py.tpl,sha256=fYoh-dTu07LkqNYvwcxQnbgVvH4Yo4eiGEcyHECbsnU,2473
47
+ flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl,sha256=fuxVmZpjHIueNy_aHWF81531vmi8DGu4CYjYDqmUwWo,1705
48
+ flwr/cli/new/templates/app/code/client.sklearn.py.tpl,sha256=0qqEe-RRjkHGOH8gsD9e83ae-kyyYixhyBgzVHjYpzk,3500
49
+ flwr/cli/new/templates/app/code/client.tensorflow.py.tpl,sha256=8o55KXpsbF_rv6o98ZNYJDCazjwMp_RPTaSzDfT7Qlw,2682
50
+ flwr/cli/new/templates/app/code/client.xgboost.py.tpl,sha256=-ipRV8gqpbEg7Mht77Yyqs1viL-3JYSVZR47I7xeG4c,3493
51
+ flwr/cli/new/templates/app/code/dataset.baseline.py.tpl,sha256=jbd_exHAk2-Blu_kVutjPO6a_dkJQWb232zxSeXIZ1k,1453
52
+ flwr/cli/new/templates/app/code/flwr_tune/__init__.py,sha256=Xq5fEn5yZkw6HAJi10T_3HRBoqN5_5pNqJHY4wXvD5k,748
53
+ flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl,sha256=p6BzTbP-mXkFANiVC7iz3YlskOidWaLC341IJyrUotQ,2951
54
+ flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl,sha256=1NA2Sf-EviNtOaYN4dnFk6v2tcZVsY3-eXY84wOXVng,3059
55
+ flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl,sha256=UCLEKUpXarkz9tMFtDrxmLv6QuKe5zCimTuoopQedUM,1717
56
+ flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl,sha256=qe9Om3P2ERvvSj2NN5RSEKgNgztWatCpWtC8SkS_T_M,2420
57
+ flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl,sha256=M6CzBY-gtIqLOu2xTtABXOVgBnqKOu7d6Vn2sazmYuI,2444
58
+ flwr/cli/new/templates/app/code/model.baseline.py.tpl,sha256=P6jTuN9reJfdthiN3mOUHiA4xrtDh5TTUcAV6210-hU,2104
59
+ flwr/cli/new/templates/app/code/server.baseline.py.tpl,sha256=hliBSfHSzg4bi6PxMlj4oGFfvzvi-4DzoaI67VZbJeQ,1111
60
+ flwr/cli/new/templates/app/code/server.huggingface.py.tpl,sha256=_2Mv-SqGSMf7sMdbMEmvROzedvNaVHvhIIO3eYAhVYU,1252
61
+ flwr/cli/new/templates/app/code/server.jax.py.tpl,sha256=RW-rh7ogcJ3_BD66bJxTw-ZoP7c-4SK8hVHc-e0SSVY,1029
62
+ flwr/cli/new/templates/app/code/server.mlx.py.tpl,sha256=J8rIe6RL2ndODVJD79xShRKBH70HljFSCi4s_RJ-xLQ,1200
63
+ flwr/cli/new/templates/app/code/server.numpy.py.tpl,sha256=T3hcKbPw3uL5lXEP-MuVJXIBXjzva5sWJXfpQqarUwA,955
64
+ flwr/cli/new/templates/app/code/server.pytorch.py.tpl,sha256=epARqfcQ-EQsdZwaaaUp5y4OSTBT6CiFGlNRocw-23A,1158
65
+ flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl,sha256=gvBsGA_Jg9kAH8xTxjzTjMcvBtciuccOwQFbO7ey8tU,916
66
+ flwr/cli/new/templates/app/code/server.sklearn.py.tpl,sha256=ehQ5VRgBn92WeFl6kupwJnuxSNkKvE-EvKde6A9mNQo,1377
67
+ flwr/cli/new/templates/app/code/server.tensorflow.py.tpl,sha256=2-WTOPd-ewdLd9QmSlflIH7ix7zxAzPEOZoyiPBOy8c,1010
68
+ flwr/cli/new/templates/app/code/server.xgboost.py.tpl,sha256=fwtCRyCG2hDSH1zVMyZv7zA7wsdKNPfpugDSZjxCs5Q,1746
69
+ flwr/cli/new/templates/app/code/strategy.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
70
+ flwr/cli/new/templates/app/code/task.huggingface.py.tpl,sha256=piBbY3Dg60bQnCg15uzMw0QiL5SDOYX4YhQouy-X2zI,3164
71
+ flwr/cli/new/templates/app/code/task.jax.py.tpl,sha256=Fb0XgdTAQplM-ZCusI081XA9asO3gHptH772S-Xcyy8,1525
72
+ flwr/cli/new/templates/app/code/task.mlx.py.tpl,sha256=YxH5z4s5kOh5_9DIY9pvzqURckLDfgdanTA68_iM_Wo,2946
73
+ flwr/cli/new/templates/app/code/task.numpy.py.tpl,sha256=CwUJPnN3z6GjP8-KVGWzx7RYRJsl0wLFZ72xscvl3RM,126
74
+ flwr/cli/new/templates/app/code/task.pytorch.py.tpl,sha256=Mc-O7kLdBYSz4dLtrJGFh8_Is5agq7hMfHH8G5So9fM,3461
75
+ flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl,sha256=XlJqA4Ix_PloO_zJLhjiN5vDj16w3I4CPVGdmbe8asE,3800
76
+ flwr/cli/new/templates/app/code/task.sklearn.py.tpl,sha256=vHdhtMp0FHxbYafXyhDT9aKmmmA0Jvpx5Oum1Yu9lWY,1850
77
+ flwr/cli/new/templates/app/code/task.tensorflow.py.tpl,sha256=impgWN7MfztmcWF4xh1llcZGsgTvrb1HD5ZE0t-8U08,1731
78
+ flwr/cli/new/templates/app/code/task.xgboost.py.tpl,sha256=0xO8jQvrHuB1llVDopQPOmt5Hn6rBw8umzoNwiZZs-o,2135
79
+ flwr/cli/new/templates/app/code/utils.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
80
+ flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=yj8Hwa6TCk_p4LzGLICfan0kr9XY84GUAYKsnBrp9po,3182
81
+ flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=I1kerPViFarJCJy9bMJ8iUzyjjyN8YuCr4NKIOQOOlU,2501
82
+ flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=sp1cCcsZMyPPfM_2TOCHdnEUSEEVMIyDJIUp3u9Y5HI,2020
83
+ flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=Q96m1Taa1G1yvQAmc0JXqo1zBxK6ZbyTlChxUSjJN_0,1471
84
+ flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=LSO9_NWq-awCnDlRc2p-q82QqJtGUETHDOt_yF7mvSM,1542
85
+ flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=W0S-ICbndTu5WpvuPQPH4ipR4va76Acv9sRz7P460C8,1409
86
+ flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=MsoW2HVqVcdfa7hGahnV87Ee198GsxB48_b6WGXkP4E,1490
87
+ flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl,sha256=WID8ekdB7wlPYryrlcCPM0xw2kzubwqFc6_yiIeoY74,1508
88
+ flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=8yQeX0yvLLpqjm6TOksrL9JmqaZE3WWs7nJrlO7Ssas,1484
89
+ flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=0EOfQ24SXAiWd-z-1r3Ad9vscCrjKfe5-tgev55XURs,1500
90
+ flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl,sha256=YwgeVboJ8Q9xqCoEa-fUa8-rWZltBe0u_KyfEzn8n-c,1661
91
+ flwr/cli/pull.py,sha256=WRQOVxovWNX0kRnjUwCyFwyVmAEQY54EpQKFGEGUVUk,3530
92
+ flwr/cli/run/__init__.py,sha256=RPyB7KbYTFl6YRiilCch6oezxrLQrl1kijV7BMGkLbA,790
93
+ flwr/cli/run/run.py,sha256=mL97D-4EbRlqVdB83oUPYyj_ZSiQuJ1k7zy8jQGLkQA,10018
94
+ flwr/cli/run_utils.py,sha256=m1qgQdUZptL3ejIOHI0RF_-_3PxhiebEQh1DkG60xl4,4164
95
+ flwr/cli/stop.py,sha256=g5Tnkf-Xl0VYafvALtI7Zl4kRSc9Vg4DckaWj4sXsjE,5477
96
+ flwr/cli/supernode/__init__.py,sha256=DBkjoPo2hS2Y-ghJxwLbrAbCQFBgD82_Itl2_892UBo,917
97
+ flwr/cli/supernode/ls.py,sha256=8wxiwizKq_xXsDk2be6zYpeN-Giz6rO02s4l2y41R0k,8834
98
+ flwr/cli/supernode/register.py,sha256=2aQTT2wEp2pxxuIacC6FQkN8q_QKifZhWjD7LNw1R2A,6527
99
+ flwr/cli/supernode/unregister.py,sha256=PXugcJJrM7cP3HbULjgcO22DciDP2uWN7YNgce4hv5E,4632
100
+ flwr/cli/utils.py,sha256=OREEBMdKL2xWolhePtp_z_aQ7n5tHKQH9vr55XLv56E,24527
101
+ flwr/client/__init__.py,sha256=xwkPJfdeWxIIfmiPE5vnmnY_JbTlErP0Qs9eBP6qRFg,1252
102
+ flwr/client/client.py,sha256=3HAchxvknKG9jYbB7swNyDj-e5vUWDuMKoLvbT7jCVM,7895
103
+ flwr/client/dpfedavg_numpy_client.py,sha256=ELDHyEJcTB-FlLhHC-JXy8HuB3ZFHfT0HL3g1VSWY5w,7451
104
+ flwr/client/grpc_adapter_client/__init__.py,sha256=RQWP5mFPROLHKgombiRvPXVWSoVrQ81wvZm0-lOuuBA,742
105
+ flwr/client/grpc_adapter_client/connection.py,sha256=2EqYS2srRVFWRKcLVjM4nnSnEglbXb_SrY8HOrIvhY4,4228
106
+ flwr/client/grpc_rere_client/__init__.py,sha256=i7iS0Lt8B7q0E2L72e4F_YrKm6ClRKnd71PNA6PW2O0,752
107
+ flwr/client/grpc_rere_client/connection.py,sha256=3iaO4ouFt3H-ql2GyqoMqVa-wHMtjejIv6vDoeIYMeo,13711
108
+ flwr/client/grpc_rere_client/grpc_adapter.py,sha256=NlYVdKSyZ2hrKdYgIsz3-kmMaQI3Nj2fe3gXeTMyZjM,7565
109
+ flwr/client/grpc_rere_client/node_auth_client_interceptor.py,sha256=rIUo64KOSYMC-GlfTvIYgeouAX8i6eOd5Rq2Yi9UFMY,2437
110
+ flwr/client/message_handler/__init__.py,sha256=0lyljDVqre3WljiZbPcwCCf8GiIaSVI_yo_ylEyPwSE,719
111
+ flwr/client/message_handler/message_handler.py,sha256=GL-h_kxlh88RlZhnDEiSRH5sifZ42zLCJL9MbcW-YMg,6528
112
+ flwr/client/mod/__init__.py,sha256=AtV4Y5UGuYqJdTg7bJ--KtfOZUYLGDPMy616LvtP5W4,1151
113
+ flwr/client/mod/centraldp_mods.py,sha256=ha5j0vDT7Mi8Ke5iz-hMn3H_H1jnXW10EswoyKYrRag,5422
114
+ flwr/client/mod/comms_mods.py,sha256=ehp0AF-nGXxQOtm4G5Ts_7RTP04x5Y8PmA1Myfrjuro,3479
115
+ flwr/client/mod/localdp_mod.py,sha256=GzVQrydejUfFDgnIIEIwrUU2DgvhN990LUnoydm9Tpo,5008
116
+ flwr/client/mod/secure_aggregation/__init__.py,sha256=k8HYXvqu3pd_V3eZ0_5wwH52o-C6XJCPbT4n4anYyWY,849
117
+ flwr/client/mod/secure_aggregation/secagg_mod.py,sha256=y54DvpM2-DWUiEYqgwZ0DssC1VVRCJEfGgST7O3OcwM,1095
118
+ flwr/client/mod/secure_aggregation/secaggplus_mod.py,sha256=8dK3v58tZztbdxzWW6VCFm06mIJwXVeIqxQmpIT7ZR0,19753
119
+ flwr/client/mod/utils.py,sha256=FUgD2TfcWqSeF6jUKZ4i6Ke56U4Nrv85AeVb93s6R9g,1201
120
+ flwr/client/numpy_client.py,sha256=0RqxyVRAo_6oc8eZqSPC10chJk8hjz-8aUpgxCre950,9590
121
+ flwr/client/rest_client/__init__.py,sha256=MBiuK62hj439m9rtwSwI184Hth6Tt5GbmpNMyl3zkZY,735
122
+ flwr/client/rest_client/connection.py,sha256=BNMS0DU2sl5M1651Nh-re1iiuR4hDvIetd2s-cOyETM,17416
123
+ flwr/client/run_info_store.py,sha256=3lINm9f7f6tgZJ3Dx-e9E9DrVhrrjXNYii0RnBDS79w,4002
124
+ flwr/client/typing.py,sha256=SfM-8BWSQww_PSU-B1ScRDDWCyjgI0QF8WGRpfPBUYs,1057
125
+ flwr/clientapp/__init__.py,sha256=dsXH29kvCk1meJj9UYMCIak8zehuuhVp0uDJ2COU_1c,829
126
+ flwr/clientapp/client_app.py,sha256=0izMnoamP6zVienJixN2qKzwt_WYm9vC22ekzrpYZ6Q,16870
127
+ flwr/clientapp/mod/__init__.py,sha256=w18mDPUmjlm5P_er2GJ7l6Zbh8qyiHfMKoVqXxaTxdE,1024
128
+ flwr/clientapp/mod/centraldp_mods.py,sha256=a40NONArH35n6WXC14eMejEsPzrZICnAF3Ct4bF-C2A,8900
129
+ flwr/clientapp/mod/localdp_mod.py,sha256=CHh0SJOSWSD6In9p9yOFbE7S4eH1m-aQcStT8ZIXeuI,5597
130
+ flwr/clientapp/typing.py,sha256=Ld2rsD40SvIRD1Z_IdAGaYSbRtkgXZ5CPFIkJJ3Ao-A,862
131
+ flwr/clientapp/utils.py,sha256=UEb3DFpAsAaG1ARU34D3L8njn4k1iPg-qpHl_Hyo8zA,4340
132
+ flwr/common/__init__.py,sha256=5GCLVk399Az_rTJHNticRlL0Sl_oPw_j5_LuFKfX7-M,4171
133
+ flwr/common/address.py,sha256=AEy6G8dSADGGRMrLqqC_eAM_3Kwn9DzcStIVU_fHzIg,4085
134
+ flwr/common/args.py,sha256=1ehgieKUQ9AtNcu2S5y501jB_mJ8mPA7GXiS3imGdgM,5799
135
+ flwr/common/config.py,sha256=H0MxI_gpNVhzKvgIZKrYEVevk3NScQgcFSXeTRryBS8,13908
136
+ flwr/common/constant.py,sha256=FXrYiMbQMCO0a-5ek0_tsUBg5KMQXxgavvVzowyN5dQ,10358
137
+ flwr/common/context.py,sha256=Be8obQR_OvEDy1OmshuUKxGRQ7Qx89mf5F4xlhkR10s,2407
138
+ flwr/common/date.py,sha256=1ZT2cRSpC2DJqprOVTLXYCR_O2_OZR0zXO_brJ3LqWc,1554
139
+ flwr/common/differential_privacy.py,sha256=HiW2qQa5mCQfE0oePapFp3q0uZzjoHKthp5UrkRFtY8,6143
140
+ flwr/common/differential_privacy_constants.py,sha256=ruEjH4qF_S2bgxRI6brWCGWQPxFk-P7pviFguy9KvQ0,1074
141
+ flwr/common/dp.py,sha256=ftqWheOICK5N_zPaofnbFb474lMb5w9lclwxf5DKY0w,1978
142
+ flwr/common/event_log_plugin/__init__.py,sha256=ts3VAL3Fk6Grp1EK_1Qg_V-BfOof9F86iBx4rbrEkyo,838
143
+ flwr/common/event_log_plugin/event_log_plugin.py,sha256=uJYR363nVzjfJePay3UHwaifwgBx2rAbKHHAuQC10VU,2014
144
+ flwr/common/exit/__init__.py,sha256=8W7xaO1iw0vacgmQW7FTFbSh7csNv6XfsgIlnIbNF6U,978
145
+ flwr/common/exit/exit.py,sha256=L0_FicBMm5VhLBBV-qZUn8TJy1rXDPSx-6OTuzbP_1Y,4015
146
+ flwr/common/exit/exit_code.py,sha256=1S_LJNdo2lai3tjAYgZgNjN5jcIyU60Y1a-IDfUZVAM,6702
147
+ flwr/common/exit/exit_handler.py,sha256=zUAXHtp4rYK_sbkgsqS5zrVAzJUiSBrB-a4Ay3vSPE8,2302
148
+ flwr/common/exit/signal_handler.py,sha256=o_e33v9kP0jz13q-8BZDrKF7vNCzOApvDPZ3-nTXfIc,3697
149
+ flwr/common/grpc.py,sha256=ZTA3jol8iQTaUXPspJXrdOTkRMc6q2oS-Sa7jcDMCtM,9784
150
+ flwr/common/inflatable.py,sha256=GDL9oBKs16_yyVdlH6kBf493O5xll_h9V7XB5Mpx1Hc,9524
151
+ flwr/common/inflatable_protobuf_utils.py,sha256=GTX9yoEAXhKPwcKc4ltmJHUvARFsC4qvkoNCMHqpVtc,5065
152
+ flwr/common/inflatable_utils.py,sha256=nooSMLLiOcHGqFx9n1Il_dAp76JIKyc36ibnkijwELE,19540
153
+ flwr/common/logger.py,sha256=nAfGWqT6b39tzEPe74L7qCgyPmxeJNYwVvTyHi5Tb-4,12981
154
+ flwr/common/message.py,sha256=TGQE_sDvWQNlRTmBoFPIb6KzKgGq0v0J3aQiGhdsZqA,19912
155
+ flwr/common/object_ref.py,sha256=aw6BLQlZRVqcfuyX2bScc71ZTRZtrBIAHyxYfplTkNE,9081
156
+ flwr/common/parameter.py,sha256=UVw6sOgehEFhFs4uUCMl2kfVq1PD6ncmWgPLMsZPKPE,2095
157
+ flwr/common/pyproject.py,sha256=2SU6yJW7059SbMXgzjOdK1GZRWO6AixDH7BmdxbMvHI,1386
158
+ flwr/common/record/__init__.py,sha256=cNGccdDoxttqgnUgyKRIqLWULjW-NaSmOufVxtXq-sw,1197
159
+ flwr/common/record/array.py,sha256=muWtpy5hj8eqwKVz1rANdPV2gWBjFmkQYyl0XTPfBnc,15035
160
+ flwr/common/record/arraychunk.py,sha256=gU5h6uP7H_06Z14wNixtwH2FvepQkl9FpALXg9qcbhM,1936
161
+ flwr/common/record/arrayrecord.py,sha256=WovAEEX215EOlrbbNZ1aIqvvtsQ3YUet1mKMBrHmyGk,17908
162
+ flwr/common/record/configrecord.py,sha256=cDIM-AnTSo716JLPzYuFEczREtnx2bfF9uSxau4IWwc,9766
163
+ flwr/common/record/conversion_utils.py,sha256=wbNCzy7oAqaA3-arhls_EqRZYXRC4YrWIoE-Gy82fJ0,1191
164
+ flwr/common/record/metricrecord.py,sha256=KOyJjJbvFV6IwBPbgm92FZ_0_hXpMHuwfCi1rh5Zddk,8954
165
+ flwr/common/record/recorddict.py,sha256=OEXv_zzlteeAULR5bE152x2DxRQsbIy8XBHJhlnjYxg,14980
166
+ flwr/common/record/typeddict.py,sha256=fFoVhD_ERqSoHP6iJ7GpLTzbv7QFw_YT3vsm_ZkXwV4,4131
167
+ flwr/common/recorddict_compat.py,sha256=1M7M9tm_wSUyHRxeZVEELp1c9nlWPySc6GQECBFdrpQ,14024
168
+ flwr/common/retry_invoker.py,sha256=VkT91iOhSHu4Ioc2fhxeHP4AhwzIvZYeIsnpqKYGoqw,15217
169
+ flwr/common/secure_aggregation/__init__.py,sha256=MgW6uHGhyFLBAYQqa1Vzs5n2Gc0d4yEw1_NmerFir70,731
170
+ flwr/common/secure_aggregation/crypto/__init__.py,sha256=5E4q4-Fw0CNz4tLah_QHj7m_rDeM4ucHcFlPWB_Na3Q,738
171
+ flwr/common/secure_aggregation/crypto/shamir.py,sha256=N8pPa5cEksowNoAqfFm5SP3IuxuVi9GGMa3JOtPniQY,3954
172
+ flwr/common/secure_aggregation/crypto/symmetric_encryption.py,sha256=fc8h7ST3mSq4d0u89vAdcxSsfspdsmOpQRba0VBn3zg,2718
173
+ flwr/common/secure_aggregation/ndarrays_arithmetic.py,sha256=Of0Y3A_pG5jzO4WUH_87frYT2Wgfj1D2PVzs0XHdwO0,2994
174
+ flwr/common/secure_aggregation/quantization.py,sha256=ssFZpiRyj9ltIh0Ai3vGkDqWFO4SoqgoD1mDU9XqMEM,2400
175
+ flwr/common/secure_aggregation/secaggplus_constants.py,sha256=dGYhWOBMMDJcQH4_tQNC8-Efqm-ecEUNN9ANz59UnCk,2182
176
+ flwr/common/secure_aggregation/secaggplus_utils.py,sha256=E_xU-Zd45daO1em7M6C2wOjFXVtJf-6tl7fp-7xq1wo,3214
177
+ flwr/common/serde.py,sha256=b3myxiIvKtpsuvBYoiNa5ywFFfKgL5ESNVehRiEl_yk,22059
178
+ flwr/common/serde_utils.py,sha256=Vk49PnZWRgo0NrvBhFqH-Li7sMFVVgyrs3Ck7kHB-ZE,5820
179
+ flwr/common/telemetry.py,sha256=H05fpO7nOvvb2FSGOsGIIwMbBaQo59FBgwqk0YafW9M,8921
180
+ flwr/common/typing.py,sha256=MX0vtznZfRRU0FPQQtbS_xkzaUbOhK2kD9pbDMAcNIs,7178
181
+ flwr/common/version.py,sha256=7GAGzPn73Mkh09qhrjbmjZQtcqVhBuzhFBaK4Mk4VRk,1325
182
+ flwr/compat/__init__.py,sha256=gbfDQKKKMZzi3GswyVRgyLdDlHiWj3wU6dg7y6m5O_s,752
183
+ flwr/compat/client/__init__.py,sha256=qpbo0lcxdNL4qy5KHqiGm8OLxSxkYgI_-dLh5rwhtcI,746
184
+ flwr/compat/client/app.py,sha256=g73kBoqNmaPXWl-5omH65qwst-R09GuyVlwAAvEUW64,27111
185
+ flwr/compat/client/grpc_client/__init__.py,sha256=MDOckOODn-FJnkkFEfb2JO-2G97wrBr_TTqht-LhOcY,735
186
+ flwr/compat/client/grpc_client/connection.py,sha256=HSf_Jc-3oWpdYcNxBnu52uFUJSRPJZrbdlCkhDV5gUk,9115
187
+ flwr/compat/common/__init__.py,sha256=OMnKw4ad0qYMSIA9LZRa2gOkhSOXwAZCpAHnBQE_hFc,746
188
+ flwr/compat/server/__init__.py,sha256=TGVSoOTuf5T5JHUVrK5wuorQF7L6Wvdem8B4uufvMJY,746
189
+ flwr/compat/server/app.py,sha256=T-Huxf2RZ6pOB3BJY3kZHKIEjRmNrIrYXMZrGPOBCBc,6442
190
+ flwr/compat/simulation/__init__.py,sha256=MApGa-tysDDw34iSdxZ7TWOKtGJM-z3i8fIRJa0qbZ8,750
191
+ flwr/proto/__init__.py,sha256=S3VbQzVwNC1P-3_9EdrXuwgptO-BVuuAe20Z_OUc1cQ,683
192
+ flwr/proto/appio_pb2.py,sha256=GhleCmuqLiDqvumA0qgVl37NTwuan_K_XpUKStXZxwU,4274
193
+ flwr/proto/appio_pb2.pyi,sha256=pbrd1mRg0q7mbGqkJYYX1-GwzhiSnuZpjrAJU5im0Og,9512
194
+ flwr/proto/appio_pb2_grpc.py,sha256=f8jZU97X0SNIz4PQ9qj43yAhgVzmaGInItUCOAGZ7tU,897
195
+ flwr/proto/appio_pb2_grpc.pyi,sha256=M-7_sdP1mjiKKC4o13hXUx5sEnX3BXSIXgovr9tNVCg,1071
196
+ flwr/proto/clientappio_pb2.py,sha256=7-BA0kgQtCGskopHdqc5QbPx7gMBp0g_bT-CykD-klc,2920
197
+ flwr/proto/clientappio_pb2.pyi,sha256=OsUGEduv1iJCew8C4cMz87Y5uQAhHDmxNyVfwA4kXd8,824
198
+ flwr/proto/clientappio_pb2_grpc.py,sha256=lPU9DN2yCVoiKpzGIjQMonNQacKL1skmQRtOqiBUjR8,22011
199
+ flwr/proto/clientappio_pb2_grpc.pyi,sha256=3vOOTv4v66HtiZ1t5xUpBqjsBdFzZ7lLGMR4e5eHlUg,9403
200
+ flwr/proto/control_pb2.py,sha256=RSrFkLnCxmrW9HXv8Qj2H7_34568HU9uKe9D23uPnBE,9231
201
+ flwr/proto/control_pb2.pyi,sha256=tTdf9mOD_rrN96l9uh8rBPc1-sTGHOdiAhtIY9mGtZc,16528
202
+ flwr/proto/control_pb2_grpc.py,sha256=XDGrK2tIT_AcopBnygjddXZRdBTtxP29q-9mK63PsP4,23321
203
+ flwr/proto/control_pb2_grpc.pyi,sha256=BewVuWjGRp4_x5h-ikQBo13OO2-t8LALPNEE5CdfkiU,10110
204
+ flwr/proto/error_pb2.py,sha256=yU22xOnidohZg2dAI4RPdCb04UVu-3B4NfujLPCRauA,1329
205
+ flwr/proto/error_pb2.pyi,sha256=Tu-keFBb_RNNefd4BAyXmiGxZjxmsbM31K6VeGEuMDE,1383
206
+ flwr/proto/error_pb2_grpc.py,sha256=7yWEIZXS_2itZjlZvUJI8qyYvKu51fhdUGHtzhd7S_s,897
207
+ flwr/proto/error_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
208
+ flwr/proto/fab_pb2.py,sha256=QDkVHGRGmugjQQUiN8A_okppZ5e2pJi5KipjnWmF6e4,2320
209
+ flwr/proto/fab_pb2.pyi,sha256=PUUZ1FHeTwXxjVmTX14Vx5gmgRSFvoW_e5v_Z5qkT54,3948
210
+ flwr/proto/fab_pb2_grpc.py,sha256=jmhCnnwSqBpZ0329XGUGARbcz5sHrr0WrXwccqzc3Vs,895
211
+ flwr/proto/fab_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
212
+ flwr/proto/federation_pb2.py,sha256=x8hwIFsw87e7STmvq5qL90RmcImCGw5oOqbke7xaykA,1670
213
+ flwr/proto/federation_pb2.pyi,sha256=_At18SzwJjlf3k3FXjVi3Op59rs2i5XcIeBSPlvfXr0,2215
214
+ flwr/proto/federation_pb2_grpc.py,sha256=HPErt9uXJPbY8jLtTNFr941z82uMm7cOx10hTHgcwZM,902
215
+ flwr/proto/federation_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
216
+ flwr/proto/fleet_pb2.py,sha256=5uzFvGiLkuR2VMuT6QKR4lxRC7K27G09wTbwxchbsYU,6486
217
+ flwr/proto/fleet_pb2.pyi,sha256=5_yam3FKsjqMgYKbRWxAZhlEk6SsslOh5TBiLisn8Mk,10163
218
+ flwr/proto/fleet_pb2_grpc.py,sha256=oR-Tw12sQiAQ_jhqGsGASPG6jdMg0Rgwb7_z_NknOOk,23702
219
+ flwr/proto/fleet_pb2_grpc.pyi,sha256=k3C0pxqvparcfrFoCWkb0gVhVeDLh4y8dH2zUa7GbQE,10227
220
+ flwr/proto/grpcadapter_pb2.py,sha256=sPB1FbcNIjw5plvQqhd_vynO0-59n9U7G882l6o1z6Y,2101
221
+ flwr/proto/grpcadapter_pb2.pyi,sha256=NjfvCSu8_sG3zqbHUvZFJR5G5Z9AzwUVvUWbaqWe9ao,2417
222
+ flwr/proto/grpcadapter_pb2_grpc.py,sha256=iM2tGp_qw7j97vkF4-hiWgmwEA9qzEn_roSkkTeePa0,3636
223
+ flwr/proto/grpcadapter_pb2_grpc.pyi,sha256=Aw4PA1BEPCD97MvQLjih80Yxu2sYyubd9400irYBL1I,2057
224
+ flwr/proto/heartbeat_pb2.py,sha256=a_mbIgR5eWS6CIOJQkp0b99emeUAGafsGcBq-syNtR8,2110
225
+ flwr/proto/heartbeat_pb2.pyi,sha256=v89OLfQuvgGORIXnc-WNhrXWJjrpCtxi29t7mT6Lg3E,3096
226
+ flwr/proto/heartbeat_pb2_grpc.py,sha256=9vqnvsBXCm6NhVQOb0vxEnNKzM2TZ3g8Cnjj7ukY-x4,901
227
+ flwr/proto/heartbeat_pb2_grpc.pyi,sha256=M-7_sdP1mjiKKC4o13hXUx5sEnX3BXSIXgovr9tNVCg,1071
228
+ flwr/proto/log_pb2.py,sha256=Zwxi_yx3brrbsPKUpBtktlx97qFi76pFUp5w7vm6_Ok,1636
229
+ flwr/proto/log_pb2.pyi,sha256=T8iHTtwfdZBmKK7kEW_Xw5KZzLmHSMOk54lxu8Kk1ow,2122
230
+ flwr/proto/log_pb2_grpc.py,sha256=qTM9EcJDpwR2IQZ85u1S08Tfw1aYKqDWgDmCG_TJbEw,895
231
+ flwr/proto/log_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
232
+ flwr/proto/message_pb2.py,sha256=Dx0BQdHq3q0IKEbo-g-byx3cDhuZJ-a7ewzrNDO1Awk,5459
233
+ flwr/proto/message_pb2.pyi,sha256=DkASBfAdGsZASSfLDS9C7Mu9riCq0NF-LLmvEzE55AM,12005
234
+ flwr/proto/message_pb2_grpc.py,sha256=-9qS3bR2BKoiN9A1HmYimZWHfnH5my8-Mm2WqFZGxrI,899
235
+ flwr/proto/message_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
236
+ flwr/proto/node_pb2.py,sha256=bT1dLQe2E4ThxJAugxEIFlnHpUcQc2exJthjLveSpZ8,2038
237
+ flwr/proto/node_pb2.pyi,sha256=pm0wAjrmnNE1r3u2OIuGKeoczfUOWr6_y7omyOWVcjs,4506
238
+ flwr/proto/node_pb2_grpc.py,sha256=Nzgzrw-b47rEO3isovapKbBRG5FtTpJBfLSOX_y3ARg,896
239
+ flwr/proto/node_pb2_grpc.pyi,sha256=vDzlebnigJ9ZwoTU7_WLohHn20x9U2h4AOXCi0ryLW0,1071
240
+ flwr/proto/recorddict_pb2.py,sha256=L2mNSyIVWA2dcI1xWI3gj0nktuDHYgxbbLuVRQKVU74,5540
241
+ flwr/proto/recorddict_pb2.pyi,sha256=BYgVNk985Ww4dCXCjDGg1YU6q7MuMqbDa0usGVH3ktg,15208
242
+ flwr/proto/recorddict_pb2_grpc.py,sha256=kw9_kXNcRe3y6j6HquG1P1MqccFFAogfi48djxbOLDE,902
243
+ flwr/proto/recorddict_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
244
+ flwr/proto/run_pb2.py,sha256=k7sHGZl1Z8C1IQ7paVHYWR_T3pEhFwf2RR6VBVbD6-M,4970
245
+ flwr/proto/run_pb2.pyi,sha256=w0f2rg3EA0XsQEvMMA25gH8rKJbVunlgSeC1DewbUmQ,10393
246
+ flwr/proto/run_pb2_grpc.py,sha256=l5u1Ww6JxVLVN784Z2OQbkQ-tAf5yYGh6QbNDc4F5II,895
247
+ flwr/proto/run_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
248
+ flwr/proto/serverappio_pb2.py,sha256=fqZA5baD7lerWBn1Pb9PWhXlDvsb8pLOJ99DV4cYh-4,4045
249
+ flwr/proto/serverappio_pb2.pyi,sha256=KpVM8B_O0M3RFJ-DtnNlQapJs4V-7pHcdEb2G3ECbhE,1998
250
+ flwr/proto/serverappio_pb2_grpc.py,sha256=fKBfYvUzGj1GUWg2XAmecMI8uRkPeXwXBI4u5KMCXXE,30987
251
+ flwr/proto/serverappio_pb2_grpc.pyi,sha256=2YmbFoWfgvdH6nKxHcPVwpfy3yBsJIvlXOd1V9nE2vc,12927
252
+ flwr/proto/simulationio_pb2.py,sha256=wlgTZYceR_LMOmbWpXQSU5yF3IksrxfrTz1WoiHNo9w,2787
253
+ flwr/proto/simulationio_pb2.pyi,sha256=OsUGEduv1iJCew8C4cMz87Y5uQAhHDmxNyVfwA4kXd8,824
254
+ flwr/proto/simulationio_pb2_grpc.py,sha256=whIX3jigGIUm_RnbFsEfphLD0kI82dpT1jIimGm-Foc,20091
255
+ flwr/proto/simulationio_pb2_grpc.pyi,sha256=20ZjvlsLohqxIrtsMhml5jMlmDJjle_-PGuvLE1v568,8639
256
+ flwr/proto/transport_pb2.py,sha256=xqDF2oI0PzAndH17O80SQkyOT_QF9m7CQ0166He7UDQ,10122
257
+ flwr/proto/transport_pb2.pyi,sha256=A-AzbyDAyp4hzJCuC6MOA1NewkFmtuhPwFCjPKqQP0Q,22450
258
+ flwr/proto/transport_pb2_grpc.py,sha256=jYsbV3KYdp4TaNfWxv3ljFEvB-Yjsa8MIPtTH-vVPPk,3600
259
+ flwr/proto/transport_pb2_grpc.pyi,sha256=qd2cOXq6HBZtwRfPpKuni27NGMJCAxyP5R95Vk8WWDU,2073
260
+ flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
+ flwr/server/__init__.py,sha256=LQQHiuL2jy7TpNaKastRdGsexlxSt5ZWAQNVqitDnrY,1598
262
+ flwr/server/app.py,sha256=4jU7qSA-Oa1miBZuFK08-5fMGbi2KofybAnts4kTrzI,31777
263
+ flwr/server/client_manager.py,sha256=3WOqNWh5dlqPRG-DMGwXiyvGNEYS_jKqXKkFIkMqWLQ,6187
264
+ flwr/server/client_proxy.py,sha256=QS_RGgjSZ8V4StAHH8zc7W9_os2FyO4wNqkbylQMBTY,2341
265
+ flwr/server/compat/__init__.py,sha256=0IsttWvY15qO98_1GyzVC-vR1e_ZPXOdu2qUlOkYMPE,886
266
+ flwr/server/compat/app.py,sha256=gCQF6yFX4T95BRU5TWFxKnscRFjdvx4H5VFoG-4IudU,3283
267
+ flwr/server/compat/app_utils.py,sha256=YtJ8U86DIspODFyXjMRvQtcjlGbA5TvOLLadlzu-8ik,4618
268
+ flwr/server/compat/grid_client_proxy.py,sha256=uotPC-tZnHVBtV1QD049Zl142Gx-kmd9FkGSuHU4r34,4891
269
+ flwr/server/compat/legacy_context.py,sha256=uT1XAX6Jqxza7IpDLg8bUnGhYCAWqnTPLi1rZTMh1J0,1767
270
+ flwr/server/criterion.py,sha256=G4e-6B48Pc7d5rmGVUpIzNKb6UF88O3VmTRuUltgjzM,1061
271
+ flwr/server/fleet_event_log_interceptor.py,sha256=SfJ6J4K_8ZQtGQaNUqmcemdS4dTsWwiSMhoM62SmvlQ,3977
272
+ flwr/server/grid/__init__.py,sha256=aWZHezoR2UGMJISB_gPMCm2N_2GSbm97A3lAp7ruhRQ,888
273
+ flwr/server/grid/grid.py,sha256=OeP1Kz0lhCZbKh2foZziADmc4fwhJ3e12etSpqYJWnk,6591
274
+ flwr/server/grid/grpc_grid.py,sha256=ShrGOol6qkjjfDziuLFQUapIEOZF4oaS3XmTHbB0AmM,15390
275
+ flwr/server/grid/inmemory_grid.py,sha256=Zw-OaTRqcqNiTnF1E7tqimtLF4I1m9kdbl-CgNxPDJQ,6170
276
+ flwr/server/history.py,sha256=cCkFhBN4GoHsYYNk5GG1Y089eKJh2DH_ZJbYPwLaGyk,5026
277
+ flwr/server/run_serverapp.py,sha256=9CJzb7QiF9K8ubu79whVwyoMLzYdrwtu18LOsOECL6A,2029
278
+ flwr/server/server.py,sha256=Oqv3WZ92KN9XTS6vqcYFTEvJM0sHZfkUmNM8xgbhZBE,17698
279
+ flwr/server/server_app.py,sha256=udSNhp5Syg0XJj-AnfqPGkBkg9zuPaSgm1LCL_4PYkc,9469
280
+ flwr/server/server_config.py,sha256=anmj2Rf18kM1chyl-9myRLDS77YVKTS6MpsDh2nIFOY,1318
281
+ flwr/server/serverapp/__init__.py,sha256=xcC0T_MQSMS9cicUzUUpMNCOsF2d8Oh_8jvnoBLuZvo,800
282
+ flwr/server/serverapp/app.py,sha256=pVbVwskQHULC5lvL-uDbKK67LVbYoJpT-H_e-w89qFU,9975
283
+ flwr/server/serverapp_components.py,sha256=b8GbqXkiEsiOw61gGITVj6eFpl66upEf7eMjDu1Oo-M,2078
284
+ flwr/server/strategy/__init__.py,sha256=HhsSWMWaC7oCb2g7Kqn1MBKdrfvgi8VxACy9ZL706Q0,2836
285
+ flwr/server/strategy/aggregate.py,sha256=ebIKolvRzSGwVKbxSZtofGSQAIT8LRddMW2c33mXQ2w,14070
286
+ flwr/server/strategy/bulyan.py,sha256=LqwImM22hfb4U22mJX4_t2Jj1cUEY2W8pYqmbk9lDKA,6499
287
+ flwr/server/strategy/dp_adaptive_clipping.py,sha256=_QwaXBzsZhwHtk-wvbNszOUfai1dKVGDjRtCD2pvoNY,17365
288
+ flwr/server/strategy/dp_fixed_clipping.py,sha256=zlnylug4L8S2YaR4OwTdqE-CXl3W7WZw1IegVeUdcec,12729
289
+ flwr/server/strategy/dpfedavg_adaptive.py,sha256=IZ2XdH3-fZDxS-0vFxCsgCk7iN0BQ8uWgO_UrJFh94k,4841
290
+ flwr/server/strategy/dpfedavg_fixed.py,sha256=hUyhv5x41p5lRIwefoUJNDUGqYR-__Fu_-VMdAY0luY,7157
291
+ flwr/server/strategy/fault_tolerant_fedavg.py,sha256=4_gHDackYuqa9vv-xJcVgIM6SDlUfi-KVDS8IOjPMn0,5848
292
+ flwr/server/strategy/fedadagrad.py,sha256=itF4KKoLeyX_Jwke_3vIeitB-60zh9xrDn--2CEf3Ok,6551
293
+ flwr/server/strategy/fedadam.py,sha256=8GF1bnSwAY4mjUArk7Zfw3k1YYTD_e3B9xNjgXF1YnI,7301
294
+ flwr/server/strategy/fedavg.py,sha256=Amn82nT80rWoNfg_6rsbKHNQgbcyxxQbwtG_QPHIlys,11727
295
+ flwr/server/strategy/fedavg_android.py,sha256=eHUBDSLir1pLN_77PQcqiQJ5UZtdVuutzXRe0T2704M,9736
296
+ flwr/server/strategy/fedavgm.py,sha256=uqR2rnfcMlCeLN0JMa53THVB-dIymEN9qTJMlE_uVaI,8203
297
+ flwr/server/strategy/fedmedian.py,sha256=P6pCn1plJTsQaJuom0DAUV0i4vfY6OfcXaU_YoBDIr0,2641
298
+ flwr/server/strategy/fedopt.py,sha256=ElvCwQsdEN7Kj5pj3fiXJ_XJrKuyJ1lPyD5Zwq5COA8,5218
299
+ flwr/server/strategy/fedprox.py,sha256=gr4JKaoCVyKfBZYtngh3Pg6ik72bX4dj3HH_fxOO6yQ,6835
300
+ flwr/server/strategy/fedtrimmedavg.py,sha256=iebHu_-FX2MNCheAHXkoRUYEcP127_AJq_p5zEHhTuA,5847
301
+ flwr/server/strategy/fedxgb_bagging.py,sha256=yZybB-vHQ12kexLfar_uTrYfPsNwibDF8OjO82ejdNM,6052
302
+ flwr/server/strategy/fedxgb_cyclic.py,sha256=1_bAioq6QP5tGZO7E2JR0k1fcOYWGljm5avklukrH0A,5550
303
+ flwr/server/strategy/fedxgb_nn_avg.py,sha256=n_LGcnFbg0qd58nK0ahaF3TyYk4jIdDGmFBJxIdVGmY,4007
304
+ flwr/server/strategy/fedyogi.py,sha256=Qz7CqxyH4q3i1R41eM9dvp26mUfV9tqZJoMYX0-9J-A,6825
305
+ flwr/server/strategy/krum.py,sha256=zuIdVx-0yBSlSwCktixE47hzeM0FFDhc7Wg9dxwA07Q,6242
306
+ flwr/server/strategy/qfedavg.py,sha256=GTWhAIiZZay48WlNIkzeliAjx-luvMG_9tPlgrhG_OU,10108
307
+ flwr/server/strategy/strategy.py,sha256=Ni737DYbjxe-iC_VWZA91GEHi1h-n6kmccMmFdsSF18,7451
308
+ flwr/server/superlink/__init__.py,sha256=GNSuJ4-N6Z8wun2iZNlXqENt5beUyzC0Gi_tN396bbM,707
309
+ flwr/server/superlink/fleet/__init__.py,sha256=Uiwr33yfW_eL-pEfj80c_JUhIKRkCPsN1JSs2v4aglU,711
310
+ flwr/server/superlink/fleet/grpc_adapter/__init__.py,sha256=fUu1V63YrzjxAOZnBJx99WjuD4Mro7dJIFH-1V4NLV8,742
311
+ flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py,sha256=sbZ0J_a7FinqlKILjAY6f7qlPE8zt696K22C2NCkKS4,5554
312
+ flwr/server/superlink/fleet/grpc_bidi/__init__.py,sha256=dOM49q1b9MrtUr5jldjEnQ38NhcUyYs-zC3gsJb1TtI,735
313
+ flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py,sha256=fUumpuU-n1PVH-BEcPA-VMXAzyXh1u10vZriB6vx3V8,6003
314
+ flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py,sha256=cKb4bHfvoku34sfWmcVzJ04MQ49bIcTQ0GeH6TmVVCE,6448
315
+ flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=01p58US63-eMmKm_KHeFQqbCHBjeL9pEfgqGI-r3Dw8,4828
316
+ flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=6uraD1bcZGYs9uXWUa46THUKUBnAknIxckiGAt036kc,5142
317
+ flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=ahDJJ1e-lDxBpeBMgPk7YZt2wB38_QltcpOC0gLbpFs,758
318
+ flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=DtHuDP7fvgO-iamI48ACr0TQcD20eBYwMicHKIjhmXQ,12583
319
+ flwr/server/superlink/fleet/grpc_rere/node_auth_server_interceptor.py,sha256=h3pPs--wdiomaCuGOg5fr3wwYVfwi-PK-tVArrr_bg8,5669
320
+ flwr/server/superlink/fleet/message_handler/__init__.py,sha256=fHsRV0KvJ8HtgSA4_YBsEzuhJLjO8p6xx4aCY2oE1p4,731
321
+ flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=XZSrjTB_7J_dL5PEPjQ9T2abxTJJZ_aBlPE-tUHGrVc,10703
322
+ flwr/server/superlink/fleet/rest_rere/__init__.py,sha256=Lzc93nA7tDqoy-zRUaPG316oqFiZX1HUCL5ELaXY_xw,735
323
+ flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=cDWDQBf79F9tZ1mXOErc-nsnY4zFP9Tcv7Fs-bQIdiU,9616
324
+ flwr/server/superlink/fleet/vce/__init__.py,sha256=XOKbAWOzlCqEOQ3M2cBYkH7HKA7PxlbCJMunt-ty-DY,784
325
+ flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=PPH89Yqd1XKm-sRJN6R0WQlKT_b4v54Kzl2yzHAFzM8,1437
326
+ flwr/server/superlink/fleet/vce/backend/backend.py,sha256=HPOXhT40bFwCA9pz8w2sATdamgNVotXNO8p1ZRCOg7M,2205
327
+ flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=LhVmM2Mi6kOskOyDFnbIb7AH304J0eUU1r2B32bzUFc,7193
328
+ flwr/server/superlink/fleet/vce/vce_api.py,sha256=A62Vx3r71bNI-v10IUen_27fDJoYXsOyvBM3JrkTvho,13609
329
+ flwr/server/superlink/linkstate/__init__.py,sha256=OtsgvDTnZLU3k0sUbkHbqoVwW6ql2FDmb6uT6DbNkZo,1064
330
+ flwr/server/superlink/linkstate/in_memory_linkstate.py,sha256=tPpet43VBXOeHK0VUXeNXEM7CtQ6lDSja5PG9PGb17M,30649
331
+ flwr/server/superlink/linkstate/linkstate.py,sha256=NfPD0_IElqxq9c3DuEzMFxdIERMocupSwY_aYI5mGeg,16079
332
+ flwr/server/superlink/linkstate/linkstate_factory.py,sha256=dtn3xvp4uGek_vtbHyLnn0OZNOcQn6_dpNNX-r8lwAc,2866
333
+ flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=4j4rM7lA6FGFUMlhRGT_OKDPEQDZITjj9uAuxYeDsZQ,48816
334
+ flwr/server/superlink/linkstate/utils.py,sha256=ZKaunvXhzb4eqxy91zH3xlF22cpNimeRzTJCNdoZ57s,14019
335
+ flwr/server/superlink/serverappio/__init__.py,sha256=Fy4zJuoccZe5mZSEIpOmQvU6YeXFBa1M4eZuXXmJcn8,717
336
+ flwr/server/superlink/serverappio/serverappio_grpc.py,sha256=2NFPynJMpYpT9C98Fr4n0QrTTjWBWbeUzlHcc6pg2kY,2279
337
+ flwr/server/superlink/serverappio/serverappio_servicer.py,sha256=EF306zWTfb-h4bie9ZKTZSRdgfLdJQVZ0Vbj5fw4keM,20252
338
+ flwr/server/superlink/simulation/__init__.py,sha256=Ry8DrNaZCMcQXvUc4FoCN2m3dvUQgWjasfp015o3Ec4,718
339
+ flwr/server/superlink/simulation/simulationio_grpc.py,sha256=fHFW8SOR4iyfBxQeYOXWwqUStGsv0P4EAIVkBk69BN4,2174
340
+ flwr/server/superlink/simulation/simulationio_servicer.py,sha256=140iEJZ0lCw0bWNI4B6VSvMXGz0bVUeaCnDW-372_zw,10161
341
+ flwr/server/superlink/utils.py,sha256=pdeB9dm21e5D2Vuymme8069VWW5XuWZfi1LAm7nKjeQ,2400
342
+ flwr/server/typing.py,sha256=qr04ihK3cARvw2Cz64axwzbdCbLtK8R5DDtlh5kWXEU,1020
343
+ flwr/server/utils/__init__.py,sha256=U4gM84-uUFddarODDQkO6SjNUuGhFcsHJZMjSEbezkU,884
344
+ flwr/server/utils/tensorboard.py,sha256=Troy_uoxLPyydVsQQuIAFoAn17MHwMXyERy7CeFjJAk,5750
345
+ flwr/server/utils/validator.py,sha256=ZDHWtDa2yFzicfUStIIzno8AZEeTCwERjBbuv_StAMs,3638
346
+ flwr/server/workflow/__init__.py,sha256=N8G_xCBVrlV39Eov56bwImKMUTsqsaEoTCFYIQ0q8Bg,902
347
+ flwr/server/workflow/constant.py,sha256=4t2MTvOJUlByJfuD9yZjl8Xn5SwBJQDBi15DphztXe8,1082
348
+ flwr/server/workflow/default_workflows.py,sha256=m3BnXUVjxUc4tU1pE-7Gf224l8dffnRQGSyPwLX_1Xg,13865
349
+ flwr/server/workflow/secure_aggregation/__init__.py,sha256=vGkycLb65CxdaMkKsANxQE6AS4urfZKvwcS3r1Vln_c,880
350
+ flwr/server/workflow/secure_aggregation/secagg_workflow.py,sha256=oHNhvHiu1ZxoU31HdVjvhT1uDz-Q5E2HiTbyG34foQk,5794
351
+ flwr/server/workflow/secure_aggregation/secaggplus_workflow.py,sha256=4tc7PoFmIN1rilIbelXTbIyd1PWXE1UDEoFQ3qvMpKE,29509
352
+ flwr/serverapp/__init__.py,sha256=ZujKNXULwhWYQhFnxOOT5Wi9MRq2JCWFhAAj7ouiQ78,884
353
+ flwr/serverapp/exception.py,sha256=5cuH-2AafvihzosWDdDjuMmHdDqZ1XxHvCqZXNBVklw,1334
354
+ flwr/serverapp/strategy/__init__.py,sha256=dezK2TKSffjjBVXW18ATRxJLTuQ7I2M1dPuNi5y-_6c,1968
355
+ flwr/serverapp/strategy/bulyan.py,sha256=disdrk0vCUPWlDvBlVMvHaral9v_hikxpQetVZV5a_Q,9292
356
+ flwr/serverapp/strategy/dp_adaptive_clipping.py,sha256=iddSwnw1qxNmtYtckvcfGsnVZ_bmyMMYd6biYmIZ_8s,13599
357
+ flwr/serverapp/strategy/dp_fixed_clipping.py,sha256=1zJOxJhNFPIJRXneelCsTlx6La7BQAlquWuofa-oHtc,12696
358
+ flwr/serverapp/strategy/fedadagrad.py,sha256=oewW2lxZ3YEo8lAI4KtjU-yp4r3bOFTybq4XjwlXYRg,6185
359
+ flwr/serverapp/strategy/fedadam.py,sha256=jIUytggs5CUxOZ6ZUnt_ajDxHIa1dwrLbdX-3zQ1oHM,6980
360
+ flwr/serverapp/strategy/fedavg.py,sha256=Lm0VCj2P97-LOT7gw4EtdXXBwfkG3hxF5CAcJsTALiQ,11996
361
+ flwr/serverapp/strategy/fedavgm.py,sha256=cynjt6sEnqKIegOQAgWcgoVktCbVbrzxSyJdewEe1qM,8370
362
+ flwr/serverapp/strategy/fedmedian.py,sha256=qkf1kzTs6eSC2lZhXDLGR9M5NAKy01sSvnBQffvMmWQ,4482
363
+ flwr/serverapp/strategy/fedopt.py,sha256=pJ8SYeS1pgnRbv95NT7kN3gAJ3SVI6XAKppTDOvPdkI,8438
364
+ flwr/serverapp/strategy/fedprox.py,sha256=aKOze73dOSyfbkmHSk4tv44TQkPrlmEKaP8V6z7zO5s,6998
365
+ flwr/serverapp/strategy/fedtrimmedavg.py,sha256=Qvt0r1RjLrCa5Y-p6Xbj0rPtBjzPqoO5x1wLp4zEv1o,7150
366
+ flwr/serverapp/strategy/fedxgb_bagging.py,sha256=7eWYGjrFpxfvDFjHsqSmJ8FxYiaE7aJ2ZKSShzLRen4,5170
367
+ flwr/serverapp/strategy/fedxgb_cyclic.py,sha256=YeSp6iFbaCFM8P43dxuWR2XVtnWUpWPwYtEWO0aEZDg,8734
368
+ flwr/serverapp/strategy/fedyogi.py,sha256=7WvtD5XULRr-tlCd7QoLRss2ThlljXOv3SNc5U2f-OU,6494
369
+ flwr/serverapp/strategy/krum.py,sha256=3q8Y0SmrAEz0PnLVjm3iMTsK9Gb0PWav2JujR_GmAwk,4845
370
+ flwr/serverapp/strategy/multikrum.py,sha256=UvOyvp6Za8DWz5IK-yuV7Ur1UGq2bGqH_Gp-8M6W2Go,9847
371
+ flwr/serverapp/strategy/qfedavg.py,sha256=Pa12mDicCYYwZGsNKlW_aBESOmWSQXbClNjvq6VlHIo,10212
372
+ flwr/serverapp/strategy/result.py,sha256=E0Hl2VLnZAgQJjE2GDoKsK7JX-kPPU2KXc47Axt6hGw,4295
373
+ flwr/serverapp/strategy/strategy.py,sha256=ofnwlYt_XBtO6rhVbU9NpWPa9v1gLasp9HUAN9EFKsw,10718
374
+ flwr/serverapp/strategy/strategy_utils.py,sha256=xF8h_udVgWoHwa3C1DIeyb8XlrowDHRcptPrUJGZmhc,10825
375
+ flwr/simulation/__init__.py,sha256=Gg6OsP1Z-ixc3-xxzvl7j7rz2Fijy9rzyEPpxgAQCeM,1556
376
+ flwr/simulation/app.py,sha256=m1dujMWWHsUukD_hzlvvrjOJ2QM1f8-Y03EvfF2pD2Y,10403
377
+ flwr/simulation/legacy_app.py,sha256=JDGL6cAitI9HdnQkCG7_Lsd96LMesSrFlegEZ_hDGKY,15808
378
+ flwr/simulation/ray_transport/__init__.py,sha256=ogd-0AMv2U-wBZ1r3sHWaDIOIrVqr88Xi6C8o4Dviy0,734
379
+ flwr/simulation/ray_transport/ray_actor.py,sha256=HTX-Vj6z_FjMWyk1Fvbi25MRblfougW_2AM4Po4DXk4,19099
380
+ flwr/simulation/ray_transport/ray_client_proxy.py,sha256=fxLnkLythTP6LnR8IqNqu-7odcPDqk34pjzXQBWjElw,7442
381
+ flwr/simulation/ray_transport/utils.py,sha256=KrexpWYCF-dAF3UHc9yDbPQWO-ahMT-BbD8nURLgiHk,2393
382
+ flwr/simulation/run_simulation.py,sha256=UjA_XnEhqt5cun1HlygiyRrd4HVJd-w5lhBLzEA4dmk,20766
383
+ flwr/simulation/simulationio_connection.py,sha256=cS7yTOa5yeK-bQ2YjS9eJCXL8SOItEkiJD5sN5mBb_Y,3475
384
+ flwr/supercore/__init__.py,sha256=pqkFoow_E6UhbBlhmoD1gmTH-33yJRhBsIZqxRPFZ7U,755
385
+ flwr/supercore/app_utils.py,sha256=K76Zt6R670b1hUmxOsNc1WUCVYvF7lejXPcCO9K0Q0g,1753
386
+ flwr/supercore/cli/__init__.py,sha256=EDl2aO-fuQfxSbL-T1W9RAfA2N0hpWHmqX_GSwblJbQ,845
387
+ flwr/supercore/cli/flower_superexec.py,sha256=IQIGzxgaeLNMNzGXGemfYK3lp8God5bTkXpVkbeP_ig,6109
388
+ flwr/supercore/constant.py,sha256=me9ymgv1FoccFQpsQcQBECHv8A5Gdf_bnx8rtJQ_o5s,2201
389
+ flwr/supercore/corestate/__init__.py,sha256=Vau6-L_JG5QzNqtCTa9xCKGGljc09wY8avZmIjSJemg,774
390
+ flwr/supercore/corestate/corestate.py,sha256=EZg4gPXqVOXwS7t0tlPfedajoWj5T80oeDBNxpV2y2I,2874
391
+ flwr/supercore/corestate/in_memory_corestate.py,sha256=9qa6RuRZfCp6vs-ARYdiZjCL31VOAAxw0a_VkBXR5zY,5116
392
+ flwr/supercore/corestate/sqlite_corestate.py,sha256=2SAikyNG0dgxOUtQsy9WS5XCDibndw6y4xPGK61seWE,5740
393
+ flwr/supercore/ffs/__init__.py,sha256=U3KXwG_SplEvchat27K0LYPoPHzh-cwwT_NHsGlYMt8,908
394
+ flwr/supercore/ffs/disk_ffs.py,sha256=IWFjikDs8BOfHIgFgOGI6p4Xl7U3n8lGbocmIibepcg,3241
395
+ flwr/supercore/ffs/ffs.py,sha256=Q71OLKYIuuhe_XDTqku03qozUfDBQ5Lxg-MbpGDPHlk,2364
396
+ flwr/supercore/ffs/ffs_factory.py,sha256=tPwVDWMddgo45X8tk1lBCTkmJenWBbRagjWfx7UsYuE,1459
397
+ flwr/supercore/grpc_health/__init__.py,sha256=rCPZ7ucPY9NXBWuhb9iKs2D-yZ0rQ5YkJ7LlOeahN9A,948
398
+ flwr/supercore/grpc_health/health_server.py,sha256=bwNzQ1eQJWmzeSJwqa0zrD5s_Cut00vKdSSk8NhPI2c,1808
399
+ flwr/supercore/grpc_health/simple_health_servicer.py,sha256=C5QN_cR_VBqbhva1eP8zyZ6YwS5Q9APKl6WgM03jAC0,1531
400
+ flwr/supercore/heartbeat.py,sha256=S4lEJYH058UOUZto13mr5gI5ah-J7FMgtwMzLerOHNI,5655
401
+ flwr/supercore/license_plugin/__init__.py,sha256=d8OgHTn2BwjoNSPy8jQQxTC_iT3-ENLwKM8yhHKvCRM,820
402
+ flwr/supercore/license_plugin/license_plugin.py,sha256=BFhlCH5v9KKuY7crVCsi8fuYe98SJfnGxRS0CVc_Y5I,948
403
+ flwr/supercore/object_store/__init__.py,sha256=cdfPAmjINY6iOp8oI_LdcVh2simg469Mkdl4LLV4kHI,911
404
+ flwr/supercore/object_store/in_memory_object_store.py,sha256=-DU6n1Ef3EmllHY9SzeXw57ftoU0mR_6or4NIDSZlcs,9322
405
+ flwr/supercore/object_store/object_store.py,sha256=XLo-xe258TmCel9dNLCJepFjXaQtEi0wBqzU9YsyJVg,5221
406
+ flwr/supercore/object_store/object_store_factory.py,sha256=vcLJP7nVuIoRuGNImePA-MK8QvH18FtThSZSniA3k6Y,2323
407
+ flwr/supercore/object_store/sqlite_object_store.py,sha256=oDfqGe6TEr1HT6_ZoxLoi7T1qEF2_GBKmfKh3yKux_Y,10251
408
+ flwr/supercore/primitives/__init__.py,sha256=Tx8GOjnmMo8Y74RsDGrMpfr-E0Nl8dcUDF784_ge6F8,745
409
+ flwr/supercore/primitives/asymmetric.py,sha256=1643niHYj3uEbfPd06VuMHwN3tKVwg0uVyR3RhTdWIU,3778
410
+ flwr/supercore/primitives/asymmetric_ed25519.py,sha256=eIhOTMibQW0FJX4MXdplHdL3HcfCiKuFu2mQ8GQTUz8,5025
411
+ flwr/supercore/sqlite_mixin.py,sha256=ZvtqDLRwCMzyrPsOTpAwJeHSpthrrtvEfUmWZmss6OA,5317
412
+ flwr/supercore/superexec/__init__.py,sha256=XKX208hZ6a9gZ4KT9kMqfpCtp_8VGxekzKFfHSu2esQ,707
413
+ flwr/supercore/superexec/plugin/__init__.py,sha256=GNwq8uNdE8RB7ywEFRAvKjLFzgS3YXgz39-HBGsemWw,1035
414
+ flwr/supercore/superexec/plugin/base_exec_plugin.py,sha256=QmTr7AJTZO1cfmoVRjZUEhSlxNCou-XotGFAXkCqwWQ,2043
415
+ flwr/supercore/superexec/plugin/clientapp_exec_plugin.py,sha256=9FT6ufEqV5K9g4FaAB9lVDbIv-VCH5LcxT4YKy23roE,1035
416
+ flwr/supercore/superexec/plugin/exec_plugin.py,sha256=iRRZcnTcM3wMwkkUElmfFka31aJrZgtoQEf0E7dPp9Q,2751
417
+ flwr/supercore/superexec/plugin/serverapp_exec_plugin.py,sha256=IwRzdPV-cSKwrP2krGh0De4IkAuxsmgK0WU6J-2GXqM,1035
418
+ flwr/supercore/superexec/plugin/simulation_exec_plugin.py,sha256=upn5zE-YKkl_jTw8RzmeyQ58PU_UAlQ7CqnBXXdng8I,1060
419
+ flwr/supercore/superexec/run_superexec.py,sha256=yeV6_eI0XFfPyNwnlgqchR9jI80FzSI80oyekrIlO2M,7144
420
+ flwr/supercore/utils.py,sha256=KOvqGhRZ1if9AEg_eb0klwp7_smXkTwwGhAUpeGORWA,1841
421
+ flwr/superlink/__init__.py,sha256=GNSuJ4-N6Z8wun2iZNlXqENt5beUyzC0Gi_tN396bbM,707
422
+ flwr/superlink/artifact_provider/__init__.py,sha256=pgZEcVPKRE874LSu3cgy0HbwSJBIpVy_HxQOmne4PAs,810
423
+ flwr/superlink/artifact_provider/artifact_provider.py,sha256=Gt1UUojVOa4WDgv8unU20MoETSMd5rSPF9eIITBNJY0,1236
424
+ flwr/superlink/auth_plugin/__init__.py,sha256=ApYBHnDmtv5gVrnxdFq97zC58O1icqHogK2Dz6o8DVI,1000
425
+ flwr/superlink/auth_plugin/auth_plugin.py,sha256=xLqAYFG7sjAhYgyeTvvEY6fSMjPRq0offmTDRYpIs78,2956
426
+ flwr/superlink/auth_plugin/noop_auth_plugin.py,sha256=0MWjNXZdz6zGRfitlnZfVKu4sKVn0HhJvnp09c3xVUA,2962
427
+ flwr/superlink/federation/__init__.py,sha256=A1pFFvkEQrHzvRAOstr2o7nphx3JbuJgkNRFKJ9qD3M,890
428
+ flwr/superlink/federation/federation_manager.py,sha256=-Vu1v_WWhWK7wgKEQua24lw9a6iPxG89VI-jqLO5E4g,2322
429
+ flwr/superlink/federation/noop_federation_manager.py,sha256=Hc6_YVlMZZkdElS8bawi85eCTHOzVPUZVe9Dmrl2DW8,2881
430
+ flwr/superlink/servicer/__init__.py,sha256=ZC-kILcUGeh6IxJsfu24cTzUqIGXmQfEKsGfhsnhBpM,717
431
+ flwr/superlink/servicer/control/__init__.py,sha256=qhUTMt_Mg4lxslCJYn5hDSrA-lXf5ya3617BT8kR-2Y,803
432
+ flwr/superlink/servicer/control/control_account_auth_interceptor.py,sha256=AJs7GE-fyUBLcUEUzB058TpFzC7gyDOL17THvYkJTn8,6529
433
+ flwr/superlink/servicer/control/control_event_log_interceptor.py,sha256=r9LjF5VkrE1sZIcml-sO2uOPAwpvr6dj4tFchqoDcR4,5965
434
+ flwr/superlink/servicer/control/control_grpc.py,sha256=Hkkse7BAZ6dHJTfc1bO_zQI3Qd67fQMO0-bjf4fs6X0,4140
435
+ flwr/superlink/servicer/control/control_license_interceptor.py,sha256=8d28soJ0mLLhpSGCpuY2YzgbX0vVO7Sqe2DcApEgILc,3336
436
+ flwr/superlink/servicer/control/control_servicer.py,sha256=YRceYBgxIhLvvSK7QriFCVHMgl61pdxXWTa-GA4dVnM,22773
437
+ flwr/supernode/__init__.py,sha256=KgeCaVvXWrU3rptNR1y0oBp4YtXbAcrnCcJAiOoWkI4,707
438
+ flwr/supernode/cli/__init__.py,sha256=JuEMr0-s9zv-PEWKuLB9tj1ocNfroSyNJ-oyv7ati9A,887
439
+ flwr/supernode/cli/flower_supernode.py,sha256=1HdhlGaVo51_7w3AL1hE5zfIVJMow0Ngi_F3Js01djs,10815
440
+ flwr/supernode/cli/flwr_clientapp.py,sha256=W3tAyqSfeHbPhqBC4Pfo9bsyFdkBKPqdKlhGmeUKwKg,3173
441
+ flwr/supernode/nodestate/__init__.py,sha256=CyLLObbmmVgfRO88UCM0VMait1dL57mUauUDfuSHsbU,976
442
+ flwr/supernode/nodestate/in_memory_nodestate.py,sha256=_SDshB4JebO5pWScdrkF4xdxw1kMH_BH9scvyg385_M,7987
443
+ flwr/supernode/nodestate/nodestate.py,sha256=NwnORCF3xBpIf996tq2h9v4vtVpJZsIHkXxUc2NnGzs,4998
444
+ flwr/supernode/nodestate/nodestate_factory.py,sha256=i-1cv42R9LBM1nyasTHuTHSqlyJxVSRtUK2BMzqT-Ss,1631
445
+ flwr/supernode/runtime/__init__.py,sha256=JQdqd2EMTn-ORMeTvewYYh52ls0YKP68jrps1qioxu4,718
446
+ flwr/supernode/runtime/run_clientapp.py,sha256=-JsN3h7jQC12vzDBmImzYmyccI3LveIu-Z7eE-QNF-Y,9461
447
+ flwr/supernode/servicer/__init__.py,sha256=lucTzre5WPK7G1YLCfaqg3rbFWdNSb7ZTt-ca8gxdEo,717
448
+ flwr/supernode/servicer/clientappio/__init__.py,sha256=7Oy62Y_oijqF7Dxi6tpcUQyOpLc_QpIRZ83NvwmB0Yg,813
449
+ flwr/supernode/servicer/clientappio/clientappio_servicer.py,sha256=beWxBHsOKyDRwSldSYac5ZF7oueCrZXC2j_qve3-tQ4,11327
450
+ flwr/supernode/start_client_internal.py,sha256=kY_i6JJlD8VzuGtk4AzfM5La-3GQg4lpyuwQUh1pFCM,25930
451
+ flwr-1.24.0.dist-info/METADATA,sha256=vvDO-VQc7CUw_ObmirfE5wxVIA3LNtz_fjB3L1DzhNg,14593
452
+ flwr-1.24.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
453
+ flwr-1.24.0.dist-info/entry_points.txt,sha256=hxHD2ixb_vJFDOlZV-zB4Ao32_BQlL34ftsDh1GXv14,420
454
+ flwr-1.24.0.dist-info/RECORD,,
@@ -1,43 +0,0 @@
1
- # Copyright 2025 Flower Labs GmbH. All Rights Reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # ==============================================================================
15
- """Utils for ObjectStore."""
16
-
17
-
18
- from typing import Union
19
-
20
- from flwr.proto.appio_pb2 import PushAppMessagesRequest # pylint: disable=E0611
21
- from flwr.proto.fleet_pb2 import PushMessagesRequest # pylint: disable=E0611
22
-
23
- from . import ObjectStore
24
-
25
-
26
- def store_mapping_and_register_objects(
27
- store: ObjectStore, request: Union[PushAppMessagesRequest, PushMessagesRequest]
28
- ) -> set[str]:
29
- """Store Message object to descendants mapping and preregister objects."""
30
- if not request.messages_list:
31
- return set()
32
- objects_to_push: set[str] = set()
33
- # Get run_id from the first message in the list
34
- # All messages of a request should in the same run
35
- run_id = request.messages_list[0].metadata.run_id
36
-
37
- for object_tree in request.message_object_trees:
38
- # Preregister
39
- unavailable_obj_ids = store.preregister(run_id, object_tree)
40
- # Keep track of objects that need to be pushed
41
- objects_to_push |= set(unavailable_obj_ids)
42
-
43
- return objects_to_push