flwr-nightly 1.23.0.dev20251006__tar.gz → 1.23.0.dev20251007__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 (435) hide show
  1. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/PKG-INFO +1 -1
  2. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/grpc_rere_client/client_interceptor.py +1 -4
  3. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/grpc_rere_client/connection.py +1 -3
  4. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +7 -5
  5. flwr_nightly-1.23.0.dev20251007/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +76 -0
  6. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/app.py +1 -3
  7. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +1 -4
  8. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +4 -2
  9. flwr_nightly-1.23.0.dev20251007/py/flwr/supercore/primitives/__init__.py +15 -0
  10. flwr_nightly-1.23.0.dev20251006/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py → flwr_nightly-1.23.0.dev20251007/py/flwr/supercore/primitives/asymmetric.py +2 -57
  11. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/pyproject.toml +1 -1
  12. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/README.md +0 -0
  13. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/__init__.py +0 -0
  14. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/app/__init__.py +0 -0
  15. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/app/error.py +0 -0
  16. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/app/exception.py +0 -0
  17. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/app/metadata.py +0 -0
  18. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/__init__.py +0 -0
  19. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/app.py +0 -0
  20. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/auth_plugin/__init__.py +0 -0
  21. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/auth_plugin/auth_plugin.py +0 -0
  22. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/auth_plugin/noop_auth_plugin.py +0 -0
  23. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/auth_plugin/oidc_cli_plugin.py +0 -0
  24. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/build.py +0 -0
  25. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/cli_account_auth_interceptor.py +0 -0
  26. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/config_utils.py +0 -0
  27. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/constant.py +0 -0
  28. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/example.py +0 -0
  29. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/install.py +0 -0
  30. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/log.py +0 -0
  31. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/login/__init__.py +0 -0
  32. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/login/login.py +0 -0
  33. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/ls.py +0 -0
  34. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/__init__.py +0 -0
  35. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/new.py +0 -0
  36. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/__init__.py +0 -0
  37. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
  38. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/LICENSE.tpl +0 -0
  39. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/README.baseline.md.tpl +0 -0
  40. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -0
  41. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
  42. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/__init__.py +0 -0
  43. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +0 -0
  44. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
  45. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
  46. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl +0 -0
  47. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl +0 -0
  48. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl +0 -0
  49. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
  50. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
  51. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
  52. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
  53. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl +0 -0
  54. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
  55. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
  56. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/client.xgboost.py.tpl +0 -0
  57. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +0 -0
  58. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py +0 -0
  59. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +0 -0
  60. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -0
  61. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -0
  62. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +0 -0
  63. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +0 -0
  64. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -0
  65. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl +0 -0
  66. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl +0 -0
  67. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -0
  68. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -0
  69. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
  70. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
  71. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl +0 -0
  72. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -0
  73. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
  74. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/server.xgboost.py.tpl +0 -0
  75. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +0 -0
  76. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl +0 -0
  77. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
  78. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
  79. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl +0 -0
  80. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
  81. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl +0 -0
  82. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl +0 -0
  83. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
  84. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/task.xgboost.py.tpl +0 -0
  85. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl +0 -0
  86. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +0 -0
  87. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +0 -0
  88. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +0 -0
  89. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -0
  90. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -0
  91. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
  92. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
  93. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +0 -0
  94. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -0
  95. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
  96. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +0 -0
  97. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/pull.py +0 -0
  98. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/run/__init__.py +0 -0
  99. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/run/run.py +0 -0
  100. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/stop.py +0 -0
  101. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/supernode/__init__.py +0 -0
  102. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/supernode/create.py +0 -0
  103. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/supernode/delete.py +0 -0
  104. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/supernode/ls.py +0 -0
  105. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/cli/utils.py +0 -0
  106. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/__init__.py +0 -0
  107. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/client.py +0 -0
  108. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/dpfedavg_numpy_client.py +0 -0
  109. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
  110. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/grpc_adapter_client/connection.py +0 -0
  111. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/grpc_rere_client/__init__.py +0 -0
  112. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/grpc_rere_client/grpc_adapter.py +0 -0
  113. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/message_handler/__init__.py +0 -0
  114. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/message_handler/message_handler.py +0 -0
  115. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/mod/__init__.py +0 -0
  116. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/mod/centraldp_mods.py +0 -0
  117. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/mod/comms_mods.py +0 -0
  118. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/mod/localdp_mod.py +0 -0
  119. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
  120. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
  121. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/mod/utils.py +0 -0
  122. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/numpy_client.py +0 -0
  123. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/rest_client/__init__.py +0 -0
  124. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/rest_client/connection.py +0 -0
  125. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/run_info_store.py +0 -0
  126. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/client/typing.py +0 -0
  127. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/clientapp/__init__.py +0 -0
  128. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/clientapp/client_app.py +0 -0
  129. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/clientapp/mod/__init__.py +0 -0
  130. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/clientapp/mod/centraldp_mods.py +0 -0
  131. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/clientapp/mod/localdp_mod.py +0 -0
  132. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/clientapp/typing.py +0 -0
  133. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/clientapp/utils.py +0 -0
  134. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/__init__.py +0 -0
  135. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/address.py +0 -0
  136. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/args.py +0 -0
  137. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/config.py +0 -0
  138. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/constant.py +0 -0
  139. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/context.py +0 -0
  140. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/date.py +0 -0
  141. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/differential_privacy.py +0 -0
  142. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/differential_privacy_constants.py +0 -0
  143. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/dp.py +0 -0
  144. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/event_log_plugin/__init__.py +0 -0
  145. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/event_log_plugin/event_log_plugin.py +0 -0
  146. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/exit/__init__.py +0 -0
  147. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/exit/exit.py +0 -0
  148. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/exit/exit_code.py +0 -0
  149. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/exit/exit_handler.py +0 -0
  150. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/exit/signal_handler.py +0 -0
  151. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/grpc.py +0 -0
  152. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/heartbeat.py +0 -0
  153. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/inflatable.py +0 -0
  154. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/inflatable_protobuf_utils.py +0 -0
  155. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/inflatable_utils.py +0 -0
  156. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/logger.py +0 -0
  157. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/message.py +0 -0
  158. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/object_ref.py +0 -0
  159. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/parameter.py +0 -0
  160. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/pyproject.py +0 -0
  161. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/__init__.py +0 -0
  162. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/array.py +0 -0
  163. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/arraychunk.py +0 -0
  164. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/arrayrecord.py +0 -0
  165. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/configrecord.py +0 -0
  166. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/conversion_utils.py +0 -0
  167. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/metricrecord.py +0 -0
  168. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/recorddict.py +0 -0
  169. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/record/typeddict.py +0 -0
  170. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/recorddict_compat.py +0 -0
  171. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/retry_invoker.py +0 -0
  172. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/secure_aggregation/__init__.py +0 -0
  173. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
  174. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
  175. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
  176. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/secure_aggregation/quantization.py +0 -0
  177. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
  178. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
  179. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/serde.py +0 -0
  180. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/serde_utils.py +0 -0
  181. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/telemetry.py +0 -0
  182. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/typing.py +0 -0
  183. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/common/version.py +0 -0
  184. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/__init__.py +0 -0
  185. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/client/__init__.py +0 -0
  186. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/client/app.py +0 -0
  187. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/client/grpc_client/__init__.py +0 -0
  188. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/client/grpc_client/connection.py +0 -0
  189. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/common/__init__.py +0 -0
  190. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/server/__init__.py +0 -0
  191. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/server/app.py +0 -0
  192. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/compat/simulation/__init__.py +0 -0
  193. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/__init__.py +0 -0
  194. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/appio_pb2.py +0 -0
  195. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/appio_pb2.pyi +0 -0
  196. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/appio_pb2_grpc.py +0 -0
  197. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/appio_pb2_grpc.pyi +0 -0
  198. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/clientappio_pb2.py +0 -0
  199. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/clientappio_pb2.pyi +0 -0
  200. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/clientappio_pb2_grpc.py +0 -0
  201. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/clientappio_pb2_grpc.pyi +0 -0
  202. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/control_pb2.py +0 -0
  203. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/control_pb2.pyi +0 -0
  204. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/control_pb2_grpc.py +0 -0
  205. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/control_pb2_grpc.pyi +0 -0
  206. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/error_pb2.py +0 -0
  207. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/error_pb2.pyi +0 -0
  208. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/error_pb2_grpc.py +0 -0
  209. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/error_pb2_grpc.pyi +0 -0
  210. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/fab_pb2.py +0 -0
  211. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/fab_pb2.pyi +0 -0
  212. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/fab_pb2_grpc.py +0 -0
  213. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
  214. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/fleet_pb2.py +0 -0
  215. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/fleet_pb2.pyi +0 -0
  216. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/fleet_pb2_grpc.py +0 -0
  217. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
  218. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/grpcadapter_pb2.py +0 -0
  219. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
  220. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
  221. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
  222. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/heartbeat_pb2.py +0 -0
  223. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/heartbeat_pb2.pyi +0 -0
  224. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/heartbeat_pb2_grpc.py +0 -0
  225. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/heartbeat_pb2_grpc.pyi +0 -0
  226. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/log_pb2.py +0 -0
  227. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/log_pb2.pyi +0 -0
  228. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/log_pb2_grpc.py +0 -0
  229. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/log_pb2_grpc.pyi +0 -0
  230. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/message_pb2.py +0 -0
  231. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/message_pb2.pyi +0 -0
  232. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/message_pb2_grpc.py +0 -0
  233. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/message_pb2_grpc.pyi +0 -0
  234. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/node_pb2.py +0 -0
  235. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/node_pb2.pyi +0 -0
  236. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/node_pb2_grpc.py +0 -0
  237. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/node_pb2_grpc.pyi +0 -0
  238. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/recorddict_pb2.py +0 -0
  239. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/recorddict_pb2.pyi +0 -0
  240. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/recorddict_pb2_grpc.py +0 -0
  241. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/recorddict_pb2_grpc.pyi +0 -0
  242. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/run_pb2.py +0 -0
  243. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/run_pb2.pyi +0 -0
  244. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/run_pb2_grpc.py +0 -0
  245. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/run_pb2_grpc.pyi +0 -0
  246. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/serverappio_pb2.py +0 -0
  247. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/serverappio_pb2.pyi +0 -0
  248. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/serverappio_pb2_grpc.py +0 -0
  249. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/serverappio_pb2_grpc.pyi +0 -0
  250. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/simulationio_pb2.py +0 -0
  251. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/simulationio_pb2.pyi +0 -0
  252. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/simulationio_pb2_grpc.py +0 -0
  253. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/simulationio_pb2_grpc.pyi +0 -0
  254. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/transport_pb2.py +0 -0
  255. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/transport_pb2.pyi +0 -0
  256. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/transport_pb2_grpc.py +0 -0
  257. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
  258. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/py.typed +0 -0
  259. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/__init__.py +0 -0
  260. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/client_manager.py +0 -0
  261. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/client_proxy.py +0 -0
  262. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/compat/__init__.py +0 -0
  263. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/compat/app.py +0 -0
  264. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/compat/app_utils.py +0 -0
  265. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/compat/grid_client_proxy.py +0 -0
  266. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/compat/legacy_context.py +0 -0
  267. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/criterion.py +0 -0
  268. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/fleet_event_log_interceptor.py +0 -0
  269. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/grid/__init__.py +0 -0
  270. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/grid/grid.py +0 -0
  271. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/grid/grpc_grid.py +0 -0
  272. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/grid/inmemory_grid.py +0 -0
  273. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/history.py +0 -0
  274. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/run_serverapp.py +0 -0
  275. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/server.py +0 -0
  276. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/server_app.py +0 -0
  277. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/server_config.py +0 -0
  278. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/serverapp/__init__.py +0 -0
  279. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/serverapp/app.py +0 -0
  280. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/serverapp_components.py +0 -0
  281. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/__init__.py +0 -0
  282. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/aggregate.py +0 -0
  283. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/bulyan.py +0 -0
  284. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
  285. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
  286. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
  287. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
  288. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
  289. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedadagrad.py +0 -0
  290. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedadam.py +0 -0
  291. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedavg.py +0 -0
  292. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedavg_android.py +0 -0
  293. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedavgm.py +0 -0
  294. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedmedian.py +0 -0
  295. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedopt.py +0 -0
  296. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedprox.py +0 -0
  297. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
  298. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
  299. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
  300. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
  301. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/fedyogi.py +0 -0
  302. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/krum.py +0 -0
  303. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/qfedavg.py +0 -0
  304. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/strategy/strategy.py +0 -0
  305. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/__init__.py +0 -0
  306. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/__init__.py +0 -0
  307. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
  308. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +0 -0
  309. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
  310. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
  311. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
  312. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
  313. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
  314. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
  315. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +0 -0
  316. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
  317. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
  318. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
  319. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +0 -0
  320. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
  321. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
  322. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
  323. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
  324. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
  325. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/linkstate/__init__.py +0 -0
  326. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/linkstate/in_memory_linkstate.py +0 -0
  327. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/linkstate/linkstate.py +0 -0
  328. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/linkstate/linkstate_factory.py +0 -0
  329. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/linkstate/sqlite_linkstate.py +0 -0
  330. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/linkstate/utils.py +0 -0
  331. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/serverappio/__init__.py +0 -0
  332. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/serverappio/serverappio_grpc.py +0 -0
  333. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/serverappio/serverappio_servicer.py +0 -0
  334. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/simulation/__init__.py +0 -0
  335. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/simulation/simulationio_grpc.py +0 -0
  336. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/simulation/simulationio_servicer.py +0 -0
  337. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/superlink/utils.py +0 -0
  338. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/typing.py +0 -0
  339. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/utils/__init__.py +0 -0
  340. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/utils/tensorboard.py +0 -0
  341. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/utils/validator.py +0 -0
  342. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/workflow/__init__.py +0 -0
  343. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/workflow/constant.py +0 -0
  344. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/workflow/default_workflows.py +0 -0
  345. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
  346. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
  347. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/__init__.py +0 -0
  348. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/exception.py +0 -0
  349. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/__init__.py +0 -0
  350. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/bulyan.py +0 -0
  351. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/dp_adaptive_clipping.py +0 -0
  352. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/dp_fixed_clipping.py +0 -0
  353. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedadagrad.py +0 -0
  354. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedadam.py +0 -0
  355. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedavg.py +0 -0
  356. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedavgm.py +0 -0
  357. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedmedian.py +0 -0
  358. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedopt.py +0 -0
  359. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedprox.py +0 -0
  360. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedtrimmedavg.py +0 -0
  361. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedxgb_bagging.py +0 -0
  362. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedxgb_cyclic.py +0 -0
  363. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/fedyogi.py +0 -0
  364. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/krum.py +0 -0
  365. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/multikrum.py +0 -0
  366. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/qfedavg.py +0 -0
  367. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/result.py +0 -0
  368. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/strategy.py +0 -0
  369. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/serverapp/strategy/strategy_utils.py +0 -0
  370. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/__init__.py +0 -0
  371. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/app.py +0 -0
  372. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/legacy_app.py +0 -0
  373. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/ray_transport/__init__.py +0 -0
  374. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
  375. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
  376. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/ray_transport/utils.py +0 -0
  377. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/run_simulation.py +0 -0
  378. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/simulation/simulationio_connection.py +0 -0
  379. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/__init__.py +0 -0
  380. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/app_utils.py +0 -0
  381. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/cli/__init__.py +0 -0
  382. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/cli/flower_superexec.py +0 -0
  383. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/constant.py +0 -0
  384. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/corestate/__init__.py +0 -0
  385. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/corestate/corestate.py +0 -0
  386. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/ffs/__init__.py +0 -0
  387. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/ffs/disk_ffs.py +0 -0
  388. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/ffs/ffs.py +0 -0
  389. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/ffs/ffs_factory.py +0 -0
  390. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/grpc_health/__init__.py +0 -0
  391. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/grpc_health/health_server.py +0 -0
  392. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/grpc_health/simple_health_servicer.py +0 -0
  393. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/license_plugin/__init__.py +0 -0
  394. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/license_plugin/license_plugin.py +0 -0
  395. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/object_store/__init__.py +0 -0
  396. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/object_store/in_memory_object_store.py +0 -0
  397. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/object_store/object_store.py +0 -0
  398. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/object_store/object_store_factory.py +0 -0
  399. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/object_store/utils.py +0 -0
  400. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/superexec/__init__.py +0 -0
  401. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/superexec/plugin/__init__.py +0 -0
  402. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/superexec/plugin/base_exec_plugin.py +0 -0
  403. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +0 -0
  404. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/superexec/plugin/exec_plugin.py +0 -0
  405. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/superexec/plugin/serverapp_exec_plugin.py +0 -0
  406. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/superexec/plugin/simulation_exec_plugin.py +0 -0
  407. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/superexec/run_superexec.py +0 -0
  408. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supercore/utils.py +0 -0
  409. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/__init__.py +0 -0
  410. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/artifact_provider/__init__.py +0 -0
  411. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/artifact_provider/artifact_provider.py +0 -0
  412. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/auth_plugin/__init__.py +0 -0
  413. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/auth_plugin/auth_plugin.py +0 -0
  414. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/auth_plugin/noop_auth_plugin.py +0 -0
  415. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/servicer/__init__.py +0 -0
  416. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/servicer/control/__init__.py +0 -0
  417. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/servicer/control/control_account_auth_interceptor.py +0 -0
  418. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/servicer/control/control_event_log_interceptor.py +0 -0
  419. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/servicer/control/control_grpc.py +0 -0
  420. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/servicer/control/control_license_interceptor.py +0 -0
  421. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/superlink/servicer/control/control_servicer.py +0 -0
  422. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/__init__.py +0 -0
  423. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/cli/__init__.py +0 -0
  424. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/cli/flower_supernode.py +0 -0
  425. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/cli/flwr_clientapp.py +0 -0
  426. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/nodestate/__init__.py +0 -0
  427. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/nodestate/in_memory_nodestate.py +0 -0
  428. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/nodestate/nodestate.py +0 -0
  429. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/nodestate/nodestate_factory.py +0 -0
  430. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/runtime/__init__.py +0 -0
  431. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/runtime/run_clientapp.py +0 -0
  432. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/servicer/__init__.py +0 -0
  433. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/servicer/clientappio/__init__.py +0 -0
  434. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/py/flwr/supernode/servicer/clientappio/clientappio_servicer.py +0 -0
  435. {flwr_nightly-1.23.0.dev20251006 → flwr_nightly-1.23.0.dev20251007}/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.dev20251006
3
+ Version: 1.23.0.dev20251007
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
@@ -23,10 +23,7 @@ from google.protobuf.message import Message as GrpcMessage
23
23
 
24
24
  from flwr.common import now
25
25
  from flwr.common.constant import PUBLIC_KEY_HEADER, SIGNATURE_HEADER, TIMESTAMP_HEADER
26
- from flwr.common.secure_aggregation.crypto.symmetric_encryption import (
27
- public_key_to_bytes,
28
- sign_message,
29
- )
26
+ from flwr.supercore.primitives.asymmetric import public_key_to_bytes, sign_message
30
27
 
31
28
 
32
29
  class AuthenticateClientInterceptor(grpc.UnaryUnaryClientInterceptor): # type: ignore
@@ -36,9 +36,6 @@ from flwr.common.inflatable_protobuf_utils import (
36
36
  from flwr.common.logger import log
37
37
  from flwr.common.message import Message, remove_content_from_message
38
38
  from flwr.common.retry_invoker import RetryInvoker, _wrap_stub
39
- from flwr.common.secure_aggregation.crypto.symmetric_encryption import (
40
- generate_key_pairs,
41
- )
42
39
  from flwr.common.serde import message_from_proto, message_to_proto, run_from_proto
43
40
  from flwr.common.typing import Fab, Run
44
41
  from flwr.proto.fab_pb2 import GetFabRequest, GetFabResponse # pylint: disable=E0611
@@ -58,6 +55,7 @@ from flwr.proto.heartbeat_pb2 import ( # pylint: disable=E0611
58
55
  from flwr.proto.message_pb2 import ObjectTree # pylint: disable=E0611
59
56
  from flwr.proto.node_pb2 import Node # pylint: disable=E0611
60
57
  from flwr.proto.run_pb2 import GetRunRequest, GetRunResponse # pylint: disable=E0611
58
+ from flwr.supercore.primitives.asymmetric import generate_key_pairs
61
59
 
62
60
  from .client_interceptor import AuthenticateClientInterceptor
63
61
  from .grpc_adapter import GrpcAdapter
@@ -35,14 +35,9 @@ from flwr.common.constant import MessageType
35
35
  from flwr.common.logger import log
36
36
  from flwr.common.secure_aggregation.crypto.shamir import create_shares
37
37
  from flwr.common.secure_aggregation.crypto.symmetric_encryption import (
38
- bytes_to_private_key,
39
- bytes_to_public_key,
40
38
  decrypt,
41
39
  encrypt,
42
- generate_key_pairs,
43
40
  generate_shared_key,
44
- private_key_to_bytes,
45
- public_key_to_bytes,
46
41
  )
47
42
  from flwr.common.secure_aggregation.ndarrays_arithmetic import (
48
43
  factor_combine,
@@ -64,6 +59,13 @@ from flwr.common.secure_aggregation.secaggplus_utils import (
64
59
  share_keys_plaintext_separate,
65
60
  )
66
61
  from flwr.common.typing import ConfigRecordValues
62
+ from flwr.supercore.primitives.asymmetric import (
63
+ bytes_to_private_key,
64
+ bytes_to_public_key,
65
+ generate_key_pairs,
66
+ private_key_to_bytes,
67
+ public_key_to_bytes,
68
+ )
67
69
 
68
70
 
69
71
  @dataclass
@@ -0,0 +1,76 @@
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
+ """Symmetric encryption."""
16
+
17
+
18
+ import base64
19
+
20
+ from cryptography.exceptions import InvalidSignature
21
+ from cryptography.fernet import Fernet
22
+ from cryptography.hazmat.primitives import hashes, hmac
23
+ from cryptography.hazmat.primitives.asymmetric import ec
24
+ from cryptography.hazmat.primitives.kdf.hkdf import HKDF
25
+
26
+
27
+ def generate_shared_key(
28
+ private_key: ec.EllipticCurvePrivateKey, public_key: ec.EllipticCurvePublicKey
29
+ ) -> bytes:
30
+ """Generate a shared key from a private key (i.e., a secret key) and a public key.
31
+
32
+ Generate shared key by exchange function and key derivation function Key derivation
33
+ function is needed to obtain final shared key of exactly 32 bytes
34
+ """
35
+ # Generate a 32 byte urlsafe(for fernet) shared key
36
+ # from own private key and another public key
37
+ shared_key = private_key.exchange(ec.ECDH(), public_key)
38
+ derived_key = HKDF(
39
+ algorithm=hashes.SHA256(),
40
+ length=32,
41
+ salt=None,
42
+ info=None,
43
+ ).derive(shared_key)
44
+ return base64.urlsafe_b64encode(derived_key)
45
+
46
+
47
+ def encrypt(key: bytes, plaintext: bytes) -> bytes:
48
+ """Encrypt plaintext using 32-byte key with Fernet."""
49
+ # The input key must be url safe
50
+ fernet = Fernet(key)
51
+ return fernet.encrypt(plaintext)
52
+
53
+
54
+ def decrypt(key: bytes, ciphertext: bytes) -> bytes:
55
+ """Decrypt ciphertext using 32-byte key with Fernet."""
56
+ # The input key must be url safe
57
+ fernet = Fernet(key)
58
+ return fernet.decrypt(ciphertext)
59
+
60
+
61
+ def compute_hmac(key: bytes, message: bytes) -> bytes:
62
+ """Compute hmac of a message using key as hash."""
63
+ computed_hmac = hmac.HMAC(key, hashes.SHA256())
64
+ computed_hmac.update(message)
65
+ return computed_hmac.finalize()
66
+
67
+
68
+ def verify_hmac(key: bytes, message: bytes, hmac_value: bytes) -> bool:
69
+ """Verify hmac of a message using key as hash."""
70
+ computed_hmac = hmac.HMAC(key, hashes.SHA256())
71
+ computed_hmac.update(message)
72
+ try:
73
+ computed_hmac.verify(hmac_value)
74
+ return True
75
+ except InvalidSignature:
76
+ return False
@@ -59,9 +59,6 @@ from flwr.common.event_log_plugin import EventLogWriterPlugin
59
59
  from flwr.common.exit import ExitCode, flwr_exit, register_signal_handlers
60
60
  from flwr.common.grpc import generic_create_grpc_server
61
61
  from flwr.common.logger import log
62
- from flwr.common.secure_aggregation.crypto.symmetric_encryption import (
63
- public_key_to_bytes,
64
- )
65
62
  from flwr.proto.fleet_pb2_grpc import ( # pylint: disable=E0611
66
63
  add_FleetServicer_to_server,
67
64
  )
@@ -70,6 +67,7 @@ from flwr.server.fleet_event_log_interceptor import FleetEventLogInterceptor
70
67
  from flwr.supercore.ffs import FfsFactory
71
68
  from flwr.supercore.grpc_health import add_args_health, run_health_server_grpc_no_tls
72
69
  from flwr.supercore.object_store import ObjectStoreFactory
70
+ from flwr.supercore.primitives.asymmetric import public_key_to_bytes
73
71
  from flwr.superlink.artifact_provider import ArtifactProvider
74
72
  from flwr.superlink.auth_plugin import ControlAuthnPlugin, ControlAuthzPlugin
75
73
  from flwr.superlink.servicer.control import run_control_api_grpc
@@ -29,15 +29,12 @@ from flwr.common.constant import (
29
29
  TIMESTAMP_HEADER,
30
30
  TIMESTAMP_TOLERANCE,
31
31
  )
32
- from flwr.common.secure_aggregation.crypto.symmetric_encryption import (
33
- bytes_to_public_key,
34
- verify_signature,
35
- )
36
32
  from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
37
33
  CreateNodeRequest,
38
34
  CreateNodeResponse,
39
35
  )
40
36
  from flwr.server.superlink.linkstate import LinkStateFactory
37
+ from flwr.supercore.primitives.asymmetric import bytes_to_public_key, verify_signature
41
38
 
42
39
  MIN_TIMESTAMP_DIFF = -SYSTEM_TIME_TOLERANCE
43
40
  MAX_TIMESTAMP_DIFF = TIMESTAMP_TOLERANCE + SYSTEM_TIME_TOLERANCE
@@ -35,8 +35,6 @@ from flwr.common import (
35
35
  )
36
36
  from flwr.common.secure_aggregation.crypto.shamir import combine_shares
37
37
  from flwr.common.secure_aggregation.crypto.symmetric_encryption import (
38
- bytes_to_private_key,
39
- bytes_to_public_key,
40
38
  generate_shared_key,
41
39
  )
42
40
  from flwr.common.secure_aggregation.ndarrays_arithmetic import (
@@ -56,6 +54,10 @@ from flwr.common.secure_aggregation.secaggplus_utils import pseudo_rand_gen
56
54
  from flwr.server.client_proxy import ClientProxy
57
55
  from flwr.server.compat.legacy_context import LegacyContext
58
56
  from flwr.server.grid import Grid
57
+ from flwr.supercore.primitives.asymmetric import (
58
+ bytes_to_private_key,
59
+ bytes_to_public_key,
60
+ )
59
61
 
60
62
  from ..constant import MAIN_CONFIGS_RECORD, MAIN_PARAMS_RECORD
61
63
  from ..constant import Key as WorkflowKey
@@ -0,0 +1,15 @@
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
+ """Cryptographic primitives for the Flower infrastructure."""
@@ -12,17 +12,14 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- """Symmetric encryption."""
15
+ """Asymmetric cryptography utilities."""
16
16
 
17
17
 
18
- import base64
19
18
  from typing import cast
20
19
 
21
20
  from cryptography.exceptions import InvalidSignature
22
- from cryptography.fernet import Fernet
23
- from cryptography.hazmat.primitives import hashes, hmac, serialization
21
+ from cryptography.hazmat.primitives import hashes, serialization
24
22
  from cryptography.hazmat.primitives.asymmetric import ec
25
- from cryptography.hazmat.primitives.kdf.hkdf import HKDF
26
23
 
27
24
 
28
25
  def generate_key_pairs() -> (
@@ -67,58 +64,6 @@ def bytes_to_public_key(public_key_bytes: bytes) -> ec.EllipticCurvePublicKey:
67
64
  )
68
65
 
69
66
 
70
- def generate_shared_key(
71
- private_key: ec.EllipticCurvePrivateKey, public_key: ec.EllipticCurvePublicKey
72
- ) -> bytes:
73
- """Generate a shared key from a private key (i.e., a secret key) and a public key.
74
-
75
- Generate shared key by exchange function and key derivation function Key derivation
76
- function is needed to obtain final shared key of exactly 32 bytes
77
- """
78
- # Generate a 32 byte urlsafe(for fernet) shared key
79
- # from own private key and another public key
80
- shared_key = private_key.exchange(ec.ECDH(), public_key)
81
- derived_key = HKDF(
82
- algorithm=hashes.SHA256(),
83
- length=32,
84
- salt=None,
85
- info=None,
86
- ).derive(shared_key)
87
- return base64.urlsafe_b64encode(derived_key)
88
-
89
-
90
- def encrypt(key: bytes, plaintext: bytes) -> bytes:
91
- """Encrypt plaintext using 32-byte key with Fernet."""
92
- # The input key must be url safe
93
- fernet = Fernet(key)
94
- return fernet.encrypt(plaintext)
95
-
96
-
97
- def decrypt(key: bytes, ciphertext: bytes) -> bytes:
98
- """Decrypt ciphertext using 32-byte key with Fernet."""
99
- # The input key must be url safe
100
- fernet = Fernet(key)
101
- return fernet.decrypt(ciphertext)
102
-
103
-
104
- def compute_hmac(key: bytes, message: bytes) -> bytes:
105
- """Compute hmac of a message using key as hash."""
106
- computed_hmac = hmac.HMAC(key, hashes.SHA256())
107
- computed_hmac.update(message)
108
- return computed_hmac.finalize()
109
-
110
-
111
- def verify_hmac(key: bytes, message: bytes, hmac_value: bytes) -> bool:
112
- """Verify hmac of a message using key as hash."""
113
- computed_hmac = hmac.HMAC(key, hashes.SHA256())
114
- computed_hmac.update(message)
115
- try:
116
- computed_hmac.verify(hmac_value)
117
- return True
118
- except InvalidSignature:
119
- return False
120
-
121
-
122
67
  def sign_message(private_key: ec.EllipticCurvePrivateKey, message: bytes) -> bytes:
123
68
  """Sign a message using the provided EC private key.
124
69
 
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "flwr-nightly"
7
- version = "1.23.0.dev20251006"
7
+ version = "1.23.0.dev20251007"
8
8
  description = "Flower: A Friendly Federated AI Framework"
9
9
  license = "Apache-2.0"
10
10
  authors = ["The Flower Authors <hello@flower.ai>"]