flwr-nightly 1.9.0.dev20240422__tar.gz → 1.9.0.dev20240423__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 (214) hide show
  1. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/PKG-INFO +1 -1
  2. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/pyproject.toml +1 -1
  3. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/new.py +1 -0
  4. flwr_nightly-1.9.0.dev20240423/src/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +94 -0
  5. flwr_nightly-1.9.0.dev20240423/src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +17 -0
  6. flwr_nightly-1.9.0.dev20240423/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +24 -0
  7. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/LICENSE +0 -0
  8. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/README.md +0 -0
  9. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/__init__.py +0 -0
  10. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/__init__.py +0 -0
  11. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/app.py +0 -0
  12. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/config_utils.py +0 -0
  13. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/example.py +0 -0
  14. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/__init__.py +0 -0
  15. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/__init__.py +0 -0
  16. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
  17. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
  18. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/__init__.py +0 -0
  19. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
  20. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
  21. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
  22. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
  23. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
  24. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
  25. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
  26. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
  27. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
  28. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
  29. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
  30. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
  31. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/run/__init__.py +0 -0
  32. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/run/run.py +0 -0
  33. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/cli/utils.py +0 -0
  34. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/__init__.py +0 -0
  35. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/app.py +0 -0
  36. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/client.py +0 -0
  37. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/client_app.py +0 -0
  38. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/dpfedavg_numpy_client.py +0 -0
  39. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/grpc_client/__init__.py +0 -0
  40. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/grpc_client/connection.py +0 -0
  41. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/grpc_rere_client/__init__.py +0 -0
  42. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/grpc_rere_client/connection.py +0 -0
  43. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/heartbeat.py +0 -0
  44. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/message_handler/__init__.py +0 -0
  45. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/message_handler/message_handler.py +0 -0
  46. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/message_handler/task_handler.py +0 -0
  47. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/mod/__init__.py +0 -0
  48. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/mod/centraldp_mods.py +0 -0
  49. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/mod/comms_mods.py +0 -0
  50. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/mod/localdp_mod.py +0 -0
  51. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
  52. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
  53. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
  54. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/mod/utils.py +0 -0
  55. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/node_state.py +0 -0
  56. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/node_state_tests.py +0 -0
  57. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/numpy_client.py +0 -0
  58. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/rest_client/__init__.py +0 -0
  59. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/rest_client/connection.py +0 -0
  60. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/supernode/__init__.py +0 -0
  61. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/supernode/app.py +0 -0
  62. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/client/typing.py +0 -0
  63. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/__init__.py +0 -0
  64. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/address.py +0 -0
  65. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/constant.py +0 -0
  66. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/context.py +0 -0
  67. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/date.py +0 -0
  68. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/differential_privacy.py +0 -0
  69. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/differential_privacy_constants.py +0 -0
  70. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/dp.py +0 -0
  71. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/exit_handlers.py +0 -0
  72. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/grpc.py +0 -0
  73. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/logger.py +0 -0
  74. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/message.py +0 -0
  75. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/object_ref.py +0 -0
  76. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/parameter.py +0 -0
  77. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/pyproject.py +0 -0
  78. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/record/__init__.py +0 -0
  79. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/record/configsrecord.py +0 -0
  80. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/record/conversion_utils.py +0 -0
  81. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/record/metricsrecord.py +0 -0
  82. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/record/parametersrecord.py +0 -0
  83. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/record/recordset.py +0 -0
  84. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/record/typeddict.py +0 -0
  85. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/recordset_compat.py +0 -0
  86. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/retry_invoker.py +0 -0
  87. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/secure_aggregation/__init__.py +0 -0
  88. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
  89. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
  90. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
  91. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
  92. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/secure_aggregation/quantization.py +0 -0
  93. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
  94. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
  95. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/serde.py +0 -0
  96. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/telemetry.py +0 -0
  97. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/typing.py +0 -0
  98. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/common/version.py +0 -0
  99. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/__init__.py +0 -0
  100. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/driver_pb2.py +0 -0
  101. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/driver_pb2.pyi +0 -0
  102. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/driver_pb2_grpc.py +0 -0
  103. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/driver_pb2_grpc.pyi +0 -0
  104. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/error_pb2.py +0 -0
  105. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/error_pb2.pyi +0 -0
  106. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/error_pb2_grpc.py +0 -0
  107. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/error_pb2_grpc.pyi +0 -0
  108. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/fleet_pb2.py +0 -0
  109. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/fleet_pb2.pyi +0 -0
  110. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/fleet_pb2_grpc.py +0 -0
  111. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
  112. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/node_pb2.py +0 -0
  113. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/node_pb2.pyi +0 -0
  114. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/node_pb2_grpc.py +0 -0
  115. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/node_pb2_grpc.pyi +0 -0
  116. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/recordset_pb2.py +0 -0
  117. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/recordset_pb2.pyi +0 -0
  118. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/recordset_pb2_grpc.py +0 -0
  119. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/recordset_pb2_grpc.pyi +0 -0
  120. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/task_pb2.py +0 -0
  121. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/task_pb2.pyi +0 -0
  122. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/task_pb2_grpc.py +0 -0
  123. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/task_pb2_grpc.pyi +0 -0
  124. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/transport_pb2.py +0 -0
  125. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/transport_pb2.pyi +0 -0
  126. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/transport_pb2_grpc.py +0 -0
  127. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
  128. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/py.typed +0 -0
  129. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/__init__.py +0 -0
  130. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/app.py +0 -0
  131. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/client_manager.py +0 -0
  132. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/client_proxy.py +0 -0
  133. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/compat/__init__.py +0 -0
  134. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/compat/app.py +0 -0
  135. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/compat/app_utils.py +0 -0
  136. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/compat/driver_client_proxy.py +0 -0
  137. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/compat/legacy_context.py +0 -0
  138. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/criterion.py +0 -0
  139. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/driver/__init__.py +0 -0
  140. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/driver/driver.py +0 -0
  141. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/driver/grpc_driver.py +0 -0
  142. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/history.py +0 -0
  143. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/run_serverapp.py +0 -0
  144. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/server.py +0 -0
  145. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/server_app.py +0 -0
  146. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/server_config.py +0 -0
  147. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/__init__.py +0 -0
  148. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/aggregate.py +0 -0
  149. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/bulyan.py +0 -0
  150. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
  151. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
  152. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
  153. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
  154. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
  155. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedadagrad.py +0 -0
  156. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedadam.py +0 -0
  157. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedavg.py +0 -0
  158. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedavg_android.py +0 -0
  159. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedavgm.py +0 -0
  160. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedmedian.py +0 -0
  161. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedopt.py +0 -0
  162. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedprox.py +0 -0
  163. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
  164. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
  165. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
  166. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
  167. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/fedyogi.py +0 -0
  168. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/krum.py +0 -0
  169. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/qfedavg.py +0 -0
  170. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/strategy/strategy.py +0 -0
  171. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/__init__.py +0 -0
  172. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/driver/__init__.py +0 -0
  173. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/driver/driver_grpc.py +0 -0
  174. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/driver/driver_servicer.py +0 -0
  175. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/__init__.py +0 -0
  176. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
  177. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
  178. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
  179. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
  180. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
  181. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
  182. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +0 -0
  183. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
  184. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
  185. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
  186. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +0 -0
  187. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
  188. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
  189. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
  190. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
  191. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
  192. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/state/__init__.py +0 -0
  193. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/state/in_memory_state.py +0 -0
  194. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/state/sqlite_state.py +0 -0
  195. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/state/state.py +0 -0
  196. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/state/state_factory.py +0 -0
  197. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/superlink/state/utils.py +0 -0
  198. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/typing.py +0 -0
  199. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/utils/__init__.py +0 -0
  200. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/utils/tensorboard.py +0 -0
  201. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/utils/validator.py +0 -0
  202. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/workflow/__init__.py +0 -0
  203. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/workflow/constant.py +0 -0
  204. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/workflow/default_workflows.py +0 -0
  205. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
  206. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
  207. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
  208. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/simulation/__init__.py +0 -0
  209. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/simulation/app.py +0 -0
  210. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/simulation/ray_transport/__init__.py +0 -0
  211. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
  212. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
  213. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/simulation/ray_transport/utils.py +0 -0
  214. {flwr_nightly-1.9.0.dev20240422 → flwr_nightly-1.9.0.dev20240423}/src/py/flwr/simulation/run_simulation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.9.0.dev20240422
3
+ Version: 1.9.0.dev20240423
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.9.0.dev20240422"
7
+ version = "1.9.0.dev20240423"
8
8
  description = "Flower: A Friendly Federated Learning Framework"
9
9
  license = "Apache-2.0"
10
10
  authors = ["The Flower Authors <hello@flower.ai>"]
@@ -36,6 +36,7 @@ class MlFramework(str, Enum):
36
36
  NUMPY = "NumPy"
37
37
  PYTORCH = "PyTorch"
38
38
  TENSORFLOW = "TensorFlow"
39
+ SKLEARN = "sklearn"
39
40
 
40
41
 
41
42
  class TemplateNotFound(Exception):
@@ -0,0 +1,94 @@
1
+ """$project_name: A Flower / Scikit-Learn app."""
2
+
3
+ import warnings
4
+
5
+ import numpy as np
6
+ from flwr.client import NumPyClient, ClientApp
7
+ from flwr_datasets import FederatedDataset
8
+ from sklearn.linear_model import LogisticRegression
9
+ from sklearn.metrics import log_loss
10
+
11
+
12
+ def get_model_parameters(model):
13
+ if model.fit_intercept:
14
+ params = [
15
+ model.coef_,
16
+ model.intercept_,
17
+ ]
18
+ else:
19
+ params = [model.coef_]
20
+ return params
21
+
22
+
23
+ def set_model_params(model, params):
24
+ model.coef_ = params[0]
25
+ if model.fit_intercept:
26
+ model.intercept_ = params[1]
27
+ return model
28
+
29
+
30
+ def set_initial_params(model):
31
+ n_classes = 10 # MNIST has 10 classes
32
+ n_features = 784 # Number of features in dataset
33
+ model.classes_ = np.array([i for i in range(10)])
34
+
35
+ model.coef_ = np.zeros((n_classes, n_features))
36
+ if model.fit_intercept:
37
+ model.intercept_ = np.zeros((n_classes,))
38
+
39
+
40
+ class FlowerClient(NumPyClient):
41
+ def __init__(self, model, X_train, X_test, y_train, y_test):
42
+ self.model = model
43
+ self.X_train = X_train
44
+ self.X_test = X_test
45
+ self.y_train = y_train
46
+ self.y_test = y_test
47
+
48
+ def get_parameters(self, config):
49
+ return get_model_parameters(self.model)
50
+
51
+ def fit(self, parameters, config):
52
+ set_model_params(self.model, parameters)
53
+
54
+ # Ignore convergence failure due to low local epochs
55
+ with warnings.catch_warnings():
56
+ warnings.simplefilter("ignore")
57
+ self.model.fit(self.X_train, self.y_train)
58
+
59
+ return get_model_parameters(self.model), len(self.X_train), {}
60
+
61
+ def evaluate(self, parameters, config):
62
+ set_model_params(self.model, parameters)
63
+
64
+ loss = log_loss(self.y_test, self.model.predict_proba(self.X_test))
65
+ accuracy = self.model.score(self.X_test, self.y_test)
66
+
67
+ return loss, len(self.X_test), {"accuracy": accuracy}
68
+
69
+ fds = FederatedDataset(dataset="mnist", partitioners={"train": 2})
70
+
71
+ def client_fn(cid: str):
72
+ dataset = fds.load_partition(int(cid), "train").with_format("numpy")
73
+
74
+ X, y = dataset["image"].reshape((len(dataset), -1)), dataset["label"]
75
+
76
+ # Split the on edge data: 80% train, 20% test
77
+ X_train, X_test = X[: int(0.8 * len(X))], X[int(0.8 * len(X)) :]
78
+ y_train, y_test = y[: int(0.8 * len(y))], y[int(0.8 * len(y)) :]
79
+
80
+ # Create LogisticRegression Model
81
+ model = LogisticRegression(
82
+ penalty="l2",
83
+ max_iter=1, # local epoch
84
+ warm_start=True, # prevent refreshing weights when fitting
85
+ )
86
+
87
+ # Setting initial parameters, akin to model.compile for keras models
88
+ set_initial_params(model)
89
+
90
+ return FlowerClient(model, X_train, X_test, y_train, y_test).to_client()
91
+
92
+
93
+ # Flower ClientApp
94
+ app = ClientApp(client_fn=client_fn)
@@ -0,0 +1,17 @@
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
+ )
@@ -0,0 +1,24 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "$project_name"
7
+ version = "1.0.0"
8
+ description = ""
9
+ authors = [
10
+ { name = "The Flower Authors", email = "hello@flower.ai" },
11
+ ]
12
+ license = {text = "Apache License (2.0)"}
13
+ dependencies = [
14
+ "flwr[simulation]>=1.8.0,<2.0",
15
+ "flwr-datasets[vision]>=0.0.2,<1.0.0",
16
+ "scikit-learn>=1.1.1",
17
+ ]
18
+
19
+ [tool.hatch.build.targets.wheel]
20
+ packages = ["."]
21
+
22
+ [flower.components]
23
+ serverapp = "$project_name.server:app"
24
+ clientapp = "$project_name.client:app"