flwr-nightly 1.13.0.dev20241025__tar.gz → 1.13.0.dev20241028__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 (309) hide show
  1. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/PKG-INFO +1 -1
  2. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/pyproject.toml +1 -1
  3. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/app.py +10 -8
  4. flwr_nightly-1.13.0.dev20241028/src/py/flwr/server/serverapp/app.py +141 -0
  5. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/driver/driver_servicer.py +7 -1
  6. flwr_nightly-1.13.0.dev20241025/src/py/flwr/server/serverapp/app.py +0 -78
  7. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/LICENSE +0 -0
  8. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/README.md +0 -0
  9. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/__init__.py +0 -0
  10. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/__init__.py +0 -0
  11. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/app.py +0 -0
  12. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/build.py +0 -0
  13. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/config_utils.py +0 -0
  14. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/example.py +0 -0
  15. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/install.py +0 -0
  16. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/log.py +0 -0
  17. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/__init__.py +0 -0
  18. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/new.py +0 -0
  19. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/__init__.py +0 -0
  20. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
  21. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/LICENSE.tpl +0 -0
  22. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/README.baseline.md.tpl +0 -0
  23. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -0
  24. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
  25. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/__init__.py +0 -0
  26. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +0 -0
  27. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
  28. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
  29. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl +0 -0
  30. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl +0 -0
  31. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
  32. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
  33. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
  34. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
  35. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
  36. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
  37. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +0 -0
  38. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py +0 -0
  39. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +0 -0
  40. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -0
  41. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -0
  42. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +0 -0
  43. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +0 -0
  44. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -0
  45. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl +0 -0
  46. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl +0 -0
  47. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -0
  48. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -0
  49. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
  50. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
  51. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -0
  52. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
  53. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +0 -0
  54. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl +0 -0
  55. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
  56. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
  57. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl +0 -0
  58. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
  59. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl +0 -0
  60. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
  61. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl +0 -0
  62. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +0 -0
  63. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +0 -0
  64. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +0 -0
  65. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -0
  66. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -0
  67. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
  68. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
  69. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -0
  70. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
  71. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/run/__init__.py +0 -0
  72. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/run/run.py +0 -0
  73. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/cli/utils.py +0 -0
  74. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/__init__.py +0 -0
  75. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/app.py +0 -0
  76. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/client.py +0 -0
  77. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/client_app.py +0 -0
  78. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/clientapp/__init__.py +0 -0
  79. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/clientapp/app.py +0 -0
  80. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/clientapp/clientappio_servicer.py +0 -0
  81. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/clientapp/utils.py +0 -0
  82. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/dpfedavg_numpy_client.py +0 -0
  83. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
  84. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/grpc_adapter_client/connection.py +0 -0
  85. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/grpc_client/__init__.py +0 -0
  86. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/grpc_client/connection.py +0 -0
  87. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/grpc_rere_client/__init__.py +0 -0
  88. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/grpc_rere_client/client_interceptor.py +0 -0
  89. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/grpc_rere_client/connection.py +0 -0
  90. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/grpc_rere_client/grpc_adapter.py +0 -0
  91. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/heartbeat.py +0 -0
  92. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/message_handler/__init__.py +0 -0
  93. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/message_handler/message_handler.py +0 -0
  94. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/message_handler/task_handler.py +0 -0
  95. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/mod/__init__.py +0 -0
  96. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/mod/centraldp_mods.py +0 -0
  97. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/mod/comms_mods.py +0 -0
  98. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/mod/localdp_mod.py +0 -0
  99. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
  100. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
  101. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
  102. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/mod/utils.py +0 -0
  103. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/numpy_client.py +0 -0
  104. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/rest_client/__init__.py +0 -0
  105. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/rest_client/connection.py +0 -0
  106. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/run_info_store.py +0 -0
  107. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/supernode/__init__.py +0 -0
  108. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/supernode/app.py +0 -0
  109. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/client/typing.py +0 -0
  110. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/__init__.py +0 -0
  111. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/address.py +0 -0
  112. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/config.py +0 -0
  113. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/constant.py +0 -0
  114. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/context.py +0 -0
  115. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/date.py +0 -0
  116. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/differential_privacy.py +0 -0
  117. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/differential_privacy_constants.py +0 -0
  118. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/dp.py +0 -0
  119. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/exit_handlers.py +0 -0
  120. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/grpc.py +0 -0
  121. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/logger.py +0 -0
  122. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/message.py +0 -0
  123. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/object_ref.py +0 -0
  124. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/parameter.py +0 -0
  125. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/pyproject.py +0 -0
  126. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/record/__init__.py +0 -0
  127. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/record/configsrecord.py +0 -0
  128. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/record/conversion_utils.py +0 -0
  129. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/record/metricsrecord.py +0 -0
  130. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/record/parametersrecord.py +0 -0
  131. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/record/recordset.py +0 -0
  132. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/record/typeddict.py +0 -0
  133. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/recordset_compat.py +0 -0
  134. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/retry_invoker.py +0 -0
  135. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/secure_aggregation/__init__.py +0 -0
  136. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
  137. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
  138. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
  139. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
  140. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/secure_aggregation/quantization.py +0 -0
  141. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
  142. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
  143. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/serde.py +0 -0
  144. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/telemetry.py +0 -0
  145. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/typing.py +0 -0
  146. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/common/version.py +0 -0
  147. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/__init__.py +0 -0
  148. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/clientappio_pb2.py +0 -0
  149. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/clientappio_pb2.pyi +0 -0
  150. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/clientappio_pb2_grpc.py +0 -0
  151. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/clientappio_pb2_grpc.pyi +0 -0
  152. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/common_pb2.py +0 -0
  153. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/common_pb2.pyi +0 -0
  154. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/common_pb2_grpc.py +0 -0
  155. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/common_pb2_grpc.pyi +0 -0
  156. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/control_pb2.py +0 -0
  157. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/control_pb2.pyi +0 -0
  158. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/control_pb2_grpc.py +0 -0
  159. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/control_pb2_grpc.pyi +0 -0
  160. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/driver_pb2.py +0 -0
  161. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/driver_pb2.pyi +0 -0
  162. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/driver_pb2_grpc.py +0 -0
  163. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/driver_pb2_grpc.pyi +0 -0
  164. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/error_pb2.py +0 -0
  165. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/error_pb2.pyi +0 -0
  166. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/error_pb2_grpc.py +0 -0
  167. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/error_pb2_grpc.pyi +0 -0
  168. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/exec_pb2.py +0 -0
  169. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/exec_pb2.pyi +0 -0
  170. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/exec_pb2_grpc.py +0 -0
  171. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/exec_pb2_grpc.pyi +0 -0
  172. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/fab_pb2.py +0 -0
  173. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/fab_pb2.pyi +0 -0
  174. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/fab_pb2_grpc.py +0 -0
  175. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
  176. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/fleet_pb2.py +0 -0
  177. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/fleet_pb2.pyi +0 -0
  178. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/fleet_pb2_grpc.py +0 -0
  179. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
  180. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/grpcadapter_pb2.py +0 -0
  181. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
  182. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
  183. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
  184. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/message_pb2.py +0 -0
  185. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/message_pb2.pyi +0 -0
  186. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/message_pb2_grpc.py +0 -0
  187. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/message_pb2_grpc.pyi +0 -0
  188. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/node_pb2.py +0 -0
  189. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/node_pb2.pyi +0 -0
  190. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/node_pb2_grpc.py +0 -0
  191. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/node_pb2_grpc.pyi +0 -0
  192. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/recordset_pb2.py +0 -0
  193. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/recordset_pb2.pyi +0 -0
  194. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/recordset_pb2_grpc.py +0 -0
  195. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/recordset_pb2_grpc.pyi +0 -0
  196. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/run_pb2.py +0 -0
  197. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/run_pb2.pyi +0 -0
  198. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/run_pb2_grpc.py +0 -0
  199. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/run_pb2_grpc.pyi +0 -0
  200. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/task_pb2.py +0 -0
  201. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/task_pb2.pyi +0 -0
  202. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/task_pb2_grpc.py +0 -0
  203. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/task_pb2_grpc.pyi +0 -0
  204. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/transport_pb2.py +0 -0
  205. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/transport_pb2.pyi +0 -0
  206. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/transport_pb2_grpc.py +0 -0
  207. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
  208. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/py.typed +0 -0
  209. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/__init__.py +0 -0
  210. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/client_manager.py +0 -0
  211. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/client_proxy.py +0 -0
  212. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/compat/__init__.py +0 -0
  213. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/compat/app.py +0 -0
  214. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/compat/app_utils.py +0 -0
  215. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/compat/driver_client_proxy.py +0 -0
  216. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/compat/legacy_context.py +0 -0
  217. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/criterion.py +0 -0
  218. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/driver/__init__.py +0 -0
  219. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/driver/driver.py +0 -0
  220. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/driver/grpc_driver.py +0 -0
  221. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/driver/inmemory_driver.py +0 -0
  222. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/history.py +0 -0
  223. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/run_serverapp.py +0 -0
  224. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/server.py +0 -0
  225. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/server_app.py +0 -0
  226. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/server_config.py +0 -0
  227. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/serverapp/__init__.py +0 -0
  228. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/serverapp_components.py +0 -0
  229. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/__init__.py +0 -0
  230. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/aggregate.py +0 -0
  231. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/bulyan.py +0 -0
  232. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
  233. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
  234. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
  235. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
  236. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
  237. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedadagrad.py +0 -0
  238. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedadam.py +0 -0
  239. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedavg.py +0 -0
  240. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedavg_android.py +0 -0
  241. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedavgm.py +0 -0
  242. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedmedian.py +0 -0
  243. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedopt.py +0 -0
  244. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedprox.py +0 -0
  245. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
  246. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
  247. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
  248. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
  249. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/fedyogi.py +0 -0
  250. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/krum.py +0 -0
  251. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/qfedavg.py +0 -0
  252. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/strategy/strategy.py +0 -0
  253. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/__init__.py +0 -0
  254. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/driver/__init__.py +0 -0
  255. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/driver/driver_grpc.py +0 -0
  256. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/ffs/__init__.py +0 -0
  257. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/ffs/disk_ffs.py +0 -0
  258. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/ffs/ffs.py +0 -0
  259. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/ffs/ffs_factory.py +0 -0
  260. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/__init__.py +0 -0
  261. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
  262. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +0 -0
  263. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
  264. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
  265. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
  266. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
  267. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
  268. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
  269. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +0 -0
  270. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +0 -0
  271. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
  272. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
  273. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
  274. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +0 -0
  275. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
  276. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
  277. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
  278. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
  279. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
  280. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/linkstate/__init__.py +0 -0
  281. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/linkstate/in_memory_linkstate.py +0 -0
  282. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/linkstate/linkstate.py +0 -0
  283. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/linkstate/linkstate_factory.py +0 -0
  284. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/linkstate/sqlite_linkstate.py +0 -0
  285. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/superlink/linkstate/utils.py +0 -0
  286. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/typing.py +0 -0
  287. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/utils/__init__.py +0 -0
  288. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/utils/tensorboard.py +0 -0
  289. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/utils/validator.py +0 -0
  290. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/workflow/__init__.py +0 -0
  291. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/workflow/constant.py +0 -0
  292. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/workflow/default_workflows.py +0 -0
  293. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
  294. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
  295. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
  296. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/simulation/__init__.py +0 -0
  297. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/simulation/app.py +0 -0
  298. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/simulation/ray_transport/__init__.py +0 -0
  299. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
  300. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
  301. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/simulation/ray_transport/utils.py +0 -0
  302. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/simulation/run_simulation.py +0 -0
  303. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/superexec/__init__.py +0 -0
  304. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/superexec/app.py +0 -0
  305. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/superexec/deployment.py +0 -0
  306. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/superexec/exec_grpc.py +0 -0
  307. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/superexec/exec_servicer.py +0 -0
  308. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/superexec/executor.py +0 -0
  309. {flwr_nightly-1.13.0.dev20241025 → flwr_nightly-1.13.0.dev20241028}/src/py/flwr/superexec/simulation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.13.0.dev20241025
3
+ Version: 1.13.0.dev20241028
4
4
  Summary: Flower: A Friendly Federated Learning Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "flwr-nightly"
7
- version = "1.13.0.dev20241025"
7
+ version = "1.13.0.dev20241028"
8
8
  description = "Flower: A Friendly Federated Learning Framework"
9
9
  license = "Apache-2.0"
10
10
  authors = ["The Flower Authors <hello@flower.ai>"]
@@ -50,7 +50,6 @@ from flwr.common.constant import (
50
50
  TRANSPORT_TYPE_GRPC_ADAPTER,
51
51
  TRANSPORT_TYPE_GRPC_RERE,
52
52
  TRANSPORT_TYPE_REST,
53
- Status,
54
53
  )
55
54
  from flwr.common.exit_handlers import register_exit_handlers
56
55
  from flwr.common.logger import log
@@ -58,7 +57,6 @@ from flwr.common.secure_aggregation.crypto.symmetric_encryption import (
58
57
  private_key_to_bytes,
59
58
  public_key_to_bytes,
60
59
  )
61
- from flwr.common.typing import RunStatus
62
60
  from flwr.proto.fleet_pb2_grpc import ( # pylint: disable=E0611
63
61
  add_FleetServicer_to_server,
64
62
  )
@@ -345,7 +343,7 @@ def run_superlink() -> None:
345
343
  # Scheduler thread
346
344
  scheduler_th = threading.Thread(
347
345
  target=_flwr_serverapp_scheduler,
348
- args=(state_factory, args.driver_api_address),
346
+ args=(state_factory, args.driver_api_address, args.ssl_ca_certfile),
349
347
  )
350
348
  scheduler_th.start()
351
349
  bckg_threads.append(scheduler_th)
@@ -367,7 +365,9 @@ def run_superlink() -> None:
367
365
 
368
366
 
369
367
  def _flwr_serverapp_scheduler(
370
- state_factory: LinkStateFactory, driver_api_address: str
368
+ state_factory: LinkStateFactory,
369
+ driver_api_address: str,
370
+ ssl_ca_certfile: Optional[str],
371
371
  ) -> None:
372
372
  log(DEBUG, "Started flwr-serverapp scheduler thread.")
373
373
 
@@ -380,10 +380,6 @@ def _flwr_serverapp_scheduler(
380
380
 
381
381
  if pending_run_id:
382
382
 
383
- # Set run as starting
384
- state.update_run_status(
385
- run_id=pending_run_id, new_status=RunStatus(Status.STARTING, "", "")
386
- )
387
383
  log(
388
384
  INFO,
389
385
  "Launching `flwr-serverapp` subprocess with run-id %d. "
@@ -399,6 +395,12 @@ def _flwr_serverapp_scheduler(
399
395
  "--run-id",
400
396
  str(pending_run_id),
401
397
  ]
398
+ if ssl_ca_certfile:
399
+ command.append("--root-certificates")
400
+ command.append(ssl_ca_certfile)
401
+ else:
402
+ command.append("--insecure")
403
+
402
404
  subprocess.run(
403
405
  command,
404
406
  stdout=None,
@@ -0,0 +1,141 @@
1
+ # Copyright 2024 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
+ """Flower ServerApp process."""
16
+
17
+ import argparse
18
+ import sys
19
+ from logging import DEBUG, INFO, WARN
20
+ from os.path import isfile
21
+ from pathlib import Path
22
+ from typing import Optional
23
+
24
+ from flwr.common.logger import log
25
+ from flwr.server.driver.grpc_driver import GrpcDriver
26
+
27
+
28
+ def flwr_serverapp() -> None:
29
+ """Run process-isolated Flower ServerApp."""
30
+ log(INFO, "Starting Flower ServerApp")
31
+
32
+ parser = argparse.ArgumentParser(
33
+ description="Run a Flower ServerApp",
34
+ )
35
+ parser.add_argument(
36
+ "--superlink",
37
+ type=str,
38
+ help="Address of SuperLink's DriverAPI",
39
+ )
40
+ parser.add_argument(
41
+ "--run-id",
42
+ type=int,
43
+ required=False,
44
+ help="Id of the Run this process should start. If not supplied, this "
45
+ "function will request a pending run to the LinkState.",
46
+ )
47
+ parser.add_argument(
48
+ "--flwr-dir",
49
+ default=None,
50
+ help="""The path containing installed Flower Apps.
51
+ By default, this value is equal to:
52
+
53
+ - `$FLWR_HOME/` if `$FLWR_HOME` is defined
54
+ - `$XDG_DATA_HOME/.flwr/` if `$XDG_DATA_HOME` is defined
55
+ - `$HOME/.flwr/` in all other cases
56
+ """,
57
+ )
58
+ parser.add_argument(
59
+ "--insecure",
60
+ action="store_true",
61
+ help="Run the server without HTTPS, regardless of whether certificate "
62
+ "paths are provided. By default, the server runs with HTTPS enabled. "
63
+ "Use this flag only if you understand the risks.",
64
+ )
65
+ parser.add_argument(
66
+ "--root-certificates",
67
+ metavar="ROOT_CERT",
68
+ type=str,
69
+ help="Specifies the path to the PEM-encoded root certificate file for "
70
+ "establishing secure HTTPS connections.",
71
+ )
72
+ args = parser.parse_args()
73
+
74
+ certificates = _try_obtain_certificates(args)
75
+
76
+ log(
77
+ DEBUG,
78
+ "Staring isolated `ServerApp` connected to SuperLink DriverAPI at %s "
79
+ "for run-id %s",
80
+ args.superlink,
81
+ args.run_id,
82
+ )
83
+ run_serverapp(
84
+ superlink=args.superlink,
85
+ run_id=args.run_id,
86
+ flwr_dir_=args.flwr_dir,
87
+ certificates=certificates,
88
+ )
89
+
90
+
91
+ def _try_obtain_certificates(
92
+ args: argparse.Namespace,
93
+ ) -> Optional[bytes]:
94
+
95
+ if args.insecure:
96
+ if args.root_certificates is not None:
97
+ sys.exit(
98
+ "Conflicting options: The '--insecure' flag disables HTTPS, "
99
+ "but '--root-certificates' was also specified. Please remove "
100
+ "the '--root-certificates' option when running in insecure mode, "
101
+ "or omit '--insecure' to use HTTPS."
102
+ )
103
+ log(
104
+ WARN,
105
+ "Option `--insecure` was set. Starting insecure HTTP channel to %s.",
106
+ args.superlink,
107
+ )
108
+ root_certificates = None
109
+ else:
110
+ # Load the certificates if provided, or load the system certificates
111
+ if not isfile(args.root_certificates):
112
+ sys.exit("Path argument `--root-certificates` does not point to a file.")
113
+ root_certificates = Path(args.root_certificates).read_bytes()
114
+ log(
115
+ DEBUG,
116
+ "Starting secure HTTPS channel to %s "
117
+ "with the following certificates: %s.",
118
+ args.superlink,
119
+ args.root_certificates,
120
+ )
121
+ return root_certificates
122
+
123
+
124
+ def run_serverapp( # pylint: disable=R0914
125
+ superlink: str,
126
+ run_id: Optional[int] = None,
127
+ flwr_dir_: Optional[str] = None,
128
+ certificates: Optional[bytes] = None,
129
+ ) -> None:
130
+ """Run Flower ServerApp process."""
131
+ _ = GrpcDriver(
132
+ run_id=run_id if run_id else 0,
133
+ driver_service_address=superlink,
134
+ root_certificates=certificates,
135
+ )
136
+
137
+ log(INFO, "%s", flwr_dir_)
138
+
139
+ # Then, GetServerInputs
140
+
141
+ # Then, run ServerApp
@@ -22,6 +22,7 @@ from typing import Optional
22
22
  from uuid import UUID
23
23
 
24
24
  import grpc
25
+ from google.protobuf.message import Message as GrpcMessage
25
26
 
26
27
  from flwr.common.constant import Status
27
28
  from flwr.common.logger import log
@@ -212,7 +213,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
212
213
  # Lock access to LinkState, preventing obtaining the same pending run_id
213
214
  with self.lock:
214
215
  # If run_id is provided, use it, otherwise use the pending run_id
215
- if request.HasField("run_id"):
216
+ if _has_field(request, "run_id"):
216
217
  run_id: Optional[int] = request.run_id
217
218
  else:
218
219
  run_id = state.get_pending_run_id()
@@ -256,3 +257,8 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
256
257
  def _raise_if(validation_error: bool, detail: str) -> None:
257
258
  if validation_error:
258
259
  raise ValueError(f"Malformed PushTaskInsRequest: {detail}")
260
+
261
+
262
+ def _has_field(message: GrpcMessage, field_name: str) -> bool:
263
+ """Check if a certain field is set for the message, including scalar fields."""
264
+ return field_name in {fld.name for fld, _ in message.ListFields()}
@@ -1,78 +0,0 @@
1
- # Copyright 2024 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
- """Flower ServerApp process."""
16
-
17
- import argparse
18
- from logging import DEBUG, INFO
19
- from typing import Optional
20
-
21
- from flwr.common.logger import log
22
- from flwr.server.driver.grpc_driver import GrpcDriver
23
-
24
-
25
- def flwr_serverapp() -> None:
26
- """Run process-isolated Flower ServerApp."""
27
- log(INFO, "Starting Flower ServerApp")
28
-
29
- parser = argparse.ArgumentParser(
30
- description="Run a Flower ServerApp",
31
- )
32
- parser.add_argument(
33
- "--superlink",
34
- type=str,
35
- help="Address of SuperLink's DriverAPI",
36
- )
37
- parser.add_argument(
38
- "--run-id",
39
- type=int,
40
- required=False,
41
- help="Id of the Run this process should start. If not supplied, this "
42
- "function will request a pending run to the LinkState.",
43
- )
44
- args = parser.parse_args()
45
-
46
- log(
47
- DEBUG,
48
- "Staring isolated `ServerApp` connected to SuperLink DriverAPI at %s "
49
- "for run-id %s",
50
- args.superlink,
51
- args.run_id,
52
- )
53
- run_serverapp(superlink=args.superlink, run_id=args.run_id)
54
-
55
-
56
- def run_serverapp( # pylint: disable=R0914
57
- superlink: str,
58
- run_id: Optional[int] = None,
59
- ) -> None:
60
- """Run Flower ServerApp process.
61
-
62
- Parameters
63
- ----------
64
- superlink : str
65
- Address of SuperLink
66
- run_id : Optional[int] (default: None)
67
- Unique identifier of a Run registered at the LinkState. If not supplied,
68
- this function will request a pending run to the LinkState.
69
- """
70
- _ = GrpcDriver(
71
- run_id=run_id if run_id else 0,
72
- driver_service_address=superlink,
73
- root_certificates=None,
74
- )
75
-
76
- # Then, GetServerInputs
77
-
78
- # Then, run ServerApp