flwr-nightly 1.13.0.dev20241101__py3-none-any.whl → 1.13.0.dev20241104__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 (35) hide show
  1. flwr/cli/config_utils.py +97 -0
  2. flwr/cli/log.py +19 -82
  3. flwr/cli/run/run.py +18 -83
  4. flwr/client/clientapp/app.py +1 -2
  5. flwr/common/constant.py +1 -1
  6. flwr/common/logger.py +3 -3
  7. flwr/common/telemetry.py +0 -6
  8. flwr/proto/serverappio_pb2.py +52 -0
  9. flwr/proto/{driver_pb2_grpc.py → serverappio_pb2_grpc.py} +56 -56
  10. flwr/proto/{driver_pb2_grpc.pyi → serverappio_pb2_grpc.pyi} +24 -24
  11. flwr/proto/simulationio_pb2.py +38 -0
  12. flwr/proto/simulationio_pb2.pyi +65 -0
  13. flwr/proto/simulationio_pb2_grpc.py +171 -0
  14. flwr/proto/simulationio_pb2_grpc.pyi +68 -0
  15. flwr/server/app.py +20 -20
  16. flwr/server/driver/driver.py +1 -1
  17. flwr/server/driver/grpc_driver.py +18 -18
  18. flwr/server/driver/inmemory_driver.py +1 -1
  19. flwr/server/run_serverapp.py +11 -11
  20. flwr/server/serverapp/app.py +4 -5
  21. flwr/server/strategy/fedadam.py +11 -1
  22. flwr/server/superlink/driver/__init__.py +1 -1
  23. flwr/server/superlink/driver/{driver_grpc.py → serverappio_grpc.py} +17 -14
  24. flwr/server/superlink/driver/{driver_servicer.py → serverappio_servicer.py} +29 -32
  25. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +2 -2
  26. flwr/server/superlink/linkstate/linkstate.py +3 -3
  27. flwr/server/superlink/linkstate/sqlite_linkstate.py +3 -3
  28. flwr/superexec/deployment.py +3 -3
  29. {flwr_nightly-1.13.0.dev20241101.dist-info → flwr_nightly-1.13.0.dev20241104.dist-info}/METADATA +1 -1
  30. {flwr_nightly-1.13.0.dev20241101.dist-info → flwr_nightly-1.13.0.dev20241104.dist-info}/RECORD +34 -30
  31. flwr/proto/driver_pb2.py +0 -52
  32. /flwr/proto/{driver_pb2.pyi → serverappio_pb2.pyi} +0 -0
  33. {flwr_nightly-1.13.0.dev20241101.dist-info → flwr_nightly-1.13.0.dev20241104.dist-info}/LICENSE +0 -0
  34. {flwr_nightly-1.13.0.dev20241101.dist-info → flwr_nightly-1.13.0.dev20241104.dist-info}/WHEEL +0 -0
  35. {flwr_nightly-1.13.0.dev20241101.dist-info → flwr_nightly-1.13.0.dev20241104.dist-info}/entry_points.txt +0 -0
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- """Driver gRPC API."""
15
+ """ServerAppIo gRPC API."""
16
16
 
17
17
  from logging import INFO
18
18
  from typing import Optional
@@ -21,37 +21,40 @@ import grpc
21
21
 
22
22
  from flwr.common import GRPC_MAX_MESSAGE_LENGTH
23
23
  from flwr.common.logger import log
24
- from flwr.proto.driver_pb2_grpc import ( # pylint: disable=E0611
25
- add_DriverServicer_to_server,
24
+ from flwr.proto.serverappio_pb2_grpc import ( # pylint: disable=E0611
25
+ add_ServerAppIoServicer_to_server,
26
26
  )
27
27
  from flwr.server.superlink.ffs.ffs_factory import FfsFactory
28
28
  from flwr.server.superlink.linkstate import LinkStateFactory
29
29
 
30
30
  from ..fleet.grpc_bidi.grpc_server import generic_create_grpc_server
31
- from .driver_servicer import DriverServicer
31
+ from .serverappio_servicer import ServerAppIoServicer
32
32
 
33
33
 
34
- def run_driver_api_grpc(
34
+ def run_serverappio_api_grpc(
35
35
  address: str,
36
36
  state_factory: LinkStateFactory,
37
37
  ffs_factory: FfsFactory,
38
38
  certificates: Optional[tuple[bytes, bytes, bytes]],
39
39
  ) -> grpc.Server:
40
- """Run Driver API (gRPC, request-response)."""
41
- # Create Driver API gRPC server
42
- driver_servicer: grpc.Server = DriverServicer(
40
+ """Run ServerAppIo API (gRPC, request-response)."""
41
+ # Create ServerAppIo API gRPC server
42
+ serverappio_servicer: grpc.Server = ServerAppIoServicer(
43
43
  state_factory=state_factory,
44
44
  ffs_factory=ffs_factory,
45
45
  )
46
- driver_add_servicer_to_server_fn = add_DriverServicer_to_server
47
- driver_grpc_server = generic_create_grpc_server(
48
- servicer_and_add_fn=(driver_servicer, driver_add_servicer_to_server_fn),
46
+ serverappio_add_servicer_to_server_fn = add_ServerAppIoServicer_to_server
47
+ serverappio_grpc_server = generic_create_grpc_server(
48
+ servicer_and_add_fn=(
49
+ serverappio_servicer,
50
+ serverappio_add_servicer_to_server_fn,
51
+ ),
49
52
  server_address=address,
50
53
  max_message_length=GRPC_MAX_MESSAGE_LENGTH,
51
54
  certificates=certificates,
52
55
  )
53
56
 
54
- log(INFO, "Flower ECE: Starting Driver API (gRPC-rere) on %s", address)
55
- driver_grpc_server.start()
57
+ log(INFO, "Flower ECE: Starting ServerAppIo API (gRPC-rere) on %s", address)
58
+ serverappio_grpc_server.start()
56
59
 
57
- return driver_grpc_server
60
+ return serverappio_grpc_server
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- """Driver API servicer."""
15
+ """ServerAppIo API servicer."""
16
16
 
17
17
 
18
18
  import threading
@@ -22,7 +22,6 @@ from typing import Optional
22
22
  from uuid import UUID
23
23
 
24
24
  import grpc
25
- from google.protobuf.message import Message as GrpcMessage
26
25
 
27
26
  from flwr.common.constant import Status
28
27
  from flwr.common.logger import log
@@ -36,19 +35,7 @@ from flwr.common.serde import (
36
35
  user_config_from_proto,
37
36
  )
38
37
  from flwr.common.typing import Fab, RunStatus
39
- from flwr.proto import driver_pb2_grpc # pylint: disable=E0611
40
- from flwr.proto.driver_pb2 import ( # pylint: disable=E0611
41
- GetNodesRequest,
42
- GetNodesResponse,
43
- PullServerAppInputsRequest,
44
- PullServerAppInputsResponse,
45
- PullTaskResRequest,
46
- PullTaskResResponse,
47
- PushServerAppOutputsRequest,
48
- PushServerAppOutputsResponse,
49
- PushTaskInsRequest,
50
- PushTaskInsResponse,
51
- )
38
+ from flwr.proto import serverappio_pb2_grpc # pylint: disable=E0611
52
39
  from flwr.proto.fab_pb2 import GetFabRequest, GetFabResponse # pylint: disable=E0611
53
40
  from flwr.proto.log_pb2 import ( # pylint: disable=E0611
54
41
  PushLogsRequest,
@@ -63,6 +50,18 @@ from flwr.proto.run_pb2 import ( # pylint: disable=E0611
63
50
  UpdateRunStatusRequest,
64
51
  UpdateRunStatusResponse,
65
52
  )
53
+ from flwr.proto.serverappio_pb2 import ( # pylint: disable=E0611
54
+ GetNodesRequest,
55
+ GetNodesResponse,
56
+ PullServerAppInputsRequest,
57
+ PullServerAppInputsResponse,
58
+ PullTaskResRequest,
59
+ PullTaskResResponse,
60
+ PushServerAppOutputsRequest,
61
+ PushServerAppOutputsResponse,
62
+ PushTaskInsRequest,
63
+ PushTaskInsResponse,
64
+ )
66
65
  from flwr.proto.task_pb2 import TaskRes # pylint: disable=E0611
67
66
  from flwr.server.superlink.ffs.ffs import Ffs
68
67
  from flwr.server.superlink.ffs.ffs_factory import FfsFactory
@@ -70,8 +69,8 @@ from flwr.server.superlink.linkstate import LinkState, LinkStateFactory
70
69
  from flwr.server.utils.validator import validate_task_ins_or_res
71
70
 
72
71
 
73
- class DriverServicer(driver_pb2_grpc.DriverServicer):
74
- """Driver API servicer."""
72
+ class ServerAppIoServicer(serverappio_pb2_grpc.ServerAppIoServicer):
73
+ """ServerAppIo API servicer."""
75
74
 
76
75
  def __init__(
77
76
  self, state_factory: LinkStateFactory, ffs_factory: FfsFactory
@@ -84,7 +83,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
84
83
  self, request: GetNodesRequest, context: grpc.ServicerContext
85
84
  ) -> GetNodesResponse:
86
85
  """Get available nodes."""
87
- log(DEBUG, "DriverServicer.GetNodes")
86
+ log(DEBUG, "ServerAppIoServicer.GetNodes")
88
87
  state: LinkState = self.state_factory.state()
89
88
  all_ids: set[int] = state.get_nodes(request.run_id)
90
89
  nodes: list[Node] = [
@@ -96,7 +95,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
96
95
  self, request: CreateRunRequest, context: grpc.ServicerContext
97
96
  ) -> CreateRunResponse:
98
97
  """Create run ID."""
99
- log(DEBUG, "DriverServicer.CreateRun")
98
+ log(DEBUG, "ServerAppIoServicer.CreateRun")
100
99
  state: LinkState = self.state_factory.state()
101
100
  if request.HasField("fab"):
102
101
  fab = fab_from_proto(request.fab)
@@ -120,7 +119,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
120
119
  self, request: PushTaskInsRequest, context: grpc.ServicerContext
121
120
  ) -> PushTaskInsResponse:
122
121
  """Push a set of TaskIns."""
123
- log(DEBUG, "DriverServicer.PushTaskIns")
122
+ log(DEBUG, "ServerAppIoServicer.PushTaskIns")
124
123
 
125
124
  # Set pushed_at (timestamp in seconds)
126
125
  pushed_at = time.time()
@@ -150,7 +149,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
150
149
  self, request: PullTaskResRequest, context: grpc.ServicerContext
151
150
  ) -> PullTaskResResponse:
152
151
  """Pull a set of TaskRes."""
153
- log(DEBUG, "DriverServicer.PullTaskRes")
152
+ log(DEBUG, "ServerAppIoServicer.PullTaskRes")
154
153
 
155
154
  # Convert each task_id str to UUID
156
155
  task_ids: set[UUID] = {UUID(task_id) for task_id in request.task_ids}
@@ -160,7 +159,10 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
160
159
 
161
160
  # Register callback
162
161
  def on_rpc_done() -> None:
163
- log(DEBUG, "DriverServicer.PullTaskRes callback: delete TaskIns/TaskRes")
162
+ log(
163
+ DEBUG,
164
+ "ServerAppIoServicer.PullTaskRes callback: delete TaskIns/TaskRes",
165
+ )
164
166
 
165
167
  if context.is_active():
166
168
  return
@@ -182,7 +184,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
182
184
  self, request: GetRunRequest, context: grpc.ServicerContext
183
185
  ) -> GetRunResponse:
184
186
  """Get run information."""
185
- log(DEBUG, "DriverServicer.GetRun")
187
+ log(DEBUG, "ServerAppIoServicer.GetRun")
186
188
 
187
189
  # Init state
188
190
  state: LinkState = self.state_factory.state()
@@ -199,7 +201,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
199
201
  self, request: GetFabRequest, context: grpc.ServicerContext
200
202
  ) -> GetFabResponse:
201
203
  """Get FAB from Ffs."""
202
- log(DEBUG, "DriverServicer.GetFab")
204
+ log(DEBUG, "ServerAppIoServicer.GetFab")
203
205
 
204
206
  ffs: Ffs = self.ffs_factory.ffs()
205
207
  if result := ffs.get(request.hash_str):
@@ -212,7 +214,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
212
214
  self, request: PullServerAppInputsRequest, context: grpc.ServicerContext
213
215
  ) -> PullServerAppInputsResponse:
214
216
  """Pull ServerApp process inputs."""
215
- log(DEBUG, "DriverServicer.PullServerAppInputs")
217
+ log(DEBUG, "ServerAppIoServicer.PullServerAppInputs")
216
218
  # Init access to LinkState and Ffs
217
219
  state = self.state_factory.state()
218
220
  ffs = self.ffs_factory.ffs()
@@ -250,7 +252,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
250
252
  self, request: PushServerAppOutputsRequest, context: grpc.ServicerContext
251
253
  ) -> PushServerAppOutputsResponse:
252
254
  """Push ServerApp process outputs."""
253
- log(DEBUG, "DriverServicer.PushServerAppOutputs")
255
+ log(DEBUG, "ServerAppIoServicer.PushServerAppOutputs")
254
256
  state = self.state_factory.state()
255
257
  state.set_serverapp_context(request.run_id, context_from_proto(request.context))
256
258
  return PushServerAppOutputsResponse()
@@ -272,7 +274,7 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
272
274
  self, request: PushLogsRequest, context: grpc.ServicerContext
273
275
  ) -> PushLogsResponse:
274
276
  """Push logs."""
275
- log(DEBUG, "DriverServicer.PushLogs")
277
+ log(DEBUG, "ServerAppIoServicer.PushLogs")
276
278
  state = self.state_factory.state()
277
279
 
278
280
  # Add logs to LinkState
@@ -284,8 +286,3 @@ class DriverServicer(driver_pb2_grpc.DriverServicer):
284
286
  def _raise_if(validation_error: bool, detail: str) -> None:
285
287
  if validation_error:
286
288
  raise ValueError(f"Malformed PushTaskInsRequest: {detail}")
287
-
288
-
289
- def _has_field(message: GrpcMessage, field_name: str) -> bool:
290
- """Check if a certain field is set for the message, including scalar fields."""
291
- return field_name in {fld.name for fld, _ in message.ListFields()}
@@ -30,7 +30,7 @@ from flwr.proto.transport_pb2_grpc import ( # pylint: disable=E0611
30
30
  add_FlowerServiceServicer_to_server,
31
31
  )
32
32
  from flwr.server.client_manager import ClientManager
33
- from flwr.server.superlink.driver.driver_servicer import DriverServicer
33
+ from flwr.server.superlink.driver.serverappio_servicer import ServerAppIoServicer
34
34
  from flwr.server.superlink.fleet.grpc_adapter.grpc_adapter_servicer import (
35
35
  GrpcAdapterServicer,
36
36
  )
@@ -161,7 +161,7 @@ def generic_create_grpc_server( # pylint: disable=too-many-arguments,R0917
161
161
  tuple[FleetServicer, AddServicerToServerFn],
162
162
  tuple[GrpcAdapterServicer, AddServicerToServerFn],
163
163
  tuple[FlowerServiceServicer, AddServicerToServerFn],
164
- tuple[DriverServicer, AddServicerToServerFn],
164
+ tuple[ServerAppIoServicer, AddServicerToServerFn],
165
165
  ],
166
166
  server_address: str,
167
167
  max_concurrent_workers: int = 1000,
@@ -31,7 +31,7 @@ class LinkState(abc.ABC): # pylint: disable=R0904
31
31
  def store_task_ins(self, task_ins: TaskIns) -> Optional[UUID]:
32
32
  """Store one TaskIns.
33
33
 
34
- Usually, the Driver API calls this to schedule instructions.
34
+ Usually, the ServerAppIo API calls this to schedule instructions.
35
35
 
36
36
  Stores the value of the `task_ins` in the link state and, if successful,
37
37
  returns the `task_id` (UUID) of the `task_ins`. If, for any reason,
@@ -102,8 +102,8 @@ class LinkState(abc.ABC): # pylint: disable=R0904
102
102
  def get_task_res(self, task_ids: set[UUID]) -> list[TaskRes]:
103
103
  """Get TaskRes for task_ids.
104
104
 
105
- Usually, the Driver API calls this method to get results for instructions it has
106
- previously scheduled.
105
+ Usually, the ServerAppIo API calls this method to get results for instructions
106
+ it has previously scheduled.
107
107
 
108
108
  Retrieves all TaskRes for the given `task_ids` and returns and empty list of
109
109
  none could be found.
@@ -252,7 +252,7 @@ class SqliteLinkState(LinkState): # pylint: disable=R0904
252
252
  def store_task_ins(self, task_ins: TaskIns) -> Optional[UUID]:
253
253
  """Store one TaskIns.
254
254
 
255
- Usually, the Driver API calls this to schedule instructions.
255
+ Usually, the ServerAppIo API calls this to schedule instructions.
256
256
 
257
257
  Stores the value of the task_ins in the link state and, if successful,
258
258
  returns the task_id (UUID) of the task_ins. If, for any reason, storing
@@ -490,8 +490,8 @@ class SqliteLinkState(LinkState): # pylint: disable=R0904
490
490
  def get_task_res(self, task_ids: set[UUID]) -> list[TaskRes]:
491
491
  """Get TaskRes for task_ids.
492
492
 
493
- Usually, the Driver API calls this method to get results for instructions it has
494
- previously scheduled.
493
+ Usually, the ServerAppIo API calls this method to get results for instructions
494
+ it has previously scheduled.
495
495
 
496
496
  Retrieves all TaskRes for the given `task_ids` and returns and empty list if
497
497
  none could be found.
@@ -22,7 +22,7 @@ from typing import Optional
22
22
  from typing_extensions import override
23
23
 
24
24
  from flwr.common import Context, RecordSet
25
- from flwr.common.constant import DRIVER_API_DEFAULT_ADDRESS, Status, SubStatus
25
+ from flwr.common.constant import SERVERAPPIO_API_DEFAULT_ADDRESS, Status, SubStatus
26
26
  from flwr.common.logger import log
27
27
  from flwr.common.typing import Fab, RunStatus, UserConfig
28
28
  from flwr.server.superlink.ffs import Ffs
@@ -48,7 +48,7 @@ class DeploymentEngine(Executor):
48
48
 
49
49
  def __init__(
50
50
  self,
51
- superlink: str = DRIVER_API_DEFAULT_ADDRESS,
51
+ superlink: str = SERVERAPPIO_API_DEFAULT_ADDRESS,
52
52
  root_certificates: Optional[str] = None,
53
53
  flwr_dir: Optional[str] = None,
54
54
  ) -> None:
@@ -98,7 +98,7 @@ class DeploymentEngine(Executor):
98
98
  A dictionary for configuration values.
99
99
  Supported configuration key/value pairs:
100
100
  - "superlink": str
101
- The address of the SuperLink Driver API.
101
+ The address of the SuperLink ServerAppIo API.
102
102
  - "root-certificates": str
103
103
  The path to the root certificates.
104
104
  - "flwr-dir": str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.13.0.dev20241101
3
+ Version: 1.13.0.dev20241104
4
4
  Summary: Flower: A Friendly Federated Learning Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -2,10 +2,10 @@ flwr/__init__.py,sha256=VmBWedrCxqmt4QvUHBLqyVEH6p7zaFMD_oCHerXHSVw,937
2
2
  flwr/cli/__init__.py,sha256=cZJVgozlkC6Ni2Hd_FAIrqefrkCGOV18fikToq-6iLw,720
3
3
  flwr/cli/app.py,sha256=_HDs7HS12Dp7NXIyVrkPs1SKJq3x-XvVZd6y1lvyud4,1255
4
4
  flwr/cli/build.py,sha256=k2M0aIY2q5WB_yXQ22Woxt1zb6m-Z1wNwmhWMxEm5Dw,6344
5
- flwr/cli/config_utils.py,sha256=U0tYiC4uwT68LzXFpiiu6XzzplEo-43BR_ON9t3aHOw,7956
5
+ flwr/cli/config_utils.py,sha256=n-xNkQG_0POz5UUHyE00lthNaOjuS6IYU9Thzb_BThs,11431
6
6
  flwr/cli/example.py,sha256=1bGDYll3BXQY2kRqSN-oICqS5n1b9m0g0RvXTopXHl4,2215
7
7
  flwr/cli/install.py,sha256=7Dx8zrn49mTktxGOToBhGx8hzsHOViDasMJ43ooKPXc,8646
8
- flwr/cli/log.py,sha256=SaHqtqI0xKRxt25s-ocQkKxhvXoLGkrsnXff3BBFPMI,9003
8
+ flwr/cli/log.py,sha256=WlAuxZdTUYZ5bRKkm0jLWrOxHTS0TlSA5BeDtO9xF3k,6659
9
9
  flwr/cli/new/__init__.py,sha256=cQzK1WH4JP2awef1t2UQ2xjl1agVEz9rwutV18SWV1k,789
10
10
  flwr/cli/new/new.py,sha256=uSiG7aXQzPDnikv2YcjQ86OOLqint0hNWCI0fSQD0jI,9634
11
11
  flwr/cli/new/templates/__init__.py,sha256=4luU8RL-CK8JJCstQ_ON809W9bNTkY1l9zSaPKBkgwY,725
@@ -61,14 +61,14 @@ flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=LUsQsEVhCgGzKEBB5Ie
61
61
  flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=BiZPOKEoGiZOuxSHQY_nQHj3KH7wH7QAiVmpxGutOgk,686
62
62
  flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=6R_bIGyPvXlCtLABF8fHLmGBNlIptG8QrYM69_Fy_nk,710
63
63
  flwr/cli/run/__init__.py,sha256=oCd6HmQDx-sqver1gecgx-uMA38BLTSiiKpl7RGNceg,789
64
- flwr/cli/run/run.py,sha256=NMCeDfImxta1VEeBqqkP05xsuBK6YWFTd7Qj_bIEA2Y,8394
64
+ flwr/cli/run/run.py,sha256=FCdETDR3d_Aqw3Bn-oGogiAjOqH87AWLtcwifgJLAcQ,6034
65
65
  flwr/cli/utils.py,sha256=emMUdthvoHBTB0iGQp-oFBmA5wV46lw3y3FmfXQPCsc,4500
66
66
  flwr/client/__init__.py,sha256=DGDoO0AEAfz-0CUFmLdyUUweAS64-07AOnmDfWUefK4,1192
67
67
  flwr/client/app.py,sha256=fEUTXz_uNwZe-otCbUf5F3sJozGfvkrMNS3u7DE6sOo,32808
68
68
  flwr/client/client.py,sha256=gy6WVlMUFAp8oevN4xpQPX30vPOIYGVqdbuFlTWkyG4,9080
69
69
  flwr/client/client_app.py,sha256=cTig-N00YzTucbo9zNi6I21J8PlbflU_8J_f5CI-Wpw,10390
70
70
  flwr/client/clientapp/__init__.py,sha256=kZqChGnTChQ1WGSUkIlW2S5bc0d0mzDubCAmZUGRpEY,800
71
- flwr/client/clientapp/app.py,sha256=h8Shr3zCJrM6zepuD1ddNxN9rXBjnqohMSSErlHo-ro,7857
71
+ flwr/client/clientapp/app.py,sha256=673TTaTl3r73c1nvRcgQECz8kXqszf_8Aw72SxI0lTg,7856
72
72
  flwr/client/clientapp/clientappio_servicer.py,sha256=5L6bjw_j3Mnx9kRFwYwxDNABKurBO5q1jZOWE_X11wQ,8522
73
73
  flwr/client/clientapp/utils.py,sha256=Xg23Q7g7r9jrxXEbvJ9wXal_uAqYK3mi087u0QER6-I,4343
74
74
  flwr/client/dpfedavg_numpy_client.py,sha256=4KsEvzavDKyVDU1V0kMqffTwu1lNdUCYQN-i0DTYVN8,7404
@@ -102,7 +102,7 @@ flwr/client/typing.py,sha256=dxoTBnTMfqXr5J7G3y-uNjqxYCddvxhu89spfj4Lm2U,1048
102
102
  flwr/common/__init__.py,sha256=TVaoFEJE158aui1TPZQiJCDZX4RNHRyI8I55VC80HhI,3901
103
103
  flwr/common/address.py,sha256=7kM2Rqjw86-c8aKwAvrXerWqznnVv4TFJ62aSAeTn10,3017
104
104
  flwr/common/config.py,sha256=nYA1vjiiqSWx5JjSdlQd1i_0N_Dh9kEGUse1Qze3JMs,7803
105
- flwr/common/constant.py,sha256=jWAHR2SRW_XJQ7ZMumFL54gSlo6Jp_sr1ndI5ebQNnI,4701
105
+ flwr/common/constant.py,sha256=Snw3dfKGXKr_5yxRvoNVlyyXV8i36EK7n0X8QX3zxkA,4706
106
106
  flwr/common/context.py,sha256=5Bd9RCrhLkYZOVR7vr97OVhzVBHQkS1fUsYiIKTwpxU,2239
107
107
  flwr/common/date.py,sha256=uTvLmCkd3uVQuD4MviPHnIXMGyheL16mEI_UlOsv_R8,894
108
108
  flwr/common/differential_privacy.py,sha256=XwcJ3rWr8S8BZUocc76vLSJAXIf6OHnWkBV6-xlIRuw,6106
@@ -110,7 +110,7 @@ flwr/common/differential_privacy_constants.py,sha256=c7b7tqgvT7yMK0XN9ndiTBs4mQf
110
110
  flwr/common/dp.py,sha256=vddkvyjV2FhRoN4VuU2LeAM1UBn7dQB8_W-Qdiveal8,1978
111
111
  flwr/common/exit_handlers.py,sha256=MracJaBeoCOC7TaXK9zCJQxhrMSx9ZtczK237qvhBpU,2806
112
112
  flwr/common/grpc.py,sha256=6Yi28JjAll19nxYJlOT9B03RN8dvJZP9zUoR3RSmxoY,2487
113
- flwr/common/logger.py,sha256=F5mfXVuxo0qfYIcWpxTkwkOeyhpUZ7oeDS9CUHxCibg,11045
113
+ flwr/common/logger.py,sha256=AJNu-cymiQUp4Dw1zkw5xww_HVkUAhHvtYxwzUtuohM,11065
114
114
  flwr/common/message.py,sha256=4O1m0OWXBAYZz05gKgEtnoJ94J1gjo7hCNHyUXThxRo,13831
115
115
  flwr/common/object_ref.py,sha256=5lgWqYaJR28UdFc-iirWw9YqFXMfgkOOAdfJc1AVibE,8711
116
116
  flwr/common/parameter.py,sha256=-bFAUayToYDF50FZGrBC1hQYJCQDtB2bbr3ZuVLMtdE,2095
@@ -133,7 +133,7 @@ flwr/common/secure_aggregation/quantization.py,sha256=mC4uLf05zeONo8Ke-BY0Tj8UCM
133
133
  flwr/common/secure_aggregation/secaggplus_constants.py,sha256=9MF-oQh62uD7rt9VeNB-rHf2gBLd5GL3S9OejCxmILY,2183
134
134
  flwr/common/secure_aggregation/secaggplus_utils.py,sha256=o7IhHH6J9xqinhQy3TdPgQpoj1XyEpyv3OQFyx81RVQ,3193
135
135
  flwr/common/serde.py,sha256=ZNPGTjxmIyRMPskpIy3VVYgjckeix0jzDEc1PtVSgLo,30562
136
- flwr/common/telemetry.py,sha256=PvdlipCPYciqEgmXRwQ1HklP1uyECcNqt9HTBzthmAg,8904
136
+ flwr/common/telemetry.py,sha256=20AYNaePOBaSEh99PIuBrxRxtY53-kZ5-2Ej0JWUJmc,8731
137
137
  flwr/common/typing.py,sha256=fS_KmVdg0c1B87yMnccIPfjBzQ3CTRwYJcaWfmvZzEA,5103
138
138
  flwr/common/version.py,sha256=tCcl_FvxVK206C1dxIJCs4TjL06WmyaODBP19FRHE1c,1324
139
139
  flwr/proto/__init__.py,sha256=hbY7JYakwZwCkYgCNlmHdc8rtvfoJbAZLalMdc--CGc,683
@@ -149,10 +149,6 @@ flwr/proto/control_pb2.py,sha256=yaUkwY2J9uo-fdUIB5aHwVSDOuGunxaUr4ZlggifA_M,143
149
149
  flwr/proto/control_pb2.pyi,sha256=XbFvpZvvrS7QcH5AFXfpRGl4hQvhd3QdKO6x0oTlCCU,165
150
150
  flwr/proto/control_pb2_grpc.py,sha256=FFE21nZvEILWpe1WCR5vAwgYEtpzrdG78-_SsU0gZ7w,5783
151
151
  flwr/proto/control_pb2_grpc.pyi,sha256=9DU4sgkzJ497a4Nq6kitZWEG4g_5MO8MevichnO0oAg,1672
152
- flwr/proto/driver_pb2.py,sha256=2BEQT2YloRBX1-5Gp_rjKBiUD3SY7sr_ic6y0MGlsRk,4795
153
- flwr/proto/driver_pb2.pyi,sha256=Ib9c32FCtjA9zZY54Ohi6B-DtLgSjokAqOExm_2uOvY,6429
154
- flwr/proto/driver_pb2_grpc.py,sha256=UgZ2PrrBmff-mwH1FG3Zf1YPYLoZVMldEBMUesjC-IQ,17154
155
- flwr/proto/driver_pb2_grpc.pyi,sha256=1yVGhlZFwR-o1hrGFJptMBrEpdjc_MYpD14oEWDqib8,4654
156
152
  flwr/proto/error_pb2.py,sha256=LarjKL90LbwkXKlhzNrDssgl4DXcvIPve8NVCXHpsKA,1084
157
153
  flwr/proto/error_pb2.pyi,sha256=ZNH4HhJTU_KfMXlyCeg8FwU-fcUYxTqEmoJPtWtHikc,734
158
154
  flwr/proto/error_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -193,6 +189,14 @@ flwr/proto/run_pb2.py,sha256=pwel-8Hzsz1Gw2EHGEFKObgSEKQNth7nGZOEsJQO8fM,4940
193
189
  flwr/proto/run_pb2.pyi,sha256=pr7MPml_7gOmBuu7BO-yaU-LexamsJYxnRG-utigVAo,9641
194
190
  flwr/proto/run_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
195
191
  flwr/proto/run_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
192
+ flwr/proto/serverappio_pb2.py,sha256=zWnODeaj26oSx98-BFvwtWM_fYvsw9OeSIuV7JnKVvw,4822
193
+ flwr/proto/serverappio_pb2.pyi,sha256=Ib9c32FCtjA9zZY54Ohi6B-DtLgSjokAqOExm_2uOvY,6429
194
+ flwr/proto/serverappio_pb2_grpc.py,sha256=M__pFMmb9yTAGMHVd3_K1V6DeLRuFc9UErJHWjBAsZs,17439
195
+ flwr/proto/serverappio_pb2_grpc.pyi,sha256=ERM-0cQVmUqrVXlvEbS2wfUZpZmv5SlIeNsGZPYMrVo,4779
196
+ flwr/proto/simulationio_pb2.py,sha256=Za9bndkWX7TPoiNmlnQeRHR4DQ2UrbaagDtirKOb-0U,2884
197
+ flwr/proto/simulationio_pb2.pyi,sha256=oXx8_FLBe5B54wduZj-f89kub73XxNtQbThuW8YfPAs,2660
198
+ flwr/proto/simulationio_pb2_grpc.py,sha256=6bLKBXsB8Oam8RurI0i8kPKe_1VpnbqY7RrD9nqs1PM,7900
199
+ flwr/proto/simulationio_pb2_grpc.pyi,sha256=d_BJaLr6bG_lcQoZuyglqAr6uJm6ttJhE0sk4zZf5N8,2320
196
200
  flwr/proto/task_pb2.py,sha256=R5GfHgL8IJRI_qHWNeILl1Y9zHjvB0tnCvMHmTgF4Is,2361
197
201
  flwr/proto/task_pb2.pyi,sha256=KJVsLm-THY5QjHreHDm_-OS1tyZyD61mx6BzOpoeMjw,4320
198
202
  flwr/proto/task_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -203,7 +207,7 @@ flwr/proto/transport_pb2_grpc.py,sha256=vLN3EHtx2aEEMCO4f1Upu-l27BPzd3-5pV-u8wPc
203
207
  flwr/proto/transport_pb2_grpc.pyi,sha256=AGXf8RiIiW2J5IKMlm_3qT3AzcDa4F3P5IqUjve_esA,766
204
208
  flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
209
  flwr/server/__init__.py,sha256=cEg1oecBu4cKB69iJCqWEylC8b5XW47bl7rQiJsdTvM,1528
206
- flwr/server/app.py,sha256=2kuS4TsM0RmfnrST209BkKs7dkI9W3jyP9AMulIeNNE,28204
210
+ flwr/server/app.py,sha256=40_gS289mD1WGv6YuJ_0MSh8ooKQo6A4J0iIJauUbsE,28319
207
211
  flwr/server/client_manager.py,sha256=7Ese0tgrH-i-ms363feYZJKwB8gWnXSmg_hYF2Bju4U,6227
208
212
  flwr/server/client_proxy.py,sha256=4G-oTwhb45sfWLx2uZdcXD98IZwdTS6F88xe3akCdUg,2399
209
213
  flwr/server/compat/__init__.py,sha256=VxnJtJyOjNFQXMNi9hIuzNlZM5n0Hj1p3aq_Pm2udw4,892
@@ -213,16 +217,16 @@ flwr/server/compat/driver_client_proxy.py,sha256=Af0bRUEVZNcCYRxt3DjpLPdvVYpTgz6
213
217
  flwr/server/compat/legacy_context.py,sha256=wBzBcfV6YO6IQGriM_FdJ5XZfiBBEEJdS_OdAiF47dY,1804
214
218
  flwr/server/criterion.py,sha256=ypbAexbztzGUxNen9RCHF91QeqiEQix4t4Ih3E-42MM,1061
215
219
  flwr/server/driver/__init__.py,sha256=bikRv6CjTwSvYh7tf10gziU5o2YotOWhhftz2tr3KDc,886
216
- flwr/server/driver/driver.py,sha256=m8u4ZjtRmy1Cqg7SAld1trg9cd7E7O2IAnfsrJ97sXE,5697
217
- flwr/server/driver/grpc_driver.py,sha256=cB9uL3JnMOBaObtwo0c60JH2slnoG2-Hsv9tZXpaeCI,9539
218
- flwr/server/driver/inmemory_driver.py,sha256=kMNYmWWy2VOTDC_PnU-jKfVGrCqdeqp3-kwWiYkJGjo,6453
220
+ flwr/server/driver/driver.py,sha256=gHHO8oFkFWYf1J9wn4aKCcnzx7hXsmY_JO5jr004s68,5702
221
+ flwr/server/driver/grpc_driver.py,sha256=ziRzquh1fuC-joaalHKI_zcqm9k1kDpZYDIzGa33TsI,9629
222
+ flwr/server/driver/inmemory_driver.py,sha256=DcWFhV57p2OGgVYIdNlB65_o2lviClk9yVp_4XtdYPg,6458
219
223
  flwr/server/history.py,sha256=qSb5_pPTrwofpSYGsZWzMPkl_4uJ4mJFWesxXDrEvDU,5026
220
- flwr/server/run_serverapp.py,sha256=QAeNzOpZPgHQqhCu2glwMSAE-TSu5Z0IQvldNETKA3w,10497
224
+ flwr/server/run_serverapp.py,sha256=SH_glGu-6OwxKcnm-Nl3m5js5BrTQY-y0dlV2u8_Xjk,10481
221
225
  flwr/server/server.py,sha256=1ZsFEptmAV-L2vP2etNC9Ed5CLSxpuKzUFkAPQ4l5Xc,17893
222
226
  flwr/server/server_app.py,sha256=RsgS6PRS5Z74cMUAHzsm8r3LWddwn00MjRs6rlacHt8,6297
223
227
  flwr/server/server_config.py,sha256=CZaHVAsMvGLjpWVcLPkiYxgJN4xfIyAiUrCI3fETKY4,1349
224
228
  flwr/server/serverapp/__init__.py,sha256=L0K-94UDdTyEZ8LDtYybGIIIv3HW6AhSVjXMUfYJQnQ,800
225
- flwr/server/serverapp/app.py,sha256=bCCfNmUYME1NQGcX8mNsTiI6WTFNHeXDJ7vHx4nmXtE,8979
229
+ flwr/server/serverapp/app.py,sha256=-OUdiyNjnPwibznlc-1hQ54oUT2EowdPVheXUKCW6LM,8988
226
230
  flwr/server/serverapp_components.py,sha256=-IV_CitOfrJclJj2jNdbN1Q65PyFmtKtrTIg1hc6WQw,2118
227
231
  flwr/server/strategy/__init__.py,sha256=tQer2SwjDnvgFFuJMZM-S01Z615N5XK6MaCvpm4BMU0,2836
228
232
  flwr/server/strategy/aggregate.py,sha256=iFZ8lp7PV_a2m9kywV-FK0iM33ofxavOs5TIaEQY8nU,13961
@@ -233,7 +237,7 @@ flwr/server/strategy/dpfedavg_adaptive.py,sha256=8_C0H99xztzzKLL_Gu6Pcuiv8yjs3EU
233
237
  flwr/server/strategy/dpfedavg_fixed.py,sha256=DqYeduIgqmqjuJG9X3exoX-3SlPEb4ojCL9tlNMG5_A,7230
234
238
  flwr/server/strategy/fault_tolerant_fedavg.py,sha256=VJkDxEIKycF3Ds-ia0lVVFZKM6_M5lG2EGSaTAUq1wM,5881
235
239
  flwr/server/strategy/fedadagrad.py,sha256=0RwvPdv-mY6UJO16BAMb43NHqq4c4lr5iPAxzi_A8w8,6486
236
- flwr/server/strategy/fedadam.py,sha256=V9FD3sHhOYk6kgrIzRnTG8g5FqsICX6xN8j_1pSHPc8,6744
240
+ flwr/server/strategy/fedadam.py,sha256=4nvTL-FAzb-Hh0YBki8z3bpMDwhFE0mmqsutZ148ovo,7258
237
241
  flwr/server/strategy/fedavg.py,sha256=DIq-41JZ2YiyeWRYYFvDKjLxaDQazuifnQ_A_7rvtww,11780
238
242
  flwr/server/strategy/fedavg_android.py,sha256=fau-Uxxc2ev-8nZsvO_1lp_9690zNlo6m5KFmTCQWd0,9765
239
243
  flwr/server/strategy/fedavgm.py,sha256=FxBfvY5KS7WAan4ad7h39xcLLktHxtEqG-nGTp0sAsM,8113
@@ -249,9 +253,9 @@ flwr/server/strategy/krum.py,sha256=Gct2OdnvZEnCPKMyIC330baOKabpDrKiCfVXIkr4S0c,
249
253
  flwr/server/strategy/qfedavg.py,sha256=2ijNNc2vVODWLAaoYo9PCoaFvlanq0lbJ7I7Albdudg,10131
250
254
  flwr/server/strategy/strategy.py,sha256=cXapkD5uDrt5C-RbmWDn9FLoap3Q41i7GKvbmfbCKtk,7524
251
255
  flwr/server/superlink/__init__.py,sha256=8tHYCfodUlRD8PCP9fHgvu8cz5N31A2QoRVL0jDJ15E,707
252
- flwr/server/superlink/driver/__init__.py,sha256=_JaRW-FdyikHc7souUrnk3mwTGViraEJCeUBY_M_ocs,712
253
- flwr/server/superlink/driver/driver_grpc.py,sha256=melAgaV37Y0B9bZe5bRWQOobItZZ9DIzlcbVE8B01wo,2060
254
- flwr/server/superlink/driver/driver_servicer.py,sha256=n2De3kPaUwR9rFycWbpCp4mQILLshCNu9pUZW80_Ezc,10534
256
+ flwr/server/superlink/driver/__init__.py,sha256=5soEK5QSvxNjmJQ-CGTWROc4alSAeU0e9Ad9RDhsd3E,717
257
+ flwr/server/superlink/driver/serverappio_grpc.py,sha256=oTogZLkfeThKdx9Q_bw6OMGHnLIryxQOHxbWi0qgaRM,2185
258
+ flwr/server/superlink/driver/serverappio_servicer.py,sha256=hCl1ZF4VfZdw-_Iot2pRr0HXzrzJdRB61kfk8ItY_4o,10387
255
259
  flwr/server/superlink/ffs/__init__.py,sha256=FAY-zShcfPmOxosok2QyT6hTNMNctG8cH9s_nIl8jkI,840
256
260
  flwr/server/superlink/ffs/disk_ffs.py,sha256=yCN6CCzegnJIOaHr5nIu49wZQa4g5BByiSKshz50RKU,3296
257
261
  flwr/server/superlink/ffs/ffs.py,sha256=qLI1UfosJugu2BKOJWqHIhafTm-YiuKqGf3OGWPH0NM,2395
@@ -263,7 +267,7 @@ flwr/server/superlink/fleet/grpc_bidi/__init__.py,sha256=dkSKQMuMTYh1qSnuN87cAPv
263
267
  flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py,sha256=xbvorZhCHBj0CvFWB7oUeHoY0o750hUkiS0DiTCGHDs,6020
264
268
  flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py,sha256=JkAH_nIZaqe_9kntrg26od_jaz5XdLFuvNMgGu8xk9Q,6485
265
269
  flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=h3EhqgelegVC4EjOXH5birmAnMoCBJcP7jpHYCnHZPk,4887
266
- flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=R_479Hz2Drahu1BBOFzkZWwjY9H_7nXnM6HJJeEsibQ,12439
270
+ flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=X4I2rd1ZC9fqjOg9uwdTydLxJ3JiWthkIAqb3wEv17g,12454
267
271
  flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=j2hyC342am-_Hgp1g80Y3fGDzfTI6n8QOOn2PyWf4eg,758
268
272
  flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=JuNdT6hs4iRtuToV6vkEuftCE_LgSipBPeRAJLWnJKw,4783
269
273
  flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=iZlgW7L5oVG_0pFkj1C46u8a1sLWiQhw9FpeyYt5Gf8,8169
@@ -278,9 +282,9 @@ flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=7kB3re3mR53b7E6L6DP
278
282
  flwr/server/superlink/fleet/vce/vce_api.py,sha256=VL6e_Jwf4uxA-X1EelxJZMv6Eji-_p2J9D0MdHG10a4,13029
279
283
  flwr/server/superlink/linkstate/__init__.py,sha256=v-2JyJlCB3qyhMNwMjmcNVOq4rkooqFU0LHH8Zo1jls,1064
280
284
  flwr/server/superlink/linkstate/in_memory_linkstate.py,sha256=zsolNnK3LPkk_b00hnA9kSmnQ71hS_BPpc7s7uG_tps,20599
281
- flwr/server/superlink/linkstate/linkstate.py,sha256=fBaIBlQAc0oBu_AWSXlMmHAUHJ2YF1I79MS9wq7HvCs,11428
285
+ flwr/server/superlink/linkstate/linkstate.py,sha256=-pt8U2cpL42TEiyLHxuLq8zTR1vpXdT9l-BsN8rGnFs,11438
282
286
  flwr/server/superlink/linkstate/linkstate_factory.py,sha256=ISSMjDlwuN7swxjOeYlTNpI_kuZ8PGkMcJnf1dbhUSE,2069
283
- flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=Yda1uPiRkEmH7HDNwVtQnpzVjDAkGCJePutkjeyYyT4,43188
287
+ flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=ZyxfBhvv8kAW55JiyboHOWAND0BWoPJdo2XGPXxuTHc,43198
284
288
  flwr/server/superlink/linkstate/utils.py,sha256=ukrMlSv0mNFd0YSpyPDpq_ND90SBkwuKgw3FFux3lqs,6914
285
289
  flwr/server/typing.py,sha256=5kaRLZuxTEse9A0g7aVna2VhYxU3wTq1f3d3mtw7kXs,1019
286
290
  flwr/server/utils/__init__.py,sha256=pltsPHJoXmUIr3utjwwYxu7_ZAGy5u4MVHzv9iA5Un8,908
@@ -301,13 +305,13 @@ flwr/simulation/ray_transport/utils.py,sha256=TYdtfg1P9VfTdLMOJlifInGpxWHYs9UfUq
301
305
  flwr/simulation/run_simulation.py,sha256=3n1nSik8tTC6LCYVZesNkHuXDQ1Ea4unTnNEOC5rdAc,23436
302
306
  flwr/superexec/__init__.py,sha256=fcj366jh4RFby_vDwLroU4kepzqbnJgseZD_jUr_Mko,715
303
307
  flwr/superexec/app.py,sha256=Tt3GonnTwHrMmicwx9XaP-crP78-bf4DUWl-N5cG6zY,1841
304
- flwr/superexec/deployment.py,sha256=jWEA8lnTYpOf8EHMzmoF9x6I_qh_gyJGQCVxk-DJshY,6401
308
+ flwr/superexec/deployment.py,sha256=SVOAfJlCqDmA6TkDCusffjLxhHWoy5_y8mGIPjm1Bo0,6416
305
309
  flwr/superexec/exec_grpc.py,sha256=OuhBAk7hiky9rjGceinLGIXqchtzGPQThZnwyYv6Ei0,2241
306
310
  flwr/superexec/exec_servicer.py,sha256=6dUCijBYhrntZeQj82q2kVOUNFu_tsFOwT5HkkLYn9Q,3927
307
311
  flwr/superexec/executor.py,sha256=QA2_hQJxmN3zc75oEkDs-zkWAHesz59jE0P5lem-5VU,3073
308
312
  flwr/superexec/simulation.py,sha256=Ny3MJnNlgzW4K3NbgsgDM0LKKcoCd_q3LqNqb0GhWLI,7640
309
- flwr_nightly-1.13.0.dev20241101.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
310
- flwr_nightly-1.13.0.dev20241101.dist-info/METADATA,sha256=ZsqZgD10M-xdg-cc345KkaFBpVz94-4hyFIGdit8g7w,15618
311
- flwr_nightly-1.13.0.dev20241101.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
312
- flwr_nightly-1.13.0.dev20241101.dist-info/entry_points.txt,sha256=FxJQ96pmcNF2OvkTH6XF-Ip2PNrHvykjArkvkjQC7Mk,486
313
- flwr_nightly-1.13.0.dev20241101.dist-info/RECORD,,
313
+ flwr_nightly-1.13.0.dev20241104.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
314
+ flwr_nightly-1.13.0.dev20241104.dist-info/METADATA,sha256=JSHAY5Mt504DEkmxlC912d09dTTDS8gJlZaZfoBA-YM,15618
315
+ flwr_nightly-1.13.0.dev20241104.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
316
+ flwr_nightly-1.13.0.dev20241104.dist-info/entry_points.txt,sha256=FxJQ96pmcNF2OvkTH6XF-Ip2PNrHvykjArkvkjQC7Mk,486
317
+ flwr_nightly-1.13.0.dev20241104.dist-info/RECORD,,
flwr/proto/driver_pb2.py DELETED
@@ -1,52 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: flwr/proto/driver.proto
4
- # Protobuf Python Version: 4.25.0
5
- """Generated protocol buffer code."""
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import descriptor_pool as _descriptor_pool
8
- from google.protobuf import symbol_database as _symbol_database
9
- from google.protobuf.internal import builder as _builder
10
- # @@protoc_insertion_point(imports)
11
-
12
- _sym_db = _symbol_database.Default()
13
-
14
-
15
- from flwr.proto import log_pb2 as flwr_dot_proto_dot_log__pb2
16
- from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
17
- from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
18
- from flwr.proto import task_pb2 as flwr_dot_proto_dot_task__pb2
19
- from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
20
- from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
21
-
22
-
23
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x66lwr/proto/driver.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/log.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x18\x66lwr/proto/message.proto\x1a\x15\x66lwr/proto/task.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\"!\n\x0fGetNodesRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"3\n\x10GetNodesResponse\x12\x1f\n\x05nodes\x18\x01 \x03(\x0b\x32\x10.flwr.proto.Node\"@\n\x12PushTaskInsRequest\x12*\n\rtask_ins_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskIns\"\'\n\x13PushTaskInsResponse\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"F\n\x12PullTaskResRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"A\n\x13PullTaskResResponse\x12*\n\rtask_res_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskRes\"\x1c\n\x1aPullServerAppInputsRequest\"\x7f\n\x1bPullServerAppInputsResponse\x12$\n\x07\x63ontext\x18\x01 \x01(\x0b\x32\x13.flwr.proto.Context\x12\x1c\n\x03run\x18\x02 \x01(\x0b\x32\x0f.flwr.proto.Run\x12\x1c\n\x03\x66\x61\x62\x18\x03 \x01(\x0b\x32\x0f.flwr.proto.Fab\"S\n\x1bPushServerAppOutputsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12$\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x13.flwr.proto.Context\"\x1e\n\x1cPushServerAppOutputsResponse2\xc5\x06\n\x06\x44river\x12J\n\tCreateRun\x12\x1c.flwr.proto.CreateRunRequest\x1a\x1d.flwr.proto.CreateRunResponse\"\x00\x12G\n\x08GetNodes\x12\x1b.flwr.proto.GetNodesRequest\x1a\x1c.flwr.proto.GetNodesResponse\"\x00\x12P\n\x0bPushTaskIns\x12\x1e.flwr.proto.PushTaskInsRequest\x1a\x1f.flwr.proto.PushTaskInsResponse\"\x00\x12P\n\x0bPullTaskRes\x12\x1e.flwr.proto.PullTaskResRequest\x1a\x1f.flwr.proto.PullTaskResResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x12h\n\x13PullServerAppInputs\x12&.flwr.proto.PullServerAppInputsRequest\x1a\'.flwr.proto.PullServerAppInputsResponse\"\x00\x12k\n\x14PushServerAppOutputs\x12\'.flwr.proto.PushServerAppOutputsRequest\x1a(.flwr.proto.PushServerAppOutputsResponse\"\x00\x12\\\n\x0fUpdateRunStatus\x12\".flwr.proto.UpdateRunStatusRequest\x1a#.flwr.proto.UpdateRunStatusResponse\"\x00\x12G\n\x08PushLogs\x12\x1b.flwr.proto.PushLogsRequest\x1a\x1c.flwr.proto.PushLogsResponse\"\x00\x62\x06proto3')
24
-
25
- _globals = globals()
26
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
27
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.driver_pb2', _globals)
28
- if _descriptor._USE_C_DESCRIPTORS == False:
29
- DESCRIPTOR._options = None
30
- _globals['_GETNODESREQUEST']._serialized_start=177
31
- _globals['_GETNODESREQUEST']._serialized_end=210
32
- _globals['_GETNODESRESPONSE']._serialized_start=212
33
- _globals['_GETNODESRESPONSE']._serialized_end=263
34
- _globals['_PUSHTASKINSREQUEST']._serialized_start=265
35
- _globals['_PUSHTASKINSREQUEST']._serialized_end=329
36
- _globals['_PUSHTASKINSRESPONSE']._serialized_start=331
37
- _globals['_PUSHTASKINSRESPONSE']._serialized_end=370
38
- _globals['_PULLTASKRESREQUEST']._serialized_start=372
39
- _globals['_PULLTASKRESREQUEST']._serialized_end=442
40
- _globals['_PULLTASKRESRESPONSE']._serialized_start=444
41
- _globals['_PULLTASKRESRESPONSE']._serialized_end=509
42
- _globals['_PULLSERVERAPPINPUTSREQUEST']._serialized_start=511
43
- _globals['_PULLSERVERAPPINPUTSREQUEST']._serialized_end=539
44
- _globals['_PULLSERVERAPPINPUTSRESPONSE']._serialized_start=541
45
- _globals['_PULLSERVERAPPINPUTSRESPONSE']._serialized_end=668
46
- _globals['_PUSHSERVERAPPOUTPUTSREQUEST']._serialized_start=670
47
- _globals['_PUSHSERVERAPPOUTPUTSREQUEST']._serialized_end=753
48
- _globals['_PUSHSERVERAPPOUTPUTSRESPONSE']._serialized_start=755
49
- _globals['_PUSHSERVERAPPOUTPUTSRESPONSE']._serialized_end=785
50
- _globals['_DRIVER']._serialized_start=788
51
- _globals['_DRIVER']._serialized_end=1625
52
- # @@protoc_insertion_point(module_scope)
File without changes