flwr-nightly 1.9.0.dev20240412__py3-none-any.whl → 1.9.0.dev20240416__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.

flwr/proto/fleet_pb2.py CHANGED
@@ -16,7 +16,7 @@ from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
16
16
  from flwr.proto import task_pb2 as flwr_dot_proto_dot_task__pb2
17
17
 
18
18
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x15\x66lwr/proto/task.proto\"*\n\x11\x43reateNodeRequest\x12\x15\n\rping_interval\x18\x01 \x01(\x01\"4\n\x12\x43reateNodeResponse\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"3\n\x11\x44\x65leteNodeRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"\x14\n\x12\x44\x65leteNodeResponse\"D\n\x0bPingRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x15\n\rping_interval\x18\x02 \x01(\x01\"\x1f\n\x0cPingResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\"F\n\x12PullTaskInsRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"k\n\x13PullTaskInsResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rtask_ins_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.TaskIns\"@\n\x12PushTaskResRequest\x12*\n\rtask_res_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskRes\"\xae\x01\n\x13PushTaskResResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12=\n\x07results\x18\x02 \x03(\x0b\x32,.flwr.proto.PushTaskResResponse.ResultsEntry\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\x86\x03\n\x05\x46leet\x12M\n\nCreateNode\x12\x1d.flwr.proto.CreateNodeRequest\x1a\x1e.flwr.proto.CreateNodeResponse\"\x00\x12M\n\nDeleteNode\x12\x1d.flwr.proto.DeleteNodeRequest\x1a\x1e.flwr.proto.DeleteNodeResponse\"\x00\x12;\n\x04Ping\x12\x17.flwr.proto.PingRequest\x1a\x18.flwr.proto.PingResponse\"\x00\x12P\n\x0bPullTaskIns\x12\x1e.flwr.proto.PullTaskInsRequest\x1a\x1f.flwr.proto.PullTaskInsResponse\"\x00\x12P\n\x0bPushTaskRes\x12\x1e.flwr.proto.PushTaskResRequest\x1a\x1f.flwr.proto.PushTaskResResponse\"\x00\x62\x06proto3')
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x15\x66lwr/proto/task.proto\"*\n\x11\x43reateNodeRequest\x12\x15\n\rping_interval\x18\x01 \x01(\x01\"4\n\x12\x43reateNodeResponse\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"3\n\x11\x44\x65leteNodeRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"\x14\n\x12\x44\x65leteNodeResponse\"D\n\x0bPingRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x15\n\rping_interval\x18\x02 \x01(\x01\"\x1f\n\x0cPingResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\"F\n\x12PullTaskInsRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"k\n\x13PullTaskInsResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rtask_ins_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.TaskIns\"@\n\x12PushTaskResRequest\x12*\n\rtask_res_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskRes\"\xae\x01\n\x13PushTaskResResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12=\n\x07results\x18\x02 \x03(\x0b\x32,.flwr.proto.PushTaskResResponse.ResultsEntry\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\":\n\x03Run\x12\x0e\n\x06run_id\x18\x01 \x01(\x12\x12\x0e\n\x06\x66\x61\x62_id\x18\x02 \x01(\t\x12\x13\n\x0b\x66\x61\x62_version\x18\x03 \x01(\t\"\x1f\n\rGetRunRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x12\".\n\x0eGetRunResponse\x12\x1c\n\x03run\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Run\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\xc9\x03\n\x05\x46leet\x12M\n\nCreateNode\x12\x1d.flwr.proto.CreateNodeRequest\x1a\x1e.flwr.proto.CreateNodeResponse\"\x00\x12M\n\nDeleteNode\x12\x1d.flwr.proto.DeleteNodeRequest\x1a\x1e.flwr.proto.DeleteNodeResponse\"\x00\x12;\n\x04Ping\x12\x17.flwr.proto.PingRequest\x1a\x18.flwr.proto.PingResponse\"\x00\x12P\n\x0bPullTaskIns\x12\x1e.flwr.proto.PullTaskInsRequest\x1a\x1f.flwr.proto.PullTaskInsResponse\"\x00\x12P\n\x0bPushTaskRes\x12\x1e.flwr.proto.PushTaskResRequest\x1a\x1f.flwr.proto.PushTaskResResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x62\x06proto3')
20
20
 
21
21
  _globals = globals()
22
22
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -47,8 +47,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
47
47
  _globals['_PUSHTASKRESRESPONSE']._serialized_end=782
48
48
  _globals['_PUSHTASKRESRESPONSE_RESULTSENTRY']._serialized_start=736
49
49
  _globals['_PUSHTASKRESRESPONSE_RESULTSENTRY']._serialized_end=782
50
- _globals['_RECONNECT']._serialized_start=784
51
- _globals['_RECONNECT']._serialized_end=814
52
- _globals['_FLEET']._serialized_start=817
53
- _globals['_FLEET']._serialized_end=1207
50
+ _globals['_RUN']._serialized_start=784
51
+ _globals['_RUN']._serialized_end=842
52
+ _globals['_GETRUNREQUEST']._serialized_start=844
53
+ _globals['_GETRUNREQUEST']._serialized_end=875
54
+ _globals['_GETRUNRESPONSE']._serialized_start=877
55
+ _globals['_GETRUNRESPONSE']._serialized_end=923
56
+ _globals['_RECONNECT']._serialized_start=925
57
+ _globals['_RECONNECT']._serialized_end=955
58
+ _globals['_FLEET']._serialized_start=958
59
+ _globals['_FLEET']._serialized_end=1415
54
60
  # @@protoc_insertion_point(module_scope)
flwr/proto/fleet_pb2.pyi CHANGED
@@ -164,6 +164,48 @@ class PushTaskResResponse(google.protobuf.message.Message):
164
164
  def ClearField(self, field_name: typing_extensions.Literal["reconnect",b"reconnect","results",b"results"]) -> None: ...
165
165
  global___PushTaskResResponse = PushTaskResResponse
166
166
 
167
+ class Run(google.protobuf.message.Message):
168
+ """GetRun messages"""
169
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
170
+ RUN_ID_FIELD_NUMBER: builtins.int
171
+ FAB_ID_FIELD_NUMBER: builtins.int
172
+ FAB_VERSION_FIELD_NUMBER: builtins.int
173
+ run_id: builtins.int
174
+ fab_id: typing.Text
175
+ fab_version: typing.Text
176
+ def __init__(self,
177
+ *,
178
+ run_id: builtins.int = ...,
179
+ fab_id: typing.Text = ...,
180
+ fab_version: typing.Text = ...,
181
+ ) -> None: ...
182
+ def ClearField(self, field_name: typing_extensions.Literal["fab_id",b"fab_id","fab_version",b"fab_version","run_id",b"run_id"]) -> None: ...
183
+ global___Run = Run
184
+
185
+ class GetRunRequest(google.protobuf.message.Message):
186
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
187
+ RUN_ID_FIELD_NUMBER: builtins.int
188
+ run_id: builtins.int
189
+ def __init__(self,
190
+ *,
191
+ run_id: builtins.int = ...,
192
+ ) -> None: ...
193
+ def ClearField(self, field_name: typing_extensions.Literal["run_id",b"run_id"]) -> None: ...
194
+ global___GetRunRequest = GetRunRequest
195
+
196
+ class GetRunResponse(google.protobuf.message.Message):
197
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
198
+ RUN_FIELD_NUMBER: builtins.int
199
+ @property
200
+ def run(self) -> global___Run: ...
201
+ def __init__(self,
202
+ *,
203
+ run: typing.Optional[global___Run] = ...,
204
+ ) -> None: ...
205
+ def HasField(self, field_name: typing_extensions.Literal["run",b"run"]) -> builtins.bool: ...
206
+ def ClearField(self, field_name: typing_extensions.Literal["run",b"run"]) -> None: ...
207
+ global___GetRunResponse = GetRunResponse
208
+
167
209
  class Reconnect(google.protobuf.message.Message):
168
210
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
169
211
  RECONNECT_FIELD_NUMBER: builtins.int
@@ -39,6 +39,11 @@ class FleetStub(object):
39
39
  request_serializer=flwr_dot_proto_dot_fleet__pb2.PushTaskResRequest.SerializeToString,
40
40
  response_deserializer=flwr_dot_proto_dot_fleet__pb2.PushTaskResResponse.FromString,
41
41
  )
42
+ self.GetRun = channel.unary_unary(
43
+ '/flwr.proto.Fleet/GetRun',
44
+ request_serializer=flwr_dot_proto_dot_fleet__pb2.GetRunRequest.SerializeToString,
45
+ response_deserializer=flwr_dot_proto_dot_fleet__pb2.GetRunResponse.FromString,
46
+ )
42
47
 
43
48
 
44
49
  class FleetServicer(object):
@@ -80,6 +85,12 @@ class FleetServicer(object):
80
85
  context.set_details('Method not implemented!')
81
86
  raise NotImplementedError('Method not implemented!')
82
87
 
88
+ def GetRun(self, request, context):
89
+ """Missing associated documentation comment in .proto file."""
90
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
91
+ context.set_details('Method not implemented!')
92
+ raise NotImplementedError('Method not implemented!')
93
+
83
94
 
84
95
  def add_FleetServicer_to_server(servicer, server):
85
96
  rpc_method_handlers = {
@@ -108,6 +119,11 @@ def add_FleetServicer_to_server(servicer, server):
108
119
  request_deserializer=flwr_dot_proto_dot_fleet__pb2.PushTaskResRequest.FromString,
109
120
  response_serializer=flwr_dot_proto_dot_fleet__pb2.PushTaskResResponse.SerializeToString,
110
121
  ),
122
+ 'GetRun': grpc.unary_unary_rpc_method_handler(
123
+ servicer.GetRun,
124
+ request_deserializer=flwr_dot_proto_dot_fleet__pb2.GetRunRequest.FromString,
125
+ response_serializer=flwr_dot_proto_dot_fleet__pb2.GetRunResponse.SerializeToString,
126
+ ),
111
127
  }
112
128
  generic_handler = grpc.method_handlers_generic_handler(
113
129
  'flwr.proto.Fleet', rpc_method_handlers)
@@ -202,3 +218,20 @@ class Fleet(object):
202
218
  flwr_dot_proto_dot_fleet__pb2.PushTaskResResponse.FromString,
203
219
  options, channel_credentials,
204
220
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
221
+
222
+ @staticmethod
223
+ def GetRun(request,
224
+ target,
225
+ options=(),
226
+ channel_credentials=None,
227
+ call_credentials=None,
228
+ insecure=False,
229
+ compression=None,
230
+ wait_for_ready=None,
231
+ timeout=None,
232
+ metadata=None):
233
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Fleet/GetRun',
234
+ flwr_dot_proto_dot_fleet__pb2.GetRunRequest.SerializeToString,
235
+ flwr_dot_proto_dot_fleet__pb2.GetRunResponse.FromString,
236
+ options, channel_credentials,
237
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -36,6 +36,10 @@ class FleetStub:
36
36
  HTTP API path: /api/v1/fleet/push-task-res
37
37
  """
38
38
 
39
+ GetRun: grpc.UnaryUnaryMultiCallable[
40
+ flwr.proto.fleet_pb2.GetRunRequest,
41
+ flwr.proto.fleet_pb2.GetRunResponse]
42
+
39
43
 
40
44
  class FleetServicer(metaclass=abc.ABCMeta):
41
45
  @abc.abstractmethod
@@ -78,5 +82,11 @@ class FleetServicer(metaclass=abc.ABCMeta):
78
82
  """
79
83
  pass
80
84
 
85
+ @abc.abstractmethod
86
+ def GetRun(self,
87
+ request: flwr.proto.fleet_pb2.GetRunRequest,
88
+ context: grpc.ServicerContext,
89
+ ) -> flwr.proto.fleet_pb2.GetRunResponse: ...
90
+
81
91
 
82
92
  def add_FleetServicer_to_server(servicer: FleetServicer, server: grpc.Server) -> None: ...
@@ -26,6 +26,8 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
26
26
  CreateNodeResponse,
27
27
  DeleteNodeRequest,
28
28
  DeleteNodeResponse,
29
+ GetRunRequest,
30
+ GetRunResponse,
29
31
  PingRequest,
30
32
  PingResponse,
31
33
  PullTaskInsRequest,
@@ -90,3 +92,13 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
90
92
  request=request,
91
93
  state=self.state_factory.state(),
92
94
  )
95
+
96
+ def GetRun(
97
+ self, request: GetRunRequest, context: grpc.ServicerContext
98
+ ) -> GetRunResponse:
99
+ """Get run information."""
100
+ log(INFO, "FleetServicer.GetRun")
101
+ return message_handler.get_run(
102
+ request=request,
103
+ state=self.state_factory.state(),
104
+ )
@@ -24,6 +24,8 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
24
24
  CreateNodeResponse,
25
25
  DeleteNodeRequest,
26
26
  DeleteNodeResponse,
27
+ GetRunRequest,
28
+ GetRunResponse,
27
29
  PingRequest,
28
30
  PingResponse,
29
31
  PullTaskInsRequest,
@@ -101,3 +103,10 @@ def push_task_res(request: PushTaskResRequest, state: State) -> PushTaskResRespo
101
103
  results={str(task_id): 0},
102
104
  )
103
105
  return response
106
+
107
+
108
+ def get_run(
109
+ request: GetRunRequest, state: State # pylint: disable=W0613
110
+ ) -> GetRunResponse:
111
+ """Get run information."""
112
+ return GetRunResponse()
@@ -21,6 +21,7 @@ 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,
24
25
  PingRequest,
25
26
  PullTaskInsRequest,
26
27
  PushTaskResRequest,
@@ -179,12 +180,41 @@ async def ping(request: Request) -> Response:
179
180
  )
180
181
 
181
182
 
183
+ async def get_run(request: Request) -> Response:
184
+ """GetRun."""
185
+ _check_headers(request.headers)
186
+
187
+ # Get the request body as raw bytes
188
+ get_run_request_bytes: bytes = await request.body()
189
+
190
+ # Deserialize ProtoBuf
191
+ get_run_request_proto = GetRunRequest()
192
+ get_run_request_proto.ParseFromString(get_run_request_bytes)
193
+
194
+ # Get state from app
195
+ state: State = app.state.STATE_FACTORY.state()
196
+
197
+ # Handle message
198
+ get_run_response_proto = message_handler.get_run(
199
+ request=get_run_request_proto, state=state
200
+ )
201
+
202
+ # Return serialized ProtoBuf
203
+ get_run_response_bytes = get_run_response_proto.SerializeToString()
204
+ return Response(
205
+ status_code=200,
206
+ content=get_run_response_bytes,
207
+ headers={"Content-Type": "application/protobuf"},
208
+ )
209
+
210
+
182
211
  routes = [
183
212
  Route("/api/v0/fleet/create-node", create_node, methods=["POST"]),
184
213
  Route("/api/v0/fleet/delete-node", delete_node, methods=["POST"]),
185
214
  Route("/api/v0/fleet/pull-task-ins", pull_task_ins, methods=["POST"]),
186
215
  Route("/api/v0/fleet/push-task-res", push_task_res, methods=["POST"]),
187
216
  Route("/api/v0/fleet/ping", ping, methods=["POST"]),
217
+ Route("/api/v0/fleet/get-run", get_run, methods=["POST"]),
188
218
  ]
189
219
 
190
220
  app: Starlette = Starlette(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.9.0.dev20240412
3
+ Version: 1.9.0.dev20240416
4
4
  Summary: Flower: A Friendly Federated Learning Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -38,8 +38,7 @@ Requires-Dist: iterators (>=0.0.2,<0.0.3)
38
38
  Requires-Dist: numpy (>=1.21.0,<2.0.0)
39
39
  Requires-Dist: protobuf (>=4.25.2,<5.0.0)
40
40
  Requires-Dist: pycryptodome (>=3.18.0,<4.0.0)
41
- Requires-Dist: pydantic (<2.0.0) ; extra == "simulation"
42
- Requires-Dist: ray (==2.6.3) ; extra == "simulation"
41
+ Requires-Dist: ray (==2.6.3) ; (python_version >= "3.8" and python_version < "3.12") and (extra == "simulation")
43
42
  Requires-Dist: requests (>=2.31.0,<3.0.0) ; extra == "rest"
44
43
  Requires-Dist: starlette (>=0.31.0,<0.32.0) ; extra == "rest"
45
44
  Requires-Dist: tomli (>=2.0.1,<3.0.0)
@@ -96,10 +96,10 @@ flwr/proto/error_pb2.py,sha256=LarjKL90LbwkXKlhzNrDssgl4DXcvIPve8NVCXHpsKA,1084
96
96
  flwr/proto/error_pb2.pyi,sha256=ZNH4HhJTU_KfMXlyCeg8FwU-fcUYxTqEmoJPtWtHikc,734
97
97
  flwr/proto/error_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
98
98
  flwr/proto/error_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
99
- flwr/proto/fleet_pb2.py,sha256=0PSDvjWer5VDh10L7BckF8-WeNYZzXC2BQQF_E0EacQ,4356
100
- flwr/proto/fleet_pb2.pyi,sha256=45kQ9YINv3VG0nxWSjCN4SppdepjKW8rRBlxKxz7ud4,7571
101
- flwr/proto/fleet_pb2_grpc.py,sha256=U2UeEqWQ7VE58C1ngm_yVniiwBuXfnHmzITYPt6BEtA,9042
102
- flwr/proto/fleet_pb2_grpc.pyi,sha256=Cd8oZqhK9ORMB7iKyW0NBvCeP8Bg1OZbnn_8GzDxEHU,2491
99
+ flwr/proto/fleet_pb2.py,sha256=mKxwomayARq2nQanY3CtnA8ZWqW8NChWsoWeAyGJAOE,5018
100
+ flwr/proto/fleet_pb2.pyi,sha256=yibeuFHsm0ygnJmuyI2V9XNvEt9CLT3dTNUOvAItezU,9161
101
+ flwr/proto/fleet_pb2_grpc.py,sha256=TNt0ydDAXoe1YF2Pl6aNxlGueeOjn0dQ7fdgGx9wd7U,10605
102
+ flwr/proto/fleet_pb2_grpc.pyi,sha256=6flR6x4gB0CZc4YK_MTGeA4zV8Tk_mCcXuxosfDsxGM,2811
103
103
  flwr/proto/node_pb2.py,sha256=1zfXEvgGObglIcaVb4SLFmOcHZvA8eHzEtMFM5A6FYY,1081
104
104
  flwr/proto/node_pb2.pyi,sha256=aX3BHhgXvJE1rvcRnEE_gB-5GcaFQ0SJ88yTE223bjI,751
105
105
  flwr/proto/node_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -170,11 +170,11 @@ flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py,sha256=LSOmabFXAQxKycQOlipl
170
170
  flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=kuD7R1yB1Ite0sNfvjsrnZu83LWGk8fP-yihE1mjQm0,4887
171
171
  flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=1QyBX5qcFPjMVlv7TrvnQkcET4muvg94Fy9hAQUBYnY,11818
172
172
  flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=bEJOMWbSlqkw-y5ZHtEXczhoSlAxErcRYffmTMQAV8M,758
173
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=LC_ntiLZMIZkspwjtQ9_MZ4agzArebO4HIVJ3YOrFx8,3036
173
+ flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=YGn1IPpuX-6NDgaG1UbyREbI9iAyKDimZuNeWxbG6s0,3387
174
174
  flwr/server/superlink/fleet/message_handler/__init__.py,sha256=hEY0l61ojH8Iz30_K1btm1HJ6J49iZJSFUsVYqUTw3A,731
175
- flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=rVisujx0B0WZROlp4uwk1KjzgPR7Pit4rBnurF5xXUw,3273
175
+ flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=NfhM-xgIhKqcD2pOkZqwv-zbAB999uVYCjYPtWzo9u4,3473
176
176
  flwr/server/superlink/fleet/rest_rere/__init__.py,sha256=VKDvDq5H8koOUztpmQacVzGJXPLEEkL1Vmolxt3mvnY,735
177
- flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=_tGtARm4x957Fu1EWoDieqOzV9CQZTM4GgKe2GxIOvw,6734
177
+ flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=8gNziOjBA8ygTzfVPYiNkg_qxr-T822Q_Lbo9g2tVyk,7621
178
178
  flwr/server/superlink/fleet/vce/__init__.py,sha256=36MHKiefnJeyjwMQzVUK4m06Ojon3WDcwZGQsAcyVhQ,783
179
179
  flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=oBIzmnrSSRvH_H0vRGEGWhWzQQwqe3zn6e13RsNwlIY,1466
180
180
  flwr/server/superlink/fleet/vce/backend/backend.py,sha256=LJsKl7oixVvptcG98Rd9ejJycNWcEVB0ODvSreLGp-A,2260
@@ -203,8 +203,8 @@ flwr/simulation/ray_transport/ray_actor.py,sha256=_wv2eP7qxkCZ-6rMyYWnjLrGPBZRxj
203
203
  flwr/simulation/ray_transport/ray_client_proxy.py,sha256=oDu4sEPIOu39vrNi-fqDAe10xtNUXMO49bM2RWfRcyw,6738
204
204
  flwr/simulation/ray_transport/utils.py,sha256=TYdtfg1P9VfTdLMOJlifInGpxWHYs9UfUqIv2wfkRLA,2392
205
205
  flwr/simulation/run_simulation.py,sha256=HiIH6aa_v56NfKQN5ZBd94NyVfaZNyFs43_kItYsQXU,15685
206
- flwr_nightly-1.9.0.dev20240412.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
207
- flwr_nightly-1.9.0.dev20240412.dist-info/METADATA,sha256=3qWZ1UVcfk0WJKQB5zmWdBj6IKB1K4n313xQmHpfZGI,15257
208
- flwr_nightly-1.9.0.dev20240412.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
209
- flwr_nightly-1.9.0.dev20240412.dist-info/entry_points.txt,sha256=utu2wybGyYJSTtsB2ktY_gmy-XtMFo9EFZdishX0zR4,320
210
- flwr_nightly-1.9.0.dev20240412.dist-info/RECORD,,
206
+ flwr_nightly-1.9.0.dev20240416.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
207
+ flwr_nightly-1.9.0.dev20240416.dist-info/METADATA,sha256=OJeC2fIcMuJ2PuYVGFMOZ7FzxDf4lQkX666xeoiEiow,15260
208
+ flwr_nightly-1.9.0.dev20240416.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
209
+ flwr_nightly-1.9.0.dev20240416.dist-info/entry_points.txt,sha256=utu2wybGyYJSTtsB2ktY_gmy-XtMFo9EFZdishX0zR4,320
210
+ flwr_nightly-1.9.0.dev20240416.dist-info/RECORD,,