flwr-nightly 1.10.0.dev20240619__tar.gz → 1.10.0.dev20240620__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 (265) hide show
  1. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/PKG-INFO +2 -1
  2. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/README.md +1 -0
  3. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/pyproject.toml +2 -1
  4. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/app.py +3 -0
  5. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/build.py +3 -7
  6. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/new.py +1 -1
  7. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/run/run.py +8 -1
  8. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/client_app.py +1 -1
  9. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/dpfedavg_numpy_client.py +1 -1
  10. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/grpc_rere_client/__init__.py +1 -1
  11. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/grpc_rere_client/connection.py +1 -1
  12. {flwr_nightly-1.10.0.dev20240619/src/py/flwr/server/superlink/fleet → flwr_nightly-1.10.0.dev20240620/src/py/flwr/client/message_handler}/__init__.py +1 -1
  13. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/message_handler/message_handler.py +1 -1
  14. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/mod/__init__.py +1 -1
  15. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/mod/secure_aggregation/__init__.py +1 -1
  16. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/mod/utils.py +1 -1
  17. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/rest_client/__init__.py +1 -1
  18. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/rest_client/connection.py +1 -1
  19. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/supernode/app.py +1 -1
  20. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/address.py +1 -1
  21. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/config.py +8 -6
  22. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/constant.py +1 -1
  23. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/date.py +1 -1
  24. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/dp.py +1 -1
  25. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/grpc.py +1 -1
  26. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/secure_aggregation/__init__.py +1 -1
  27. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/secure_aggregation/crypto/__init__.py +1 -1
  28. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/secure_aggregation/crypto/shamir.py +1 -1
  29. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +1 -1
  30. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +1 -1
  31. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/secure_aggregation/quantization.py +1 -1
  32. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/secure_aggregation/secaggplus_constants.py +1 -1
  33. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/secure_aggregation/secaggplus_utils.py +1 -1
  34. flwr_nightly-1.10.0.dev20240620/src/py/flwr/common/version.py +42 -0
  35. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/compat/app.py +1 -1
  36. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/compat/app_utils.py +1 -1
  37. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/compat/driver_client_proxy.py +1 -1
  38. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/driver/driver.py +6 -0
  39. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/driver/grpc_driver.py +85 -63
  40. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/driver/inmemory_driver.py +28 -26
  41. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/run_serverapp.py +12 -7
  42. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/bulyan.py +1 -1
  43. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/dpfedavg_adaptive.py +1 -1
  44. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/dpfedavg_fixed.py +1 -1
  45. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedadagrad.py +1 -1
  46. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedadam.py +1 -1
  47. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedavg_android.py +1 -1
  48. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedavgm.py +1 -1
  49. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedmedian.py +1 -1
  50. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedopt.py +1 -1
  51. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedprox.py +1 -1
  52. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedxgb_bagging.py +1 -1
  53. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedxgb_cyclic.py +1 -1
  54. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedxgb_nn_avg.py +1 -1
  55. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedyogi.py +1 -1
  56. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/krum.py +1 -1
  57. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/qfedavg.py +1 -1
  58. flwr_nightly-1.10.0.dev20240620/src/py/flwr/server/superlink/driver/__init__.py +15 -0
  59. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/driver/driver_grpc.py +1 -1
  60. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/driver/driver_servicer.py +15 -3
  61. flwr_nightly-1.10.0.dev20240620/src/py/flwr/server/superlink/fleet/__init__.py +15 -0
  62. flwr_nightly-1.10.0.dev20240620/src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +15 -0
  63. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -1
  64. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +1 -1
  65. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +1 -1
  66. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +1 -1
  67. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +1 -1
  68. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +1 -1
  69. flwr_nightly-1.10.0.dev20240620/src/py/flwr/server/superlink/fleet/message_handler/__init__.py +15 -0
  70. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/message_handler/message_handler.py +1 -1
  71. flwr_nightly-1.10.0.dev20240620/src/py/flwr/server/superlink/fleet/rest_rere/__init__.py +15 -0
  72. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +1 -1
  73. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/state/__init__.py +1 -1
  74. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/state/in_memory_state.py +1 -1
  75. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/state/sqlite_state.py +1 -1
  76. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/state/state.py +1 -1
  77. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/state/state_factory.py +11 -2
  78. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/utils/__init__.py +1 -1
  79. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/utils/tensorboard.py +1 -1
  80. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/simulation/__init__.py +1 -1
  81. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/simulation/app.py +1 -1
  82. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/simulation/ray_transport/__init__.py +1 -1
  83. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +1 -1
  84. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/simulation/run_simulation.py +15 -8
  85. flwr_nightly-1.10.0.dev20240619/src/py/flwr/client/message_handler/__init__.py +0 -15
  86. flwr_nightly-1.10.0.dev20240619/src/py/flwr/common/version.py +0 -28
  87. flwr_nightly-1.10.0.dev20240619/src/py/flwr/server/superlink/driver/__init__.py +0 -15
  88. flwr_nightly-1.10.0.dev20240619/src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -15
  89. flwr_nightly-1.10.0.dev20240619/src/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -15
  90. flwr_nightly-1.10.0.dev20240619/src/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -15
  91. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/LICENSE +0 -0
  92. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/__init__.py +0 -0
  93. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/__init__.py +0 -0
  94. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/config_utils.py +0 -0
  95. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/example.py +0 -0
  96. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/install.py +0 -0
  97. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/__init__.py +0 -0
  98. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/__init__.py +0 -0
  99. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
  100. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
  101. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/__init__.py +0 -0
  102. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
  103. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
  104. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/client.hf.py.tpl +0 -0
  105. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
  106. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
  107. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
  108. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
  109. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
  110. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
  111. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/server.hf.py.tpl +0 -0
  112. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -0
  113. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -0
  114. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
  115. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
  116. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -0
  117. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
  118. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/task.hf.py.tpl +0 -0
  119. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
  120. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
  121. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
  122. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
  123. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/pyproject.hf.toml.tpl +0 -0
  124. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -0
  125. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -0
  126. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
  127. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
  128. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -0
  129. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
  130. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/run/__init__.py +0 -0
  131. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/cli/utils.py +0 -0
  132. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/__init__.py +0 -0
  133. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/app.py +0 -0
  134. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/client.py +0 -0
  135. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
  136. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/grpc_adapter_client/connection.py +0 -0
  137. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/grpc_client/__init__.py +0 -0
  138. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/grpc_client/connection.py +0 -0
  139. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/grpc_rere_client/client_interceptor.py +0 -0
  140. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/grpc_rere_client/grpc_adapter.py +0 -0
  141. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/heartbeat.py +0 -0
  142. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/message_handler/task_handler.py +0 -0
  143. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/mod/centraldp_mods.py +0 -0
  144. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/mod/comms_mods.py +0 -0
  145. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/mod/localdp_mod.py +0 -0
  146. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
  147. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
  148. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/node_state.py +0 -0
  149. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/node_state_tests.py +0 -0
  150. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/numpy_client.py +0 -0
  151. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/supernode/__init__.py +0 -0
  152. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/client/typing.py +0 -0
  153. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/__init__.py +0 -0
  154. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/context.py +0 -0
  155. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/differential_privacy.py +0 -0
  156. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/differential_privacy_constants.py +0 -0
  157. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/exit_handlers.py +0 -0
  158. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/logger.py +0 -0
  159. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/message.py +0 -0
  160. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/object_ref.py +0 -0
  161. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/parameter.py +0 -0
  162. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/pyproject.py +0 -0
  163. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/record/__init__.py +0 -0
  164. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/record/configsrecord.py +0 -0
  165. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/record/conversion_utils.py +0 -0
  166. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/record/metricsrecord.py +0 -0
  167. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/record/parametersrecord.py +0 -0
  168. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/record/recordset.py +0 -0
  169. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/record/typeddict.py +0 -0
  170. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/recordset_compat.py +0 -0
  171. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/retry_invoker.py +0 -0
  172. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/serde.py +0 -0
  173. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/telemetry.py +0 -0
  174. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/common/typing.py +0 -0
  175. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/__init__.py +0 -0
  176. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/driver_pb2.py +0 -0
  177. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/driver_pb2.pyi +0 -0
  178. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/driver_pb2_grpc.py +0 -0
  179. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/driver_pb2_grpc.pyi +0 -0
  180. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/error_pb2.py +0 -0
  181. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/error_pb2.pyi +0 -0
  182. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/error_pb2_grpc.py +0 -0
  183. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/error_pb2_grpc.pyi +0 -0
  184. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/exec_pb2.py +0 -0
  185. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/exec_pb2.pyi +0 -0
  186. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/exec_pb2_grpc.py +0 -0
  187. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/exec_pb2_grpc.pyi +0 -0
  188. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/fab_pb2.py +0 -0
  189. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/fab_pb2.pyi +0 -0
  190. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/fab_pb2_grpc.py +0 -0
  191. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
  192. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/fleet_pb2.py +0 -0
  193. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/fleet_pb2.pyi +0 -0
  194. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/fleet_pb2_grpc.py +0 -0
  195. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
  196. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/grpcadapter_pb2.py +0 -0
  197. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
  198. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
  199. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
  200. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/node_pb2.py +0 -0
  201. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/node_pb2.pyi +0 -0
  202. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/node_pb2_grpc.py +0 -0
  203. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/node_pb2_grpc.pyi +0 -0
  204. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/recordset_pb2.py +0 -0
  205. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/recordset_pb2.pyi +0 -0
  206. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/recordset_pb2_grpc.py +0 -0
  207. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/recordset_pb2_grpc.pyi +0 -0
  208. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/run_pb2.py +0 -0
  209. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/run_pb2.pyi +0 -0
  210. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/run_pb2_grpc.py +0 -0
  211. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/run_pb2_grpc.pyi +0 -0
  212. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/task_pb2.py +0 -0
  213. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/task_pb2.pyi +0 -0
  214. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/task_pb2_grpc.py +0 -0
  215. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/task_pb2_grpc.pyi +0 -0
  216. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/transport_pb2.py +0 -0
  217. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/transport_pb2.pyi +0 -0
  218. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/transport_pb2_grpc.py +0 -0
  219. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
  220. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/py.typed +0 -0
  221. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/__init__.py +0 -0
  222. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/app.py +0 -0
  223. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/client_manager.py +0 -0
  224. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/client_proxy.py +0 -0
  225. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/compat/__init__.py +0 -0
  226. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/compat/legacy_context.py +0 -0
  227. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/criterion.py +0 -0
  228. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/driver/__init__.py +0 -0
  229. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/history.py +0 -0
  230. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/server.py +0 -0
  231. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/server_app.py +0 -0
  232. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/server_config.py +0 -0
  233. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/__init__.py +0 -0
  234. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/aggregate.py +0 -0
  235. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
  236. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
  237. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
  238. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedavg.py +0 -0
  239. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
  240. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/strategy/strategy.py +0 -0
  241. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/__init__.py +0 -0
  242. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
  243. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +0 -0
  244. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +0 -0
  245. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
  246. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
  247. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
  248. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
  249. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
  250. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/superlink/state/utils.py +0 -0
  251. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/typing.py +0 -0
  252. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/utils/validator.py +0 -0
  253. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/workflow/__init__.py +0 -0
  254. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/workflow/constant.py +0 -0
  255. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/workflow/default_workflows.py +0 -0
  256. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
  257. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
  258. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
  259. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
  260. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/simulation/ray_transport/utils.py +0 -0
  261. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/superexec/__init__.py +0 -0
  262. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/superexec/app.py +0 -0
  263. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/superexec/exec_grpc.py +0 -0
  264. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/superexec/exec_servicer.py +0 -0
  265. {flwr_nightly-1.10.0.dev20240619 → flwr_nightly-1.10.0.dev20240620}/src/py/flwr/superexec/executor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.10.0.dev20240619
3
+ Version: 1.10.0.dev20240620
4
4
  Summary: Flower: A Friendly Federated Learning Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -204,6 +204,7 @@ Other [examples](https://github.com/adap/flower/tree/main/examples):
204
204
  - [Flower with KaplanMeierFitter from the lifelines library](https://github.com/adap/flower/tree/main/examples/federated-kaplan-meier-fitter)
205
205
  - [Sample Level Privacy with Opacus](https://github.com/adap/flower/tree/main/examples/opacus)
206
206
  - [Sample Level Privacy with TensorFlow-Privacy](https://github.com/adap/flower/tree/main/examples/tensorflow-privacy)
207
+ - [Flower with a Tabular Dataset] (https://github.com/adap/flower/tree/main/examples/fl-tabular)
207
208
 
208
209
  ## Community
209
210
 
@@ -153,6 +153,7 @@ Other [examples](https://github.com/adap/flower/tree/main/examples):
153
153
  - [Flower with KaplanMeierFitter from the lifelines library](https://github.com/adap/flower/tree/main/examples/federated-kaplan-meier-fitter)
154
154
  - [Sample Level Privacy with Opacus](https://github.com/adap/flower/tree/main/examples/opacus)
155
155
  - [Sample Level Privacy with TensorFlow-Privacy](https://github.com/adap/flower/tree/main/examples/tensorflow-privacy)
156
+ - [Flower with a Tabular Dataset] (https://github.com/adap/flower/tree/main/examples/fl-tabular)
156
157
 
157
158
  ## Community
158
159
 
@@ -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.dev20240619"
7
+ version = "1.10.0.dev20240620"
8
8
  description = "Flower: A Friendly Federated Learning Framework"
9
9
  license = "Apache-2.0"
10
10
  authors = ["The Flower Authors <hello@flower.ai>"]
@@ -105,6 +105,7 @@ rope = "==1.11.0"
105
105
  semver = "==3.0.2"
106
106
  sphinx = "==6.2.1"
107
107
  sphinx-intl = "==2.2.0"
108
+ sphinx-click = "==5.1.0"
108
109
  myst-parser = "==1.0.0"
109
110
  sphinx-design = "==0.5.0"
110
111
  sphinx-copybutton = "==0.5.2"
@@ -15,6 +15,7 @@
15
15
  """Flower command line interface."""
16
16
 
17
17
  import typer
18
+ from typer.main import get_command
18
19
 
19
20
  from .build import build
20
21
  from .example import example
@@ -37,5 +38,7 @@ app.command()(run)
37
38
  app.command()(build)
38
39
  app.command()(install)
39
40
 
41
+ typer_click_object = get_command(app)
42
+
40
43
  if __name__ == "__main__":
41
44
  app()
@@ -36,13 +36,9 @@ def build(
36
36
  ) -> str:
37
37
  """Build a Flower project into a Flower App Bundle (FAB).
38
38
 
39
- You can run `flwr build` without any argument to bundle the current directory:
40
-
41
- `flwr build`
42
-
43
- You can also build a specific directory:
44
-
45
- `flwr build --directory ./projects/flower-hello-world`
39
+ You can run ``flwr build`` without any arguments to bundle the current directory,
40
+ or you can use ``--directory`` to build a specific directory:
41
+ ``flwr build --directory ./projects/flower-hello-world``.
46
42
  """
47
43
  if directory is None:
48
44
  directory = Path.cwd()
@@ -190,7 +190,7 @@ def new(
190
190
  )
191
191
  print(
192
192
  typer.style(
193
- f" cd {project_name}\n" + " pip install -e .\n flwr run\n",
193
+ f" cd {package_name}\n" + " pip install -e .\n flwr run\n",
194
194
  fg=typer.colors.BRIGHT_CYAN,
195
195
  bold=True,
196
196
  )
@@ -41,7 +41,10 @@ class Engine(str, Enum):
41
41
  def run(
42
42
  engine: Annotated[
43
43
  Optional[Engine],
44
- typer.Option(case_sensitive=False, help="The execution engine to run the app"),
44
+ typer.Option(
45
+ case_sensitive=False,
46
+ help="The engine to run FL with (currently only simulation is supported).",
47
+ ),
45
48
  ] = None,
46
49
  use_superexec: Annotated[
47
50
  bool,
@@ -87,12 +90,16 @@ def run(
87
90
 
88
91
  if engine == Engine.SIMULATION:
89
92
  num_supernodes = config["flower"]["engine"]["simulation"]["supernode"]["num"]
93
+ backend_config = config["flower"]["engine"]["simulation"].get(
94
+ "backend_config", None
95
+ )
90
96
 
91
97
  typer.secho("Starting run... ", fg=typer.colors.BLUE)
92
98
  _run_simulation(
93
99
  server_app_attr=server_app_ref,
94
100
  client_app_attr=client_app_ref,
95
101
  num_supernodes=num_supernodes,
102
+ backend_config=backend_config,
96
103
  )
97
104
  else:
98
105
  typer.secho(
@@ -1,4 +1,4 @@
1
- # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2024 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2022 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- """Flower fleet service."""
15
+ """Client-side message handling."""
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2022 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2024 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2024 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2024 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -267,7 +267,7 @@ def _parse_args_run_supernode() -> argparse.ArgumentParser:
267
267
  "--flwr-dir",
268
268
  default=None,
269
269
  help="""The path containing installed Flower Apps.
270
- By default, this value isequal to:
270
+ By default, this value is equal to:
271
271
 
272
272
  - `$FLWR_HOME/` if `$FLWR_HOME` is defined
273
273
  - `$XDG_DATA_HOME/.flwr/` if `$XDG_DATA_HOME` is defined
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -24,14 +24,16 @@ from flwr.cli.config_utils import validate_fields
24
24
  from flwr.common.constant import APP_DIR, FAB_CONFIG_FILE, FLWR_HOME
25
25
 
26
26
 
27
- def get_flwr_dir() -> Path:
27
+ def get_flwr_dir(provided_path: Optional[str] = None) -> Path:
28
28
  """Return the Flower home directory based on env variables."""
29
- return Path(
30
- os.getenv(
31
- FLWR_HOME,
32
- f"{os.getenv('XDG_DATA_HOME', os.getenv('HOME'))}/.flwr",
29
+ if provided_path is None or not Path(provided_path).is_dir():
30
+ return Path(
31
+ os.getenv(
32
+ FLWR_HOME,
33
+ f"{os.getenv('XDG_DATA_HOME', os.getenv('HOME'))}/.flwr",
34
+ )
33
35
  )
34
- )
36
+ return Path(provided_path).absolute()
35
37
 
36
38
 
37
39
  def get_project_dir(
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2022 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2022 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2023 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -0,0 +1,42 @@
1
+ # Copyright 2023 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 package version helper."""
16
+
17
+ import importlib.metadata as importlib_metadata
18
+ from typing import Tuple
19
+
20
+
21
+ def _check_package(name: str) -> Tuple[str, str]:
22
+ version: str = importlib_metadata.version(name)
23
+ return name, version
24
+
25
+
26
+ def _version() -> Tuple[str, str]:
27
+ """Read and return Flower package name and version.
28
+
29
+ Returns
30
+ -------
31
+ package_name, package_version : Tuple[str, str]
32
+ """
33
+ for name in ["flwr", "flwr-nightly"]:
34
+ try:
35
+ return _check_package(name)
36
+ except importlib_metadata.PackageNotFoundError:
37
+ pass
38
+
39
+ return ("unknown", "unknown")
40
+
41
+
42
+ package_name, package_version = _version()
@@ -1,4 +1,4 @@
1
- # Copyright 2022 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2024 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -91,7 +91,7 @@ def _update_client_manager(
91
91
  node_id=node_id,
92
92
  driver=driver,
93
93
  anonymous=False,
94
- run_id=driver.run_id, # type: ignore
94
+ run_id=driver.run.run_id,
95
95
  )
96
96
  if client_manager.register(client_proxy):
97
97
  registered_nodes[node_id] = client_proxy
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Flower Labs GmbH. All Rights Reserved.
1
+ # Copyright 2024 Flower Labs GmbH. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -19,11 +19,17 @@ from abc import ABC, abstractmethod
19
19
  from typing import Iterable, List, Optional
20
20
 
21
21
  from flwr.common import Message, RecordSet
22
+ from flwr.common.typing import Run
22
23
 
23
24
 
24
25
  class Driver(ABC):
25
26
  """Abstract base Driver class for the Driver API."""
26
27
 
28
+ @property
29
+ @abstractmethod
30
+ def run(self) -> Run:
31
+ """Run information."""
32
+
27
33
  @abstractmethod
28
34
  def create_message( # pylint: disable=too-many-arguments
29
35
  self,