flwr-nightly 1.23.0.dev20251028__tar.gz → 1.23.0.dev20251029__tar.gz

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.

Potentially problematic release.


This version of flwr-nightly might be problematic. Click here for more details.

Files changed (439) hide show
  1. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/PKG-INFO +1 -1
  2. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_rere_client/grpc_adapter.py +32 -0
  3. flwr_nightly-1.23.0.dev20251029/py/flwr/proto/fleet_pb2.py +69 -0
  4. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fleet_pb2.pyi +80 -0
  5. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fleet_pb2_grpc.py +136 -0
  6. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fleet_pb2_grpc.pyi +52 -0
  7. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +17 -1
  8. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +52 -0
  9. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +48 -19
  10. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/in_memory_linkstate.py +41 -0
  11. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/linkstate.py +39 -0
  12. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/sqlite_linkstate.py +55 -0
  13. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/pyproject.toml +1 -1
  14. flwr_nightly-1.23.0.dev20251028/py/flwr/proto/fleet_pb2.py +0 -53
  15. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/README.md +0 -0
  16. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/__init__.py +0 -0
  17. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/app/__init__.py +0 -0
  18. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/app/error.py +0 -0
  19. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/app/exception.py +0 -0
  20. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/app/metadata.py +0 -0
  21. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/__init__.py +0 -0
  22. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/app.py +0 -0
  23. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/auth_plugin/__init__.py +0 -0
  24. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/auth_plugin/auth_plugin.py +0 -0
  25. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/auth_plugin/noop_auth_plugin.py +0 -0
  26. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/auth_plugin/oidc_cli_plugin.py +0 -0
  27. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/build.py +0 -0
  28. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/cli_account_auth_interceptor.py +0 -0
  29. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/config_utils.py +0 -0
  30. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/constant.py +0 -0
  31. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/example.py +0 -0
  32. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/install.py +0 -0
  33. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/log.py +0 -0
  34. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/login/__init__.py +0 -0
  35. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/login/login.py +0 -0
  36. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/ls.py +0 -0
  37. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/__init__.py +0 -0
  38. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/new.py +0 -0
  39. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/__init__.py +0 -0
  40. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
  41. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/LICENSE.tpl +0 -0
  42. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/README.baseline.md.tpl +0 -0
  43. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -0
  44. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
  45. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/__init__.py +0 -0
  46. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +0 -0
  47. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
  48. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
  49. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl +0 -0
  50. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl +0 -0
  51. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl +0 -0
  52. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
  53. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
  54. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
  55. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
  56. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl +0 -0
  57. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
  58. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
  59. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.xgboost.py.tpl +0 -0
  60. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +0 -0
  61. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py +0 -0
  62. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +0 -0
  63. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -0
  64. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -0
  65. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +0 -0
  66. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +0 -0
  67. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -0
  68. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl +0 -0
  69. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl +0 -0
  70. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -0
  71. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -0
  72. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
  73. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
  74. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl +0 -0
  75. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -0
  76. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
  77. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.xgboost.py.tpl +0 -0
  78. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +0 -0
  79. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl +0 -0
  80. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
  81. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
  82. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl +0 -0
  83. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
  84. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl +0 -0
  85. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl +0 -0
  86. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
  87. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.xgboost.py.tpl +0 -0
  88. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl +0 -0
  89. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +0 -0
  90. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +0 -0
  91. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +0 -0
  92. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -0
  93. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -0
  94. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
  95. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
  96. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +0 -0
  97. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -0
  98. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
  99. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +0 -0
  100. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/pull.py +0 -0
  101. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/run/__init__.py +0 -0
  102. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/run/run.py +0 -0
  103. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/stop.py +0 -0
  104. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/supernode/__init__.py +0 -0
  105. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/supernode/ls.py +0 -0
  106. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/supernode/register.py +0 -0
  107. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/supernode/unregister.py +0 -0
  108. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/utils.py +0 -0
  109. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/__init__.py +0 -0
  110. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/client.py +0 -0
  111. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/dpfedavg_numpy_client.py +0 -0
  112. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
  113. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_adapter_client/connection.py +0 -0
  114. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_rere_client/__init__.py +0 -0
  115. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_rere_client/connection.py +0 -0
  116. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_rere_client/node_auth_client_interceptor.py +0 -0
  117. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/message_handler/__init__.py +0 -0
  118. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/message_handler/message_handler.py +0 -0
  119. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/__init__.py +0 -0
  120. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/centraldp_mods.py +0 -0
  121. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/comms_mods.py +0 -0
  122. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/localdp_mod.py +0 -0
  123. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
  124. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
  125. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
  126. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/utils.py +0 -0
  127. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/numpy_client.py +0 -0
  128. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/rest_client/__init__.py +0 -0
  129. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/rest_client/connection.py +0 -0
  130. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/run_info_store.py +0 -0
  131. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/typing.py +0 -0
  132. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/__init__.py +0 -0
  133. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/client_app.py +0 -0
  134. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/mod/__init__.py +0 -0
  135. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/mod/centraldp_mods.py +0 -0
  136. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/mod/localdp_mod.py +0 -0
  137. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/typing.py +0 -0
  138. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/utils.py +0 -0
  139. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/__init__.py +0 -0
  140. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/address.py +0 -0
  141. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/args.py +0 -0
  142. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/config.py +0 -0
  143. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/constant.py +0 -0
  144. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/context.py +0 -0
  145. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/date.py +0 -0
  146. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/differential_privacy.py +0 -0
  147. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/differential_privacy_constants.py +0 -0
  148. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/dp.py +0 -0
  149. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/event_log_plugin/__init__.py +0 -0
  150. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/event_log_plugin/event_log_plugin.py +0 -0
  151. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/__init__.py +0 -0
  152. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/exit.py +0 -0
  153. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/exit_code.py +0 -0
  154. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/exit_handler.py +0 -0
  155. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/signal_handler.py +0 -0
  156. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/grpc.py +0 -0
  157. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/heartbeat.py +0 -0
  158. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/inflatable.py +0 -0
  159. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/inflatable_protobuf_utils.py +0 -0
  160. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/inflatable_utils.py +0 -0
  161. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/logger.py +0 -0
  162. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/message.py +0 -0
  163. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/object_ref.py +0 -0
  164. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/parameter.py +0 -0
  165. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/pyproject.py +0 -0
  166. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/__init__.py +0 -0
  167. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/array.py +0 -0
  168. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/arraychunk.py +0 -0
  169. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/arrayrecord.py +0 -0
  170. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/configrecord.py +0 -0
  171. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/conversion_utils.py +0 -0
  172. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/metricrecord.py +0 -0
  173. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/recorddict.py +0 -0
  174. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/typeddict.py +0 -0
  175. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/recorddict_compat.py +0 -0
  176. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/retry_invoker.py +0 -0
  177. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/__init__.py +0 -0
  178. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
  179. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
  180. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
  181. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
  182. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/quantization.py +0 -0
  183. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
  184. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
  185. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/serde.py +0 -0
  186. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/serde_utils.py +0 -0
  187. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/telemetry.py +0 -0
  188. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/typing.py +0 -0
  189. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/version.py +0 -0
  190. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/__init__.py +0 -0
  191. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/client/__init__.py +0 -0
  192. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/client/app.py +0 -0
  193. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/client/grpc_client/__init__.py +0 -0
  194. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/client/grpc_client/connection.py +0 -0
  195. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/common/__init__.py +0 -0
  196. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/server/__init__.py +0 -0
  197. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/server/app.py +0 -0
  198. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/simulation/__init__.py +0 -0
  199. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/__init__.py +0 -0
  200. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/appio_pb2.py +0 -0
  201. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/appio_pb2.pyi +0 -0
  202. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/appio_pb2_grpc.py +0 -0
  203. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/appio_pb2_grpc.pyi +0 -0
  204. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/clientappio_pb2.py +0 -0
  205. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/clientappio_pb2.pyi +0 -0
  206. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/clientappio_pb2_grpc.py +0 -0
  207. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/clientappio_pb2_grpc.pyi +0 -0
  208. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/control_pb2.py +0 -0
  209. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/control_pb2.pyi +0 -0
  210. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/control_pb2_grpc.py +0 -0
  211. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/control_pb2_grpc.pyi +0 -0
  212. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/error_pb2.py +0 -0
  213. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/error_pb2.pyi +0 -0
  214. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/error_pb2_grpc.py +0 -0
  215. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/error_pb2_grpc.pyi +0 -0
  216. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fab_pb2.py +0 -0
  217. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fab_pb2.pyi +0 -0
  218. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fab_pb2_grpc.py +0 -0
  219. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
  220. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/grpcadapter_pb2.py +0 -0
  221. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
  222. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
  223. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
  224. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/heartbeat_pb2.py +0 -0
  225. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/heartbeat_pb2.pyi +0 -0
  226. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/heartbeat_pb2_grpc.py +0 -0
  227. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/heartbeat_pb2_grpc.pyi +0 -0
  228. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/log_pb2.py +0 -0
  229. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/log_pb2.pyi +0 -0
  230. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/log_pb2_grpc.py +0 -0
  231. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/log_pb2_grpc.pyi +0 -0
  232. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/message_pb2.py +0 -0
  233. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/message_pb2.pyi +0 -0
  234. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/message_pb2_grpc.py +0 -0
  235. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/message_pb2_grpc.pyi +0 -0
  236. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/node_pb2.py +0 -0
  237. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/node_pb2.pyi +0 -0
  238. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/node_pb2_grpc.py +0 -0
  239. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/node_pb2_grpc.pyi +0 -0
  240. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/recorddict_pb2.py +0 -0
  241. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/recorddict_pb2.pyi +0 -0
  242. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/recorddict_pb2_grpc.py +0 -0
  243. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/recorddict_pb2_grpc.pyi +0 -0
  244. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/run_pb2.py +0 -0
  245. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/run_pb2.pyi +0 -0
  246. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/run_pb2_grpc.py +0 -0
  247. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/run_pb2_grpc.pyi +0 -0
  248. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/serverappio_pb2.py +0 -0
  249. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/serverappio_pb2.pyi +0 -0
  250. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/serverappio_pb2_grpc.py +0 -0
  251. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/serverappio_pb2_grpc.pyi +0 -0
  252. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/simulationio_pb2.py +0 -0
  253. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/simulationio_pb2.pyi +0 -0
  254. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/simulationio_pb2_grpc.py +0 -0
  255. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/simulationio_pb2_grpc.pyi +0 -0
  256. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/transport_pb2.py +0 -0
  257. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/transport_pb2.pyi +0 -0
  258. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/transport_pb2_grpc.py +0 -0
  259. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
  260. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/py.typed +0 -0
  261. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/__init__.py +0 -0
  262. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/app.py +0 -0
  263. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/client_manager.py +0 -0
  264. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/client_proxy.py +0 -0
  265. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/__init__.py +0 -0
  266. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/app.py +0 -0
  267. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/app_utils.py +0 -0
  268. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/grid_client_proxy.py +0 -0
  269. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/legacy_context.py +0 -0
  270. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/criterion.py +0 -0
  271. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/fleet_event_log_interceptor.py +0 -0
  272. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/grid/__init__.py +0 -0
  273. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/grid/grid.py +0 -0
  274. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/grid/grpc_grid.py +0 -0
  275. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/grid/inmemory_grid.py +0 -0
  276. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/history.py +0 -0
  277. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/run_serverapp.py +0 -0
  278. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/server.py +0 -0
  279. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/server_app.py +0 -0
  280. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/server_config.py +0 -0
  281. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/serverapp/__init__.py +0 -0
  282. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/serverapp/app.py +0 -0
  283. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/serverapp_components.py +0 -0
  284. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/__init__.py +0 -0
  285. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/aggregate.py +0 -0
  286. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/bulyan.py +0 -0
  287. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
  288. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
  289. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
  290. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
  291. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
  292. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedadagrad.py +0 -0
  293. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedadam.py +0 -0
  294. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedavg.py +0 -0
  295. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedavg_android.py +0 -0
  296. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedavgm.py +0 -0
  297. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedmedian.py +0 -0
  298. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedopt.py +0 -0
  299. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedprox.py +0 -0
  300. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
  301. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
  302. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
  303. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
  304. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedyogi.py +0 -0
  305. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/krum.py +0 -0
  306. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/qfedavg.py +0 -0
  307. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/strategy.py +0 -0
  308. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/__init__.py +0 -0
  309. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/__init__.py +0 -0
  310. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
  311. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
  312. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
  313. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
  314. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
  315. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
  316. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
  317. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_rere/node_auth_server_interceptor.py +0 -0
  318. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
  319. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
  320. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
  321. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
  322. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
  323. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
  324. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
  325. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
  326. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/__init__.py +0 -0
  327. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/linkstate_factory.py +0 -0
  328. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/utils.py +0 -0
  329. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/serverappio/__init__.py +0 -0
  330. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/serverappio/serverappio_grpc.py +0 -0
  331. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/serverappio/serverappio_servicer.py +0 -0
  332. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/simulation/__init__.py +0 -0
  333. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/simulation/simulationio_grpc.py +0 -0
  334. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/simulation/simulationio_servicer.py +0 -0
  335. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/utils.py +0 -0
  336. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/typing.py +0 -0
  337. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/utils/__init__.py +0 -0
  338. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/utils/tensorboard.py +0 -0
  339. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/utils/validator.py +0 -0
  340. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/__init__.py +0 -0
  341. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/constant.py +0 -0
  342. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/default_workflows.py +0 -0
  343. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
  344. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
  345. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
  346. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/__init__.py +0 -0
  347. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/exception.py +0 -0
  348. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/__init__.py +0 -0
  349. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/bulyan.py +0 -0
  350. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/dp_adaptive_clipping.py +0 -0
  351. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/dp_fixed_clipping.py +0 -0
  352. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedadagrad.py +0 -0
  353. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedadam.py +0 -0
  354. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedavg.py +0 -0
  355. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedavgm.py +0 -0
  356. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedmedian.py +0 -0
  357. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedopt.py +0 -0
  358. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedprox.py +0 -0
  359. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedtrimmedavg.py +0 -0
  360. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedxgb_bagging.py +0 -0
  361. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedxgb_cyclic.py +0 -0
  362. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedyogi.py +0 -0
  363. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/krum.py +0 -0
  364. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/multikrum.py +0 -0
  365. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/qfedavg.py +0 -0
  366. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/result.py +0 -0
  367. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/strategy.py +0 -0
  368. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/strategy_utils.py +0 -0
  369. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/__init__.py +0 -0
  370. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/app.py +0 -0
  371. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/legacy_app.py +0 -0
  372. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/ray_transport/__init__.py +0 -0
  373. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
  374. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
  375. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/ray_transport/utils.py +0 -0
  376. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/run_simulation.py +0 -0
  377. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/simulationio_connection.py +0 -0
  378. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/__init__.py +0 -0
  379. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/app_utils.py +0 -0
  380. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/cli/__init__.py +0 -0
  381. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/cli/flower_superexec.py +0 -0
  382. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/constant.py +0 -0
  383. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/corestate/__init__.py +0 -0
  384. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/corestate/corestate.py +0 -0
  385. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/ffs/__init__.py +0 -0
  386. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/ffs/disk_ffs.py +0 -0
  387. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/ffs/ffs.py +0 -0
  388. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/ffs/ffs_factory.py +0 -0
  389. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/grpc_health/__init__.py +0 -0
  390. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/grpc_health/health_server.py +0 -0
  391. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/grpc_health/simple_health_servicer.py +0 -0
  392. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/license_plugin/__init__.py +0 -0
  393. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/license_plugin/license_plugin.py +0 -0
  394. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/__init__.py +0 -0
  395. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/in_memory_object_store.py +0 -0
  396. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/object_store.py +0 -0
  397. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/object_store_factory.py +0 -0
  398. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/sqlite_object_store.py +0 -0
  399. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/utils.py +0 -0
  400. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/primitives/__init__.py +0 -0
  401. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/primitives/asymmetric.py +0 -0
  402. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/primitives/asymmetric_ed25519.py +0 -0
  403. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/sqlite_mixin.py +0 -0
  404. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/__init__.py +0 -0
  405. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/__init__.py +0 -0
  406. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/base_exec_plugin.py +0 -0
  407. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +0 -0
  408. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/exec_plugin.py +0 -0
  409. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/serverapp_exec_plugin.py +0 -0
  410. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/simulation_exec_plugin.py +0 -0
  411. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/run_superexec.py +0 -0
  412. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/utils.py +0 -0
  413. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/__init__.py +0 -0
  414. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/artifact_provider/__init__.py +0 -0
  415. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/artifact_provider/artifact_provider.py +0 -0
  416. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/auth_plugin/__init__.py +0 -0
  417. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/auth_plugin/auth_plugin.py +0 -0
  418. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/auth_plugin/noop_auth_plugin.py +0 -0
  419. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/__init__.py +0 -0
  420. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/__init__.py +0 -0
  421. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_account_auth_interceptor.py +0 -0
  422. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_event_log_interceptor.py +0 -0
  423. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_grpc.py +0 -0
  424. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_license_interceptor.py +0 -0
  425. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_servicer.py +0 -0
  426. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/__init__.py +0 -0
  427. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/cli/__init__.py +0 -0
  428. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/cli/flower_supernode.py +0 -0
  429. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/cli/flwr_clientapp.py +0 -0
  430. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/nodestate/__init__.py +0 -0
  431. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/nodestate/in_memory_nodestate.py +0 -0
  432. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/nodestate/nodestate.py +0 -0
  433. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/nodestate/nodestate_factory.py +0 -0
  434. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/runtime/__init__.py +0 -0
  435. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/runtime/run_clientapp.py +0 -0
  436. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/servicer/__init__.py +0 -0
  437. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/servicer/clientappio/__init__.py +0 -0
  438. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/servicer/clientappio/clientappio_servicer.py +0 -0
  439. {flwr_nightly-1.23.0.dev20251028 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/start_client_internal.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: flwr-nightly
3
- Version: 1.23.0.dev20251028
3
+ Version: 1.23.0.dev20251029
4
4
  Summary: Flower: A Friendly Federated AI Framework
5
5
  License: Apache-2.0
6
6
  Keywords: Artificial Intelligence,Federated AI,Federated Analytics,Federated Evaluation,Federated Learning,Flower,Machine Learning
@@ -34,14 +34,22 @@ from flwr.common.constant import (
34
34
  from flwr.common.version import package_name, package_version
35
35
  from flwr.proto.fab_pb2 import GetFabRequest, GetFabResponse # pylint: disable=E0611
36
36
  from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
37
+ ActivateNodeRequest,
38
+ ActivateNodeResponse,
37
39
  CreateNodeRequest,
38
40
  CreateNodeResponse,
41
+ DeactivateNodeRequest,
42
+ DeactivateNodeResponse,
39
43
  DeleteNodeRequest,
40
44
  DeleteNodeResponse,
41
45
  PullMessagesRequest,
42
46
  PullMessagesResponse,
43
47
  PushMessagesRequest,
44
48
  PushMessagesResponse,
49
+ RegisterNodeFleetRequest,
50
+ RegisterNodeFleetResponse,
51
+ UnregisterNodeFleetRequest,
52
+ UnregisterNodeFleetResponse,
45
53
  )
46
54
  from flwr.proto.grpcadapter_pb2 import MessageContainer # pylint: disable=E0611
47
55
  from flwr.proto.grpcadapter_pb2_grpc import GrpcAdapterStub
@@ -130,6 +138,30 @@ class GrpcAdapter:
130
138
  """."""
131
139
  return self._send_and_receive(request, DeleteNodeResponse, **kwargs)
132
140
 
141
+ def RegisterNode( # pylint: disable=C0103
142
+ self, request: RegisterNodeFleetRequest, **kwargs: Any
143
+ ) -> RegisterNodeFleetResponse:
144
+ """."""
145
+ return self._send_and_receive(request, RegisterNodeFleetResponse, **kwargs)
146
+
147
+ def ActivateNode( # pylint: disable=C0103
148
+ self, request: ActivateNodeRequest, **kwargs: Any
149
+ ) -> ActivateNodeResponse:
150
+ """."""
151
+ return self._send_and_receive(request, ActivateNodeResponse, **kwargs)
152
+
153
+ def DeactivateNode( # pylint: disable=C0103
154
+ self, request: DeactivateNodeRequest, **kwargs: Any
155
+ ) -> DeactivateNodeResponse:
156
+ """."""
157
+ return self._send_and_receive(request, DeactivateNodeResponse, **kwargs)
158
+
159
+ def UnregisterNode( # pylint: disable=C0103
160
+ self, request: UnregisterNodeFleetRequest, **kwargs: Any
161
+ ) -> UnregisterNodeFleetResponse:
162
+ """."""
163
+ return self._send_and_receive(request, UnregisterNodeFleetResponse, **kwargs)
164
+
133
165
  def SendNodeHeartbeat( # pylint: disable=C0103
134
166
  self, request: SendNodeHeartbeatRequest, **kwargs: Any
135
167
  ) -> SendNodeHeartbeatResponse:
@@ -0,0 +1,69 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: flwr/proto/fleet.proto
4
+ # Protobuf Python Version: 4.25.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from flwr.proto import heartbeat_pb2 as flwr_dot_proto_dot_heartbeat__pb2
16
+ from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
17
+ from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
18
+ from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
19
+ from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
20
+
21
+
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x18\x66lwr/proto/message.proto\"C\n\x11\x43reateNodeRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x1a\n\x12heartbeat_interval\x18\x02 \x01(\x01\"4\n\x12\x43reateNodeResponse\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"3\n\x11\x44\x65leteNodeRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"\x14\n\x12\x44\x65leteNodeResponse\".\n\x18RegisterNodeFleetRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\"\x1b\n\x19RegisterNodeFleetResponse\"E\n\x13\x41\x63tivateNodeRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x1a\n\x12heartbeat_interval\x18\x02 \x01(\x01\"\'\n\x14\x41\x63tivateNodeResponse\x12\x0f\n\x07node_id\x18\x01 \x01(\x04\"(\n\x15\x44\x65\x61\x63tivateNodeRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x04\"\x18\n\x16\x44\x65\x61\x63tivateNodeResponse\"-\n\x1aUnregisterNodeFleetRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x04\"\x1d\n\x1bUnregisterNodeFleetResponse\"J\n\x13PullMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x13\n\x0bmessage_ids\x18\x02 \x03(\t\"\xa2\x01\n\x14PullMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\x97\x01\n\x13PushMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\xc9\x01\n\x14PushMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12>\n\x07results\x18\x02 \x03(\x0b\x32-.flwr.proto.PushMessagesResponse.ResultsEntry\x12\x17\n\x0fobjects_to_push\x18\x03 \x03(\t\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\xbe\t\n\x05\x46leet\x12M\n\nCreateNode\x12\x1d.flwr.proto.CreateNodeRequest\x1a\x1e.flwr.proto.CreateNodeResponse\"\x00\x12M\n\nDeleteNode\x12\x1d.flwr.proto.DeleteNodeRequest\x1a\x1e.flwr.proto.DeleteNodeResponse\"\x00\x12]\n\x0cRegisterNode\x12$.flwr.proto.RegisterNodeFleetRequest\x1a%.flwr.proto.RegisterNodeFleetResponse\"\x00\x12S\n\x0c\x41\x63tivateNode\x12\x1f.flwr.proto.ActivateNodeRequest\x1a .flwr.proto.ActivateNodeResponse\"\x00\x12Y\n\x0e\x44\x65\x61\x63tivateNode\x12!.flwr.proto.DeactivateNodeRequest\x1a\".flwr.proto.DeactivateNodeResponse\"\x00\x12\x63\n\x0eUnregisterNode\x12&.flwr.proto.UnregisterNodeFleetRequest\x1a\'.flwr.proto.UnregisterNodeFleetResponse\"\x00\x12\x62\n\x11SendNodeHeartbeat\x12$.flwr.proto.SendNodeHeartbeatRequest\x1a%.flwr.proto.SendNodeHeartbeatResponse\"\x00\x12S\n\x0cPullMessages\x12\x1f.flwr.proto.PullMessagesRequest\x1a .flwr.proto.PullMessagesResponse\"\x00\x12S\n\x0cPushMessages\x12\x1f.flwr.proto.PushMessagesRequest\x1a .flwr.proto.PushMessagesResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x12M\n\nPushObject\x12\x1d.flwr.proto.PushObjectRequest\x1a\x1e.flwr.proto.PushObjectResponse\"\x00\x12M\n\nPullObject\x12\x1d.flwr.proto.PullObjectRequest\x1a\x1e.flwr.proto.PullObjectResponse\"\x00\x12q\n\x16\x43onfirmMessageReceived\x12).flwr.proto.ConfirmMessageReceivedRequest\x1a*.flwr.proto.ConfirmMessageReceivedResponse\"\x00\x62\x06proto3')
23
+
24
+ _globals = globals()
25
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.fleet_pb2', _globals)
27
+ if _descriptor._USE_C_DESCRIPTORS == False:
28
+ DESCRIPTOR._options = None
29
+ _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._options = None
30
+ _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_options = b'8\001'
31
+ _globals['_CREATENODEREQUEST']._serialized_start=159
32
+ _globals['_CREATENODEREQUEST']._serialized_end=226
33
+ _globals['_CREATENODERESPONSE']._serialized_start=228
34
+ _globals['_CREATENODERESPONSE']._serialized_end=280
35
+ _globals['_DELETENODEREQUEST']._serialized_start=282
36
+ _globals['_DELETENODEREQUEST']._serialized_end=333
37
+ _globals['_DELETENODERESPONSE']._serialized_start=335
38
+ _globals['_DELETENODERESPONSE']._serialized_end=355
39
+ _globals['_REGISTERNODEFLEETREQUEST']._serialized_start=357
40
+ _globals['_REGISTERNODEFLEETREQUEST']._serialized_end=403
41
+ _globals['_REGISTERNODEFLEETRESPONSE']._serialized_start=405
42
+ _globals['_REGISTERNODEFLEETRESPONSE']._serialized_end=432
43
+ _globals['_ACTIVATENODEREQUEST']._serialized_start=434
44
+ _globals['_ACTIVATENODEREQUEST']._serialized_end=503
45
+ _globals['_ACTIVATENODERESPONSE']._serialized_start=505
46
+ _globals['_ACTIVATENODERESPONSE']._serialized_end=544
47
+ _globals['_DEACTIVATENODEREQUEST']._serialized_start=546
48
+ _globals['_DEACTIVATENODEREQUEST']._serialized_end=586
49
+ _globals['_DEACTIVATENODERESPONSE']._serialized_start=588
50
+ _globals['_DEACTIVATENODERESPONSE']._serialized_end=612
51
+ _globals['_UNREGISTERNODEFLEETREQUEST']._serialized_start=614
52
+ _globals['_UNREGISTERNODEFLEETREQUEST']._serialized_end=659
53
+ _globals['_UNREGISTERNODEFLEETRESPONSE']._serialized_start=661
54
+ _globals['_UNREGISTERNODEFLEETRESPONSE']._serialized_end=690
55
+ _globals['_PULLMESSAGESREQUEST']._serialized_start=692
56
+ _globals['_PULLMESSAGESREQUEST']._serialized_end=766
57
+ _globals['_PULLMESSAGESRESPONSE']._serialized_start=769
58
+ _globals['_PULLMESSAGESRESPONSE']._serialized_end=931
59
+ _globals['_PUSHMESSAGESREQUEST']._serialized_start=934
60
+ _globals['_PUSHMESSAGESREQUEST']._serialized_end=1085
61
+ _globals['_PUSHMESSAGESRESPONSE']._serialized_start=1088
62
+ _globals['_PUSHMESSAGESRESPONSE']._serialized_end=1289
63
+ _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_start=1243
64
+ _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_end=1289
65
+ _globals['_RECONNECT']._serialized_start=1291
66
+ _globals['_RECONNECT']._serialized_end=1321
67
+ _globals['_FLEET']._serialized_start=1324
68
+ _globals['_FLEET']._serialized_end=2538
69
+ # @@protoc_insertion_point(module_scope)
@@ -61,6 +61,86 @@ class DeleteNodeResponse(google.protobuf.message.Message):
61
61
  ) -> None: ...
62
62
  global___DeleteNodeResponse = DeleteNodeResponse
63
63
 
64
+ class RegisterNodeFleetRequest(google.protobuf.message.Message):
65
+ """RegisterNode messages (add prefix to avoid name clash)"""
66
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
67
+ PUBLIC_KEY_FIELD_NUMBER: builtins.int
68
+ public_key: builtins.bytes
69
+ def __init__(self,
70
+ *,
71
+ public_key: builtins.bytes = ...,
72
+ ) -> None: ...
73
+ def ClearField(self, field_name: typing_extensions.Literal["public_key",b"public_key"]) -> None: ...
74
+ global___RegisterNodeFleetRequest = RegisterNodeFleetRequest
75
+
76
+ class RegisterNodeFleetResponse(google.protobuf.message.Message):
77
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
78
+ def __init__(self,
79
+ ) -> None: ...
80
+ global___RegisterNodeFleetResponse = RegisterNodeFleetResponse
81
+
82
+ class ActivateNodeRequest(google.protobuf.message.Message):
83
+ """ActivateNode messages"""
84
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
85
+ PUBLIC_KEY_FIELD_NUMBER: builtins.int
86
+ HEARTBEAT_INTERVAL_FIELD_NUMBER: builtins.int
87
+ public_key: builtins.bytes
88
+ heartbeat_interval: builtins.float
89
+ def __init__(self,
90
+ *,
91
+ public_key: builtins.bytes = ...,
92
+ heartbeat_interval: builtins.float = ...,
93
+ ) -> None: ...
94
+ def ClearField(self, field_name: typing_extensions.Literal["heartbeat_interval",b"heartbeat_interval","public_key",b"public_key"]) -> None: ...
95
+ global___ActivateNodeRequest = ActivateNodeRequest
96
+
97
+ class ActivateNodeResponse(google.protobuf.message.Message):
98
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
99
+ NODE_ID_FIELD_NUMBER: builtins.int
100
+ node_id: builtins.int
101
+ def __init__(self,
102
+ *,
103
+ node_id: builtins.int = ...,
104
+ ) -> None: ...
105
+ def ClearField(self, field_name: typing_extensions.Literal["node_id",b"node_id"]) -> None: ...
106
+ global___ActivateNodeResponse = ActivateNodeResponse
107
+
108
+ class DeactivateNodeRequest(google.protobuf.message.Message):
109
+ """DeactivateNode messages"""
110
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
111
+ NODE_ID_FIELD_NUMBER: builtins.int
112
+ node_id: builtins.int
113
+ def __init__(self,
114
+ *,
115
+ node_id: builtins.int = ...,
116
+ ) -> None: ...
117
+ def ClearField(self, field_name: typing_extensions.Literal["node_id",b"node_id"]) -> None: ...
118
+ global___DeactivateNodeRequest = DeactivateNodeRequest
119
+
120
+ class DeactivateNodeResponse(google.protobuf.message.Message):
121
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
122
+ def __init__(self,
123
+ ) -> None: ...
124
+ global___DeactivateNodeResponse = DeactivateNodeResponse
125
+
126
+ class UnregisterNodeFleetRequest(google.protobuf.message.Message):
127
+ """UnregisterNode messages (add prefix to avoid name clash)"""
128
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
129
+ NODE_ID_FIELD_NUMBER: builtins.int
130
+ node_id: builtins.int
131
+ def __init__(self,
132
+ *,
133
+ node_id: builtins.int = ...,
134
+ ) -> None: ...
135
+ def ClearField(self, field_name: typing_extensions.Literal["node_id",b"node_id"]) -> None: ...
136
+ global___UnregisterNodeFleetRequest = UnregisterNodeFleetRequest
137
+
138
+ class UnregisterNodeFleetResponse(google.protobuf.message.Message):
139
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
140
+ def __init__(self,
141
+ ) -> None: ...
142
+ global___UnregisterNodeFleetResponse = UnregisterNodeFleetResponse
143
+
64
144
  class PullMessagesRequest(google.protobuf.message.Message):
65
145
  """PullMessages messages"""
66
146
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -28,6 +28,26 @@ class FleetStub(object):
28
28
  request_serializer=flwr_dot_proto_dot_fleet__pb2.DeleteNodeRequest.SerializeToString,
29
29
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.DeleteNodeResponse.FromString,
30
30
  )
31
+ self.RegisterNode = channel.unary_unary(
32
+ '/flwr.proto.Fleet/RegisterNode',
33
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetRequest.SerializeToString,
34
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetResponse.FromString,
35
+ )
36
+ self.ActivateNode = channel.unary_unary(
37
+ '/flwr.proto.Fleet/ActivateNode',
38
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeRequest.SerializeToString,
39
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeResponse.FromString,
40
+ )
41
+ self.DeactivateNode = channel.unary_unary(
42
+ '/flwr.proto.Fleet/DeactivateNode',
43
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeRequest.SerializeToString,
44
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeResponse.FromString,
45
+ )
46
+ self.UnregisterNode = channel.unary_unary(
47
+ '/flwr.proto.Fleet/UnregisterNode',
48
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetRequest.SerializeToString,
49
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetResponse.FromString,
50
+ )
31
51
  self.SendNodeHeartbeat = channel.unary_unary(
32
52
  '/flwr.proto.Fleet/SendNodeHeartbeat',
33
53
  request_serializer=flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatRequest.SerializeToString,
@@ -85,6 +105,34 @@ class FleetServicer(object):
85
105
  context.set_details('Method not implemented!')
86
106
  raise NotImplementedError('Method not implemented!')
87
107
 
108
+ def RegisterNode(self, request, context):
109
+ """Register Node
110
+ """
111
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
112
+ context.set_details('Method not implemented!')
113
+ raise NotImplementedError('Method not implemented!')
114
+
115
+ def ActivateNode(self, request, context):
116
+ """Activate Node
117
+ """
118
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
119
+ context.set_details('Method not implemented!')
120
+ raise NotImplementedError('Method not implemented!')
121
+
122
+ def DeactivateNode(self, request, context):
123
+ """Deactivate Node
124
+ """
125
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
126
+ context.set_details('Method not implemented!')
127
+ raise NotImplementedError('Method not implemented!')
128
+
129
+ def UnregisterNode(self, request, context):
130
+ """Unregister Node
131
+ """
132
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
133
+ context.set_details('Method not implemented!')
134
+ raise NotImplementedError('Method not implemented!')
135
+
88
136
  def SendNodeHeartbeat(self, request, context):
89
137
  """Missing associated documentation comment in .proto file."""
90
138
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -156,6 +204,26 @@ def add_FleetServicer_to_server(servicer, server):
156
204
  request_deserializer=flwr_dot_proto_dot_fleet__pb2.DeleteNodeRequest.FromString,
157
205
  response_serializer=flwr_dot_proto_dot_fleet__pb2.DeleteNodeResponse.SerializeToString,
158
206
  ),
207
+ 'RegisterNode': grpc.unary_unary_rpc_method_handler(
208
+ servicer.RegisterNode,
209
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetRequest.FromString,
210
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetResponse.SerializeToString,
211
+ ),
212
+ 'ActivateNode': grpc.unary_unary_rpc_method_handler(
213
+ servicer.ActivateNode,
214
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeRequest.FromString,
215
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.ActivateNodeResponse.SerializeToString,
216
+ ),
217
+ 'DeactivateNode': grpc.unary_unary_rpc_method_handler(
218
+ servicer.DeactivateNode,
219
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeRequest.FromString,
220
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.DeactivateNodeResponse.SerializeToString,
221
+ ),
222
+ 'UnregisterNode': grpc.unary_unary_rpc_method_handler(
223
+ servicer.UnregisterNode,
224
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetRequest.FromString,
225
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetResponse.SerializeToString,
226
+ ),
159
227
  'SendNodeHeartbeat': grpc.unary_unary_rpc_method_handler(
160
228
  servicer.SendNodeHeartbeat,
161
229
  request_deserializer=flwr_dot_proto_dot_heartbeat__pb2.SendNodeHeartbeatRequest.FromString,
@@ -240,6 +308,74 @@ class Fleet(object):
240
308
  options, channel_credentials,
241
309
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
242
310
 
311
+ @staticmethod
312
+ def RegisterNode(request,
313
+ target,
314
+ options=(),
315
+ channel_credentials=None,
316
+ call_credentials=None,
317
+ insecure=False,
318
+ compression=None,
319
+ wait_for_ready=None,
320
+ timeout=None,
321
+ metadata=None):
322
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/RegisterNode',
323
+ flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetRequest.SerializeToString,
324
+ flwr_dot_proto_dot_fleet__pb2.RegisterNodeFleetResponse.FromString,
325
+ options, channel_credentials,
326
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
327
+
328
+ @staticmethod
329
+ def ActivateNode(request,
330
+ target,
331
+ options=(),
332
+ channel_credentials=None,
333
+ call_credentials=None,
334
+ insecure=False,
335
+ compression=None,
336
+ wait_for_ready=None,
337
+ timeout=None,
338
+ metadata=None):
339
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/ActivateNode',
340
+ flwr_dot_proto_dot_fleet__pb2.ActivateNodeRequest.SerializeToString,
341
+ flwr_dot_proto_dot_fleet__pb2.ActivateNodeResponse.FromString,
342
+ options, channel_credentials,
343
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
344
+
345
+ @staticmethod
346
+ def DeactivateNode(request,
347
+ target,
348
+ options=(),
349
+ channel_credentials=None,
350
+ call_credentials=None,
351
+ insecure=False,
352
+ compression=None,
353
+ wait_for_ready=None,
354
+ timeout=None,
355
+ metadata=None):
356
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/DeactivateNode',
357
+ flwr_dot_proto_dot_fleet__pb2.DeactivateNodeRequest.SerializeToString,
358
+ flwr_dot_proto_dot_fleet__pb2.DeactivateNodeResponse.FromString,
359
+ options, channel_credentials,
360
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
361
+
362
+ @staticmethod
363
+ def UnregisterNode(request,
364
+ target,
365
+ options=(),
366
+ channel_credentials=None,
367
+ call_credentials=None,
368
+ insecure=False,
369
+ compression=None,
370
+ wait_for_ready=None,
371
+ timeout=None,
372
+ metadata=None):
373
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/UnregisterNode',
374
+ flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetRequest.SerializeToString,
375
+ flwr_dot_proto_dot_fleet__pb2.UnregisterNodeFleetResponse.FromString,
376
+ options, channel_credentials,
377
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
378
+
243
379
  @staticmethod
244
380
  def SendNodeHeartbeat(request,
245
381
  target,
@@ -20,6 +20,26 @@ class FleetStub:
20
20
  flwr.proto.fleet_pb2.DeleteNodeRequest,
21
21
  flwr.proto.fleet_pb2.DeleteNodeResponse]
22
22
 
23
+ RegisterNode: grpc.UnaryUnaryMultiCallable[
24
+ flwr.proto.fleet_pb2.RegisterNodeFleetRequest,
25
+ flwr.proto.fleet_pb2.RegisterNodeFleetResponse]
26
+ """Register Node"""
27
+
28
+ ActivateNode: grpc.UnaryUnaryMultiCallable[
29
+ flwr.proto.fleet_pb2.ActivateNodeRequest,
30
+ flwr.proto.fleet_pb2.ActivateNodeResponse]
31
+ """Activate Node"""
32
+
33
+ DeactivateNode: grpc.UnaryUnaryMultiCallable[
34
+ flwr.proto.fleet_pb2.DeactivateNodeRequest,
35
+ flwr.proto.fleet_pb2.DeactivateNodeResponse]
36
+ """Deactivate Node"""
37
+
38
+ UnregisterNode: grpc.UnaryUnaryMultiCallable[
39
+ flwr.proto.fleet_pb2.UnregisterNodeFleetRequest,
40
+ flwr.proto.fleet_pb2.UnregisterNodeFleetResponse]
41
+ """Unregister Node"""
42
+
23
43
  SendNodeHeartbeat: grpc.UnaryUnaryMultiCallable[
24
44
  flwr.proto.heartbeat_pb2.SendNodeHeartbeatRequest,
25
45
  flwr.proto.heartbeat_pb2.SendNodeHeartbeatResponse]
@@ -78,6 +98,38 @@ class FleetServicer(metaclass=abc.ABCMeta):
78
98
  context: grpc.ServicerContext,
79
99
  ) -> flwr.proto.fleet_pb2.DeleteNodeResponse: ...
80
100
 
101
+ @abc.abstractmethod
102
+ def RegisterNode(self,
103
+ request: flwr.proto.fleet_pb2.RegisterNodeFleetRequest,
104
+ context: grpc.ServicerContext,
105
+ ) -> flwr.proto.fleet_pb2.RegisterNodeFleetResponse:
106
+ """Register Node"""
107
+ pass
108
+
109
+ @abc.abstractmethod
110
+ def ActivateNode(self,
111
+ request: flwr.proto.fleet_pb2.ActivateNodeRequest,
112
+ context: grpc.ServicerContext,
113
+ ) -> flwr.proto.fleet_pb2.ActivateNodeResponse:
114
+ """Activate Node"""
115
+ pass
116
+
117
+ @abc.abstractmethod
118
+ def DeactivateNode(self,
119
+ request: flwr.proto.fleet_pb2.DeactivateNodeRequest,
120
+ context: grpc.ServicerContext,
121
+ ) -> flwr.proto.fleet_pb2.DeactivateNodeResponse:
122
+ """Deactivate Node"""
123
+ pass
124
+
125
+ @abc.abstractmethod
126
+ def UnregisterNode(self,
127
+ request: flwr.proto.fleet_pb2.UnregisterNodeFleetRequest,
128
+ context: grpc.ServicerContext,
129
+ ) -> flwr.proto.fleet_pb2.UnregisterNodeFleetResponse:
130
+ """Unregister Node"""
131
+ pass
132
+
81
133
  @abc.abstractmethod
82
134
  def SendNodeHeartbeat(self,
83
135
  request: flwr.proto.heartbeat_pb2.SendNodeHeartbeatRequest,
@@ -33,10 +33,14 @@ from flwr.common.version import package_name, package_version
33
33
  from flwr.proto import grpcadapter_pb2_grpc # pylint: disable=E0611
34
34
  from flwr.proto.fab_pb2 import GetFabRequest # pylint: disable=E0611
35
35
  from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
36
+ ActivateNodeRequest,
36
37
  CreateNodeRequest,
38
+ DeactivateNodeRequest,
37
39
  DeleteNodeRequest,
38
40
  PullMessagesRequest,
39
41
  PushMessagesRequest,
42
+ RegisterNodeFleetRequest,
43
+ UnregisterNodeFleetRequest,
40
44
  )
41
45
  from flwr.proto.grpcadapter_pb2 import MessageContainer # pylint: disable=E0611
42
46
  from flwr.proto.heartbeat_pb2 import SendNodeHeartbeatRequest # pylint: disable=E0611
@@ -77,7 +81,7 @@ def _handle(
77
81
  class GrpcAdapterServicer(grpcadapter_pb2_grpc.GrpcAdapterServicer, FleetServicer):
78
82
  """Fleet API via GrpcAdapter servicer."""
79
83
 
80
- def SendReceive( # pylint: disable=too-many-return-statements
84
+ def SendReceive( # pylint: disable=too-many-return-statements, too-many-branches
81
85
  self, request: MessageContainer, context: grpc.ServicerContext
82
86
  ) -> MessageContainer:
83
87
  """."""
@@ -86,6 +90,18 @@ class GrpcAdapterServicer(grpcadapter_pb2_grpc.GrpcAdapterServicer, FleetService
86
90
  return _handle(request, context, CreateNodeRequest, self.CreateNode)
87
91
  if request.grpc_message_name == DeleteNodeRequest.__qualname__:
88
92
  return _handle(request, context, DeleteNodeRequest, self.DeleteNode)
93
+ if request.grpc_message_name == RegisterNodeFleetRequest.__qualname__:
94
+ return _handle(
95
+ request, context, RegisterNodeFleetRequest, self.RegisterNode
96
+ )
97
+ if request.grpc_message_name == ActivateNodeRequest.__qualname__:
98
+ return _handle(request, context, ActivateNodeRequest, self.ActivateNode)
99
+ if request.grpc_message_name == DeactivateNodeRequest.__qualname__:
100
+ return _handle(request, context, DeactivateNodeRequest, self.DeactivateNode)
101
+ if request.grpc_message_name == UnregisterNodeFleetRequest.__qualname__:
102
+ return _handle(
103
+ request, context, UnregisterNodeFleetRequest, self.UnregisterNode
104
+ )
89
105
  if request.grpc_message_name == SendNodeHeartbeatRequest.__qualname__:
90
106
  return _handle(
91
107
  request, context, SendNodeHeartbeatRequest, self.SendNodeHeartbeat
@@ -28,14 +28,22 @@ from flwr.common.typing import InvalidRunStatusException
28
28
  from flwr.proto import fleet_pb2_grpc # pylint: disable=E0611
29
29
  from flwr.proto.fab_pb2 import GetFabRequest, GetFabResponse # pylint: disable=E0611
30
30
  from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
31
+ ActivateNodeRequest,
32
+ ActivateNodeResponse,
31
33
  CreateNodeRequest,
32
34
  CreateNodeResponse,
35
+ DeactivateNodeRequest,
36
+ DeactivateNodeResponse,
33
37
  DeleteNodeRequest,
34
38
  DeleteNodeResponse,
35
39
  PullMessagesRequest,
36
40
  PullMessagesResponse,
37
41
  PushMessagesRequest,
38
42
  PushMessagesResponse,
43
+ RegisterNodeFleetRequest,
44
+ RegisterNodeFleetResponse,
45
+ UnregisterNodeFleetRequest,
46
+ UnregisterNodeFleetResponse,
39
47
  )
40
48
  from flwr.proto.heartbeat_pb2 import ( # pylint: disable=E0611
41
49
  SendNodeHeartbeatRequest,
@@ -140,6 +148,50 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
140
148
  log(DEBUG, "[Fleet.CreateNode] Response: %s", MessageToDict(response))
141
149
  return response
142
150
 
151
+ def RegisterNode(
152
+ self, request: RegisterNodeFleetRequest, context: grpc.ServicerContext
153
+ ) -> RegisterNodeFleetResponse:
154
+ """Register a node (not implemented)."""
155
+ log(ERROR, "[Fleet.RegisterNode] RegisterNode is not implemented")
156
+ context.abort(
157
+ grpc.StatusCode.UNIMPLEMENTED,
158
+ "RegisterNode RPC is not yet implemented",
159
+ )
160
+ raise NotImplementedError
161
+
162
+ def ActivateNode(
163
+ self, request: ActivateNodeRequest, context: grpc.ServicerContext
164
+ ) -> ActivateNodeResponse:
165
+ """Activate a node (not implemented)."""
166
+ log(ERROR, "[Fleet.ActivateNode] ActivateNode is not implemented")
167
+ context.abort(
168
+ grpc.StatusCode.UNIMPLEMENTED,
169
+ "ActivateNode RPC is not yet implemented",
170
+ )
171
+ raise NotImplementedError
172
+
173
+ def DeactivateNode(
174
+ self, request: DeactivateNodeRequest, context: grpc.ServicerContext
175
+ ) -> DeactivateNodeResponse:
176
+ """Deactivate a node (not implemented)."""
177
+ log(ERROR, "[Fleet.DeactivateNode] DeactivateNode is not implemented")
178
+ context.abort(
179
+ grpc.StatusCode.UNIMPLEMENTED,
180
+ "DeactivateNode RPC is not yet implemented",
181
+ )
182
+ raise NotImplementedError
183
+
184
+ def UnregisterNode(
185
+ self, request: UnregisterNodeFleetRequest, context: grpc.ServicerContext
186
+ ) -> UnregisterNodeFleetResponse:
187
+ """Unregister a node (not implemented)."""
188
+ log(ERROR, "[Fleet.UnregisterNode] UnregisterNode is not implemented")
189
+ context.abort(
190
+ grpc.StatusCode.UNIMPLEMENTED,
191
+ "UnregisterNode RPC is not yet implemented",
192
+ )
193
+ raise NotImplementedError
194
+
143
195
  def DeleteNode(
144
196
  self, request: DeleteNodeRequest, context: grpc.ServicerContext
145
197
  ) -> DeleteNodeResponse: