flwr-nightly 1.26.0.dev20260130__py3-none-any.whl → 1.26.0.dev20260202__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.
- flwr/cli/run/run.py +19 -2
- flwr/cli/utils.py +2 -1
- flwr/proto/clientappio_pb2.py +2 -2
- flwr/proto/clientappio_pb2_grpc.py +104 -88
- flwr/proto/clientappio_pb2_grpc.pyi +140 -80
- flwr/proto/serverappio_pb2.py +1 -1
- flwr/proto/serverappio_pb2_grpc.py +177 -157
- flwr/proto/serverappio_pb2_grpc.pyi +222 -147
- flwr/proto/simulationio_pb2.py +1 -1
- flwr/proto/simulationio_pb2_grpc.py +80 -64
- flwr/proto/simulationio_pb2_grpc.pyi +112 -52
- flwr/supernode/runtime/run_clientapp.py +12 -12
- flwr/supernode/servicer/clientappio/clientappio_servicer.py +4 -4
- {flwr_nightly-1.26.0.dev20260130.dist-info → flwr_nightly-1.26.0.dev20260202.dist-info}/METADATA +5 -5
- {flwr_nightly-1.26.0.dev20260130.dist-info → flwr_nightly-1.26.0.dev20260202.dist-info}/RECORD +17 -17
- {flwr_nightly-1.26.0.dev20260130.dist-info → flwr_nightly-1.26.0.dev20260202.dist-info}/WHEEL +0 -0
- {flwr_nightly-1.26.0.dev20260130.dist-info → flwr_nightly-1.26.0.dev20260202.dist-info}/entry_points.txt +0 -0
|
@@ -110,7 +110,7 @@ def run_clientapp( # pylint: disable=R0913, R0914, R0917
|
|
|
110
110
|
heartbeat_sender.start()
|
|
111
111
|
|
|
112
112
|
# Pull Message, Context, Run and (optional) FAB from SuperNode
|
|
113
|
-
message, context, run, fab =
|
|
113
|
+
message, context, run, fab = pull_appinputs(stub=stub, token=token)
|
|
114
114
|
|
|
115
115
|
try:
|
|
116
116
|
|
|
@@ -152,7 +152,7 @@ def run_clientapp( # pylint: disable=R0913, R0914, R0917
|
|
|
152
152
|
reply_message = Message(Error(code=e_code, reason=reason), reply_to=message)
|
|
153
153
|
|
|
154
154
|
# Push Message and Context to SuperNode
|
|
155
|
-
_ =
|
|
155
|
+
_ = push_appoutputs(
|
|
156
156
|
stub=stub, token=token, message=reply_message, context=context
|
|
157
157
|
)
|
|
158
158
|
|
|
@@ -165,15 +165,15 @@ def run_clientapp( # pylint: disable=R0913, R0914, R0917
|
|
|
165
165
|
)
|
|
166
166
|
|
|
167
167
|
|
|
168
|
-
def
|
|
168
|
+
def pull_appinputs(
|
|
169
169
|
stub: ClientAppIoStub, token: str
|
|
170
170
|
) -> tuple[Message, Context, Run, Fab | None]:
|
|
171
|
-
"""Pull
|
|
171
|
+
"""Pull AppInputs from SuperNode."""
|
|
172
172
|
masked_token = mask_string(token)
|
|
173
|
-
log(INFO, "[flwr-clientapp] Pull `
|
|
173
|
+
log(INFO, "[flwr-clientapp] Pull `AppInputs` for token %s", masked_token)
|
|
174
174
|
try:
|
|
175
175
|
# Pull Context, Run and (optional) FAB
|
|
176
|
-
res: PullAppInputsResponse = stub.
|
|
176
|
+
res: PullAppInputsResponse = stub.PullAppInputs(
|
|
177
177
|
PullAppInputsRequest(token=token)
|
|
178
178
|
)
|
|
179
179
|
context = context_from_proto(res.context)
|
|
@@ -201,16 +201,16 @@ def pull_clientappinputs(
|
|
|
201
201
|
message.metadata.__dict__["_message_id"] = object_tree.object_id
|
|
202
202
|
return message, context, run, fab
|
|
203
203
|
except grpc.RpcError as e:
|
|
204
|
-
log(ERROR, "[
|
|
204
|
+
log(ERROR, "[PullAppInputs] gRPC error occurred: %s", str(e))
|
|
205
205
|
raise e
|
|
206
206
|
|
|
207
207
|
|
|
208
|
-
def
|
|
208
|
+
def push_appoutputs(
|
|
209
209
|
stub: ClientAppIoStub, token: str, message: Message, context: Context
|
|
210
210
|
) -> PushAppOutputsResponse:
|
|
211
|
-
"""Push
|
|
211
|
+
"""Push AppOutputs to SuperNode."""
|
|
212
212
|
masked_token = mask_string(token)
|
|
213
|
-
log(INFO, "[flwr-clientapp] Push `
|
|
213
|
+
log(INFO, "[flwr-clientapp] Push `AppOutputs` for token %s", masked_token)
|
|
214
214
|
# Set message ID
|
|
215
215
|
message.metadata.__dict__["_message_id"] = message.object_id
|
|
216
216
|
proto_message = message_to_proto(remove_content_from_message(message))
|
|
@@ -250,10 +250,10 @@ def push_clientappoutputs(
|
|
|
250
250
|
)
|
|
251
251
|
|
|
252
252
|
# Push Context
|
|
253
|
-
res: PushAppOutputsResponse = stub.
|
|
253
|
+
res: PushAppOutputsResponse = stub.PushAppOutputs(
|
|
254
254
|
PushAppOutputsRequest(token=token, context=proto_context)
|
|
255
255
|
)
|
|
256
256
|
return res
|
|
257
257
|
except grpc.RpcError as e:
|
|
258
|
-
log(ERROR, "[
|
|
258
|
+
log(ERROR, "[PushAppOutputs] gRPC error occurred: %s", str(e))
|
|
259
259
|
raise e
|
|
@@ -129,11 +129,11 @@ class ClientAppIoServicer(clientappio_pb2_grpc.ClientAppIoServicer):
|
|
|
129
129
|
|
|
130
130
|
return GetRunResponse(run=run_to_proto(run))
|
|
131
131
|
|
|
132
|
-
def
|
|
132
|
+
def PullAppInputs(
|
|
133
133
|
self, request: PullAppInputsRequest, context: grpc.ServicerContext
|
|
134
134
|
) -> PullAppInputsResponse:
|
|
135
135
|
"""Pull Message, Context, and Run."""
|
|
136
|
-
log(DEBUG, "ClientAppIo.
|
|
136
|
+
log(DEBUG, "ClientAppIo.PullAppInputs")
|
|
137
137
|
|
|
138
138
|
# Initialize state and ffs connection
|
|
139
139
|
state = self.state_factory.state()
|
|
@@ -176,11 +176,11 @@ class ClientAppIoServicer(clientappio_pb2_grpc.ClientAppIoServicer):
|
|
|
176
176
|
fab=fab_to_proto(fab),
|
|
177
177
|
)
|
|
178
178
|
|
|
179
|
-
def
|
|
179
|
+
def PushAppOutputs(
|
|
180
180
|
self, request: PushAppOutputsRequest, context: grpc.ServicerContext
|
|
181
181
|
) -> PushAppOutputsResponse:
|
|
182
182
|
"""Push Message and Context."""
|
|
183
|
-
log(DEBUG, "ClientAppIo.
|
|
183
|
+
log(DEBUG, "ClientAppIo.PushAppOutputs")
|
|
184
184
|
|
|
185
185
|
# Initialize state connection
|
|
186
186
|
state = self.state_factory.state()
|
{flwr_nightly-1.26.0.dev20260130.dist-info → flwr_nightly-1.26.0.dev20260202.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: flwr-nightly
|
|
3
|
-
Version: 1.26.0.
|
|
3
|
+
Version: 1.26.0.dev20260202
|
|
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
|
|
@@ -32,7 +32,7 @@ Provides-Extra: rest
|
|
|
32
32
|
Provides-Extra: simulation
|
|
33
33
|
Requires-Dist: SQLAlchemy (>=2.0.45,<3.0.0)
|
|
34
34
|
Requires-Dist: alembic (>=1.18.1,<2.0.0)
|
|
35
|
-
Requires-Dist: click (
|
|
35
|
+
Requires-Dist: click (>=8.0.0,<9.0.0)
|
|
36
36
|
Requires-Dist: cryptography (>=44.0.1,<45.0.0)
|
|
37
37
|
Requires-Dist: grpcio (>=1.70.0,<2.0.0)
|
|
38
38
|
Requires-Dist: grpcio-health-checking (>=1.70.0,<2.0.0)
|
|
@@ -46,11 +46,11 @@ Requires-Dist: ray (==2.51.1) ; (python_version >= "3.10" and python_version < "
|
|
|
46
46
|
Requires-Dist: ray (==2.51.1) ; (sys_platform != "win32" and python_version == "3.13") and (extra == "simulation")
|
|
47
47
|
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
|
48
48
|
Requires-Dist: rich (>=13.5.0,<14.0.0)
|
|
49
|
-
Requires-Dist: starlette (>=0.
|
|
49
|
+
Requires-Dist: starlette (>=0.50.0,<0.51.0) ; extra == "rest"
|
|
50
50
|
Requires-Dist: tomli (>=2.0.1,<3.0.0)
|
|
51
51
|
Requires-Dist: tomli-w (>=1.0.0,<2.0.0)
|
|
52
52
|
Requires-Dist: typer (>=0.12.5,<0.21.0)
|
|
53
|
-
Requires-Dist: uvicorn[standard] (>=0.
|
|
53
|
+
Requires-Dist: uvicorn[standard] (>=0.40.0,<0.41.0) ; extra == "rest"
|
|
54
54
|
Project-URL: Documentation, https://flower.ai
|
|
55
55
|
Project-URL: Homepage, https://flower.ai
|
|
56
56
|
Project-URL: Repository, https://github.com/adap/flower
|
|
@@ -67,7 +67,7 @@ Description-Content-Type: text/markdown
|
|
|
67
67
|
<a href="https://flower.ai/">Website</a> |
|
|
68
68
|
<a href="https://flower.ai/blog">Blog</a> |
|
|
69
69
|
<a href="https://flower.ai/docs/">Docs</a> |
|
|
70
|
-
<a href="https://flower.ai/events/flower-ai-summit-
|
|
70
|
+
<a href="https://flower.ai/events/flower-ai-summit-2026">Summit</a> |
|
|
71
71
|
<a href="https://flower.ai/join-slack">Slack</a>
|
|
72
72
|
<br /><br />
|
|
73
73
|
</p>
|
{flwr_nightly-1.26.0.dev20260130.dist-info → flwr_nightly-1.26.0.dev20260202.dist-info}/RECORD
RENAMED
|
@@ -34,7 +34,7 @@ flwr/cli/new/__init__.py,sha256=QA1E2QtzPvFCjLTUHnFnJbufuFiGyT_0Y53Wpbvg1F0,790
|
|
|
34
34
|
flwr/cli/new/new.py,sha256=15phs5dhEpo7ORs7uulGzHWtW9W5ZGn0EKFE_T5WXb8,7829
|
|
35
35
|
flwr/cli/pull.py,sha256=XzBvLrdYGrSCuky5OoCEU4V9UR9QlyZMT7Tj-W6wSw0,2946
|
|
36
36
|
flwr/cli/run/__init__.py,sha256=RPyB7KbYTFl6YRiilCch6oezxrLQrl1kijV7BMGkLbA,790
|
|
37
|
-
flwr/cli/run/run.py,sha256=
|
|
37
|
+
flwr/cli/run/run.py,sha256=4TnkVR6k921F3p198Avdh7qVs0IUt_NcUsInlhV6NUI,9355
|
|
38
38
|
flwr/cli/run_utils.py,sha256=ZnlBOqFfRxVEPZKR_9zYrynNcohiCFY8QN6OFyOCrQs,5082
|
|
39
39
|
flwr/cli/stop.py,sha256=c5e2gTumMT6pKr7ESIXZ-IbLY6fEOfWbkesvQeAfaSQ,3934
|
|
40
40
|
flwr/cli/supernode/__init__.py,sha256=DBkjoPo2hS2Y-ghJxwLbrAbCQFBgD82_Itl2_892UBo,917
|
|
@@ -42,7 +42,7 @@ flwr/cli/supernode/ls.py,sha256=mmpwIpwp5YZSdq3gDlv0h8QpKoMBgZWrMrvJm_ltiRw,7594
|
|
|
42
42
|
flwr/cli/supernode/register.py,sha256=HzgJ1Q8Mlx7oJE-2kRLbIX2OrQP7wM0IeywirLqyz9Y,4724
|
|
43
43
|
flwr/cli/supernode/unregister.py,sha256=ha8-oTXA4NW8xHLyQPHn-e0f7-9bF2QyjXxUD299O6s,2938
|
|
44
44
|
flwr/cli/typing.py,sha256=xGAIv9mAVzs6UXapzu4i8bQ-MckzHMSihtLcnu5SWGU,7562
|
|
45
|
-
flwr/cli/utils.py,sha256=
|
|
45
|
+
flwr/cli/utils.py,sha256=JiKK7PqNHDUERdhaDPEHNcp2rELthS3GWGBPqwwM02c,17337
|
|
46
46
|
flwr/client/__init__.py,sha256=xwkPJfdeWxIIfmiPE5vnmnY_JbTlErP0Qs9eBP6qRFg,1252
|
|
47
47
|
flwr/client/client.py,sha256=3HAchxvknKG9jYbB7swNyDj-e5vUWDuMKoLvbT7jCVM,7895
|
|
48
48
|
flwr/client/dpfedavg_numpy_client.py,sha256=ELDHyEJcTB-FlLhHC-JXy8HuB3ZFHfT0HL3g1VSWY5w,7451
|
|
@@ -135,10 +135,10 @@ flwr/proto/appio_pb2.py,sha256=GhleCmuqLiDqvumA0qgVl37NTwuan_K_XpUKStXZxwU,4274
|
|
|
135
135
|
flwr/proto/appio_pb2.pyi,sha256=pbrd1mRg0q7mbGqkJYYX1-GwzhiSnuZpjrAJU5im0Og,9512
|
|
136
136
|
flwr/proto/appio_pb2_grpc.py,sha256=f8jZU97X0SNIz4PQ9qj43yAhgVzmaGInItUCOAGZ7tU,897
|
|
137
137
|
flwr/proto/appio_pb2_grpc.pyi,sha256=M-7_sdP1mjiKKC4o13hXUx5sEnX3BXSIXgovr9tNVCg,1071
|
|
138
|
-
flwr/proto/clientappio_pb2.py,sha256=
|
|
138
|
+
flwr/proto/clientappio_pb2.py,sha256=kFTbDt-0TUeqF2rqNapoWQwTWu5IHeOMCQP0ZNr3EE8,2905
|
|
139
139
|
flwr/proto/clientappio_pb2.pyi,sha256=OsUGEduv1iJCew8C4cMz87Y5uQAhHDmxNyVfwA4kXd8,824
|
|
140
|
-
flwr/proto/clientappio_pb2_grpc.py,sha256=
|
|
141
|
-
flwr/proto/clientappio_pb2_grpc.pyi,sha256=
|
|
140
|
+
flwr/proto/clientappio_pb2_grpc.py,sha256=Wv9zKVk2h84OF3NPFsIJMUzf8T6lTApkzv8cTJ9TPtk,22814
|
|
141
|
+
flwr/proto/clientappio_pb2_grpc.pyi,sha256=gJZJf9Ol0WeX0Kvsv6TEWwK5MDut-OyrfhvsU6HNKFU,12008
|
|
142
142
|
flwr/proto/control_pb2.py,sha256=RSrFkLnCxmrW9HXv8Qj2H7_34568HU9uKe9D23uPnBE,9231
|
|
143
143
|
flwr/proto/control_pb2.pyi,sha256=tTdf9mOD_rrN96l9uh8rBPc1-sTGHOdiAhtIY9mGtZc,16528
|
|
144
144
|
flwr/proto/control_pb2_grpc.py,sha256=XDGrK2tIT_AcopBnygjddXZRdBTtxP29q-9mK63PsP4,23321
|
|
@@ -187,14 +187,14 @@ flwr/proto/run_pb2.py,sha256=8tQDMyiBjw_-S6jiJpFd_-dDrMq9ZhyPyWwnmFu3qek,5101
|
|
|
187
187
|
flwr/proto/run_pb2.pyi,sha256=t42qPzJTY1GVUUrkdIjdoPfAKlsXlUw9A8vBpwgbHsI,10852
|
|
188
188
|
flwr/proto/run_pb2_grpc.py,sha256=l5u1Ww6JxVLVN784Z2OQbkQ-tAf5yYGh6QbNDc4F5II,895
|
|
189
189
|
flwr/proto/run_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
|
|
190
|
-
flwr/proto/serverappio_pb2.py,sha256=
|
|
190
|
+
flwr/proto/serverappio_pb2.py,sha256=bxKnIXI_kawwqsOZm4E54OFZOTnOTTBu6LTxRvOqHfA,4045
|
|
191
191
|
flwr/proto/serverappio_pb2.pyi,sha256=KpVM8B_O0M3RFJ-DtnNlQapJs4V-7pHcdEb2G3ECbhE,1998
|
|
192
|
-
flwr/proto/serverappio_pb2_grpc.py,sha256=
|
|
193
|
-
flwr/proto/serverappio_pb2_grpc.pyi,sha256=
|
|
194
|
-
flwr/proto/simulationio_pb2.py,sha256=
|
|
192
|
+
flwr/proto/serverappio_pb2_grpc.py,sha256=gV_xKQ34HPakn7tMf7q_tixinC6oGcNbUNpeX0O295s,32111
|
|
193
|
+
flwr/proto/serverappio_pb2_grpc.pyi,sha256=gh_rj31Xt2qU7OOlCnG-PiRdcm34N7nfSLOHHBVFD1U,16274
|
|
194
|
+
flwr/proto/simulationio_pb2.py,sha256=WZ7fqvwPdayfgH8UZPdkhQwMtEWcTm0t_h9a9srrSBQ,2787
|
|
195
195
|
flwr/proto/simulationio_pb2.pyi,sha256=OsUGEduv1iJCew8C4cMz87Y5uQAhHDmxNyVfwA4kXd8,824
|
|
196
|
-
flwr/proto/simulationio_pb2_grpc.py,sha256=
|
|
197
|
-
flwr/proto/simulationio_pb2_grpc.pyi,sha256=
|
|
196
|
+
flwr/proto/simulationio_pb2_grpc.py,sha256=w4m6I4c1Nda_UoQzKnkuiT86QZdMF0Tvpbsw59nMJt4,20980
|
|
197
|
+
flwr/proto/simulationio_pb2_grpc.pyi,sha256=39OGkOU_ClHjr4Dmorhatn3ILwLIKxXQqp-LR0pYDB8,11286
|
|
198
198
|
flwr/proto/transport_pb2.py,sha256=xqDF2oI0PzAndH17O80SQkyOT_QF9m7CQ0166He7UDQ,10122
|
|
199
199
|
flwr/proto/transport_pb2.pyi,sha256=A-AzbyDAyp4hzJCuC6MOA1NewkFmtuhPwFCjPKqQP0Q,22450
|
|
200
200
|
flwr/proto/transport_pb2_grpc.py,sha256=jYsbV3KYdp4TaNfWxv3ljFEvB-Yjsa8MIPtTH-vVPPk,3600
|
|
@@ -403,12 +403,12 @@ flwr/supernode/nodestate/in_memory_nodestate.py,sha256=DBhpDsPmitkOr86pW78_0aiG_
|
|
|
403
403
|
flwr/supernode/nodestate/nodestate.py,sha256=RWrsHS1nndK67-T6YSmi85qRb_t_wM7fjLb16YS-87Y,6217
|
|
404
404
|
flwr/supernode/nodestate/nodestate_factory.py,sha256=i-1cv42R9LBM1nyasTHuTHSqlyJxVSRtUK2BMzqT-Ss,1631
|
|
405
405
|
flwr/supernode/runtime/__init__.py,sha256=JQdqd2EMTn-ORMeTvewYYh52ls0YKP68jrps1qioxu4,718
|
|
406
|
-
flwr/supernode/runtime/run_clientapp.py,sha256=
|
|
406
|
+
flwr/supernode/runtime/run_clientapp.py,sha256=cNcaOjgEXLNDFhfYS6auOcdsgj-nmwfuIwfoEtVDRpM,9385
|
|
407
407
|
flwr/supernode/servicer/__init__.py,sha256=lucTzre5WPK7G1YLCfaqg3rbFWdNSb7ZTt-ca8gxdEo,717
|
|
408
408
|
flwr/supernode/servicer/clientappio/__init__.py,sha256=7Oy62Y_oijqF7Dxi6tpcUQyOpLc_QpIRZ83NvwmB0Yg,813
|
|
409
|
-
flwr/supernode/servicer/clientappio/clientappio_servicer.py,sha256=
|
|
409
|
+
flwr/supernode/servicer/clientappio/clientappio_servicer.py,sha256=5TOp0SelGqiWzRHfhYpoKzUd7EuVTqt5_PXvnUy7_Ok,11615
|
|
410
410
|
flwr/supernode/start_client_internal.py,sha256=3MkeDiWZr-SsvACuuAxJi8nYw6GYNKOO6q8b36E3R9k,26250
|
|
411
|
-
flwr_nightly-1.26.0.
|
|
412
|
-
flwr_nightly-1.26.0.
|
|
413
|
-
flwr_nightly-1.26.0.
|
|
414
|
-
flwr_nightly-1.26.0.
|
|
411
|
+
flwr_nightly-1.26.0.dev20260202.dist-info/METADATA,sha256=8Sr3guZBXfUanQ4QBQgIZ7wW-E07pmguQGAUXwTPx1E,14447
|
|
412
|
+
flwr_nightly-1.26.0.dev20260202.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
413
|
+
flwr_nightly-1.26.0.dev20260202.dist-info/entry_points.txt,sha256=hxHD2ixb_vJFDOlZV-zB4Ao32_BQlL34ftsDh1GXv14,420
|
|
414
|
+
flwr_nightly-1.26.0.dev20260202.dist-info/RECORD,,
|
{flwr_nightly-1.26.0.dev20260130.dist-info → flwr_nightly-1.26.0.dev20260202.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|