flwr-nightly 1.20.0.dev20250716__py3-none-any.whl → 1.20.0.dev20250717__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.
@@ -15,12 +15,13 @@
15
15
  """ClientAppIo API servicer."""
16
16
 
17
17
 
18
- from logging import DEBUG
18
+ from logging import DEBUG, ERROR
19
19
  from typing import cast
20
20
 
21
21
  import grpc
22
22
 
23
23
  from flwr.common import Context
24
+ from flwr.common.inflatable import UnexpectedObjectContentError
24
25
  from flwr.common.logger import log
25
26
  from flwr.common.serde import (
26
27
  context_from_proto,
@@ -34,22 +35,34 @@ from flwr.common.typing import Fab, Run
34
35
 
35
36
  # pylint: disable=E0611
36
37
  from flwr.proto import clientappio_pb2_grpc
38
+ from flwr.proto.appio_pb2 import ( # pylint: disable=E0401
39
+ PullAppInputsRequest,
40
+ PullAppInputsResponse,
41
+ PullAppMessagesRequest,
42
+ PullAppMessagesResponse,
43
+ PushAppMessagesRequest,
44
+ PushAppMessagesResponse,
45
+ PushAppOutputsRequest,
46
+ PushAppOutputsResponse,
47
+ )
37
48
  from flwr.proto.clientappio_pb2 import ( # pylint: disable=E0401
38
49
  GetRunIdsWithPendingMessagesRequest,
39
50
  GetRunIdsWithPendingMessagesResponse,
40
- PullClientAppInputsRequest,
41
- PullClientAppInputsResponse,
42
- PullMessageRequest,
43
- PullMessageResponse,
44
- PushClientAppOutputsRequest,
45
- PushClientAppOutputsResponse,
46
- PushMessageRequest,
47
- PushMessageResponse,
48
51
  RequestTokenRequest,
49
52
  RequestTokenResponse,
50
53
  )
54
+ from flwr.proto.message_pb2 import (
55
+ ConfirmMessageReceivedRequest,
56
+ ConfirmMessageReceivedResponse,
57
+ PullObjectRequest,
58
+ PullObjectResponse,
59
+ PushObjectRequest,
60
+ PushObjectResponse,
61
+ )
62
+
63
+ # pylint: disable=E0601
51
64
  from flwr.supercore.ffs import FfsFactory
52
- from flwr.supercore.object_store import ObjectStoreFactory
65
+ from flwr.supercore.object_store import NoObjectInStoreError, ObjectStoreFactory
53
66
  from flwr.supernode.nodestate import NodeStateFactory
54
67
 
55
68
 
@@ -105,8 +118,8 @@ class ClientAppIoServicer(clientappio_pb2_grpc.ClientAppIoServicer):
105
118
  return RequestTokenResponse(token=token)
106
119
 
107
120
  def PullClientAppInputs(
108
- self, request: PullClientAppInputsRequest, context: grpc.ServicerContext
109
- ) -> PullClientAppInputsResponse:
121
+ self, request: PullAppInputsRequest, context: grpc.ServicerContext
122
+ ) -> PullAppInputsResponse:
110
123
  """Pull Message, Context, and Run."""
111
124
  log(DEBUG, "ClientAppIo.PullClientAppInputs")
112
125
 
@@ -128,15 +141,15 @@ class ClientAppIoServicer(clientappio_pb2_grpc.ClientAppIoServicer):
128
141
  run = cast(Run, state.get_run(run_id))
129
142
  fab = Fab(run.fab_hash, ffs.get(run.fab_hash)[0]) # type: ignore
130
143
 
131
- return PullClientAppInputsResponse(
144
+ return PullAppInputsResponse(
132
145
  context=context_to_proto(context),
133
146
  run=run_to_proto(run),
134
147
  fab=fab_to_proto(fab),
135
148
  )
136
149
 
137
150
  def PushClientAppOutputs(
138
- self, request: PushClientAppOutputsRequest, context: grpc.ServicerContext
139
- ) -> PushClientAppOutputsResponse:
151
+ self, request: PushAppOutputsRequest, context: grpc.ServicerContext
152
+ ) -> PushAppOutputsResponse:
140
153
  """Push Message and Context."""
141
154
  log(DEBUG, "ClientAppIo.PushClientAppOutputs")
142
155
 
@@ -159,11 +172,11 @@ class ClientAppIoServicer(clientappio_pb2_grpc.ClientAppIoServicer):
159
172
  # A run associated with a token cannot be handled until its token is cleared
160
173
  state.delete_token(run_id)
161
174
 
162
- return PushClientAppOutputsResponse()
175
+ return PushAppOutputsResponse()
163
176
 
164
177
  def PullMessage(
165
- self, request: PullMessageRequest, context: grpc.ServicerContext
166
- ) -> PullMessageResponse:
178
+ self, request: PullAppMessagesRequest, context: grpc.ServicerContext
179
+ ) -> PullAppMessagesResponse:
167
180
  """Pull one Message."""
168
181
  # Initialize state and ffs connection
169
182
  state = self.state_factory.state()
@@ -177,14 +190,14 @@ class ClientAppIoServicer(clientappio_pb2_grpc.ClientAppIoServicer):
177
190
  )
178
191
  raise RuntimeError("This line should never be reached.")
179
192
 
180
- # Retrieve message, context, run and fab for this run
193
+ # Retrieve message for this run
181
194
  message = state.get_messages(run_ids=[run_id], is_reply=False)[0]
182
195
 
183
- return PullMessageResponse(message=message_to_proto(message))
196
+ return PullAppMessagesResponse(messages_list=[message_to_proto(message)])
184
197
 
185
198
  def PushMessage(
186
- self, request: PushMessageRequest, context: grpc.ServicerContext
187
- ) -> PushMessageResponse:
199
+ self, request: PushAppMessagesRequest, context: grpc.ServicerContext
200
+ ) -> PushAppMessagesResponse:
188
201
  """Push one Message."""
189
202
  # Initialize state connection
190
203
  state = self.state_factory.state()
@@ -198,7 +211,63 @@ class ClientAppIoServicer(clientappio_pb2_grpc.ClientAppIoServicer):
198
211
  )
199
212
  raise RuntimeError("This line should never be reached.")
200
213
 
201
- # Save the message and context to the state
202
- state.store_message(message_from_proto(request.message))
214
+ # Save the message to the state
215
+ state.store_message(message_from_proto(request.messages_list[0]))
216
+
217
+ return PushAppMessagesResponse()
218
+
219
+ def PushObject(
220
+ self, request: PushObjectRequest, context: grpc.ServicerContext
221
+ ) -> PushObjectResponse:
222
+ """Push an object to the ObjectStore."""
223
+ log(DEBUG, "ServerAppIoServicer.PushObject")
224
+
225
+ # Init state and store
226
+ store = self.objectstore_factory.store()
227
+
228
+ # Insert in store
229
+ stored = False
230
+ try:
231
+ store.put(request.object_id, request.object_content)
232
+ stored = True
233
+ except (NoObjectInStoreError, ValueError) as e:
234
+ log(ERROR, str(e))
235
+ except UnexpectedObjectContentError as e:
236
+ # Object content is not valid
237
+ context.abort(grpc.StatusCode.FAILED_PRECONDITION, str(e))
238
+
239
+ return PushObjectResponse(stored=stored)
240
+
241
+ def PullObject(
242
+ self, request: PullObjectRequest, context: grpc.ServicerContext
243
+ ) -> PullObjectResponse:
244
+ """Pull an object from the ObjectStore."""
245
+ log(DEBUG, "ServerAppIoServicer.PullObject")
246
+
247
+ # Init state and store
248
+ store = self.objectstore_factory.store()
249
+
250
+ # Fetch from store
251
+ content = store.get(request.object_id)
252
+ if content is not None:
253
+ object_available = content != b""
254
+ return PullObjectResponse(
255
+ object_found=True,
256
+ object_available=object_available,
257
+ object_content=content,
258
+ )
259
+ return PullObjectResponse(object_found=False, object_available=False)
260
+
261
+ def ConfirmMessageReceived(
262
+ self, request: ConfirmMessageReceivedRequest, context: grpc.ServicerContext
263
+ ) -> ConfirmMessageReceivedResponse:
264
+ """Confirm message received."""
265
+ log(DEBUG, "ServerAppIoServicer.ConfirmMessageReceived")
266
+
267
+ # Init state and store
268
+ store = self.objectstore_factory.store()
269
+
270
+ # Delete the message object
271
+ store.delete(request.message_object_id)
203
272
 
204
- return PushMessageResponse()
273
+ return ConfirmMessageReceivedResponse()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: flwr-nightly
3
- Version: 1.20.0.dev20250716
3
+ Version: 1.20.0.dev20250717
4
4
  Summary: Flower: A Friendly Federated AI Framework
5
5
  License: Apache-2.0
6
6
  Keywords: Artificial Intelligence,Federated AI,Federated Analytics,Federated Evaluation,Federated Learning,Flower,Machine Learning
@@ -131,7 +131,7 @@ flwr/common/object_ref.py,sha256=p3SfTeqo3Aj16SkB-vsnNn01zswOPdGNBitcbRnqmUk,913
131
131
  flwr/common/parameter.py,sha256=UVw6sOgehEFhFs4uUCMl2kfVq1PD6ncmWgPLMsZPKPE,2095
132
132
  flwr/common/pyproject.py,sha256=2SU6yJW7059SbMXgzjOdK1GZRWO6AixDH7BmdxbMvHI,1386
133
133
  flwr/common/record/__init__.py,sha256=cNGccdDoxttqgnUgyKRIqLWULjW-NaSmOufVxtXq-sw,1197
134
- flwr/common/record/array.py,sha256=oApWRwxh1bY2MivQcAz9YHkrspkYZVvy1OkBsWolMec,14541
134
+ flwr/common/record/array.py,sha256=50WACrlTRbGOnRpw5Qqt-5_u4TroVl-7jRHCx_CQ35o,14503
135
135
  flwr/common/record/arraychunk.py,sha256=2ubMzsRNZFL4cc-wXNrJkcTSJUD3nL8CeX5PZpEhNSo,2019
136
136
  flwr/common/record/arrayrecord.py,sha256=CpoqYXM6Iv4XEc9SryCMYmw-bIvP8ut6xWJzRwYJzdU,18008
137
137
  flwr/common/record/configrecord.py,sha256=G7U0q39kB0Kyi0zMxFmPxcVemL9NgwVS1qjvI4BRQuU,9763
@@ -149,14 +149,14 @@ flwr/common/secure_aggregation/ndarrays_arithmetic.py,sha256=TrggOlizlny3V2KS7-3
149
149
  flwr/common/secure_aggregation/quantization.py,sha256=ssFZpiRyj9ltIh0Ai3vGkDqWFO4SoqgoD1mDU9XqMEM,2400
150
150
  flwr/common/secure_aggregation/secaggplus_constants.py,sha256=dGYhWOBMMDJcQH4_tQNC8-Efqm-ecEUNN9ANz59UnCk,2182
151
151
  flwr/common/secure_aggregation/secaggplus_utils.py,sha256=E_xU-Zd45daO1em7M6C2wOjFXVtJf-6tl7fp-7xq1wo,3214
152
- flwr/common/serde.py,sha256=ZJ89Eq-t3-MK_Np1G27Db-eXUhKigp3gSkgQt5E6vaA,23088
152
+ flwr/common/serde.py,sha256=dx66gumR1BpwK45qDwvDLd_05VoKfzkUzWZ7zuZi1-0,21960
153
153
  flwr/common/serde_utils.py,sha256=krx2C_W31KpfmDqnDCtULoTkT8WKweWTJ7FHYWtF1r4,5815
154
154
  flwr/common/telemetry.py,sha256=jF47v0SbnBd43XamHtl3wKxs3knFUY2p77cm_2lzZ8M,8762
155
155
  flwr/common/typing.py,sha256=B8z50fv8K0H4F5m8XRPBoWy-qqbNMyQXBAaaSuzfbnY,6936
156
156
  flwr/common/version.py,sha256=7GAGzPn73Mkh09qhrjbmjZQtcqVhBuzhFBaK4Mk4VRk,1325
157
157
  flwr/compat/__init__.py,sha256=gbfDQKKKMZzi3GswyVRgyLdDlHiWj3wU6dg7y6m5O_s,752
158
158
  flwr/compat/client/__init__.py,sha256=qpbo0lcxdNL4qy5KHqiGm8OLxSxkYgI_-dLh5rwhtcI,746
159
- flwr/compat/client/app.py,sha256=OlLB8ME9YWlmbN9aC65EElgje69IoUL0yzwEGqQQhpg,28092
159
+ flwr/compat/client/app.py,sha256=EFJxHrnFC_MrTQM2BKIdVJzW8WMYxBBMUY-XhNwvwqM,27126
160
160
  flwr/compat/client/grpc_client/__init__.py,sha256=MDOckOODn-FJnkkFEfb2JO-2G97wrBr_TTqht-LhOcY,735
161
161
  flwr/compat/client/grpc_client/connection.py,sha256=xAyvcTVr7bkwUfR5P3D_LKlZYiyySpt5sEwORA1h8Gc,9189
162
162
  flwr/compat/common/__init__.py,sha256=OMnKw4ad0qYMSIA9LZRa2gOkhSOXwAZCpAHnBQE_hFc,746
@@ -164,14 +164,14 @@ flwr/compat/server/__init__.py,sha256=TGVSoOTuf5T5JHUVrK5wuorQF7L6Wvdem8B4uufvMJ
164
164
  flwr/compat/server/app.py,sha256=_lIe7Q4KUk-olq9PYBxIsO3UaOn6N92CWgWQ4hRcAZw,6490
165
165
  flwr/compat/simulation/__init__.py,sha256=MApGa-tysDDw34iSdxZ7TWOKtGJM-z3i8fIRJa0qbZ8,750
166
166
  flwr/proto/__init__.py,sha256=S3VbQzVwNC1P-3_9EdrXuwgptO-BVuuAe20Z_OUc1cQ,683
167
- flwr/proto/appio_pb2.py,sha256=rAewGZ8FiIaB-BPdOZHL3lzytzPWmJ-mB6-S8gfcq84,4213
168
- flwr/proto/appio_pb2.pyi,sha256=Ab8L81Ooyd5OzogmNsEaNRaIhyTd8ZJ9veqwwvxK9Io,7889
167
+ flwr/proto/appio_pb2.py,sha256=wCmsFJphNn5VHV2ew6-Wz58OclbsNfiwkwbssX8Ojf0,3853
168
+ flwr/proto/appio_pb2.pyi,sha256=_75EI4-BtZFW_tQcjLYhULmZPlFh1WJGVpL4vOROljU,7736
169
169
  flwr/proto/appio_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
170
170
  flwr/proto/appio_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
171
- flwr/proto/clientappio_pb2.py,sha256=mgxqxwY6Uy7G4XFQPZbHWWScFThFs97HF-RIYCjfZTg,5166
172
- flwr/proto/clientappio_pb2.pyi,sha256=MNDZpPjLStQp-VGdp91Pe2SmEQAvu96HJz1IWVQOb38,8344
173
- flwr/proto/clientappio_pb2_grpc.py,sha256=bhUGniS48FKipJYRmbMWCv_kXjt82ca1zqLWepy3rso,11317
174
- flwr/proto/clientappio_pb2_grpc.pyi,sha256=GoHd2vOw4mDLTMxHJ-osQ6oIRzQZNgXMFOZknghyzsk,3265
171
+ flwr/proto/clientappio_pb2.py,sha256=VHXByon0L0U0768mSbp5ek2iWC6uujowc4sw7IHZHg8,3256
172
+ flwr/proto/clientappio_pb2.pyi,sha256=gA-WU5lCYxhMciAUiCg__DrAzHPtytqRLyflpToWHqc,2033
173
+ flwr/proto/clientappio_pb2_grpc.py,sha256=4jYgxz3mNl20u3rJuGTe2TkeiLoVSwnRnXCGXhbCxgw,16263
174
+ flwr/proto/clientappio_pb2_grpc.pyi,sha256=oa6AwB04qozIdwRLg2K43Zmf9BY10wlcnoJwPAxGHpc,4536
175
175
  flwr/proto/error_pb2.py,sha256=PQVWrfjVPo88ql_KgV9nCxyQNCcV9PVfmcw7sOzTMro,1084
176
176
  flwr/proto/error_pb2.pyi,sha256=ZNH4HhJTU_KfMXlyCeg8FwU-fcUYxTqEmoJPtWtHikc,734
177
177
  flwr/proto/error_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -239,10 +239,10 @@ flwr/server/compat/app_utils.py,sha256=Uz6m-NV90cQ6k-gW6wlWQuhoFoK78qlMr0CEmALKX
239
239
  flwr/server/compat/grid_client_proxy.py,sha256=FxMgGtrzBoBAPby2ZjTWzpCJsCht8FwMm4PzqW80dmQ,4956
240
240
  flwr/server/compat/legacy_context.py,sha256=94JsRQxyOdLI6lZZkFjS3-TMd0YJGAgSBBO0M_s_9ts,1804
241
241
  flwr/server/criterion.py,sha256=G4e-6B48Pc7d5rmGVUpIzNKb6UF88O3VmTRuUltgjzM,1061
242
- flwr/server/fleet_event_log_interceptor.py,sha256=ifV4gUB_hSg7QPLIrAyDpjciqZBOKb0L0abZno3GTwA,3780
242
+ flwr/server/fleet_event_log_interceptor.py,sha256=gtVPr2yQp3U2GnabIdFnuok18VerEcidKj1lKmDYGoY,3950
243
243
  flwr/server/grid/__init__.py,sha256=aWZHezoR2UGMJISB_gPMCm2N_2GSbm97A3lAp7ruhRQ,888
244
244
  flwr/server/grid/grid.py,sha256=naGCYt5J6dnmUvrcGkdNyKPe3MBd-0awGm1ALmgahqY,6625
245
- flwr/server/grid/grpc_grid.py,sha256=6w-X6mRyAmaWyrUaBnRp3enM4e63iEMUUWPIRFqO1qw,13609
245
+ flwr/server/grid/grpc_grid.py,sha256=2AL1Niz77cOWGX0e7Y9eJFpOK962tDqyn8QQyjSN0qM,13735
246
246
  flwr/server/grid/inmemory_grid.py,sha256=RjejYT-d-hHuTs1KSs_5wvOdAWKLus8w5_UAcnGt4iw,6168
247
247
  flwr/server/history.py,sha256=cCkFhBN4GoHsYYNk5GG1Y089eKJh2DH_ZJbYPwLaGyk,5026
248
248
  flwr/server/run_serverapp.py,sha256=v0p6jXj2dFxlRUdoEeF1mnaFd9XRQi6dZCflPY6d3qI,2063
@@ -287,7 +287,7 @@ flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=iSf0mbBAlig7G6
287
287
  flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=OsS-6GgCIzMMZDVu5Y-OKjynHVUrpdc_5OrtuB-IbU0,5174
288
288
  flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=ahDJJ1e-lDxBpeBMgPk7YZt2wB38_QltcpOC0gLbpFs,758
289
289
  flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=X7-z4oReIH5ghMfmMXML3SSpa2bhRsuIvt2OZs82BUk,8675
290
- flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=DrHubsaLgJCwCeeJPYogQTiP0xYqjxwnT9rh7OP7BoU,6984
290
+ flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=9_RaYWMqFdpFi8QcE7Nv8-pRjWJ2dLHxezrwhd1tAYk,6845
291
291
  flwr/server/superlink/fleet/message_handler/__init__.py,sha256=fHsRV0KvJ8HtgSA4_YBsEzuhJLjO8p6xx4aCY2oE1p4,731
292
292
  flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=k_okVvuvbQgnBAWtXpOf0UrXcMQmRZtKKTS-as1xjig,8667
293
293
  flwr/server/superlink/fleet/rest_rere/__init__.py,sha256=Lzc93nA7tDqoy-zRUaPG316oqFiZX1HUCL5ELaXY_xw,735
@@ -305,7 +305,7 @@ flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=E699Ak0jMF3N7i1SIeFRu
305
305
  flwr/server/superlink/linkstate/utils.py,sha256=IeLh7iGRCHU5MEWOl7iriaSE4L__8GWOa2OleXadK5M,15444
306
306
  flwr/server/superlink/serverappio/__init__.py,sha256=Fy4zJuoccZe5mZSEIpOmQvU6YeXFBa1M4eZuXXmJcn8,717
307
307
  flwr/server/superlink/serverappio/serverappio_grpc.py,sha256=zcvzDhCAnlFxAwCiJUHNm6IE7-rk5jeZqSmPgjEY3AU,2307
308
- flwr/server/superlink/serverappio/serverappio_servicer.py,sha256=mR-ijliBxxrKFyIw5Vpc95QvapD7W8eY9pb-7VDj3gU,18519
308
+ flwr/server/superlink/serverappio/serverappio_servicer.py,sha256=7oOFTjS5uSvdH0LSw-mDYulDMSItEM_QmXFQv_6ZjOU,18228
309
309
  flwr/server/superlink/simulation/__init__.py,sha256=Ry8DrNaZCMcQXvUc4FoCN2m3dvUQgWjasfp015o3Ec4,718
310
310
  flwr/server/superlink/simulation/simulationio_grpc.py,sha256=VqWKxjpd4bCgPFKsgtIZPk9YcG0kc1EEmr5k20EKty4,2205
311
311
  flwr/server/superlink/simulation/simulationio_servicer.py,sha256=m1T1zvEn81jlfx9hVTqmeWxAu6APCS2YW8l5O0OQvhU,7724
@@ -347,11 +347,11 @@ flwr/supercore/utils.py,sha256=ebuHMbeA8eXisX0oMPqBK3hk7uVnIE_yiqWVz8YbkpQ,1324
347
347
  flwr/superexec/__init__.py,sha256=YFqER0IJc1XEWfsX6AxZ9LSRq0sawPYrNYki-brvTIc,715
348
348
  flwr/superexec/app.py,sha256=U2jjOHb2LGWoU7vrl9_czTzre9O2mPxu3CPGUZ86sK4,1465
349
349
  flwr/superexec/deployment.py,sha256=cFxhFom-0zv93HLNjNcUdBy3Sf6JwshRoXPQtcZunF0,6797
350
- flwr/superexec/exec_event_log_interceptor.py,sha256=7aBjZ4lkpOIyWut0s394OpMePr16g_Te594s-9aDM9Q,5774
350
+ flwr/superexec/exec_event_log_interceptor.py,sha256=bHBpjRDh-GgLxELNP9ofES7hCEAR_M78wuJZ06vXRLg,5942
351
351
  flwr/superexec/exec_grpc.py,sha256=D7xPHEXjW4SXMb9_dWNZhbFFxUeKr8zE67LITZQbHU8,4148
352
- flwr/superexec/exec_license_interceptor.py,sha256=Wg6Wt4ZdSOFDEPAtI7TQZbkLSJc0x8KJ5Xk_5iWyc74,3160
352
+ flwr/superexec/exec_license_interceptor.py,sha256=rpnQmHE9FR11EJ3Lwd4_ducvlSHj5hS_SHAMbbZwXlk,3328
353
353
  flwr/superexec/exec_servicer.py,sha256=c0nwdFBiS6CbKrRA7ffOpsgASOLeaRV_ICwxDfxNGAg,12498
354
- flwr/superexec/exec_user_auth_interceptor.py,sha256=AQnSb7dpVeuHR0BMyUcUJeBTXllnnrPygMVErBfTkiI,6028
354
+ flwr/superexec/exec_user_auth_interceptor.py,sha256=InqJo9QQu2QQYYusxtmb3EtKdvJECQ1xtvwy5DVF-c0,6196
355
355
  flwr/superexec/executor.py,sha256=LaErHRJvNggjWV6FI6eajgKfnwOvSv2UqzFH253yDro,3265
356
356
  flwr/superexec/simulation.py,sha256=62rSLcS-1wnMsMsafSQuIDLs5ZS6Ail1spkZ-alNNTg,4156
357
357
  flwr/superlink/__init__.py,sha256=GNSuJ4-N6Z8wun2iZNlXqENt5beUyzC0Gi_tN396bbM,707
@@ -364,12 +364,12 @@ flwr/supernode/nodestate/in_memory_nodestate.py,sha256=LF3AbaW0bcZHY5yKWwUJSU2RZ
364
364
  flwr/supernode/nodestate/nodestate.py,sha256=kkGFxYnLIwT4-UmlPnf6HvAUpPey2urUNrweGybAIY4,6398
365
365
  flwr/supernode/nodestate/nodestate_factory.py,sha256=UYTDCcwK_baHUmkzkJDxL0UEqvtTfOMlQRrROMCd0Xo,1430
366
366
  flwr/supernode/runtime/__init__.py,sha256=JQdqd2EMTn-ORMeTvewYYh52ls0YKP68jrps1qioxu4,718
367
- flwr/supernode/runtime/run_clientapp.py,sha256=jOACPK1YEwtuJas9cpILcxgPuM756Yzk1cCa04-v78M,8565
367
+ flwr/supernode/runtime/run_clientapp.py,sha256=VcgRgPhrefAFpcAMfwCFSVa3HJsrlca8PNmeJD0on-k,8668
368
368
  flwr/supernode/servicer/__init__.py,sha256=lucTzre5WPK7G1YLCfaqg3rbFWdNSb7ZTt-ca8gxdEo,717
369
369
  flwr/supernode/servicer/clientappio/__init__.py,sha256=7Oy62Y_oijqF7Dxi6tpcUQyOpLc_QpIRZ83NvwmB0Yg,813
370
- flwr/supernode/servicer/clientappio/clientappio_servicer.py,sha256=U-uAJ7Yd_BzEqhbpCSgEG9pxX5Zf4RuPVYKimYDvMbU,7176
370
+ flwr/supernode/servicer/clientappio/clientappio_servicer.py,sha256=OclO38I6NhKwM2ZnHz9NjrxW4RA4_v8M4GkLzsReG2c,9477
371
371
  flwr/supernode/start_client_internal.py,sha256=_ZqSfL_j4qn6Cg-P6sv3k_n1ZG62J_teokBxnWrXrPE,18772
372
- flwr_nightly-1.20.0.dev20250716.dist-info/METADATA,sha256=bp6v4He7vTM-vNpn-EKkSH-QXj2VZN62mGjFq5yWl7g,15966
373
- flwr_nightly-1.20.0.dev20250716.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
374
- flwr_nightly-1.20.0.dev20250716.dist-info/entry_points.txt,sha256=jNpDXGBGgs21RqUxelF_jwGaxtqFwm-MQyfz-ZqSjrA,367
375
- flwr_nightly-1.20.0.dev20250716.dist-info/RECORD,,
372
+ flwr_nightly-1.20.0.dev20250717.dist-info/METADATA,sha256=VlPfht2YzCaqiIBeDUy6f8p4AHm88CNaVCeEh8tGhMA,15966
373
+ flwr_nightly-1.20.0.dev20250717.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
374
+ flwr_nightly-1.20.0.dev20250717.dist-info/entry_points.txt,sha256=jNpDXGBGgs21RqUxelF_jwGaxtqFwm-MQyfz-ZqSjrA,367
375
+ flwr_nightly-1.20.0.dev20250717.dist-info/RECORD,,