flwr-nightly 1.7.0.dev20240129__tar.gz → 1.7.0.dev20240131__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/PKG-INFO +1 -1
  2. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/pyproject.toml +3 -3
  3. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/app.py +27 -15
  4. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/app.py +1 -1
  5. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_rere/fleet_servicer.py +7 -7
  6. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/ray_transport/utils.py +11 -10
  7. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/LICENSE +0 -0
  8. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/README.md +0 -0
  9. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/__init__.py +0 -0
  10. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/__init__.py +0 -0
  11. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/client.py +0 -0
  12. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/dpfedavg_numpy_client.py +0 -0
  13. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/flower.py +0 -0
  14. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/grpc_client/__init__.py +0 -0
  15. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/grpc_client/connection.py +0 -0
  16. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/grpc_rere_client/__init__.py +0 -0
  17. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/grpc_rere_client/connection.py +0 -0
  18. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/message_handler/__init__.py +0 -0
  19. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/message_handler/message_handler.py +0 -0
  20. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/message_handler/task_handler.py +0 -0
  21. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/middleware/__init__.py +0 -0
  22. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/middleware/utils.py +0 -0
  23. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/node_state.py +0 -0
  24. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/node_state_tests.py +0 -0
  25. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/numpy_client.py +0 -0
  26. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/rest_client/__init__.py +0 -0
  27. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/rest_client/connection.py +0 -0
  28. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/secure_aggregation/__init__.py +0 -0
  29. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/secure_aggregation/handler.py +0 -0
  30. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/secure_aggregation/secaggplus_handler.py +0 -0
  31. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/typing.py +0 -0
  32. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/__init__.py +0 -0
  33. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/address.py +0 -0
  34. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/configsrecord.py +0 -0
  35. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/constant.py +0 -0
  36. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/context.py +0 -0
  37. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/date.py +0 -0
  38. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/dp.py +0 -0
  39. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/grpc.py +0 -0
  40. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/logger.py +0 -0
  41. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/message.py +0 -0
  42. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/metricsrecord.py +0 -0
  43. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/parameter.py +0 -0
  44. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/parametersrecord.py +0 -0
  45. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/recordset.py +0 -0
  46. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/recordset_compat.py +0 -0
  47. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/retry_invoker.py +0 -0
  48. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/__init__.py +0 -0
  49. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
  50. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
  51. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
  52. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
  53. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/quantization.py +0 -0
  54. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
  55. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
  56. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/serde.py +0 -0
  57. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/telemetry.py +0 -0
  58. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/typing.py +0 -0
  59. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/version.py +0 -0
  60. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/__init__.py +0 -0
  61. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/app.py +0 -0
  62. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/driver.py +0 -0
  63. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/driver_client_proxy.py +0 -0
  64. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/grpc_driver.py +0 -0
  65. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/flower/__init__.py +0 -0
  66. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/__init__.py +0 -0
  67. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2.py +0 -0
  68. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2.pyi +0 -0
  69. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2_grpc.py +0 -0
  70. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2_grpc.pyi +0 -0
  71. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2.py +0 -0
  72. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2.pyi +0 -0
  73. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2_grpc.py +0 -0
  74. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
  75. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2.py +0 -0
  76. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2.pyi +0 -0
  77. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2_grpc.py +0 -0
  78. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2_grpc.pyi +0 -0
  79. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2.py +0 -0
  80. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2.pyi +0 -0
  81. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2_grpc.py +0 -0
  82. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2_grpc.pyi +0 -0
  83. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2.py +0 -0
  84. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2.pyi +0 -0
  85. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2_grpc.py +0 -0
  86. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2_grpc.pyi +0 -0
  87. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2.py +0 -0
  88. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2.pyi +0 -0
  89. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2_grpc.py +0 -0
  90. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
  91. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/py.typed +0 -0
  92. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/__init__.py +0 -0
  93. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/client_manager.py +0 -0
  94. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/client_proxy.py +0 -0
  95. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/criterion.py +0 -0
  96. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/driver/__init__.py +0 -0
  97. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/driver/driver_servicer.py +0 -0
  98. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/__init__.py +0 -0
  99. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/__init__.py +0 -0
  100. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/flower_service_servicer.py +0 -0
  101. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/grpc_bridge.py +0 -0
  102. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
  103. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/grpc_server.py +0 -0
  104. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_rere/__init__.py +0 -0
  105. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/message_handler/__init__.py +0 -0
  106. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/message_handler/message_handler.py +0 -0
  107. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/rest_rere/__init__.py +0 -0
  108. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/rest_rere/rest_api.py +0 -0
  109. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/history.py +0 -0
  110. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/server.py +0 -0
  111. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/__init__.py +0 -0
  112. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/in_memory_state.py +0 -0
  113. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/sqlite_state.py +0 -0
  114. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/state.py +0 -0
  115. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/state_factory.py +0 -0
  116. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/__init__.py +0 -0
  117. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/aggregate.py +0 -0
  118. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/bulyan.py +0 -0
  119. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
  120. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
  121. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
  122. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedadagrad.py +0 -0
  123. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedadam.py +0 -0
  124. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedavg.py +0 -0
  125. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedavg_android.py +0 -0
  126. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedavgm.py +0 -0
  127. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedmedian.py +0 -0
  128. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedopt.py +0 -0
  129. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedprox.py +0 -0
  130. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
  131. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
  132. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
  133. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
  134. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedyogi.py +0 -0
  135. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/krum.py +0 -0
  136. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/qfedavg.py +0 -0
  137. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/strategy.py +0 -0
  138. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/utils/__init__.py +0 -0
  139. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/utils/tensorboard.py +0 -0
  140. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/utils/validator.py +0 -0
  141. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/__init__.py +0 -0
  142. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/app.py +0 -0
  143. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/ray_transport/__init__.py +0 -0
  144. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
  145. {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.7.0.dev20240129
3
+ Version: 1.7.0.dev20240131
4
4
  Summary: Flower: A Friendly Federated Learning Framework
5
5
  Home-page: https://flower.dev
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.7.0-dev20240129"
7
+ version = "1.7.0-dev20240131"
8
8
  description = "Flower: A Friendly Federated Learning Framework"
9
9
  license = "Apache-2.0"
10
10
  authors = ["The Flower Authors <hello@flower.dev>"]
@@ -82,7 +82,7 @@ rest = ["requests", "starlette", "uvicorn"]
82
82
  types-dataclasses = "==0.6.6"
83
83
  types-protobuf = "==3.19.18"
84
84
  types-requests = "==2.31.0.20240125"
85
- types-setuptools = "==69.0.0.20240115"
85
+ types-setuptools = "==69.0.0.20240125"
86
86
  clang-format = "==17.0.4"
87
87
  isort = "==5.13.2"
88
88
  black = { version = "==23.10.1", extras = ["jupyter"] }
@@ -95,7 +95,7 @@ pytest-cov = "==4.1.0"
95
95
  pytest-watch = "==4.2.0"
96
96
  grpcio-tools = "==1.60.0"
97
97
  mypy-protobuf = "==3.2.0"
98
- jupyterlab = "==4.0.9"
98
+ jupyterlab = "==4.0.12"
99
99
  rope = "==1.11.0"
100
100
  semver = "==3.0.2"
101
101
  sphinx = "==6.2.1"
@@ -34,7 +34,7 @@ from flwr.common.constant import (
34
34
  TRANSPORT_TYPE_REST,
35
35
  TRANSPORT_TYPES,
36
36
  )
37
- from flwr.common.logger import log, warn_experimental_feature
37
+ from flwr.common.logger import log, warn_deprecated_feature, warn_experimental_feature
38
38
  from flwr.common.message import Message
39
39
 
40
40
  from .flower import load_flower_callable
@@ -88,7 +88,7 @@ def run_client() -> None:
88
88
  _start_client_internal(
89
89
  server_address=args.server,
90
90
  load_flower_callable_fn=_load,
91
- transport="grpc-rere", # Only
91
+ transport="rest" if args.rest else "grpc-rere",
92
92
  root_certificates=root_certificates,
93
93
  insecure=args.insecure,
94
94
  )
@@ -111,6 +111,11 @@ def _parse_args_client() -> argparse.ArgumentParser:
111
111
  help="Run the client without HTTPS. By default, the client runs with "
112
112
  "HTTPS enabled. Use this flag only if you understand the risks.",
113
113
  )
114
+ parser.add_argument(
115
+ "--rest",
116
+ action="store_true",
117
+ help="Use REST as a transport layer for the client.",
118
+ )
114
119
  parser.add_argument(
115
120
  "--root-certificates",
116
121
  metavar="ROOT_CERT",
@@ -399,6 +404,12 @@ def start_numpy_client(
399
404
  ) -> None:
400
405
  """Start a Flower NumPyClient which connects to a gRPC server.
401
406
 
407
+ Warning
408
+ -------
409
+ This function is deprecated since 1.7.0. Use :code:`flwr.client.start_client`
410
+ instead and first convert your :code:`NumPyClient` to type
411
+ :code:`flwr.client.Client` by executing its :code:`to_client()` method.
412
+
402
413
  Parameters
403
414
  ----------
404
415
  server_address : str
@@ -454,21 +465,22 @@ def start_numpy_client(
454
465
  >>> root_certificates=Path("/crts/root.pem").read_bytes(),
455
466
  >>> )
456
467
  """
457
- # warnings.warn(
458
- # "flwr.client.start_numpy_client() is deprecated and will "
459
- # "be removed in a future version of Flower. Instead, pass "
460
- # "your client to `flwr.client.start_client()` by calling "
461
- # "first the `.to_client()` method as shown below: \n"
462
- # "\tflwr.client.start_client(\n"
463
- # "\t\tserver_address='<IP>:<PORT>',\n"
464
- # "\t\tclient=FlowerClient().to_client()\n"
465
- # "\t)",
466
- # DeprecationWarning,
467
- # stacklevel=2,
468
- # )
468
+ mssg = (
469
+ "flwr.client.start_numpy_client() is deprecated. \n\tInstead, use "
470
+ "`flwr.client.start_client()` by ensuring you first call "
471
+ "the `.to_client()` method as shown below: \n"
472
+ "\tflwr.client.start_client(\n"
473
+ "\t\tserver_address='<IP>:<PORT>',\n"
474
+ "\t\tclient=FlowerClient().to_client(),"
475
+ " # <-- where FlowerClient is of type flwr.client.NumPyClient object\n"
476
+ "\t)\n"
477
+ "\tUsing `start_numpy_client()` is deprecated."
478
+ )
479
+
480
+ warn_deprecated_feature(name=mssg)
469
481
 
470
482
  # Calling this function is deprecated. A warning is thrown.
471
- # We first need to convert either the supplied client to `Client.`
483
+ # We first need to convert the supplied client to `Client.`
472
484
 
473
485
  wrp_client = client.to_client()
474
486
 
@@ -532,7 +532,7 @@ def _run_fleet_api_grpc_rere(
532
532
  """Run Fleet API (gRPC, request-response)."""
533
533
  # Create Fleet API gRPC server
534
534
  fleet_servicer = FleetServicer(
535
- state=state_factory.state(),
535
+ state_factory=state_factory,
536
536
  )
537
537
  fleet_add_servicer_to_server_fn = add_FleetServicer_to_server
538
538
  fleet_grpc_server = generic_create_grpc_server(
@@ -32,14 +32,14 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
32
32
  PushTaskResResponse,
33
33
  )
34
34
  from flwr.server.fleet.message_handler import message_handler
35
- from flwr.server.state import State
35
+ from flwr.server.state import StateFactory
36
36
 
37
37
 
38
38
  class FleetServicer(fleet_pb2_grpc.FleetServicer):
39
39
  """Fleet API servicer."""
40
40
 
41
- def __init__(self, state: State) -> None:
42
- self.state = state
41
+ def __init__(self, state_factory: StateFactory) -> None:
42
+ self.state_factory = state_factory
43
43
 
44
44
  def CreateNode(
45
45
  self, request: CreateNodeRequest, context: grpc.ServicerContext
@@ -48,7 +48,7 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
48
48
  log(INFO, "FleetServicer.CreateNode")
49
49
  return message_handler.create_node(
50
50
  request=request,
51
- state=self.state,
51
+ state=self.state_factory.state(),
52
52
  )
53
53
 
54
54
  def DeleteNode(
@@ -58,7 +58,7 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
58
58
  log(INFO, "FleetServicer.DeleteNode")
59
59
  return message_handler.delete_node(
60
60
  request=request,
61
- state=self.state,
61
+ state=self.state_factory.state(),
62
62
  )
63
63
 
64
64
  def PullTaskIns(
@@ -68,7 +68,7 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
68
68
  log(INFO, "FleetServicer.PullTaskIns")
69
69
  return message_handler.pull_task_ins(
70
70
  request=request,
71
- state=self.state,
71
+ state=self.state_factory.state(),
72
72
  )
73
73
 
74
74
  def PushTaskRes(
@@ -78,5 +78,5 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
78
78
  log(INFO, "FleetServicer.PushTaskRes")
79
79
  return message_handler.push_task_res(
80
80
  request=request,
81
- state=self.state,
81
+ state=self.state_factory.state(),
82
82
  )
@@ -15,6 +15,7 @@
15
15
  """Utilities for Actors in the Virtual Client Engine."""
16
16
 
17
17
  import traceback
18
+ import warnings
18
19
  from logging import ERROR
19
20
 
20
21
  from flwr.client import Client
@@ -26,7 +27,7 @@ except ModuleNotFoundError:
26
27
  TF = None
27
28
 
28
29
  # Display Deprecation warning once
29
- # warnings.filterwarnings("once", category=DeprecationWarning)
30
+ warnings.filterwarnings("once", category=DeprecationWarning)
30
31
 
31
32
 
32
33
  def enable_tf_gpu_growth() -> None:
@@ -69,15 +70,15 @@ def check_clientfn_returns_client(client: Client) -> Client:
69
70
  the client internally to `Client` by calling `.to_client()`.
70
71
  """
71
72
  if not isinstance(client, Client):
72
- # mssg = (
73
- # " Ensure your client is of type `Client`. Please convert it"
74
- # " using the `.to_client()` method before returning it"
75
- # " in the `client_fn` you pass to `start_simulation`."
76
- # " We have applied this conversion on your behalf."
77
- # " Not returning a `Client` might trigger an error in future"
78
- # " versions of Flower."
79
- # )
73
+ mssg = (
74
+ " Ensure your client is of type `flwr.client.Client`. Please convert it"
75
+ " using the `.to_client()` method before returning it"
76
+ " in the `client_fn` you pass to `start_simulation`."
77
+ " We have applied this conversion on your behalf."
78
+ " Not returning a `Client` might trigger an error in future"
79
+ " versions of Flower."
80
+ )
80
81
 
81
- # warnings.warn(mssg, DeprecationWarning, stacklevel=2)
82
+ warnings.warn(mssg, DeprecationWarning, stacklevel=2)
82
83
  client = client.to_client()
83
84
  return client