flwr-nightly 1.10.0.dev20240713__tar.gz → 1.10.0.dev20240714__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 (282) hide show
  1. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/PKG-INFO +1 -1
  2. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/pyproject.toml +1 -1
  3. flwr_nightly-1.10.0.dev20240714/src/py/flwr/cli/new/templates/app/code/server.hf.py.tpl +19 -0
  4. flwr_nightly-1.10.0.dev20240714/src/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +16 -0
  5. flwr_nightly-1.10.0.dev20240714/src/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +16 -0
  6. flwr_nightly-1.10.0.dev20240714/src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +16 -0
  7. flwr_nightly-1.10.0.dev20240714/src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +27 -0
  8. flwr_nightly-1.10.0.dev20240714/src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +20 -0
  9. flwr_nightly-1.10.0.dev20240714/src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +27 -0
  10. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/run/run.py +1 -1
  11. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/superexec/app.py +11 -5
  12. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/superexec/deployment.py +85 -21
  13. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/superexec/exec_grpc.py +5 -2
  14. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/superexec/executor.py +18 -1
  15. flwr_nightly-1.10.0.dev20240713/src/py/flwr/cli/new/templates/app/code/server.hf.py.tpl +0 -17
  16. flwr_nightly-1.10.0.dev20240713/src/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -12
  17. flwr_nightly-1.10.0.dev20240713/src/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -15
  18. flwr_nightly-1.10.0.dev20240713/src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -12
  19. flwr_nightly-1.10.0.dev20240713/src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -28
  20. flwr_nightly-1.10.0.dev20240713/src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -17
  21. flwr_nightly-1.10.0.dev20240713/src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -27
  22. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/LICENSE +0 -0
  23. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/README.md +0 -0
  24. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/__init__.py +0 -0
  25. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/__init__.py +0 -0
  26. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/app.py +0 -0
  27. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/build.py +0 -0
  28. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/config_utils.py +0 -0
  29. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/example.py +0 -0
  30. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/install.py +0 -0
  31. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/__init__.py +0 -0
  32. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/new.py +0 -0
  33. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/__init__.py +0 -0
  34. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
  35. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -0
  36. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
  37. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/__init__.py +0 -0
  38. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
  39. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
  40. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/client.hf.py.tpl +0 -0
  41. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
  42. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
  43. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
  44. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
  45. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
  46. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
  47. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py +0 -0
  48. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/flwr_tune/app.py.tpl +0 -0
  49. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/flwr_tune/client.py.tpl +0 -0
  50. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/flwr_tune/config.yaml.tpl +0 -0
  51. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -0
  52. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -0
  53. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/flwr_tune/server.py.tpl +0 -0
  54. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/flwr_tune/static_config.yaml.tpl +0 -0
  55. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/task.hf.py.tpl +0 -0
  56. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
  57. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
  58. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
  59. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
  60. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +0 -0
  61. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/pyproject.hf.toml.tpl +0 -0
  62. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -0
  63. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -0
  64. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
  65. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
  66. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -0
  67. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
  68. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/run/__init__.py +0 -0
  69. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/cli/utils.py +0 -0
  70. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/__init__.py +0 -0
  71. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/app.py +0 -0
  72. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/client.py +0 -0
  73. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/client_app.py +0 -0
  74. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/dpfedavg_numpy_client.py +0 -0
  75. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
  76. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/grpc_adapter_client/connection.py +0 -0
  77. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/grpc_client/__init__.py +0 -0
  78. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/grpc_client/connection.py +0 -0
  79. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/grpc_rere_client/__init__.py +0 -0
  80. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/grpc_rere_client/client_interceptor.py +0 -0
  81. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/grpc_rere_client/connection.py +0 -0
  82. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/grpc_rere_client/grpc_adapter.py +0 -0
  83. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/heartbeat.py +0 -0
  84. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/message_handler/__init__.py +0 -0
  85. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/message_handler/message_handler.py +0 -0
  86. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/message_handler/task_handler.py +0 -0
  87. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/mod/__init__.py +0 -0
  88. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/mod/centraldp_mods.py +0 -0
  89. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/mod/comms_mods.py +0 -0
  90. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/mod/localdp_mod.py +0 -0
  91. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
  92. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
  93. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
  94. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/mod/utils.py +0 -0
  95. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/node_state.py +0 -0
  96. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/node_state_tests.py +0 -0
  97. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/numpy_client.py +0 -0
  98. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/rest_client/__init__.py +0 -0
  99. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/rest_client/connection.py +0 -0
  100. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/supernode/__init__.py +0 -0
  101. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/supernode/app.py +0 -0
  102. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/client/typing.py +0 -0
  103. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/__init__.py +0 -0
  104. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/address.py +0 -0
  105. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/config.py +0 -0
  106. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/constant.py +0 -0
  107. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/context.py +0 -0
  108. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/date.py +0 -0
  109. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/differential_privacy.py +0 -0
  110. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/differential_privacy_constants.py +0 -0
  111. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/dp.py +0 -0
  112. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/exit_handlers.py +0 -0
  113. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/grpc.py +0 -0
  114. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/logger.py +0 -0
  115. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/message.py +0 -0
  116. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/object_ref.py +0 -0
  117. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/parameter.py +0 -0
  118. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/pyproject.py +0 -0
  119. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/record/__init__.py +0 -0
  120. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/record/configsrecord.py +0 -0
  121. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/record/conversion_utils.py +0 -0
  122. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/record/metricsrecord.py +0 -0
  123. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/record/parametersrecord.py +0 -0
  124. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/record/recordset.py +0 -0
  125. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/record/typeddict.py +0 -0
  126. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/recordset_compat.py +0 -0
  127. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/retry_invoker.py +0 -0
  128. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/secure_aggregation/__init__.py +0 -0
  129. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
  130. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
  131. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
  132. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
  133. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/secure_aggregation/quantization.py +0 -0
  134. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
  135. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
  136. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/serde.py +0 -0
  137. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/telemetry.py +0 -0
  138. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/typing.py +0 -0
  139. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/common/version.py +0 -0
  140. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/__init__.py +0 -0
  141. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/common_pb2.py +0 -0
  142. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/common_pb2.pyi +0 -0
  143. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/common_pb2_grpc.py +0 -0
  144. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/common_pb2_grpc.pyi +0 -0
  145. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/driver_pb2.py +0 -0
  146. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/driver_pb2.pyi +0 -0
  147. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/driver_pb2_grpc.py +0 -0
  148. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/driver_pb2_grpc.pyi +0 -0
  149. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/error_pb2.py +0 -0
  150. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/error_pb2.pyi +0 -0
  151. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/error_pb2_grpc.py +0 -0
  152. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/error_pb2_grpc.pyi +0 -0
  153. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/exec_pb2.py +0 -0
  154. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/exec_pb2.pyi +0 -0
  155. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/exec_pb2_grpc.py +0 -0
  156. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/exec_pb2_grpc.pyi +0 -0
  157. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/fab_pb2.py +0 -0
  158. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/fab_pb2.pyi +0 -0
  159. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/fab_pb2_grpc.py +0 -0
  160. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
  161. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/fleet_pb2.py +0 -0
  162. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/fleet_pb2.pyi +0 -0
  163. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/fleet_pb2_grpc.py +0 -0
  164. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
  165. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/grpcadapter_pb2.py +0 -0
  166. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
  167. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
  168. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
  169. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/node_pb2.py +0 -0
  170. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/node_pb2.pyi +0 -0
  171. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/node_pb2_grpc.py +0 -0
  172. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/node_pb2_grpc.pyi +0 -0
  173. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/recordset_pb2.py +0 -0
  174. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/recordset_pb2.pyi +0 -0
  175. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/recordset_pb2_grpc.py +0 -0
  176. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/recordset_pb2_grpc.pyi +0 -0
  177. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/run_pb2.py +0 -0
  178. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/run_pb2.pyi +0 -0
  179. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/run_pb2_grpc.py +0 -0
  180. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/run_pb2_grpc.pyi +0 -0
  181. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/task_pb2.py +0 -0
  182. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/task_pb2.pyi +0 -0
  183. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/task_pb2_grpc.py +0 -0
  184. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/task_pb2_grpc.pyi +0 -0
  185. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/transport_pb2.py +0 -0
  186. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/transport_pb2.pyi +0 -0
  187. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/transport_pb2_grpc.py +0 -0
  188. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
  189. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/py.typed +0 -0
  190. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/__init__.py +0 -0
  191. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/app.py +0 -0
  192. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/client_manager.py +0 -0
  193. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/client_proxy.py +0 -0
  194. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/compat/__init__.py +0 -0
  195. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/compat/app.py +0 -0
  196. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/compat/app_utils.py +0 -0
  197. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/compat/driver_client_proxy.py +0 -0
  198. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/compat/legacy_context.py +0 -0
  199. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/criterion.py +0 -0
  200. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/driver/__init__.py +0 -0
  201. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/driver/driver.py +0 -0
  202. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/driver/grpc_driver.py +0 -0
  203. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/driver/inmemory_driver.py +0 -0
  204. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/history.py +0 -0
  205. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/run_serverapp.py +0 -0
  206. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/server.py +0 -0
  207. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/server_app.py +0 -0
  208. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/server_config.py +0 -0
  209. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/serverapp_components.py +0 -0
  210. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/__init__.py +0 -0
  211. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/aggregate.py +0 -0
  212. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/bulyan.py +0 -0
  213. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
  214. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
  215. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
  216. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
  217. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
  218. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedadagrad.py +0 -0
  219. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedadam.py +0 -0
  220. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedavg.py +0 -0
  221. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedavg_android.py +0 -0
  222. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedavgm.py +0 -0
  223. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedmedian.py +0 -0
  224. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedopt.py +0 -0
  225. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedprox.py +0 -0
  226. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
  227. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
  228. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
  229. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
  230. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/fedyogi.py +0 -0
  231. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/krum.py +0 -0
  232. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/qfedavg.py +0 -0
  233. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/strategy/strategy.py +0 -0
  234. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/__init__.py +0 -0
  235. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/driver/__init__.py +0 -0
  236. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/driver/driver_grpc.py +0 -0
  237. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/driver/driver_servicer.py +0 -0
  238. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/__init__.py +0 -0
  239. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
  240. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +0 -0
  241. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
  242. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
  243. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
  244. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
  245. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
  246. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
  247. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +0 -0
  248. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +0 -0
  249. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
  250. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
  251. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
  252. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +0 -0
  253. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
  254. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
  255. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
  256. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
  257. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
  258. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/state/__init__.py +0 -0
  259. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/state/in_memory_state.py +0 -0
  260. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/state/sqlite_state.py +0 -0
  261. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/state/state.py +0 -0
  262. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/state/state_factory.py +0 -0
  263. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/superlink/state/utils.py +0 -0
  264. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/typing.py +0 -0
  265. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/utils/__init__.py +0 -0
  266. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/utils/tensorboard.py +0 -0
  267. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/utils/validator.py +0 -0
  268. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/workflow/__init__.py +0 -0
  269. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/workflow/constant.py +0 -0
  270. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/workflow/default_workflows.py +0 -0
  271. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
  272. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
  273. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
  274. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/simulation/__init__.py +0 -0
  275. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/simulation/app.py +0 -0
  276. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/simulation/ray_transport/__init__.py +0 -0
  277. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
  278. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
  279. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/simulation/ray_transport/utils.py +0 -0
  280. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/simulation/run_simulation.py +0 -0
  281. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/superexec/__init__.py +0 -0
  282. {flwr_nightly-1.10.0.dev20240713 → flwr_nightly-1.10.0.dev20240714}/src/py/flwr/superexec/exec_servicer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.10.0.dev20240713
3
+ Version: 1.10.0.dev20240714
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.10.0.dev20240713"
7
+ version = "1.10.0.dev20240714"
8
8
  description = "Flower: A Friendly Federated Learning Framework"
9
9
  license = "Apache-2.0"
10
10
  authors = ["The Flower Authors <hello@flower.ai>"]
@@ -0,0 +1,19 @@
1
+ """$project_name: A Flower / HuggingFace Transformers app."""
2
+
3
+ from flwr.common import Context
4
+ from flwr.server.strategy import FedAvg
5
+ from flwr.server import ServerApp, ServerAppComponents, ServerConfig
6
+
7
+
8
+ def server_fn(context: Context):
9
+ # Define strategy
10
+ strategy = FedAvg(
11
+ fraction_fit=1.0,
12
+ fraction_evaluate=1.0,
13
+ )
14
+ config = ServerConfig(num_rounds=3)
15
+
16
+ return ServerAppComponents(strategy=strategy, config=config)
17
+
18
+ # Create ServerApp
19
+ app = ServerApp(server_fn=server_fn)
@@ -0,0 +1,16 @@
1
+ """$project_name: A Flower / JAX app."""
2
+
3
+ from flwr.common import Context
4
+ from flwr.server.strategy import FedAvg
5
+ from flwr.server import ServerApp, ServerAppComponents, ServerConfig
6
+
7
+
8
+ def server_fn(context: Context):
9
+ # Define strategy
10
+ strategy = FedAvg()
11
+ config = ServerConfig(num_rounds=3)
12
+
13
+ return ServerAppComponents(strategy=strategy, config=config)
14
+
15
+ # Create ServerApp
16
+ app = ServerApp(server_fn=server_fn)
@@ -0,0 +1,16 @@
1
+ """$project_name: A Flower / MLX app."""
2
+
3
+ from flwr.common import Context
4
+ from flwr.server import ServerApp, ServerAppComponents, ServerConfig
5
+ from flwr.server.strategy import FedAvg
6
+
7
+
8
+ def server_fn(context: Context):
9
+ # Define strategy
10
+ strategy = FedAvg()
11
+ config = ServerConfig(num_rounds=3)
12
+
13
+ return ServerAppComponents(strategy=strategy, config=config)
14
+
15
+ # Create ServerApp
16
+ app = ServerApp(server_fn=server_fn)
@@ -0,0 +1,16 @@
1
+ """$project_name: A Flower / NumPy app."""
2
+
3
+ from flwr.common import Context
4
+ from flwr.server import ServerApp, ServerAppComponents, ServerConfig
5
+ from flwr.server.strategy import FedAvg
6
+
7
+
8
+ def server_fn(context: Context):
9
+ # Define strategy
10
+ strategy = FedAvg()
11
+ config = ServerConfig(num_rounds=3)
12
+
13
+ return ServerAppComponents(strategy=strategy, config=config)
14
+
15
+ # Create ServerApp
16
+ app = ServerApp(server_fn=server_fn)
@@ -0,0 +1,27 @@
1
+ """$project_name: A Flower / PyTorch app."""
2
+
3
+ from flwr.common import Context, ndarrays_to_parameters
4
+ from flwr.server import ServerApp, ServerAppComponents, ServerConfig
5
+ from flwr.server.strategy import FedAvg
6
+
7
+ from $import_name.task import Net, get_weights
8
+
9
+
10
+ # Initialize model parameters
11
+ ndarrays = get_weights(Net())
12
+ parameters = ndarrays_to_parameters(ndarrays)
13
+
14
+ def server_fn(context: Context):
15
+ # Define strategy
16
+ strategy = FedAvg(
17
+ fraction_fit=1.0,
18
+ fraction_evaluate=1.0,
19
+ min_available_clients=2,
20
+ initial_parameters=parameters,
21
+ )
22
+ config = ServerConfig(num_rounds=3)
23
+
24
+ return ServerAppComponents(strategy=strategy, config=config)
25
+
26
+ # Create ServerApp
27
+ app = ServerApp(server_fn=server_fn)
@@ -0,0 +1,20 @@
1
+ """$project_name: A Flower / Scikit-Learn app."""
2
+
3
+ from flwr.common import Context
4
+ from flwr.server import ServerApp, ServerAppComponents, ServerConfig
5
+ from flwr.server.strategy import FedAvg
6
+
7
+
8
+ def server_fn(context: Context):
9
+ # Define strategy
10
+ strategy = FedAvg(
11
+ fraction_fit=1.0,
12
+ fraction_evaluate=1.0,
13
+ min_available_clients=2,
14
+ )
15
+ config = ServerConfig(num_rounds=3)
16
+
17
+ return ServerAppComponents(strategy=strategy, config=config)
18
+
19
+ # Create ServerApp
20
+ app = ServerApp(server_fn=server_fn)
@@ -0,0 +1,27 @@
1
+ """$project_name: A Flower / TensorFlow app."""
2
+
3
+ from flwr.common import Context, ndarrays_to_parameters
4
+ from flwr.server import ServerApp, ServerAppComponents, ServerConfig
5
+ from flwr.server.strategy import FedAvg
6
+
7
+ from $import_name.task import load_model
8
+
9
+ # Define config
10
+ config = ServerConfig(num_rounds=3)
11
+
12
+ parameters = ndarrays_to_parameters(load_model().get_weights())
13
+
14
+ def server_fn(context: Context):
15
+ # Define strategy
16
+ strategy = strategy = FedAvg(
17
+ fraction_fit=1.0,
18
+ fraction_evaluate=1.0,
19
+ min_available_clients=2,
20
+ initial_parameters=parameters,
21
+ )
22
+ config = ServerConfig(num_rounds=3)
23
+
24
+ return ServerAppComponents(strategy=strategy, config=config)
25
+
26
+ # Create ServerApp
27
+ app = ServerApp(server_fn=server_fn)
@@ -62,7 +62,7 @@ def run(
62
62
  config_overrides: Annotated[
63
63
  Optional[str],
64
64
  typer.Option(
65
- "--config",
65
+ "--run-config",
66
66
  "-c",
67
67
  help="Override configuration key-value pairs",
68
68
  ),
@@ -24,6 +24,7 @@ import grpc
24
24
 
25
25
  from flwr.common import EventType, event, log
26
26
  from flwr.common.address import parse_address
27
+ from flwr.common.config import parse_config_args
27
28
  from flwr.common.constant import SUPEREXEC_DEFAULT_ADDRESS
28
29
  from flwr.common.exit_handlers import register_exit_handlers
29
30
  from flwr.common.object_ref import load_app, validate
@@ -55,6 +56,7 @@ def run_superexec() -> None:
55
56
  address=address,
56
57
  executor=_load_executor(args),
57
58
  certificates=certificates,
59
+ config=parse_config_args(args.executor_config),
58
60
  )
59
61
 
60
62
  grpc_servers = [superexec_server]
@@ -74,21 +76,25 @@ def _parse_args_run_superexec() -> argparse.ArgumentParser:
74
76
  parser = argparse.ArgumentParser(
75
77
  description="Start a Flower SuperExec",
76
78
  )
77
- parser.add_argument(
78
- "executor",
79
- help="For example: `deployment:exec` or `project.package.module:wrapper.exec`.",
80
- default="flwr.superexec.deployment:executor",
81
- )
82
79
  parser.add_argument(
83
80
  "--address",
84
81
  help="SuperExec (gRPC) server address (IPv4, IPv6, or a domain name)",
85
82
  default=SUPEREXEC_DEFAULT_ADDRESS,
86
83
  )
84
+ parser.add_argument(
85
+ "--executor",
86
+ help="For example: `deployment:exec` or `project.package.module:wrapper.exec`.",
87
+ default="flwr.superexec.deployment:executor",
88
+ )
87
89
  parser.add_argument(
88
90
  "--executor-dir",
89
91
  help="The directory for the executor.",
90
92
  default=".",
91
93
  )
94
+ parser.add_argument(
95
+ "--executor-config",
96
+ help="Key-value pairs for the executor config, separated by commas.",
97
+ )
92
98
  parser.add_argument(
93
99
  "--insecure",
94
100
  action="store_true",
@@ -17,6 +17,7 @@
17
17
  import subprocess
18
18
  import sys
19
19
  from logging import ERROR, INFO
20
+ from pathlib import Path
20
21
  from typing import Dict, Optional
21
22
 
22
23
  from typing_extensions import override
@@ -33,25 +34,73 @@ from .executor import Executor, RunTracker
33
34
 
34
35
 
35
36
  class DeploymentEngine(Executor):
36
- """Deployment engine executor."""
37
+ """Deployment engine executor.
38
+
39
+ Parameters
40
+ ----------
41
+ superlink: str (default: "0.0.0.0:9091")
42
+ Address of the SuperLink to connect to.
43
+ root_certificates: Optional[str] (default: None)
44
+ Specifies the path to the PEM-encoded root certificate file for
45
+ establishing secure HTTPS connections.
46
+ flwr_dir: Optional[str] (default: None)
47
+ The path containing installed Flower Apps.
48
+ """
37
49
 
38
50
  def __init__(
39
51
  self,
40
- address: str = DEFAULT_SERVER_ADDRESS_DRIVER,
41
- root_certificates: Optional[bytes] = None,
52
+ superlink: str = DEFAULT_SERVER_ADDRESS_DRIVER,
53
+ root_certificates: Optional[str] = None,
54
+ flwr_dir: Optional[str] = None,
42
55
  ) -> None:
43
- self.address = address
44
- self.root_certificates = root_certificates
56
+ self.superlink = superlink
57
+ if root_certificates is None:
58
+ self.root_certificates = None
59
+ self.root_certificates_bytes = None
60
+ else:
61
+ self.root_certificates = root_certificates
62
+ self.root_certificates_bytes = Path(root_certificates).read_bytes()
63
+ self.flwr_dir = flwr_dir
45
64
  self.stub: Optional[DriverStub] = None
46
65
 
66
+ @override
67
+ def set_config(
68
+ self,
69
+ config: Dict[str, str],
70
+ ) -> None:
71
+ """Set executor config arguments.
72
+
73
+ Parameters
74
+ ----------
75
+ config : Dict[str, str]
76
+ A dictionary for configuration values.
77
+ Supported configuration key/value pairs:
78
+ - "superlink": str
79
+ The address of the SuperLink Driver API.
80
+ - "root-certificates": str
81
+ The path to the root certificates.
82
+ - "flwr-dir": str
83
+ The path to the Flower directory.
84
+ """
85
+ if not config:
86
+ return
87
+ if superlink_address := config.get("superlink"):
88
+ self.superlink = superlink_address
89
+ if root_certificates := config.get("root-certificates"):
90
+ self.root_certificates = root_certificates
91
+ self.root_certificates_bytes = Path(root_certificates).read_bytes()
92
+ if flwr_dir := config.get("flwr-dir"):
93
+ self.flwr_dir = flwr_dir
94
+
47
95
  def _connect(self) -> None:
48
- if self.stub is None:
49
- channel = create_channel(
50
- server_address=self.address,
51
- insecure=(self.root_certificates is None),
52
- root_certificates=self.root_certificates,
53
- )
54
- self.stub = DriverStub(channel)
96
+ if self.stub is not None:
97
+ return
98
+ channel = create_channel(
99
+ server_address=self.superlink,
100
+ insecure=(self.root_certificates_bytes is None),
101
+ root_certificates=self.root_certificates_bytes,
102
+ )
103
+ self.stub = DriverStub(channel)
55
104
 
56
105
  def _create_run(
57
106
  self,
@@ -74,7 +123,9 @@ class DeploymentEngine(Executor):
74
123
 
75
124
  @override
76
125
  def start_run(
77
- self, fab_file: bytes, override_config: Dict[str, str]
126
+ self,
127
+ fab_file: bytes,
128
+ override_config: Dict[str, str],
78
129
  ) -> Optional[RunTracker]:
79
130
  """Start run using the Flower Deployment Engine."""
80
131
  try:
@@ -84,7 +135,7 @@ class DeploymentEngine(Executor):
84
135
 
85
136
  # Install FAB Python package
86
137
  subprocess.check_call(
87
- [sys.executable, "-m", "pip", "install", str(fab_path)],
138
+ [sys.executable, "-m", "pip", "install", "--no-deps", str(fab_path)],
88
139
  stdout=subprocess.DEVNULL,
89
140
  stderr=subprocess.DEVNULL,
90
141
  )
@@ -93,14 +144,27 @@ class DeploymentEngine(Executor):
93
144
  run_id: int = self._create_run(fab_id, fab_version, override_config)
94
145
  log(INFO, "Created run %s", str(run_id))
95
146
 
96
- # Start ServerApp
147
+ command = [
148
+ "flower-server-app",
149
+ "--run-id",
150
+ str(run_id),
151
+ "--superlink",
152
+ str(self.superlink),
153
+ ]
154
+
155
+ if self.flwr_dir:
156
+ command.append("--flwr-dir")
157
+ command.append(self.flwr_dir)
158
+
159
+ if self.root_certificates is None:
160
+ command.append("--insecure")
161
+ else:
162
+ command.append("--root-certificates")
163
+ command.append(self.root_certificates)
164
+
165
+ # Execute the command
97
166
  proc = subprocess.Popen( # pylint: disable=consider-using-with
98
- [
99
- "flower-server-app",
100
- "--run-id",
101
- str(run_id),
102
- "--insecure",
103
- ],
167
+ command,
104
168
  stdout=subprocess.PIPE,
105
169
  stderr=subprocess.PIPE,
106
170
  text=True,
@@ -15,7 +15,7 @@
15
15
  """SuperExec gRPC API."""
16
16
 
17
17
  from logging import INFO
18
- from typing import Optional, Tuple
18
+ from typing import Dict, Optional, Tuple
19
19
 
20
20
  import grpc
21
21
 
@@ -32,8 +32,11 @@ def run_superexec_api_grpc(
32
32
  address: str,
33
33
  executor: Executor,
34
34
  certificates: Optional[Tuple[bytes, bytes, bytes]],
35
+ config: Dict[str, str],
35
36
  ) -> grpc.Server:
36
37
  """Run SuperExec API (gRPC, request-response)."""
38
+ executor.set_config(config)
39
+
37
40
  exec_servicer: grpc.Server = ExecServicer(
38
41
  executor=executor,
39
42
  )
@@ -45,7 +48,7 @@ def run_superexec_api_grpc(
45
48
  certificates=certificates,
46
49
  )
47
50
 
48
- log(INFO, "Flower ECE: Starting SuperExec API (gRPC-rere) on %s", address)
51
+ log(INFO, "Starting Flower SuperExec gRPC server on %s", address)
49
52
  superexec_grpc_server.start()
50
53
 
51
54
  return superexec_grpc_server
@@ -31,9 +31,24 @@ class RunTracker:
31
31
  class Executor(ABC):
32
32
  """Execute and monitor a Flower run."""
33
33
 
34
+ @abstractmethod
35
+ def set_config(
36
+ self,
37
+ config: Dict[str, str],
38
+ ) -> None:
39
+ """Register provided config as class attributes.
40
+
41
+ Parameters
42
+ ----------
43
+ config : Optional[Dict[str, str]]
44
+ A dictionary for configuration values.
45
+ """
46
+
34
47
  @abstractmethod
35
48
  def start_run(
36
- self, fab_file: bytes, override_config: Dict[str, str]
49
+ self,
50
+ fab_file: bytes,
51
+ override_config: Dict[str, str],
37
52
  ) -> Optional[RunTracker]:
38
53
  """Start a run using the given Flower FAB ID and version.
39
54
 
@@ -44,6 +59,8 @@ class Executor(ABC):
44
59
  ----------
45
60
  fab_file : bytes
46
61
  The Flower App Bundle file bytes.
62
+ override_config: Dict[str, str]
63
+ The config overrides dict sent by the user (using `flwr run`).
47
64
 
48
65
  Returns
49
66
  -------
@@ -1,17 +0,0 @@
1
- """$project_name: A Flower / HuggingFace Transformers app."""
2
-
3
- from flwr.server.strategy import FedAvg
4
- from flwr.server import ServerApp, ServerConfig
5
-
6
-
7
- # Define strategy
8
- strategy = FedAvg(
9
- fraction_fit=1.0,
10
- fraction_evaluate=1.0,
11
- )
12
-
13
- # Start server
14
- app = ServerApp(
15
- config=ServerConfig(num_rounds=3),
16
- strategy=strategy,
17
- )
@@ -1,12 +0,0 @@
1
- """$project_name: A Flower / JAX app."""
2
-
3
- import flwr as fl
4
-
5
- # Configure the strategy
6
- strategy = fl.server.strategy.FedAvg()
7
-
8
- # Flower ServerApp
9
- app = fl.server.ServerApp(
10
- config=fl.server.ServerConfig(num_rounds=3),
11
- strategy=strategy,
12
- )
@@ -1,15 +0,0 @@
1
- """$project_name: A Flower / MLX app."""
2
-
3
- from flwr.server import ServerApp, ServerConfig
4
- from flwr.server.strategy import FedAvg
5
-
6
-
7
- # Define strategy
8
- strategy = FedAvg()
9
-
10
-
11
- # Create ServerApp
12
- app = ServerApp(
13
- config=ServerConfig(num_rounds=3),
14
- strategy=strategy,
15
- )
@@ -1,12 +0,0 @@
1
- """$project_name: A Flower / NumPy app."""
2
-
3
- import flwr as fl
4
-
5
- # Configure the strategy
6
- strategy = fl.server.strategy.FedAvg()
7
-
8
- # Flower ServerApp
9
- app = fl.server.ServerApp(
10
- config=fl.server.ServerConfig(num_rounds=1),
11
- strategy=strategy,
12
- )
@@ -1,28 +0,0 @@
1
- """$project_name: A Flower / PyTorch app."""
2
-
3
- from flwr.common import ndarrays_to_parameters
4
- from flwr.server import ServerApp, ServerConfig
5
- from flwr.server.strategy import FedAvg
6
-
7
- from $import_name.task import Net, get_weights
8
-
9
-
10
- # Initialize model parameters
11
- ndarrays = get_weights(Net())
12
- parameters = ndarrays_to_parameters(ndarrays)
13
-
14
-
15
- # Define strategy
16
- strategy = FedAvg(
17
- fraction_fit=1.0,
18
- fraction_evaluate=1.0,
19
- min_available_clients=2,
20
- initial_parameters=parameters,
21
- )
22
-
23
-
24
- # Create ServerApp
25
- app = ServerApp(
26
- config=ServerConfig(num_rounds=3),
27
- strategy=strategy,
28
- )
@@ -1,17 +0,0 @@
1
- """$project_name: A Flower / Scikit-Learn app."""
2
-
3
- from flwr.server import ServerApp, ServerConfig
4
- from flwr.server.strategy import FedAvg
5
-
6
-
7
- strategy = FedAvg(
8
- fraction_fit=1.0,
9
- fraction_evaluate=1.0,
10
- min_available_clients=2,
11
- )
12
-
13
- # Create ServerApp
14
- app = ServerApp(
15
- config=ServerConfig(num_rounds=3),
16
- strategy=strategy,
17
- )
@@ -1,27 +0,0 @@
1
- """$project_name: A Flower / TensorFlow app."""
2
-
3
- from flwr.common import ndarrays_to_parameters
4
- from flwr.server import ServerApp, ServerConfig
5
- from flwr.server.strategy import FedAvg
6
-
7
- from $import_name.task import load_model
8
-
9
- # Define config
10
- config = ServerConfig(num_rounds=3)
11
-
12
- parameters = ndarrays_to_parameters(load_model().get_weights())
13
-
14
- # Define strategy
15
- strategy = FedAvg(
16
- fraction_fit=1.0,
17
- fraction_evaluate=1.0,
18
- min_available_clients=2,
19
- initial_parameters=parameters,
20
- )
21
-
22
-
23
- # Create ServerApp
24
- app = ServerApp(
25
- config=config,
26
- strategy=strategy,
27
- )