flwr-nightly 1.15.0.dev20250129__py3-none-any.whl → 1.16.0.dev20250131__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/ls.py +3 -2
- flwr/cli/new/templates/app/README.md.tpl +3 -2
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +3 -3
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
- flwr/cli/stop.py +3 -2
- flwr/cli/utils.py +1 -1
- flwr/client/supernode/app.py +4 -28
- flwr/common/args.py +25 -47
- flwr/common/config.py +15 -2
- flwr/common/logger.py +10 -5
- flwr/proto/clientappio_pb2.py +3 -13
- flwr/proto/clientappio_pb2_grpc.py +12 -63
- flwr/proto/error_pb2.py +3 -13
- flwr/proto/error_pb2_grpc.py +0 -20
- flwr/proto/exec_pb2.py +5 -15
- flwr/proto/exec_pb2_grpc.py +24 -105
- flwr/proto/fab_pb2.py +3 -13
- flwr/proto/fab_pb2_grpc.py +0 -20
- flwr/proto/fleet_pb2.py +4 -14
- flwr/proto/fleet_pb2_grpc.py +28 -119
- flwr/proto/grpcadapter_pb2.py +4 -14
- flwr/proto/grpcadapter_pb2_grpc.py +4 -35
- flwr/proto/log_pb2.py +3 -13
- flwr/proto/log_pb2_grpc.py +0 -20
- flwr/proto/message_pb2.py +5 -15
- flwr/proto/message_pb2_grpc.py +0 -20
- flwr/proto/node_pb2.py +3 -13
- flwr/proto/node_pb2_grpc.py +0 -20
- flwr/proto/recordset_pb2.py +8 -18
- flwr/proto/recordset_pb2_grpc.py +0 -20
- flwr/proto/run_pb2.py +6 -16
- flwr/proto/run_pb2_grpc.py +0 -20
- flwr/proto/serverappio_pb2.py +26 -45
- flwr/proto/serverappio_pb2.pyi +0 -62
- flwr/proto/serverappio_pb2_grpc.py +47 -264
- flwr/proto/serverappio_pb2_grpc.pyi +7 -27
- flwr/proto/simulationio_pb2.py +3 -13
- flwr/proto/simulationio_pb2_grpc.py +24 -105
- flwr/proto/task_pb2.py +3 -13
- flwr/proto/task_pb2_grpc.py +0 -20
- flwr/proto/transport_pb2.py +10 -20
- flwr/proto/transport_pb2_grpc.py +4 -35
- flwr/server/app.py +3 -7
- flwr/server/superlink/driver/serverappio_servicer.py +0 -94
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.16.0.dev20250131.dist-info}/METADATA +3 -3
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.16.0.dev20250131.dist-info}/RECORD +56 -56
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.16.0.dev20250131.dist-info}/LICENSE +0 -0
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.16.0.dev20250131.dist-info}/WHEEL +0 -0
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.16.0.dev20250131.dist-info}/entry_points.txt +0 -0
@@ -1,31 +1,11 @@
|
|
1
1
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
3
3
|
import grpc
|
4
|
-
import warnings
|
5
4
|
|
6
5
|
from flwr.proto import log_pb2 as flwr_dot_proto_dot_log__pb2
|
7
6
|
from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
|
8
7
|
from flwr.proto import simulationio_pb2 as flwr_dot_proto_dot_simulationio__pb2
|
9
8
|
|
10
|
-
GRPC_GENERATED_VERSION = '1.69.0'
|
11
|
-
GRPC_VERSION = grpc.__version__
|
12
|
-
_version_not_supported = False
|
13
|
-
|
14
|
-
try:
|
15
|
-
from grpc._utilities import first_version_is_lower
|
16
|
-
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
17
|
-
except ImportError:
|
18
|
-
_version_not_supported = True
|
19
|
-
|
20
|
-
if _version_not_supported:
|
21
|
-
raise RuntimeError(
|
22
|
-
f'The grpc package installed is at version {GRPC_VERSION},'
|
23
|
-
+ f' but the generated code in flwr/proto/simulationio_pb2_grpc.py depends on'
|
24
|
-
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
25
|
-
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
26
|
-
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
27
|
-
)
|
28
|
-
|
29
9
|
|
30
10
|
class SimulationIoStub(object):
|
31
11
|
"""Missing associated documentation comment in .proto file."""
|
@@ -40,32 +20,32 @@ class SimulationIoStub(object):
|
|
40
20
|
'/flwr.proto.SimulationIo/PullSimulationInputs',
|
41
21
|
request_serializer=flwr_dot_proto_dot_simulationio__pb2.PullSimulationInputsRequest.SerializeToString,
|
42
22
|
response_deserializer=flwr_dot_proto_dot_simulationio__pb2.PullSimulationInputsResponse.FromString,
|
43
|
-
|
23
|
+
)
|
44
24
|
self.PushSimulationOutputs = channel.unary_unary(
|
45
25
|
'/flwr.proto.SimulationIo/PushSimulationOutputs',
|
46
26
|
request_serializer=flwr_dot_proto_dot_simulationio__pb2.PushSimulationOutputsRequest.SerializeToString,
|
47
27
|
response_deserializer=flwr_dot_proto_dot_simulationio__pb2.PushSimulationOutputsResponse.FromString,
|
48
|
-
|
28
|
+
)
|
49
29
|
self.UpdateRunStatus = channel.unary_unary(
|
50
30
|
'/flwr.proto.SimulationIo/UpdateRunStatus',
|
51
31
|
request_serializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
|
52
32
|
response_deserializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
|
53
|
-
|
33
|
+
)
|
54
34
|
self.PushLogs = channel.unary_unary(
|
55
35
|
'/flwr.proto.SimulationIo/PushLogs',
|
56
36
|
request_serializer=flwr_dot_proto_dot_log__pb2.PushLogsRequest.SerializeToString,
|
57
37
|
response_deserializer=flwr_dot_proto_dot_log__pb2.PushLogsResponse.FromString,
|
58
|
-
|
38
|
+
)
|
59
39
|
self.GetFederationOptions = channel.unary_unary(
|
60
40
|
'/flwr.proto.SimulationIo/GetFederationOptions',
|
61
41
|
request_serializer=flwr_dot_proto_dot_run__pb2.GetFederationOptionsRequest.SerializeToString,
|
62
42
|
response_deserializer=flwr_dot_proto_dot_run__pb2.GetFederationOptionsResponse.FromString,
|
63
|
-
|
43
|
+
)
|
64
44
|
self.GetRunStatus = channel.unary_unary(
|
65
45
|
'/flwr.proto.SimulationIo/GetRunStatus',
|
66
46
|
request_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
|
67
47
|
response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
|
68
|
-
|
48
|
+
)
|
69
49
|
|
70
50
|
|
71
51
|
class SimulationIoServicer(object):
|
@@ -150,7 +130,6 @@ def add_SimulationIoServicer_to_server(servicer, server):
|
|
150
130
|
generic_handler = grpc.method_handlers_generic_handler(
|
151
131
|
'flwr.proto.SimulationIo', rpc_method_handlers)
|
152
132
|
server.add_generic_rpc_handlers((generic_handler,))
|
153
|
-
server.add_registered_method_handlers('flwr.proto.SimulationIo', rpc_method_handlers)
|
154
133
|
|
155
134
|
|
156
135
|
# This class is part of an EXPERIMENTAL API.
|
@@ -168,21 +147,11 @@ class SimulationIo(object):
|
|
168
147
|
wait_for_ready=None,
|
169
148
|
timeout=None,
|
170
149
|
metadata=None):
|
171
|
-
return grpc.experimental.unary_unary(
|
172
|
-
request,
|
173
|
-
target,
|
174
|
-
'/flwr.proto.SimulationIo/PullSimulationInputs',
|
150
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.SimulationIo/PullSimulationInputs',
|
175
151
|
flwr_dot_proto_dot_simulationio__pb2.PullSimulationInputsRequest.SerializeToString,
|
176
152
|
flwr_dot_proto_dot_simulationio__pb2.PullSimulationInputsResponse.FromString,
|
177
|
-
options,
|
178
|
-
|
179
|
-
insecure,
|
180
|
-
call_credentials,
|
181
|
-
compression,
|
182
|
-
wait_for_ready,
|
183
|
-
timeout,
|
184
|
-
metadata,
|
185
|
-
_registered_method=True)
|
153
|
+
options, channel_credentials,
|
154
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
186
155
|
|
187
156
|
@staticmethod
|
188
157
|
def PushSimulationOutputs(request,
|
@@ -195,21 +164,11 @@ class SimulationIo(object):
|
|
195
164
|
wait_for_ready=None,
|
196
165
|
timeout=None,
|
197
166
|
metadata=None):
|
198
|
-
return grpc.experimental.unary_unary(
|
199
|
-
request,
|
200
|
-
target,
|
201
|
-
'/flwr.proto.SimulationIo/PushSimulationOutputs',
|
167
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.SimulationIo/PushSimulationOutputs',
|
202
168
|
flwr_dot_proto_dot_simulationio__pb2.PushSimulationOutputsRequest.SerializeToString,
|
203
169
|
flwr_dot_proto_dot_simulationio__pb2.PushSimulationOutputsResponse.FromString,
|
204
|
-
options,
|
205
|
-
|
206
|
-
insecure,
|
207
|
-
call_credentials,
|
208
|
-
compression,
|
209
|
-
wait_for_ready,
|
210
|
-
timeout,
|
211
|
-
metadata,
|
212
|
-
_registered_method=True)
|
170
|
+
options, channel_credentials,
|
171
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
213
172
|
|
214
173
|
@staticmethod
|
215
174
|
def UpdateRunStatus(request,
|
@@ -222,21 +181,11 @@ class SimulationIo(object):
|
|
222
181
|
wait_for_ready=None,
|
223
182
|
timeout=None,
|
224
183
|
metadata=None):
|
225
|
-
return grpc.experimental.unary_unary(
|
226
|
-
request,
|
227
|
-
target,
|
228
|
-
'/flwr.proto.SimulationIo/UpdateRunStatus',
|
184
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.SimulationIo/UpdateRunStatus',
|
229
185
|
flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
|
230
186
|
flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
|
231
|
-
options,
|
232
|
-
|
233
|
-
insecure,
|
234
|
-
call_credentials,
|
235
|
-
compression,
|
236
|
-
wait_for_ready,
|
237
|
-
timeout,
|
238
|
-
metadata,
|
239
|
-
_registered_method=True)
|
187
|
+
options, channel_credentials,
|
188
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
240
189
|
|
241
190
|
@staticmethod
|
242
191
|
def PushLogs(request,
|
@@ -249,21 +198,11 @@ class SimulationIo(object):
|
|
249
198
|
wait_for_ready=None,
|
250
199
|
timeout=None,
|
251
200
|
metadata=None):
|
252
|
-
return grpc.experimental.unary_unary(
|
253
|
-
request,
|
254
|
-
target,
|
255
|
-
'/flwr.proto.SimulationIo/PushLogs',
|
201
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.SimulationIo/PushLogs',
|
256
202
|
flwr_dot_proto_dot_log__pb2.PushLogsRequest.SerializeToString,
|
257
203
|
flwr_dot_proto_dot_log__pb2.PushLogsResponse.FromString,
|
258
|
-
options,
|
259
|
-
|
260
|
-
insecure,
|
261
|
-
call_credentials,
|
262
|
-
compression,
|
263
|
-
wait_for_ready,
|
264
|
-
timeout,
|
265
|
-
metadata,
|
266
|
-
_registered_method=True)
|
204
|
+
options, channel_credentials,
|
205
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
267
206
|
|
268
207
|
@staticmethod
|
269
208
|
def GetFederationOptions(request,
|
@@ -276,21 +215,11 @@ class SimulationIo(object):
|
|
276
215
|
wait_for_ready=None,
|
277
216
|
timeout=None,
|
278
217
|
metadata=None):
|
279
|
-
return grpc.experimental.unary_unary(
|
280
|
-
request,
|
281
|
-
target,
|
282
|
-
'/flwr.proto.SimulationIo/GetFederationOptions',
|
218
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.SimulationIo/GetFederationOptions',
|
283
219
|
flwr_dot_proto_dot_run__pb2.GetFederationOptionsRequest.SerializeToString,
|
284
220
|
flwr_dot_proto_dot_run__pb2.GetFederationOptionsResponse.FromString,
|
285
|
-
options,
|
286
|
-
|
287
|
-
insecure,
|
288
|
-
call_credentials,
|
289
|
-
compression,
|
290
|
-
wait_for_ready,
|
291
|
-
timeout,
|
292
|
-
metadata,
|
293
|
-
_registered_method=True)
|
221
|
+
options, channel_credentials,
|
222
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
294
223
|
|
295
224
|
@staticmethod
|
296
225
|
def GetRunStatus(request,
|
@@ -303,18 +232,8 @@ class SimulationIo(object):
|
|
303
232
|
wait_for_ready=None,
|
304
233
|
timeout=None,
|
305
234
|
metadata=None):
|
306
|
-
return grpc.experimental.unary_unary(
|
307
|
-
request,
|
308
|
-
target,
|
309
|
-
'/flwr.proto.SimulationIo/GetRunStatus',
|
235
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.SimulationIo/GetRunStatus',
|
310
236
|
flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
|
311
237
|
flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
|
312
|
-
options,
|
313
|
-
|
314
|
-
insecure,
|
315
|
-
call_credentials,
|
316
|
-
compression,
|
317
|
-
wait_for_ready,
|
318
|
-
timeout,
|
319
|
-
metadata,
|
320
|
-
_registered_method=True)
|
238
|
+
options, channel_credentials,
|
239
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
flwr/proto/task_pb2.py
CHANGED
@@ -1,22 +1,12 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
-
# NO CHECKED-IN PROTOBUF GENCODE
|
4
3
|
# source: flwr/proto/task.proto
|
5
|
-
# Protobuf Python Version:
|
4
|
+
# Protobuf Python Version: 4.25.1
|
6
5
|
"""Generated protocol buffer code."""
|
7
6
|
from google.protobuf import descriptor as _descriptor
|
8
7
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
9
|
-
from google.protobuf import runtime_version as _runtime_version
|
10
8
|
from google.protobuf import symbol_database as _symbol_database
|
11
9
|
from google.protobuf.internal import builder as _builder
|
12
|
-
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
|
-
_runtime_version.Domain.PUBLIC,
|
14
|
-
5,
|
15
|
-
29,
|
16
|
-
0,
|
17
|
-
'',
|
18
|
-
'flwr/proto/task.proto'
|
19
|
-
)
|
20
10
|
# @@protoc_insertion_point(imports)
|
21
11
|
|
22
12
|
_sym_db = _symbol_database.Default()
|
@@ -32,8 +22,8 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x66lwr/proto/
|
|
32
22
|
_globals = globals()
|
33
23
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
34
24
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.task_pb2', _globals)
|
35
|
-
if
|
36
|
-
DESCRIPTOR.
|
25
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
26
|
+
DESCRIPTOR._options = None
|
37
27
|
_globals['_TASK']._serialized_start=113
|
38
28
|
_globals['_TASK']._serialized_end=378
|
39
29
|
_globals['_TASKINS']._serialized_start=380
|
flwr/proto/task_pb2_grpc.py
CHANGED
@@ -1,24 +1,4 @@
|
|
1
1
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
3
3
|
import grpc
|
4
|
-
import warnings
|
5
4
|
|
6
|
-
|
7
|
-
GRPC_GENERATED_VERSION = '1.69.0'
|
8
|
-
GRPC_VERSION = grpc.__version__
|
9
|
-
_version_not_supported = False
|
10
|
-
|
11
|
-
try:
|
12
|
-
from grpc._utilities import first_version_is_lower
|
13
|
-
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
14
|
-
except ImportError:
|
15
|
-
_version_not_supported = True
|
16
|
-
|
17
|
-
if _version_not_supported:
|
18
|
-
raise RuntimeError(
|
19
|
-
f'The grpc package installed is at version {GRPC_VERSION},'
|
20
|
-
+ f' but the generated code in flwr/proto/task_pb2_grpc.py depends on'
|
21
|
-
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
22
|
-
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
23
|
-
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
24
|
-
)
|
flwr/proto/transport_pb2.py
CHANGED
@@ -1,22 +1,12 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
-
# NO CHECKED-IN PROTOBUF GENCODE
|
4
3
|
# source: flwr/proto/transport.proto
|
5
|
-
# Protobuf Python Version:
|
4
|
+
# Protobuf Python Version: 4.25.1
|
6
5
|
"""Generated protocol buffer code."""
|
7
6
|
from google.protobuf import descriptor as _descriptor
|
8
7
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
9
|
-
from google.protobuf import runtime_version as _runtime_version
|
10
8
|
from google.protobuf import symbol_database as _symbol_database
|
11
9
|
from google.protobuf.internal import builder as _builder
|
12
|
-
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
|
-
_runtime_version.Domain.PUBLIC,
|
14
|
-
5,
|
15
|
-
29,
|
16
|
-
0,
|
17
|
-
'',
|
18
|
-
'flwr/proto/transport.proto'
|
19
|
-
)
|
20
10
|
# @@protoc_insertion_point(imports)
|
21
11
|
|
22
12
|
_sym_db = _symbol_database.Default()
|
@@ -29,21 +19,21 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lwr/proto/
|
|
29
19
|
_globals = globals()
|
30
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
31
21
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.transport_pb2', _globals)
|
32
|
-
if
|
33
|
-
DESCRIPTOR.
|
34
|
-
_globals['_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY'].
|
22
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
23
|
+
DESCRIPTOR._options = None
|
24
|
+
_globals['_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY']._options = None
|
35
25
|
_globals['_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY']._serialized_options = b'8\001'
|
36
|
-
_globals['_SERVERMESSAGE_GETPARAMETERSINS_CONFIGENTRY'].
|
26
|
+
_globals['_SERVERMESSAGE_GETPARAMETERSINS_CONFIGENTRY']._options = None
|
37
27
|
_globals['_SERVERMESSAGE_GETPARAMETERSINS_CONFIGENTRY']._serialized_options = b'8\001'
|
38
|
-
_globals['_SERVERMESSAGE_FITINS_CONFIGENTRY'].
|
28
|
+
_globals['_SERVERMESSAGE_FITINS_CONFIGENTRY']._options = None
|
39
29
|
_globals['_SERVERMESSAGE_FITINS_CONFIGENTRY']._serialized_options = b'8\001'
|
40
|
-
_globals['_SERVERMESSAGE_EVALUATEINS_CONFIGENTRY'].
|
30
|
+
_globals['_SERVERMESSAGE_EVALUATEINS_CONFIGENTRY']._options = None
|
41
31
|
_globals['_SERVERMESSAGE_EVALUATEINS_CONFIGENTRY']._serialized_options = b'8\001'
|
42
|
-
_globals['_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY'].
|
32
|
+
_globals['_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY']._options = None
|
43
33
|
_globals['_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY']._serialized_options = b'8\001'
|
44
|
-
_globals['_CLIENTMESSAGE_FITRES_METRICSENTRY'].
|
34
|
+
_globals['_CLIENTMESSAGE_FITRES_METRICSENTRY']._options = None
|
45
35
|
_globals['_CLIENTMESSAGE_FITRES_METRICSENTRY']._serialized_options = b'8\001'
|
46
|
-
_globals['_CLIENTMESSAGE_EVALUATERES_METRICSENTRY'].
|
36
|
+
_globals['_CLIENTMESSAGE_EVALUATERES_METRICSENTRY']._options = None
|
47
37
|
_globals['_CLIENTMESSAGE_EVALUATERES_METRICSENTRY']._serialized_options = b'8\001'
|
48
38
|
_globals['_CODE']._serialized_start=2551
|
49
39
|
_globals['_CODE']._serialized_end=2692
|
flwr/proto/transport_pb2_grpc.py
CHANGED
@@ -1,29 +1,9 @@
|
|
1
1
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
3
3
|
import grpc
|
4
|
-
import warnings
|
5
4
|
|
6
5
|
from flwr.proto import transport_pb2 as flwr_dot_proto_dot_transport__pb2
|
7
6
|
|
8
|
-
GRPC_GENERATED_VERSION = '1.69.0'
|
9
|
-
GRPC_VERSION = grpc.__version__
|
10
|
-
_version_not_supported = False
|
11
|
-
|
12
|
-
try:
|
13
|
-
from grpc._utilities import first_version_is_lower
|
14
|
-
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
15
|
-
except ImportError:
|
16
|
-
_version_not_supported = True
|
17
|
-
|
18
|
-
if _version_not_supported:
|
19
|
-
raise RuntimeError(
|
20
|
-
f'The grpc package installed is at version {GRPC_VERSION},'
|
21
|
-
+ f' but the generated code in flwr/proto/transport_pb2_grpc.py depends on'
|
22
|
-
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
23
|
-
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
24
|
-
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
25
|
-
)
|
26
|
-
|
27
7
|
|
28
8
|
class FlowerServiceStub(object):
|
29
9
|
"""Missing associated documentation comment in .proto file."""
|
@@ -38,7 +18,7 @@ class FlowerServiceStub(object):
|
|
38
18
|
'/flwr.proto.FlowerService/Join',
|
39
19
|
request_serializer=flwr_dot_proto_dot_transport__pb2.ClientMessage.SerializeToString,
|
40
20
|
response_deserializer=flwr_dot_proto_dot_transport__pb2.ServerMessage.FromString,
|
41
|
-
|
21
|
+
)
|
42
22
|
|
43
23
|
|
44
24
|
class FlowerServiceServicer(object):
|
@@ -62,7 +42,6 @@ def add_FlowerServiceServicer_to_server(servicer, server):
|
|
62
42
|
generic_handler = grpc.method_handlers_generic_handler(
|
63
43
|
'flwr.proto.FlowerService', rpc_method_handlers)
|
64
44
|
server.add_generic_rpc_handlers((generic_handler,))
|
65
|
-
server.add_registered_method_handlers('flwr.proto.FlowerService', rpc_method_handlers)
|
66
45
|
|
67
46
|
|
68
47
|
# This class is part of an EXPERIMENTAL API.
|
@@ -80,18 +59,8 @@ class FlowerService(object):
|
|
80
59
|
wait_for_ready=None,
|
81
60
|
timeout=None,
|
82
61
|
metadata=None):
|
83
|
-
return grpc.experimental.stream_stream(
|
84
|
-
request_iterator,
|
85
|
-
target,
|
86
|
-
'/flwr.proto.FlowerService/Join',
|
62
|
+
return grpc.experimental.stream_stream(request_iterator, target, '/flwr.proto.FlowerService/Join',
|
87
63
|
flwr_dot_proto_dot_transport__pb2.ClientMessage.SerializeToString,
|
88
64
|
flwr_dot_proto_dot_transport__pb2.ServerMessage.FromString,
|
89
|
-
options,
|
90
|
-
|
91
|
-
insecure,
|
92
|
-
call_credentials,
|
93
|
-
compression,
|
94
|
-
wait_for_ready,
|
95
|
-
timeout,
|
96
|
-
metadata,
|
97
|
-
_registered_method=True)
|
65
|
+
options, channel_credentials,
|
66
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
flwr/server/app.py
CHANGED
@@ -265,7 +265,7 @@ def run_superlink() -> None:
|
|
265
265
|
simulationio_address, _, _ = _format_address(args.simulationio_api_address)
|
266
266
|
|
267
267
|
# Obtain certificates
|
268
|
-
certificates = try_obtain_server_certificates(args
|
268
|
+
certificates = try_obtain_server_certificates(args)
|
269
269
|
|
270
270
|
# Disable the user auth TLS check if args.disable_oidc_tls_cert_verification is
|
271
271
|
# provided
|
@@ -353,17 +353,13 @@ def run_superlink() -> None:
|
|
353
353
|
) is None:
|
354
354
|
flwr_exit(ExitCode.COMMON_MISSING_EXTRA_REST)
|
355
355
|
|
356
|
-
_, ssl_certfile, ssl_keyfile = (
|
357
|
-
certificates if certificates is not None else (None, None, None)
|
358
|
-
)
|
359
|
-
|
360
356
|
fleet_thread = threading.Thread(
|
361
357
|
target=_run_fleet_api_rest,
|
362
358
|
args=(
|
363
359
|
host,
|
364
360
|
port,
|
365
|
-
ssl_keyfile,
|
366
|
-
ssl_certfile,
|
361
|
+
args.ssl_keyfile,
|
362
|
+
args.ssl_certfile,
|
367
363
|
state_factory,
|
368
364
|
ffs_factory,
|
369
365
|
num_workers,
|
@@ -64,14 +64,10 @@ from flwr.proto.serverappio_pb2 import ( # pylint: disable=E0611
|
|
64
64
|
PullResMessagesResponse,
|
65
65
|
PullServerAppInputsRequest,
|
66
66
|
PullServerAppInputsResponse,
|
67
|
-
PullTaskResRequest,
|
68
|
-
PullTaskResResponse,
|
69
67
|
PushInsMessagesRequest,
|
70
68
|
PushInsMessagesResponse,
|
71
69
|
PushServerAppOutputsRequest,
|
72
70
|
PushServerAppOutputsResponse,
|
73
|
-
PushTaskInsRequest,
|
74
|
-
PushTaskInsResponse,
|
75
71
|
)
|
76
72
|
from flwr.proto.task_pb2 import TaskRes # pylint: disable=E0611
|
77
73
|
from flwr.server.superlink.ffs.ffs import Ffs
|
@@ -138,57 +134,6 @@ class ServerAppIoServicer(serverappio_pb2_grpc.ServerAppIoServicer):
|
|
138
134
|
)
|
139
135
|
return CreateRunResponse(run_id=run_id)
|
140
136
|
|
141
|
-
def PushTaskIns(
|
142
|
-
self, request: PushTaskInsRequest, context: grpc.ServicerContext
|
143
|
-
) -> PushTaskInsResponse:
|
144
|
-
"""Push a set of TaskIns."""
|
145
|
-
log(DEBUG, "ServerAppIoServicer.PushTaskIns")
|
146
|
-
|
147
|
-
# Init state
|
148
|
-
state: LinkState = self.state_factory.state()
|
149
|
-
|
150
|
-
# Abort if the run is not running
|
151
|
-
abort_if(
|
152
|
-
request.run_id,
|
153
|
-
[Status.PENDING, Status.STARTING, Status.FINISHED],
|
154
|
-
state,
|
155
|
-
context,
|
156
|
-
)
|
157
|
-
|
158
|
-
# Set pushed_at (timestamp in seconds)
|
159
|
-
pushed_at = now().timestamp()
|
160
|
-
for task_ins in request.task_ins_list:
|
161
|
-
task_ins.task.pushed_at = pushed_at
|
162
|
-
|
163
|
-
# Validate request
|
164
|
-
_raise_if(
|
165
|
-
validation_error=len(request.task_ins_list) == 0,
|
166
|
-
request_name="PushTaskIns",
|
167
|
-
detail="`task_ins_list` must not be empty",
|
168
|
-
)
|
169
|
-
for task_ins in request.task_ins_list:
|
170
|
-
validation_errors = validate_task_ins_or_res(task_ins)
|
171
|
-
_raise_if(
|
172
|
-
validation_error=bool(validation_errors),
|
173
|
-
request_name="PushTaskIns",
|
174
|
-
detail=", ".join(validation_errors),
|
175
|
-
)
|
176
|
-
_raise_if(
|
177
|
-
validation_error=request.run_id != task_ins.run_id,
|
178
|
-
request_name="PushTaskIns",
|
179
|
-
detail="`task_ins` has mismatched `run_id`",
|
180
|
-
)
|
181
|
-
|
182
|
-
# Store each TaskIns
|
183
|
-
task_ids: list[Optional[UUID]] = []
|
184
|
-
for task_ins in request.task_ins_list:
|
185
|
-
task_id: Optional[UUID] = state.store_task_ins(task_ins=task_ins)
|
186
|
-
task_ids.append(task_id)
|
187
|
-
|
188
|
-
return PushTaskInsResponse(
|
189
|
-
task_ids=[str(task_id) if task_id else "" for task_id in task_ids]
|
190
|
-
)
|
191
|
-
|
192
137
|
def PushMessages(
|
193
138
|
self, request: PushInsMessagesRequest, context: grpc.ServicerContext
|
194
139
|
) -> PushInsMessagesResponse:
|
@@ -242,45 +187,6 @@ class ServerAppIoServicer(serverappio_pb2_grpc.ServerAppIoServicer):
|
|
242
187
|
]
|
243
188
|
)
|
244
189
|
|
245
|
-
def PullTaskRes(
|
246
|
-
self, request: PullTaskResRequest, context: grpc.ServicerContext
|
247
|
-
) -> PullTaskResResponse:
|
248
|
-
"""Pull a set of TaskRes."""
|
249
|
-
log(DEBUG, "ServerAppIoServicer.PullTaskRes")
|
250
|
-
|
251
|
-
# Init state
|
252
|
-
state: LinkState = self.state_factory.state()
|
253
|
-
|
254
|
-
# Abort if the run is not running
|
255
|
-
abort_if(
|
256
|
-
request.run_id,
|
257
|
-
[Status.PENDING, Status.STARTING, Status.FINISHED],
|
258
|
-
state,
|
259
|
-
context,
|
260
|
-
)
|
261
|
-
|
262
|
-
# Convert each task_id str to UUID
|
263
|
-
task_ids: set[UUID] = {UUID(task_id) for task_id in request.task_ids}
|
264
|
-
|
265
|
-
# Read from state
|
266
|
-
task_res_list: list[TaskRes] = state.get_task_res(task_ids=task_ids)
|
267
|
-
|
268
|
-
# Validate request
|
269
|
-
for task_res in task_res_list:
|
270
|
-
_raise_if(
|
271
|
-
validation_error=request.run_id != task_res.run_id,
|
272
|
-
request_name="PullTaskRes",
|
273
|
-
detail="`task_res` has mismatched `run_id`",
|
274
|
-
)
|
275
|
-
|
276
|
-
# Delete the TaskIns/TaskRes pairs if TaskRes is found
|
277
|
-
task_ins_ids_to_delete = {
|
278
|
-
UUID(task_res.task.ancestry[0]) for task_res in task_res_list
|
279
|
-
}
|
280
|
-
state.delete_tasks(task_ins_ids=task_ins_ids_to_delete)
|
281
|
-
|
282
|
-
return PullTaskResResponse(task_res_list=task_res_list)
|
283
|
-
|
284
190
|
def PullMessages(
|
285
191
|
self, request: PullResMessagesRequest, context: grpc.ServicerContext
|
286
192
|
) -> PullResMessagesResponse:
|
{flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.16.0.dev20250131.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: flwr-nightly
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.16.0.dev20250131
|
4
4
|
Summary: Flower: A Friendly Federated AI Framework
|
5
5
|
Home-page: https://flower.ai
|
6
6
|
License: Apache-2.0
|
@@ -33,11 +33,11 @@ Classifier: Typing :: Typed
|
|
33
33
|
Provides-Extra: rest
|
34
34
|
Provides-Extra: simulation
|
35
35
|
Requires-Dist: cryptography (>=43.0.1,<44.0.0)
|
36
|
-
Requires-Dist: grpcio (>=1.
|
36
|
+
Requires-Dist: grpcio (>=1.62.3,<2.0.0,!=1.65.0)
|
37
37
|
Requires-Dist: iterators (>=0.0.2,<0.0.3)
|
38
38
|
Requires-Dist: numpy (>=1.26.0,<3.0.0)
|
39
39
|
Requires-Dist: pathspec (>=0.12.1,<0.13.0)
|
40
|
-
Requires-Dist: protobuf (>=
|
40
|
+
Requires-Dist: protobuf (>=4.21.6,<5.0.0)
|
41
41
|
Requires-Dist: pycryptodome (>=3.18.0,<4.0.0)
|
42
42
|
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
43
43
|
Requires-Dist: ray (==2.10.0) ; (python_version >= "3.9" and python_version < "3.12") and (extra == "simulation")
|