flwr-nightly 1.9.0.dev20240520__py3-none-any.whl → 1.10.0.dev20240612__py3-none-any.whl

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 (53) hide show
  1. flwr/cli/app.py +2 -0
  2. flwr/cli/build.py +4 -19
  3. flwr/cli/config_utils.py +12 -27
  4. flwr/cli/install.py +196 -0
  5. flwr/cli/new/templates/app/pyproject.hf.toml.tpl +7 -1
  6. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
  7. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +7 -1
  8. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +7 -1
  9. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +7 -1
  10. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +7 -1
  11. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +7 -1
  12. flwr/cli/run/run.py +20 -4
  13. flwr/cli/utils.py +14 -0
  14. flwr/client/__init__.py +1 -0
  15. flwr/client/app.py +135 -97
  16. flwr/client/client_app.py +1 -1
  17. flwr/client/grpc_rere_client/client_interceptor.py +1 -1
  18. flwr/client/grpc_rere_client/connection.py +6 -6
  19. flwr/client/mod/__init__.py +1 -1
  20. flwr/client/rest_client/connection.py +1 -2
  21. flwr/client/supernode/app.py +70 -28
  22. flwr/common/object_ref.py +13 -9
  23. flwr/common/recordset_compat.py +8 -1
  24. flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -15
  25. flwr/proto/driver_pb2.py +20 -19
  26. flwr/proto/driver_pb2_grpc.py +35 -0
  27. flwr/proto/driver_pb2_grpc.pyi +14 -0
  28. flwr/proto/fleet_pb2.py +28 -33
  29. flwr/proto/fleet_pb2.pyi +0 -42
  30. flwr/proto/fleet_pb2_grpc.py +7 -6
  31. flwr/proto/fleet_pb2_grpc.pyi +5 -4
  32. flwr/proto/grpcadapter_pb2.py +32 -0
  33. flwr/proto/grpcadapter_pb2.pyi +43 -0
  34. flwr/proto/grpcadapter_pb2_grpc.py +66 -0
  35. flwr/proto/grpcadapter_pb2_grpc.pyi +24 -0
  36. flwr/proto/run_pb2.py +30 -0
  37. flwr/proto/run_pb2.pyi +52 -0
  38. flwr/proto/run_pb2_grpc.py +4 -0
  39. flwr/proto/run_pb2_grpc.pyi +4 -0
  40. flwr/server/__init__.py +0 -4
  41. flwr/server/app.py +190 -395
  42. flwr/server/run_serverapp.py +29 -5
  43. flwr/server/server_app.py +2 -2
  44. flwr/server/superlink/driver/driver_servicer.py +7 -0
  45. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +1 -2
  46. flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +1 -2
  47. flwr/server/superlink/fleet/message_handler/message_handler.py +5 -3
  48. flwr/server/superlink/fleet/rest_rere/rest_api.py +1 -1
  49. {flwr_nightly-1.9.0.dev20240520.dist-info → flwr_nightly-1.10.0.dev20240612.dist-info}/METADATA +4 -3
  50. {flwr_nightly-1.9.0.dev20240520.dist-info → flwr_nightly-1.10.0.dev20240612.dist-info}/RECORD +53 -44
  51. {flwr_nightly-1.9.0.dev20240520.dist-info → flwr_nightly-1.10.0.dev20240612.dist-info}/entry_points.txt +0 -2
  52. {flwr_nightly-1.9.0.dev20240520.dist-info → flwr_nightly-1.10.0.dev20240612.dist-info}/LICENSE +0 -0
  53. {flwr_nightly-1.9.0.dev20240520.dist-info → flwr_nightly-1.10.0.dev20240612.dist-info}/WHEEL +0 -0
@@ -22,12 +22,14 @@ from pathlib import Path
22
22
  from typing import Optional
23
23
 
24
24
  from flwr.common import Context, EventType, RecordSet, event
25
- from flwr.common.logger import log, update_console_handler
25
+ from flwr.common.logger import log, update_console_handler, warn_deprecated_feature
26
26
  from flwr.common.object_ref import load_app
27
27
 
28
28
  from .driver import Driver, GrpcDriver
29
29
  from .server_app import LoadServerAppError, ServerApp
30
30
 
31
+ ADDRESS_DRIVER_API = "0.0.0.0:9091"
32
+
31
33
 
32
34
  def run(
33
35
  driver: Driver,
@@ -76,6 +78,23 @@ def run_server_app() -> None:
76
78
 
77
79
  args = _parse_args_run_server_app().parse_args()
78
80
 
81
+ if args.server != ADDRESS_DRIVER_API:
82
+ warn = "Passing flag --server is deprecated. Use --superlink instead."
83
+ warn_deprecated_feature(warn)
84
+
85
+ if args.superlink != ADDRESS_DRIVER_API:
86
+ # if `--superlink` also passed, then
87
+ # warn user that this argument overrides what was passed with `--server`
88
+ log(
89
+ WARN,
90
+ "Both `--server` and `--superlink` were passed. "
91
+ "`--server` will be ignored. Connecting to the Superlink Driver API "
92
+ "at %s.",
93
+ args.superlink,
94
+ )
95
+ else:
96
+ args.superlink = args.server
97
+
79
98
  update_console_handler(
80
99
  level=DEBUG if args.verbose else INFO,
81
100
  timestamps=args.verbose,
@@ -95,7 +114,7 @@ def run_server_app() -> None:
95
114
  WARN,
96
115
  "Option `--insecure` was set. "
97
116
  "Starting insecure HTTP client connected to %s.",
98
- args.server,
117
+ args.superlink,
99
118
  )
100
119
  root_certificates = None
101
120
  else:
@@ -109,7 +128,7 @@ def run_server_app() -> None:
109
128
  DEBUG,
110
129
  "Starting secure HTTPS client connected to %s "
111
130
  "with the following certificates: %s.",
112
- args.server,
131
+ args.superlink,
113
132
  cert_path,
114
133
  )
115
134
 
@@ -130,7 +149,7 @@ def run_server_app() -> None:
130
149
 
131
150
  # Initialize GrpcDriver
132
151
  driver = GrpcDriver(
133
- driver_service_address=args.server,
152
+ driver_service_address=args.superlink,
134
153
  root_certificates=root_certificates,
135
154
  fab_id=args.fab_id,
136
155
  fab_version=args.fab_version,
@@ -175,9 +194,14 @@ def _parse_args_run_server_app() -> argparse.ArgumentParser:
175
194
  )
176
195
  parser.add_argument(
177
196
  "--server",
178
- default="0.0.0.0:9091",
197
+ default=ADDRESS_DRIVER_API,
179
198
  help="Server address",
180
199
  )
200
+ parser.add_argument(
201
+ "--superlink",
202
+ default=ADDRESS_DRIVER_API,
203
+ help="SuperLink Driver API (gRPC-rere) address (IPv4, IPv6, or a domain name)",
204
+ )
181
205
  parser.add_argument(
182
206
  "--dir",
183
207
  default="",
flwr/server/server_app.py CHANGED
@@ -39,7 +39,7 @@ class ServerApp:
39
39
  >>> server_config = ServerConfig(num_rounds=3)
40
40
  >>> strategy = FedAvg()
41
41
  >>>
42
- >>> app = ServerApp()
42
+ >>> app = ServerApp(
43
43
  >>> server_config=server_config,
44
44
  >>> strategy=strategy,
45
45
  >>> )
@@ -106,7 +106,7 @@ class ServerApp:
106
106
  >>> server_config = ServerConfig(num_rounds=3)
107
107
  >>> strategy = FedAvg()
108
108
  >>>
109
- >>> app = ServerApp()
109
+ >>> app = ServerApp(
110
110
  >>> server_config=server_config,
111
111
  >>> strategy=strategy,
112
112
  >>> )
@@ -35,6 +35,7 @@ from flwr.proto.driver_pb2 import ( # pylint: disable=E0611
35
35
  PushTaskInsResponse,
36
36
  )
37
37
  from flwr.proto.node_pb2 import Node # pylint: disable=E0611
38
+ from flwr.proto.run_pb2 import GetRunRequest, GetRunResponse # pylint: disable=E0611
38
39
  from flwr.proto.task_pb2 import TaskRes # pylint: disable=E0611
39
40
  from flwr.server.superlink.state import State, StateFactory
40
41
  from flwr.server.utils.validator import validate_task_ins_or_res
@@ -129,6 +130,12 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
129
130
  context.set_code(grpc.StatusCode.OK)
130
131
  return PullTaskResResponse(task_res_list=task_res_list)
131
132
 
133
+ def GetRun(
134
+ self, request: GetRunRequest, context: grpc.ServicerContext
135
+ ) -> GetRunResponse:
136
+ """Get run information."""
137
+ raise NotImplementedError
138
+
132
139
 
133
140
  def _raise_if(validation_error: bool, detail: str) -> None:
134
141
  if validation_error:
@@ -26,8 +26,6 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
26
26
  CreateNodeResponse,
27
27
  DeleteNodeRequest,
28
28
  DeleteNodeResponse,
29
- GetRunRequest,
30
- GetRunResponse,
31
29
  PingRequest,
32
30
  PingResponse,
33
31
  PullTaskInsRequest,
@@ -35,6 +33,7 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
35
33
  PushTaskResRequest,
36
34
  PushTaskResResponse,
37
35
  )
36
+ from flwr.proto.run_pb2 import GetRunRequest, GetRunResponse # pylint: disable=E0611
38
37
  from flwr.server.superlink.fleet.message_handler import message_handler
39
38
  from flwr.server.superlink.state import StateFactory
40
39
 
@@ -34,8 +34,6 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
34
34
  CreateNodeResponse,
35
35
  DeleteNodeRequest,
36
36
  DeleteNodeResponse,
37
- GetRunRequest,
38
- GetRunResponse,
39
37
  PingRequest,
40
38
  PingResponse,
41
39
  PullTaskInsRequest,
@@ -44,6 +42,7 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
44
42
  PushTaskResResponse,
45
43
  )
46
44
  from flwr.proto.node_pb2 import Node # pylint: disable=E0611
45
+ from flwr.proto.run_pb2 import GetRunRequest, GetRunResponse # pylint: disable=E0611
47
46
  from flwr.server.superlink.state import State
48
47
 
49
48
  _PUBLIC_KEY_HEADER = "public-key"
@@ -24,8 +24,6 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
24
24
  CreateNodeResponse,
25
25
  DeleteNodeRequest,
26
26
  DeleteNodeResponse,
27
- GetRunRequest,
28
- GetRunResponse,
29
27
  PingRequest,
30
28
  PingResponse,
31
29
  PullTaskInsRequest,
@@ -33,9 +31,13 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
33
31
  PushTaskResRequest,
34
32
  PushTaskResResponse,
35
33
  Reconnect,
36
- Run,
37
34
  )
38
35
  from flwr.proto.node_pb2 import Node # pylint: disable=E0611
36
+ from flwr.proto.run_pb2 import ( # pylint: disable=E0611
37
+ GetRunRequest,
38
+ GetRunResponse,
39
+ Run,
40
+ )
39
41
  from flwr.proto.task_pb2 import TaskIns, TaskRes # pylint: disable=E0611
40
42
  from flwr.server.superlink.state import State
41
43
 
@@ -21,11 +21,11 @@ from flwr.common.constant import MISSING_EXTRA_REST
21
21
  from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
22
22
  CreateNodeRequest,
23
23
  DeleteNodeRequest,
24
- GetRunRequest,
25
24
  PingRequest,
26
25
  PullTaskInsRequest,
27
26
  PushTaskResRequest,
28
27
  )
28
+ from flwr.proto.run_pb2 import GetRunRequest # pylint: disable=E0611
29
29
  from flwr.server.superlink.fleet.message_handler import message_handler
30
30
  from flwr.server.superlink.state import State
31
31
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.9.0.dev20240520
3
+ Version: 1.10.0.dev20240612
4
4
  Summary: Flower: A Friendly Federated Learning Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -39,7 +39,7 @@ Requires-Dist: numpy (>=1.21.0,<2.0.0)
39
39
  Requires-Dist: pathspec (>=0.12.1,<0.13.0)
40
40
  Requires-Dist: protobuf (>=4.25.2,<5.0.0)
41
41
  Requires-Dist: pycryptodome (>=3.18.0,<4.0.0)
42
- Requires-Dist: ray (==2.6.3) ; (python_version >= "3.8" and python_version < "3.12") and (extra == "simulation")
42
+ Requires-Dist: ray (==2.10.0) ; (python_version >= "3.8" and python_version < "3.12") and (extra == "simulation")
43
43
  Requires-Dist: requests (>=2.31.0,<3.0.0) ; extra == "rest"
44
44
  Requires-Dist: starlette (>=0.31.0,<0.32.0) ; extra == "rest"
45
45
  Requires-Dist: tomli (>=2.0.1,<3.0.0)
@@ -201,8 +201,9 @@ Other [examples](https://github.com/adap/flower/tree/main/examples):
201
201
  - Single-Machine Simulation of Federated Learning Systems ([PyTorch](https://github.com/adap/flower/tree/main/examples/simulation-pytorch)) ([Tensorflow](https://github.com/adap/flower/tree/main/examples/simulation-tensorflow))
202
202
  - [Comprehensive Flower+XGBoost](https://github.com/adap/flower/tree/main/examples/xgboost-comprehensive)
203
203
  - [Flower through Docker Compose and with Grafana dashboard](https://github.com/adap/flower/tree/main/examples/flower-via-docker-compose)
204
- - [Flower with KaplanMeierFitter from the lifelines library](https://github.com/adap/flower/tree/main/examples/federated-kaplna-meier-fitter)
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
+ - [Sample Level Privacy with TensorFlow-Privacy](https://github.com/adap/flower/tree/main/examples/tensorflow-privacy)
206
207
 
207
208
  ## Community
208
209
 
@@ -1,9 +1,10 @@
1
1
  flwr/__init__.py,sha256=VmBWedrCxqmt4QvUHBLqyVEH6p7zaFMD_oCHerXHSVw,937
2
2
  flwr/cli/__init__.py,sha256=cZJVgozlkC6Ni2Hd_FAIrqefrkCGOV18fikToq-6iLw,720
3
- flwr/cli/app.py,sha256=IFu7V_xdexF1T9sUsvgYWVFW5wEPHHcBWHJRPdlX38U,1141
4
- flwr/cli/build.py,sha256=W30wnPSgFuHRnGB9G_vKO14rsaibWk7m-jv9r8rDqo4,5106
5
- flwr/cli/config_utils.py,sha256=Hql5A5hbSpJ51hgpwaTkKqfPoaZN4Zq7FZfBuQYLMcQ,4899
3
+ flwr/cli/app.py,sha256=FvzW2iw3iagrTmgsk4zBLjLvGANRsBvIw11dWWs5-6g,1193
4
+ flwr/cli/build.py,sha256=HBlOLdUhWbD5Gu97r0WwISDLLOxl7-40RUyW4eVwbEo,4717
5
+ flwr/cli/config_utils.py,sha256=9-QnORHRMmY_n2YI1qnlHzjmKFxKvDz4uqF7eIsSwh4,4411
6
6
  flwr/cli/example.py,sha256=1bGDYll3BXQY2kRqSN-oICqS5n1b9m0g0RvXTopXHl4,2215
7
+ flwr/cli/install.py,sha256=amjRGefC3-0OpoSfzq9gcL-6DvBs8-60LkfwAZDvi9Q,6171
7
8
  flwr/cli/new/__init__.py,sha256=cQzK1WH4JP2awef1t2UQ2xjl1agVEz9rwutV18SWV1k,789
8
9
  flwr/cli/new/new.py,sha256=7BWziuEOE15MXX4xNLH-w0-x0ytOEfYn_AUrbaDp13Y,6223
9
10
  flwr/cli/new/templates/__init__.py,sha256=4luU8RL-CK8JJCstQ_ON809W9bNTkY1l9zSaPKBkgwY,725
@@ -31,31 +32,31 @@ flwr/cli/new/templates/app/code/task.jax.py.tpl,sha256=u4o3V019EH79szOw2xzVeC5r9
31
32
  flwr/cli/new/templates/app/code/task.mlx.py.tpl,sha256=y7aVj3F_98-wBnDcbPsCNnFs9BOHTn0y6XIYkByzv7Y,2598
32
33
  flwr/cli/new/templates/app/code/task.pytorch.py.tpl,sha256=NvajdZN-eTyfdqKK0v2MrvWITXw9BjJ3Ri5c1haPJDs,3684
33
34
  flwr/cli/new/templates/app/code/task.tensorflow.py.tpl,sha256=cPOUUS07QbblT9PGFucwu9lY1clRA4-W4DQGA7cpcao,1044
34
- flwr/cli/new/templates/app/pyproject.hf.toml.tpl,sha256=PNGBNTfWmNJ23aVnW5f1TMMJ0uEwIljevpOsI-mqX08,676
35
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=o34H5MvQeu4H2nRolbIas9G63mR7nDDL4rqQMlJW6LA,568
36
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=JCEsuHZffO1KKkN65rSp6N-A9-OW8-kl6EQp5Z2H3uE,585
37
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=m276SKsjOZ4awGdXasUKvLim66agrpAsPNP9-PN6q4I,523
38
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=QikP3u5ht6qr2BkgcnvB3rCYK7jt1cS0nAm7V8g_zFc,592
39
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=IO5iIlyKSBxZCCf48iqEyRWeG1jmVx2tO_s2iE7FpHo,572
40
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=CpjCOHyJ3zdIlkXQ1An6fEKN9l7rIStx43g4SsIwbkw,571
35
+ flwr/cli/new/templates/app/pyproject.hf.toml.tpl,sha256=O3-dgH8_knk9uM49IzX06CYC2Ev5xdPuITB40Phvewc,759
36
+ flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=QIhp6_eYYFk9aJd_n-tc_Ar76Se1OP6zSibTbGeHV7w,568
37
+ flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=OJ15G7CmjevBsUCVJ3ixv01VFwL4nkPcKkVGKeVW8ew,668
38
+ flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=VYHSqaZzUS8H4jy1Cr1Plyd2kuoNNWoGD3a8UzbOANI,606
39
+ flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=wxN6I8uvWZ4MErvTbQJTJOTbY4H_fsYCBXmZURJWLGQ,675
40
+ flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=wFeJuhqnBPQtKCBvnE3ySBpxmbeNdxcsq2Eb_RmSDIg,655
41
+ flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=zkxLTQRvujF76sIlzNNGPVU7Y9nVCwNBxAx82AOBaJY,654
41
42
  flwr/cli/run/__init__.py,sha256=oCd6HmQDx-sqver1gecgx-uMA38BLTSiiKpl7RGNceg,789
42
- flwr/cli/run/run.py,sha256=jr_J7Cbcyuj1MXIbuwU86htHdFI7XogsBrdGl7P4aYY,2334
43
- flwr/cli/utils.py,sha256=px-M-IlBLu6Ez-Sc9tWhsJRjWurRaZTmxB9ASz8wurk,4119
44
- flwr/client/__init__.py,sha256=CivBxRFjK6gXHN5kUUf9UaZQHa_NHlEM867WWB-H0D8,1268
45
- flwr/client/app.py,sha256=rzfaHiXxrtjwyhHrHb3epRD6NNw07YzL5DoZO6eW7RA,22313
43
+ flwr/cli/run/run.py,sha256=Oadt7JsJX549JG-2P1UPdF11vnblLWS8uGvuVx0modA,2687
44
+ flwr/cli/utils.py,sha256=l65Ul0YsSBPuypk0uorAtEDmLEYiUrzpCXi6zCg9mJ4,4506
45
+ flwr/client/__init__.py,sha256=tcgMyAW8brnmAIk4NmXkonVjYV3lafQJD4vfZ3OJ6kA,1279
46
+ flwr/client/app.py,sha256=QwSlJ7duRor1X7PRqet0rjVD64Nzsw7KKYwfc7vK50Q,23793
46
47
  flwr/client/client.py,sha256=Vp9UkOkoHdNfn6iMYZsj_5m_GICiFfUlKEVaLad-YhM,8183
47
- flwr/client/client_app.py,sha256=-Cs0084tLQUoBCeYZdG2KgU7cjp95_ZJ4MfjoaN4Fzk,8636
48
+ flwr/client/client_app.py,sha256=2jyVTzu8pwDtg66z4FjAa_kPzg31Q8-hx-RkDhguIqw,8635
48
49
  flwr/client/dpfedavg_numpy_client.py,sha256=9Tnig4iml2J88HBKNahegjXjbfvIQyBtaIQaqjbeqsA,7435
49
50
  flwr/client/grpc_client/__init__.py,sha256=LsnbqXiJhgQcB0XzAlUQgPx011Uf7Y7yabIC1HxivJ8,735
50
51
  flwr/client/grpc_client/connection.py,sha256=KWbBwuvn1-2wjrAKteydGCZC_7A2zmEjk3DycQWafrA,8993
51
52
  flwr/client/grpc_rere_client/__init__.py,sha256=avn6W_vHEM_yZEB1S7hCZgnTbXb6ZujqRP_vAzyXu-0,752
52
- flwr/client/grpc_rere_client/client_interceptor.py,sha256=rDBXRVo-d-rflxJ6Kw3eDfBmvChdUHkzRw5eP-bpe6Y,4903
53
- flwr/client/grpc_rere_client/connection.py,sha256=gSSJJ9pSe5SgUb1Ey-xcrVK6xArUkwq0yGdav0h2kww,9597
53
+ flwr/client/grpc_rere_client/client_interceptor.py,sha256=sYPEznuQPdy2BPDlvM9FK0ZRRucb4NfwUee1Z_mN82E,4954
54
+ flwr/client/grpc_rere_client/connection.py,sha256=rYRPUFphUUzNxGj2jVnflcspDiFSzsi-G0xmp5gVQpY,9696
54
55
  flwr/client/heartbeat.py,sha256=cx37mJBH8LyoIN4Lks85wtqT1mnU5GulQnr4pGCvAq0,2404
55
56
  flwr/client/message_handler/__init__.py,sha256=abHvBRJJiiaAMNgeILQbMOa6h8WqMK2BcnvxwQZFpic,719
56
57
  flwr/client/message_handler/message_handler.py,sha256=ml_FlduAJ5pxO31n1tKRrWfQRSxkMgKLbwXXcRsNSos,6553
57
58
  flwr/client/message_handler/task_handler.py,sha256=ZDJBKmrn2grRMNl1rU1iGs7FiMHL5VmZiSp_6h9GHVU,1824
58
- flwr/client/mod/__init__.py,sha256=apqhs7bslrGgQK91JR56mEcwj5JihL0NF_XKQwqaQuo,1143
59
+ flwr/client/mod/__init__.py,sha256=7ai56tcBxppD_Qn0koE7vmdo-WdU4TDTA0QDE5dhLKE,1159
59
60
  flwr/client/mod/centraldp_mods.py,sha256=UGwNuqpmOWfLdfJITFgdi1TG-nLjuSb-cbEyoyfDgxQ,5415
60
61
  flwr/client/mod/comms_mods.py,sha256=QzJF7lgbYGnZvY805rkBfDsYCRC0HBHeDkJQ_JXhUZY,2624
61
62
  flwr/client/mod/localdp_mod.py,sha256=SBDhW71vY6lEU_lQNOySLUWypkNwUwuHAtbBErOarpM,4982
@@ -67,9 +68,9 @@ flwr/client/node_state.py,sha256=KTTs_l4I0jBM7IsSsbAGjhfL_yZC3QANbzyvyfZBRDM,177
67
68
  flwr/client/node_state_tests.py,sha256=gPwz0zf2iuDSa11jedkur_u3Xm7lokIDG5ALD2MCvSw,2195
68
69
  flwr/client/numpy_client.py,sha256=u76GWAdHmJM88Agm2EgLQSvO8Jnk225mJTk-_TmPjFE,10283
69
70
  flwr/client/rest_client/__init__.py,sha256=ThwOnkMdzxo_UuyTI47Q7y9oSpuTgNT2OuFvJCfuDiw,735
70
- flwr/client/rest_client/connection.py,sha256=MspqM5RjrQe09_2BUEEVGstA5x9Qz_RWdXXraOic3i8,11520
71
+ flwr/client/rest_client/connection.py,sha256=GvDPX2BdPwhBQGH6LQE50AzUxQvC7bisWK1pk_OR7eE,11567
71
72
  flwr/client/supernode/__init__.py,sha256=SUhWOzcgXRNXk1V9UgB5-FaWukqqrOEajVUHEcPkwyQ,865
72
- flwr/client/supernode/app.py,sha256=6OWaD_4ZfguN6sukDfhbZzCgDmsSqHPlAmtcyU6TfJQ,9052
73
+ flwr/client/supernode/app.py,sha256=sc0VD8Il2UI1Lnh4tQwKSQMSsiS30WFrZtVMnz7WpWM,10873
73
74
  flwr/client/typing.py,sha256=c9EvjlEjasxn1Wqx6bGl6Xg6vM1gMFfmXht-E2i5J-k,1006
74
75
  flwr/common/__init__.py,sha256=dHOptgKxna78CEQLD5Yu0QIsoSgpIIw5AhIUZCHDWAU,3721
75
76
  flwr/common/address.py,sha256=iTAN9jtmIGMrWFnx9XZQl45ZEtQJVZZLYPRBSNVARGI,1882
@@ -83,7 +84,7 @@ flwr/common/exit_handlers.py,sha256=2Nt0wLhc17KQQsLPFSRAjjhUiEFfJK6tNozdGiIY4Fs,
83
84
  flwr/common/grpc.py,sha256=Yx_YFK24cU4U81RpXrdVwEVY_jTy4RE19cHtBxE2XOE,2460
84
85
  flwr/common/logger.py,sha256=bFu4eOychVwwYwaaCtxQ85dmx8gUtvwp6fRk-GefXHk,7107
85
86
  flwr/common/message.py,sha256=M7rwhmO9HgdGlHnNysLJMm_UJFBjqvQbXM0G-bLsi7o,13896
86
- flwr/common/object_ref.py,sha256=ELoUCAFO-vbjJC41CGpa-WBG2SLYe3ErW-d9YCG3zqA,4961
87
+ flwr/common/object_ref.py,sha256=KwqgUId6xalfedKcUZiLeRBfoT2J_i92k5FYGXKNkqA,5091
87
88
  flwr/common/parameter.py,sha256=-bFAUayToYDF50FZGrBC1hQYJCQDtB2bbr3ZuVLMtdE,2095
88
89
  flwr/common/pyproject.py,sha256=EI_ovbCHGmhYrdPx0RSDi5EkFZFof-8m1PA54c0ZTjc,1385
89
90
  flwr/common/record/__init__.py,sha256=33OaDW2bvaW952DFHH1amHclv4AuDZu385jXjHhXoog,1054
@@ -93,12 +94,12 @@ flwr/common/record/metricsrecord.py,sha256=Yv99oRa3LzFgSfwl903S8sB8rAgr3Sv6i6ovW
93
94
  flwr/common/record/parametersrecord.py,sha256=2sgjxsolFBUfnYYstIciOir0HAs95lqWY3pdcsYvsso,4838
94
95
  flwr/common/record/recordset.py,sha256=wOonAziLalABXzCHF5ih-QzXsKXZAKCls3HhMFJCWkY,5056
95
96
  flwr/common/record/typeddict.py,sha256=2NW8JF27p1uNWaqDbJ7bMkItA5x4ygYT8aHrf8NaqnE,3879
96
- flwr/common/recordset_compat.py,sha256=BjxeuvlCaP94yIiKOyFFTRBUH_lprFWSLo8U8q3BDbs,13798
97
+ flwr/common/recordset_compat.py,sha256=SYuJJmsfsWUP60nXREviyl78nOojKfMekALjzeZLsP8,14009
97
98
  flwr/common/retry_invoker.py,sha256=dQY5fPIKhy9OiFswZhLxA9fB455u-DYCvDVcFJmrPDk,11707
98
99
  flwr/common/secure_aggregation/__init__.py,sha256=29nHIUO2L8-KhNHQ2KmIgRo_4CPkq4LgLCUN0on5FgI,731
99
100
  flwr/common/secure_aggregation/crypto/__init__.py,sha256=dz7pVx2aPrHxr_AwgO5mIiTzu4PcvUxRq9NLBbFcsf8,738
100
101
  flwr/common/secure_aggregation/crypto/shamir.py,sha256=yY35ZgHlB4YyGW_buG-1X-0M-ejXuQzISgYLgC_Z9TY,2792
101
- flwr/common/secure_aggregation/crypto/symmetric_encryption.py,sha256=zlACMLahJEIqhcss0-1xz_iCXUGTlL2G-i9hi8spu-8,4707
102
+ flwr/common/secure_aggregation/crypto/symmetric_encryption.py,sha256=BP2qzZLz1FAdJt-E_7D--4yfyXsmfNqtvQG1XJfS4J0,4173
102
103
  flwr/common/secure_aggregation/ndarrays_arithmetic.py,sha256=66mNQCz64r7qzvXwFrXP6zz7YMi8EkTOABN7KulkKc4,3026
103
104
  flwr/common/secure_aggregation/quantization.py,sha256=appui7GGrkRPsupF59TkapeV4Na_CyPi73JtJ1pimdI,2310
104
105
  flwr/common/secure_aggregation/secaggplus_constants.py,sha256=Fh7-n6pgL4TUnHpNYXo8iW-n5cOGQgQa-c7RcU80tqQ,2183
@@ -108,18 +109,22 @@ flwr/common/telemetry.py,sha256=Q84hW6l6MCtD8sgQI4sUcp-N-zqAo607jyApeXC5RpM,7865
108
109
  flwr/common/typing.py,sha256=3Wu6Ol1Ja6Gb0WdlcXVEn1EHYJbc4oRRJA81vEegxBo,4382
109
110
  flwr/common/version.py,sha256=_RDSMGZPEuGKYViZuXPotDtXMvh4iyDH9XOCO4qtPO8,666
110
111
  flwr/proto/__init__.py,sha256=hbY7JYakwZwCkYgCNlmHdc8rtvfoJbAZLalMdc--CGc,683
111
- flwr/proto/driver_pb2.py,sha256=N5tU8YFOrWBPpNVWRfU6IpnpgNIQjVUQpO8rhFfryYE,3207
112
+ flwr/proto/driver_pb2.py,sha256=xqEN0UxFAUl1h_S_tP8SQShNYSJt_oSdb1npMn5KfL0,3394
112
113
  flwr/proto/driver_pb2.pyi,sha256=uTcjWrMsNojfSYrXaXyYmXaB4E8PL5drYs2MuMgN5R8,5016
113
- flwr/proto/driver_pb2_grpc.py,sha256=qQBRdQUz4k2K4DVO7kSfWHx-62UJ85HaYKnKCr6JcU8,7304
114
- flwr/proto/driver_pb2_grpc.pyi,sha256=NpOM5eCrIPcuWdYrZAayQSDvvFp6cDCVflabhmuvMfo,2022
114
+ flwr/proto/driver_pb2_grpc.py,sha256=lEaiX6MAHC-GzGSh0S6949jrYyBEB0ox6hWQgw1iOdQ,8887
115
+ flwr/proto/driver_pb2_grpc.pyi,sha256=__NCO_mAPMZt3_X_6CUIwWzOm7TmRfghoSs6syEsyAo,2425
115
116
  flwr/proto/error_pb2.py,sha256=LarjKL90LbwkXKlhzNrDssgl4DXcvIPve8NVCXHpsKA,1084
116
117
  flwr/proto/error_pb2.pyi,sha256=ZNH4HhJTU_KfMXlyCeg8FwU-fcUYxTqEmoJPtWtHikc,734
117
118
  flwr/proto/error_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
118
119
  flwr/proto/error_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
119
- flwr/proto/fleet_pb2.py,sha256=mKxwomayARq2nQanY3CtnA8ZWqW8NChWsoWeAyGJAOE,5018
120
- flwr/proto/fleet_pb2.pyi,sha256=yibeuFHsm0ygnJmuyI2V9XNvEt9CLT3dTNUOvAItezU,9161
121
- flwr/proto/fleet_pb2_grpc.py,sha256=TNt0ydDAXoe1YF2Pl6aNxlGueeOjn0dQ7fdgGx9wd7U,10605
122
- flwr/proto/fleet_pb2_grpc.pyi,sha256=6flR6x4gB0CZc4YK_MTGeA4zV8Tk_mCcXuxosfDsxGM,2811
120
+ flwr/proto/fleet_pb2.py,sha256=sASthuSb5R0v1NH2g6vRDC4BeJUFPAso8bjcihAflo0,4543
121
+ flwr/proto/fleet_pb2.pyi,sha256=45kQ9YINv3VG0nxWSjCN4SppdepjKW8rRBlxKxz7ud4,7571
122
+ flwr/proto/fleet_pb2_grpc.py,sha256=4eP1jkEVuckzSxo16yNaOBrHPzxHqQfj2MaNtPql4Wk,10655
123
+ flwr/proto/fleet_pb2_grpc.pyi,sha256=0OFEMk6rCOrPLcYb74hB0c5fh2dcPzc2opm3NTLCbDE,2829
124
+ flwr/proto/grpcadapter_pb2.py,sha256=bb8mW09XzNCpMdr1KuYQkefPFWR8lc8y1uL6Uk0TtsM,1843
125
+ flwr/proto/grpcadapter_pb2.pyi,sha256=AR77gDsF6f8zqSIQp3877DUd7S8lP95lFak5Ir_WPkw,1716
126
+ flwr/proto/grpcadapter_pb2_grpc.py,sha256=rRNuNES5nBugUZWfeA8oAy8dMHgzqU_PF1srTseo3b8,2634
127
+ flwr/proto/grpcadapter_pb2_grpc.pyi,sha256=AgA9Qo_lnANb9SNuPzbZGAxupau-xcqYawZz6vqf-24,735
123
128
  flwr/proto/node_pb2.py,sha256=1zfXEvgGObglIcaVb4SLFmOcHZvA8eHzEtMFM5A6FYY,1081
124
129
  flwr/proto/node_pb2.pyi,sha256=aX3BHhgXvJE1rvcRnEE_gB-5GcaFQ0SJ88yTE223bjI,751
125
130
  flwr/proto/node_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -128,6 +133,10 @@ flwr/proto/recordset_pb2.py,sha256=un8L0kvBcgFXQIiQweOseeIJBjlOozUvQY9uTQ42Dqo,6
128
133
  flwr/proto/recordset_pb2.pyi,sha256=NPzCJWAj1xLWzeZ_xZ6uaObQjQfWGnnqlLtn4J-SoFY,14161
129
134
  flwr/proto/recordset_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
130
135
  flwr/proto/recordset_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
136
+ flwr/proto/run_pb2.py,sha256=4URYh86fdnvlZKslj4vyqssLD9Ngq81LPauMmISn5wg,1470
137
+ flwr/proto/run_pb2.pyi,sha256=gskE1cHfre7n8FEMwSzG7BlFkcDH5JjSx2CrBT5__Dk,1815
138
+ flwr/proto/run_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
139
+ flwr/proto/run_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
131
140
  flwr/proto/task_pb2.py,sha256=6-HLTXleiG65fhlLZdvwEW30Bcgm46KO7E1NfLrl4NI,2472
132
141
  flwr/proto/task_pb2.pyi,sha256=KJVsLm-THY5QjHreHDm_-OS1tyZyD61mx6BzOpoeMjw,4320
133
142
  flwr/proto/task_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -137,8 +146,8 @@ flwr/proto/transport_pb2.pyi,sha256=CZvJRWTU3QWFWLXNFtyLSrSKFatIyMcy-ohzLbQ-G9c,
137
146
  flwr/proto/transport_pb2_grpc.py,sha256=vLN3EHtx2aEEMCO4f1Upu-l27BPzd3-5pV-u8wPcosk,2598
138
147
  flwr/proto/transport_pb2_grpc.pyi,sha256=AGXf8RiIiW2J5IKMlm_3qT3AzcDa4F3P5IqUjve_esA,766
139
148
  flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
- flwr/server/__init__.py,sha256=PWyHKu-_KFxGI7oFWSWwqMfTiG_phWECT80iv0saouA,1716
141
- flwr/server/app.py,sha256=95U1IO07ngLy2lkDTvsoI5XesXBN7mpcT1wNhPSgXTI,28913
149
+ flwr/server/__init__.py,sha256=qS6A16gywlLJSQWIaI41Fy_fWa5NzHi6iyrOfLf2vQc,1575
150
+ flwr/server/app.py,sha256=b89N5JW2bRL9T6yp8Lqoqgj4-Ey2h1PPH3hPzvIoxIY,22512
142
151
  flwr/server/client_manager.py,sha256=T8UDSRJBVD3fyIDI7NTAA-NA7GPrMNNgH2OAF54RRxE,6127
143
152
  flwr/server/client_proxy.py,sha256=4G-oTwhb45sfWLx2uZdcXD98IZwdTS6F88xe3akCdUg,2399
144
153
  flwr/server/compat/__init__.py,sha256=VxnJtJyOjNFQXMNi9hIuzNlZM5n0Hj1p3aq_Pm2udw4,892
@@ -152,9 +161,9 @@ flwr/server/driver/driver.py,sha256=t9SSSDlo9wT_y2Nl7waGYMTm2VlkvK3_bOb7ggPPlho,
152
161
  flwr/server/driver/grpc_driver.py,sha256=rdjkcAmtRWKeqJw4xDFqULuwVf0G2nLhfbOTrNUvPeY,11832
153
162
  flwr/server/driver/inmemory_driver.py,sha256=XfdLV3mVorTWBfthBkErJDLm8jXZ834IHF3139lTS5o,6490
154
163
  flwr/server/history.py,sha256=bBOHKyX1eQONIsUx4EUU-UnAk1i0EbEl8ioyMq_UWQ8,5063
155
- flwr/server/run_serverapp.py,sha256=avLi_yRNE5jD2ql95gzh04BTUbHvzH-N848_mdnnkVk,5972
164
+ flwr/server/run_serverapp.py,sha256=nKrA9Vhs3OKeY_T4-kFL-41Qhsp5dszW98yfycOCD6c,6887
156
165
  flwr/server/server.py,sha256=wsXsxMZ9SQ0B42nBnUlcV83NJPycgrgg5bFwcQ4BYBE,17821
157
- flwr/server/server_app.py,sha256=KgAT_HqsfseTLNnfX2ph42PBbVqQ0lFzvYrT90V34y0,4402
166
+ flwr/server/server_app.py,sha256=Re5Y9ftXlBRJXYHY_8TrNWsjyOUCPC5F_93H0xiZDhI,4400
158
167
  flwr/server/server_config.py,sha256=CZaHVAsMvGLjpWVcLPkiYxgJN4xfIyAiUrCI3fETKY4,1349
159
168
  flwr/server/strategy/__init__.py,sha256=7eVZ3hQEg2BgA_usAeL6tsLp9T6XI1VYYoFy08Xn-ew,2836
160
169
  flwr/server/strategy/aggregate.py,sha256=QyRIJtI5gnuY1NbgrcrOvkHxGIxBvApq7d9Y4xl-6W4,13468
@@ -183,7 +192,7 @@ flwr/server/strategy/strategy.py,sha256=g6VoIFogEviRub6G4QsKdIp6M_Ek6GhBhqcdNx5u
183
192
  flwr/server/superlink/__init__.py,sha256=8tHYCfodUlRD8PCP9fHgvu8cz5N31A2QoRVL0jDJ15E,707
184
193
  flwr/server/superlink/driver/__init__.py,sha256=STB1_DASVEg7Cu6L7VYxTzV7UMkgtBkFim09Z82Dh8I,712
185
194
  flwr/server/superlink/driver/driver_grpc.py,sha256=1qSGDs1k_OVPWxp2ofxvQgtYXExrMeC3N_rNPVWH65M,1932
186
- flwr/server/superlink/driver/driver_servicer.py,sha256=rWtdVLSluAJhURoLNYjsuUNJR67F5jcqTIpHwYeHIMA,4791
195
+ flwr/server/superlink/driver/driver_servicer.py,sha256=jzYbnuSCbRIFY3AM1NXii6zpKhrtJisWyFwo-sxmqrA,5056
187
196
  flwr/server/superlink/fleet/__init__.py,sha256=C6GCSD5eP5Of6_dIeSe1jx9HnV0icsvWyQ5EKAUHJRU,711
188
197
  flwr/server/superlink/fleet/grpc_bidi/__init__.py,sha256=mgGJGjwT6VU7ovC1gdnnqttjyBPlNIcZnYRqx4K3IBQ,735
189
198
  flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py,sha256=57b3UL5-baGdLwgCtB0dCUTTSbmmfMAXcXV5bjPZNWQ,5993
@@ -191,12 +200,12 @@ flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py,sha256=LSOmabFXAQxKycQOlipl
191
200
  flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=kuD7R1yB1Ite0sNfvjsrnZu83LWGk8fP-yihE1mjQm0,4887
192
201
  flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=_zWknjP7CRjwLDvofzmv1QoSI8Qq1cZC5nNw9nkSS7I,11932
193
202
  flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=bEJOMWbSlqkw-y5ZHtEXczhoSlAxErcRYffmTMQAV8M,758
194
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=YGn1IPpuX-6NDgaG1UbyREbI9iAyKDimZuNeWxbG6s0,3387
195
- flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=WvqY_NlUit5cUkv52Ipr_R5p0_KlbqyTtnBHugpb_sM,7691
203
+ flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=wuFaEAsuKfAYQKeXbB9Jg0SQaW9gmb_1k6pOPIlXrYY,3434
204
+ flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=v54f7yEX0Xwqh9KRDPzKgJdSBsosus4RzUyzTl-_u5Q,7738
196
205
  flwr/server/superlink/fleet/message_handler/__init__.py,sha256=hEY0l61ojH8Iz30_K1btm1HJ6J49iZJSFUsVYqUTw3A,731
197
- flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=lG3BkiONcikDVowK0An06V7p2SNkwGbWE5hfN2xlsZw,3622
206
+ flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=RAfQTcT0xkew0UO-CIB1ssN42MutdKwwfTvU8s-7boQ,3682
198
207
  flwr/server/superlink/fleet/rest_rere/__init__.py,sha256=VKDvDq5H8koOUztpmQacVzGJXPLEEkL1Vmolxt3mvnY,735
199
- flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=8gNziOjBA8ygTzfVPYiNkg_qxr-T822Q_Lbo9g2tVyk,7621
208
+ flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=Sm_pSxpeT1BdkSKou8YwreP7qSpMR5ENEsjwGW1h5VY,7672
200
209
  flwr/server/superlink/fleet/vce/__init__.py,sha256=36MHKiefnJeyjwMQzVUK4m06Ojon3WDcwZGQsAcyVhQ,783
201
210
  flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=oBIzmnrSSRvH_H0vRGEGWhWzQQwqe3zn6e13RsNwlIY,1466
202
211
  flwr/server/superlink/fleet/vce/backend/backend.py,sha256=LJsKl7oixVvptcG98Rd9ejJycNWcEVB0ODvSreLGp-A,2260
@@ -225,8 +234,8 @@ flwr/simulation/ray_transport/ray_actor.py,sha256=_wv2eP7qxkCZ-6rMyYWnjLrGPBZRxj
225
234
  flwr/simulation/ray_transport/ray_client_proxy.py,sha256=oDu4sEPIOu39vrNi-fqDAe10xtNUXMO49bM2RWfRcyw,6738
226
235
  flwr/simulation/ray_transport/utils.py,sha256=TYdtfg1P9VfTdLMOJlifInGpxWHYs9UfUqIv2wfkRLA,2392
227
236
  flwr/simulation/run_simulation.py,sha256=Jmc6DyN5UCY1U1PcDvL04NgYmEQ6ufJ1JisjG5yqfY8,15098
228
- flwr_nightly-1.9.0.dev20240520.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
229
- flwr_nightly-1.9.0.dev20240520.dist-info/METADATA,sha256=Muyx-nLQoSJM8cQNSoc_jOWiUu9imxgh7qt6OucH9pM,15397
230
- flwr_nightly-1.9.0.dev20240520.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
231
- flwr_nightly-1.9.0.dev20240520.dist-info/entry_points.txt,sha256=8JJPfpqMnXz9c5V_FSt07Xwd-wCWbAO3MFUDXQ5ZGsI,378
232
- flwr_nightly-1.9.0.dev20240520.dist-info/RECORD,,
237
+ flwr_nightly-1.10.0.dev20240612.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
238
+ flwr_nightly-1.10.0.dev20240612.dist-info/METADATA,sha256=y6cyp6G3w-a07uF7toQ9YHV4BYbtiUmy4zLYcYrrlP8,15518
239
+ flwr_nightly-1.10.0.dev20240612.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
240
+ flwr_nightly-1.10.0.dev20240612.dist-info/entry_points.txt,sha256=lnx02_kvueYDnkzBh0sdyjFxAVy0CqrIBJaDALiIXlc,290
241
+ flwr_nightly-1.10.0.dev20240612.dist-info/RECORD,,
@@ -1,7 +1,5 @@
1
1
  [console_scripts]
2
2
  flower-client-app=flwr.client:run_client_app
3
- flower-driver-api=flwr.server:run_driver_api
4
- flower-fleet-api=flwr.server:run_fleet_api
5
3
  flower-server-app=flwr.server:run_server_app
6
4
  flower-simulation=flwr.simulation.run_simulation:run_simulation_from_cli
7
5
  flower-superlink=flwr.server:run_superlink