flwr-nightly 1.15.0.dev20250104__py3-none-any.whl → 1.15.0.dev20250123__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.
Files changed (98) hide show
  1. flwr/cli/cli_user_auth_interceptor.py +6 -2
  2. flwr/cli/config_utils.py +23 -146
  3. flwr/cli/constant.py +27 -0
  4. flwr/cli/install.py +1 -1
  5. flwr/cli/log.py +17 -2
  6. flwr/cli/login/login.py +20 -5
  7. flwr/cli/ls.py +10 -2
  8. flwr/cli/run/run.py +20 -10
  9. flwr/cli/stop.py +9 -1
  10. flwr/cli/utils.py +4 -4
  11. flwr/client/app.py +36 -48
  12. flwr/client/clientapp/app.py +4 -6
  13. flwr/client/clientapp/utils.py +1 -1
  14. flwr/client/grpc_client/connection.py +0 -6
  15. flwr/client/grpc_rere_client/client_interceptor.py +19 -119
  16. flwr/client/grpc_rere_client/connection.py +34 -24
  17. flwr/client/grpc_rere_client/grpc_adapter.py +16 -0
  18. flwr/client/rest_client/connection.py +34 -26
  19. flwr/client/supernode/app.py +14 -20
  20. flwr/common/auth_plugin/auth_plugin.py +34 -23
  21. flwr/common/config.py +152 -15
  22. flwr/common/constant.py +11 -8
  23. flwr/common/exit/__init__.py +24 -0
  24. flwr/common/exit/exit.py +99 -0
  25. flwr/common/exit/exit_code.py +93 -0
  26. flwr/common/exit_handlers.py +24 -10
  27. flwr/common/grpc.py +161 -3
  28. flwr/common/logger.py +1 -1
  29. flwr/common/secure_aggregation/crypto/symmetric_encryption.py +45 -0
  30. flwr/common/serde.py +6 -4
  31. flwr/common/typing.py +20 -0
  32. flwr/proto/clientappio_pb2.py +13 -3
  33. flwr/proto/clientappio_pb2_grpc.py +63 -12
  34. flwr/proto/error_pb2.py +13 -3
  35. flwr/proto/error_pb2_grpc.py +20 -0
  36. flwr/proto/exec_pb2.py +27 -29
  37. flwr/proto/exec_pb2.pyi +27 -54
  38. flwr/proto/exec_pb2_grpc.py +105 -24
  39. flwr/proto/fab_pb2.py +13 -3
  40. flwr/proto/fab_pb2_grpc.py +20 -0
  41. flwr/proto/fleet_pb2.py +54 -31
  42. flwr/proto/fleet_pb2.pyi +84 -0
  43. flwr/proto/fleet_pb2_grpc.py +207 -28
  44. flwr/proto/fleet_pb2_grpc.pyi +26 -0
  45. flwr/proto/grpcadapter_pb2.py +14 -4
  46. flwr/proto/grpcadapter_pb2_grpc.py +35 -4
  47. flwr/proto/log_pb2.py +13 -3
  48. flwr/proto/log_pb2_grpc.py +20 -0
  49. flwr/proto/message_pb2.py +15 -5
  50. flwr/proto/message_pb2_grpc.py +20 -0
  51. flwr/proto/node_pb2.py +15 -5
  52. flwr/proto/node_pb2.pyi +1 -4
  53. flwr/proto/node_pb2_grpc.py +20 -0
  54. flwr/proto/recordset_pb2.py +18 -8
  55. flwr/proto/recordset_pb2_grpc.py +20 -0
  56. flwr/proto/run_pb2.py +16 -6
  57. flwr/proto/run_pb2_grpc.py +20 -0
  58. flwr/proto/serverappio_pb2.py +32 -14
  59. flwr/proto/serverappio_pb2.pyi +56 -0
  60. flwr/proto/serverappio_pb2_grpc.py +261 -44
  61. flwr/proto/serverappio_pb2_grpc.pyi +20 -0
  62. flwr/proto/simulationio_pb2.py +13 -3
  63. flwr/proto/simulationio_pb2_grpc.py +105 -24
  64. flwr/proto/task_pb2.py +13 -3
  65. flwr/proto/task_pb2_grpc.py +20 -0
  66. flwr/proto/transport_pb2.py +20 -10
  67. flwr/proto/transport_pb2_grpc.py +35 -4
  68. flwr/server/app.py +87 -38
  69. flwr/server/compat/app_utils.py +0 -1
  70. flwr/server/compat/driver_client_proxy.py +1 -2
  71. flwr/server/driver/grpc_driver.py +5 -2
  72. flwr/server/driver/inmemory_driver.py +2 -1
  73. flwr/server/serverapp/app.py +5 -6
  74. flwr/server/superlink/driver/serverappio_grpc.py +1 -1
  75. flwr/server/superlink/driver/serverappio_servicer.py +132 -14
  76. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +20 -88
  77. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +2 -165
  78. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +38 -0
  79. flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +95 -168
  80. flwr/server/superlink/fleet/message_handler/message_handler.py +66 -5
  81. flwr/server/superlink/fleet/rest_rere/rest_api.py +28 -3
  82. flwr/server/superlink/fleet/vce/vce_api.py +2 -2
  83. flwr/server/superlink/linkstate/in_memory_linkstate.py +40 -48
  84. flwr/server/superlink/linkstate/linkstate.py +15 -22
  85. flwr/server/superlink/linkstate/sqlite_linkstate.py +80 -99
  86. flwr/server/superlink/linkstate/utils.py +18 -8
  87. flwr/server/superlink/simulation/simulationio_grpc.py +1 -1
  88. flwr/server/utils/validator.py +9 -34
  89. flwr/simulation/app.py +4 -6
  90. flwr/simulation/legacy_app.py +4 -2
  91. flwr/simulation/run_simulation.py +1 -1
  92. flwr/superexec/exec_grpc.py +1 -1
  93. flwr/superexec/exec_servicer.py +23 -2
  94. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/METADATA +7 -7
  95. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/RECORD +98 -94
  96. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/LICENSE +0 -0
  97. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/WHEEL +0 -0
  98. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/entry_points.txt +0 -0
@@ -1,12 +1,32 @@
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
4
5
 
5
6
  from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
6
7
  from flwr.proto import log_pb2 as flwr_dot_proto_dot_log__pb2
7
8
  from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
8
9
  from flwr.proto import serverappio_pb2 as flwr_dot_proto_dot_serverappio__pb2
9
10
 
11
+ GRPC_GENERATED_VERSION = '1.69.0'
12
+ GRPC_VERSION = grpc.__version__
13
+ _version_not_supported = False
14
+
15
+ try:
16
+ from grpc._utilities import first_version_is_lower
17
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
18
+ except ImportError:
19
+ _version_not_supported = True
20
+
21
+ if _version_not_supported:
22
+ raise RuntimeError(
23
+ f'The grpc package installed is at version {GRPC_VERSION},'
24
+ + f' but the generated code in flwr/proto/serverappio_pb2_grpc.py depends on'
25
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
26
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
27
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
28
+ )
29
+
10
30
 
11
31
  class ServerAppIoStub(object):
12
32
  """Missing associated documentation comment in .proto file."""
@@ -21,57 +41,67 @@ class ServerAppIoStub(object):
21
41
  '/flwr.proto.ServerAppIo/CreateRun',
22
42
  request_serializer=flwr_dot_proto_dot_run__pb2.CreateRunRequest.SerializeToString,
23
43
  response_deserializer=flwr_dot_proto_dot_run__pb2.CreateRunResponse.FromString,
24
- )
44
+ _registered_method=True)
25
45
  self.GetNodes = channel.unary_unary(
26
46
  '/flwr.proto.ServerAppIo/GetNodes',
27
47
  request_serializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.SerializeToString,
28
48
  response_deserializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesResponse.FromString,
29
- )
49
+ _registered_method=True)
30
50
  self.PushTaskIns = channel.unary_unary(
31
51
  '/flwr.proto.ServerAppIo/PushTaskIns',
32
52
  request_serializer=flwr_dot_proto_dot_serverappio__pb2.PushTaskInsRequest.SerializeToString,
33
53
  response_deserializer=flwr_dot_proto_dot_serverappio__pb2.PushTaskInsResponse.FromString,
34
- )
54
+ _registered_method=True)
55
+ self.PushMessages = channel.unary_unary(
56
+ '/flwr.proto.ServerAppIo/PushMessages',
57
+ request_serializer=flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesRequest.SerializeToString,
58
+ response_deserializer=flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesResponse.FromString,
59
+ _registered_method=True)
35
60
  self.PullTaskRes = channel.unary_unary(
36
61
  '/flwr.proto.ServerAppIo/PullTaskRes',
37
62
  request_serializer=flwr_dot_proto_dot_serverappio__pb2.PullTaskResRequest.SerializeToString,
38
63
  response_deserializer=flwr_dot_proto_dot_serverappio__pb2.PullTaskResResponse.FromString,
39
- )
64
+ _registered_method=True)
65
+ self.PullMessages = channel.unary_unary(
66
+ '/flwr.proto.ServerAppIo/PullMessages',
67
+ request_serializer=flwr_dot_proto_dot_serverappio__pb2.PullResMessagesRequest.SerializeToString,
68
+ response_deserializer=flwr_dot_proto_dot_serverappio__pb2.PullResMessagesResponse.FromString,
69
+ _registered_method=True)
40
70
  self.GetRun = channel.unary_unary(
41
71
  '/flwr.proto.ServerAppIo/GetRun',
42
72
  request_serializer=flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
43
73
  response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
44
- )
74
+ _registered_method=True)
45
75
  self.GetFab = channel.unary_unary(
46
76
  '/flwr.proto.ServerAppIo/GetFab',
47
77
  request_serializer=flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
48
78
  response_deserializer=flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
49
- )
79
+ _registered_method=True)
50
80
  self.PullServerAppInputs = channel.unary_unary(
51
81
  '/flwr.proto.ServerAppIo/PullServerAppInputs',
52
82
  request_serializer=flwr_dot_proto_dot_serverappio__pb2.PullServerAppInputsRequest.SerializeToString,
53
83
  response_deserializer=flwr_dot_proto_dot_serverappio__pb2.PullServerAppInputsResponse.FromString,
54
- )
84
+ _registered_method=True)
55
85
  self.PushServerAppOutputs = channel.unary_unary(
56
86
  '/flwr.proto.ServerAppIo/PushServerAppOutputs',
57
87
  request_serializer=flwr_dot_proto_dot_serverappio__pb2.PushServerAppOutputsRequest.SerializeToString,
58
88
  response_deserializer=flwr_dot_proto_dot_serverappio__pb2.PushServerAppOutputsResponse.FromString,
59
- )
89
+ _registered_method=True)
60
90
  self.UpdateRunStatus = channel.unary_unary(
61
91
  '/flwr.proto.ServerAppIo/UpdateRunStatus',
62
92
  request_serializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
63
93
  response_deserializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
64
- )
94
+ _registered_method=True)
65
95
  self.GetRunStatus = channel.unary_unary(
66
96
  '/flwr.proto.ServerAppIo/GetRunStatus',
67
97
  request_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
68
98
  response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
69
- )
99
+ _registered_method=True)
70
100
  self.PushLogs = channel.unary_unary(
71
101
  '/flwr.proto.ServerAppIo/PushLogs',
72
102
  request_serializer=flwr_dot_proto_dot_log__pb2.PushLogsRequest.SerializeToString,
73
103
  response_deserializer=flwr_dot_proto_dot_log__pb2.PushLogsResponse.FromString,
74
- )
104
+ _registered_method=True)
75
105
 
76
106
 
77
107
  class ServerAppIoServicer(object):
@@ -98,6 +128,12 @@ class ServerAppIoServicer(object):
98
128
  context.set_details('Method not implemented!')
99
129
  raise NotImplementedError('Method not implemented!')
100
130
 
131
+ def PushMessages(self, request, context):
132
+ """Missing associated documentation comment in .proto file."""
133
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
134
+ context.set_details('Method not implemented!')
135
+ raise NotImplementedError('Method not implemented!')
136
+
101
137
  def PullTaskRes(self, request, context):
102
138
  """Get task results
103
139
  """
@@ -105,6 +141,12 @@ class ServerAppIoServicer(object):
105
141
  context.set_details('Method not implemented!')
106
142
  raise NotImplementedError('Method not implemented!')
107
143
 
144
+ def PullMessages(self, request, context):
145
+ """Missing associated documentation comment in .proto file."""
146
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
147
+ context.set_details('Method not implemented!')
148
+ raise NotImplementedError('Method not implemented!')
149
+
108
150
  def GetRun(self, request, context):
109
151
  """Get run details
110
152
  """
@@ -172,11 +214,21 @@ def add_ServerAppIoServicer_to_server(servicer, server):
172
214
  request_deserializer=flwr_dot_proto_dot_serverappio__pb2.PushTaskInsRequest.FromString,
173
215
  response_serializer=flwr_dot_proto_dot_serverappio__pb2.PushTaskInsResponse.SerializeToString,
174
216
  ),
217
+ 'PushMessages': grpc.unary_unary_rpc_method_handler(
218
+ servicer.PushMessages,
219
+ request_deserializer=flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesRequest.FromString,
220
+ response_serializer=flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesResponse.SerializeToString,
221
+ ),
175
222
  'PullTaskRes': grpc.unary_unary_rpc_method_handler(
176
223
  servicer.PullTaskRes,
177
224
  request_deserializer=flwr_dot_proto_dot_serverappio__pb2.PullTaskResRequest.FromString,
178
225
  response_serializer=flwr_dot_proto_dot_serverappio__pb2.PullTaskResResponse.SerializeToString,
179
226
  ),
227
+ 'PullMessages': grpc.unary_unary_rpc_method_handler(
228
+ servicer.PullMessages,
229
+ request_deserializer=flwr_dot_proto_dot_serverappio__pb2.PullResMessagesRequest.FromString,
230
+ response_serializer=flwr_dot_proto_dot_serverappio__pb2.PullResMessagesResponse.SerializeToString,
231
+ ),
180
232
  'GetRun': grpc.unary_unary_rpc_method_handler(
181
233
  servicer.GetRun,
182
234
  request_deserializer=flwr_dot_proto_dot_run__pb2.GetRunRequest.FromString,
@@ -216,6 +268,7 @@ def add_ServerAppIoServicer_to_server(servicer, server):
216
268
  generic_handler = grpc.method_handlers_generic_handler(
217
269
  'flwr.proto.ServerAppIo', rpc_method_handlers)
218
270
  server.add_generic_rpc_handlers((generic_handler,))
271
+ server.add_registered_method_handlers('flwr.proto.ServerAppIo', rpc_method_handlers)
219
272
 
220
273
 
221
274
  # This class is part of an EXPERIMENTAL API.
@@ -233,11 +286,21 @@ class ServerAppIo(object):
233
286
  wait_for_ready=None,
234
287
  timeout=None,
235
288
  metadata=None):
236
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/CreateRun',
289
+ return grpc.experimental.unary_unary(
290
+ request,
291
+ target,
292
+ '/flwr.proto.ServerAppIo/CreateRun',
237
293
  flwr_dot_proto_dot_run__pb2.CreateRunRequest.SerializeToString,
238
294
  flwr_dot_proto_dot_run__pb2.CreateRunResponse.FromString,
239
- options, channel_credentials,
240
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
295
+ options,
296
+ channel_credentials,
297
+ insecure,
298
+ call_credentials,
299
+ compression,
300
+ wait_for_ready,
301
+ timeout,
302
+ metadata,
303
+ _registered_method=True)
241
304
 
242
305
  @staticmethod
243
306
  def GetNodes(request,
@@ -250,11 +313,21 @@ class ServerAppIo(object):
250
313
  wait_for_ready=None,
251
314
  timeout=None,
252
315
  metadata=None):
253
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetNodes',
316
+ return grpc.experimental.unary_unary(
317
+ request,
318
+ target,
319
+ '/flwr.proto.ServerAppIo/GetNodes',
254
320
  flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.SerializeToString,
255
321
  flwr_dot_proto_dot_serverappio__pb2.GetNodesResponse.FromString,
256
- options, channel_credentials,
257
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
322
+ options,
323
+ channel_credentials,
324
+ insecure,
325
+ call_credentials,
326
+ compression,
327
+ wait_for_ready,
328
+ timeout,
329
+ metadata,
330
+ _registered_method=True)
258
331
 
259
332
  @staticmethod
260
333
  def PushTaskIns(request,
@@ -267,11 +340,48 @@ class ServerAppIo(object):
267
340
  wait_for_ready=None,
268
341
  timeout=None,
269
342
  metadata=None):
270
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushTaskIns',
343
+ return grpc.experimental.unary_unary(
344
+ request,
345
+ target,
346
+ '/flwr.proto.ServerAppIo/PushTaskIns',
271
347
  flwr_dot_proto_dot_serverappio__pb2.PushTaskInsRequest.SerializeToString,
272
348
  flwr_dot_proto_dot_serverappio__pb2.PushTaskInsResponse.FromString,
273
- options, channel_credentials,
274
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
349
+ options,
350
+ channel_credentials,
351
+ insecure,
352
+ call_credentials,
353
+ compression,
354
+ wait_for_ready,
355
+ timeout,
356
+ metadata,
357
+ _registered_method=True)
358
+
359
+ @staticmethod
360
+ def PushMessages(request,
361
+ target,
362
+ options=(),
363
+ channel_credentials=None,
364
+ call_credentials=None,
365
+ insecure=False,
366
+ compression=None,
367
+ wait_for_ready=None,
368
+ timeout=None,
369
+ metadata=None):
370
+ return grpc.experimental.unary_unary(
371
+ request,
372
+ target,
373
+ '/flwr.proto.ServerAppIo/PushMessages',
374
+ flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesRequest.SerializeToString,
375
+ flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesResponse.FromString,
376
+ options,
377
+ channel_credentials,
378
+ insecure,
379
+ call_credentials,
380
+ compression,
381
+ wait_for_ready,
382
+ timeout,
383
+ metadata,
384
+ _registered_method=True)
275
385
 
276
386
  @staticmethod
277
387
  def PullTaskRes(request,
@@ -284,11 +394,48 @@ class ServerAppIo(object):
284
394
  wait_for_ready=None,
285
395
  timeout=None,
286
396
  metadata=None):
287
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PullTaskRes',
397
+ return grpc.experimental.unary_unary(
398
+ request,
399
+ target,
400
+ '/flwr.proto.ServerAppIo/PullTaskRes',
288
401
  flwr_dot_proto_dot_serverappio__pb2.PullTaskResRequest.SerializeToString,
289
402
  flwr_dot_proto_dot_serverappio__pb2.PullTaskResResponse.FromString,
290
- options, channel_credentials,
291
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
403
+ options,
404
+ channel_credentials,
405
+ insecure,
406
+ call_credentials,
407
+ compression,
408
+ wait_for_ready,
409
+ timeout,
410
+ metadata,
411
+ _registered_method=True)
412
+
413
+ @staticmethod
414
+ def PullMessages(request,
415
+ target,
416
+ options=(),
417
+ channel_credentials=None,
418
+ call_credentials=None,
419
+ insecure=False,
420
+ compression=None,
421
+ wait_for_ready=None,
422
+ timeout=None,
423
+ metadata=None):
424
+ return grpc.experimental.unary_unary(
425
+ request,
426
+ target,
427
+ '/flwr.proto.ServerAppIo/PullMessages',
428
+ flwr_dot_proto_dot_serverappio__pb2.PullResMessagesRequest.SerializeToString,
429
+ flwr_dot_proto_dot_serverappio__pb2.PullResMessagesResponse.FromString,
430
+ options,
431
+ channel_credentials,
432
+ insecure,
433
+ call_credentials,
434
+ compression,
435
+ wait_for_ready,
436
+ timeout,
437
+ metadata,
438
+ _registered_method=True)
292
439
 
293
440
  @staticmethod
294
441
  def GetRun(request,
@@ -301,11 +448,21 @@ class ServerAppIo(object):
301
448
  wait_for_ready=None,
302
449
  timeout=None,
303
450
  metadata=None):
304
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetRun',
451
+ return grpc.experimental.unary_unary(
452
+ request,
453
+ target,
454
+ '/flwr.proto.ServerAppIo/GetRun',
305
455
  flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
306
456
  flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
307
- options, channel_credentials,
308
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
457
+ options,
458
+ channel_credentials,
459
+ insecure,
460
+ call_credentials,
461
+ compression,
462
+ wait_for_ready,
463
+ timeout,
464
+ metadata,
465
+ _registered_method=True)
309
466
 
310
467
  @staticmethod
311
468
  def GetFab(request,
@@ -318,11 +475,21 @@ class ServerAppIo(object):
318
475
  wait_for_ready=None,
319
476
  timeout=None,
320
477
  metadata=None):
321
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetFab',
478
+ return grpc.experimental.unary_unary(
479
+ request,
480
+ target,
481
+ '/flwr.proto.ServerAppIo/GetFab',
322
482
  flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
323
483
  flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
324
- options, channel_credentials,
325
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
484
+ options,
485
+ channel_credentials,
486
+ insecure,
487
+ call_credentials,
488
+ compression,
489
+ wait_for_ready,
490
+ timeout,
491
+ metadata,
492
+ _registered_method=True)
326
493
 
327
494
  @staticmethod
328
495
  def PullServerAppInputs(request,
@@ -335,11 +502,21 @@ class ServerAppIo(object):
335
502
  wait_for_ready=None,
336
503
  timeout=None,
337
504
  metadata=None):
338
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PullServerAppInputs',
505
+ return grpc.experimental.unary_unary(
506
+ request,
507
+ target,
508
+ '/flwr.proto.ServerAppIo/PullServerAppInputs',
339
509
  flwr_dot_proto_dot_serverappio__pb2.PullServerAppInputsRequest.SerializeToString,
340
510
  flwr_dot_proto_dot_serverappio__pb2.PullServerAppInputsResponse.FromString,
341
- options, channel_credentials,
342
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
511
+ options,
512
+ channel_credentials,
513
+ insecure,
514
+ call_credentials,
515
+ compression,
516
+ wait_for_ready,
517
+ timeout,
518
+ metadata,
519
+ _registered_method=True)
343
520
 
344
521
  @staticmethod
345
522
  def PushServerAppOutputs(request,
@@ -352,11 +529,21 @@ class ServerAppIo(object):
352
529
  wait_for_ready=None,
353
530
  timeout=None,
354
531
  metadata=None):
355
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushServerAppOutputs',
532
+ return grpc.experimental.unary_unary(
533
+ request,
534
+ target,
535
+ '/flwr.proto.ServerAppIo/PushServerAppOutputs',
356
536
  flwr_dot_proto_dot_serverappio__pb2.PushServerAppOutputsRequest.SerializeToString,
357
537
  flwr_dot_proto_dot_serverappio__pb2.PushServerAppOutputsResponse.FromString,
358
- options, channel_credentials,
359
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
538
+ options,
539
+ channel_credentials,
540
+ insecure,
541
+ call_credentials,
542
+ compression,
543
+ wait_for_ready,
544
+ timeout,
545
+ metadata,
546
+ _registered_method=True)
360
547
 
361
548
  @staticmethod
362
549
  def UpdateRunStatus(request,
@@ -369,11 +556,21 @@ class ServerAppIo(object):
369
556
  wait_for_ready=None,
370
557
  timeout=None,
371
558
  metadata=None):
372
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/UpdateRunStatus',
559
+ return grpc.experimental.unary_unary(
560
+ request,
561
+ target,
562
+ '/flwr.proto.ServerAppIo/UpdateRunStatus',
373
563
  flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
374
564
  flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
375
- options, channel_credentials,
376
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
565
+ options,
566
+ channel_credentials,
567
+ insecure,
568
+ call_credentials,
569
+ compression,
570
+ wait_for_ready,
571
+ timeout,
572
+ metadata,
573
+ _registered_method=True)
377
574
 
378
575
  @staticmethod
379
576
  def GetRunStatus(request,
@@ -386,11 +583,21 @@ class ServerAppIo(object):
386
583
  wait_for_ready=None,
387
584
  timeout=None,
388
585
  metadata=None):
389
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetRunStatus',
586
+ return grpc.experimental.unary_unary(
587
+ request,
588
+ target,
589
+ '/flwr.proto.ServerAppIo/GetRunStatus',
390
590
  flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
391
591
  flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
392
- options, channel_credentials,
393
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
592
+ options,
593
+ channel_credentials,
594
+ insecure,
595
+ call_credentials,
596
+ compression,
597
+ wait_for_ready,
598
+ timeout,
599
+ metadata,
600
+ _registered_method=True)
394
601
 
395
602
  @staticmethod
396
603
  def PushLogs(request,
@@ -403,8 +610,18 @@ class ServerAppIo(object):
403
610
  wait_for_ready=None,
404
611
  timeout=None,
405
612
  metadata=None):
406
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushLogs',
613
+ return grpc.experimental.unary_unary(
614
+ request,
615
+ target,
616
+ '/flwr.proto.ServerAppIo/PushLogs',
407
617
  flwr_dot_proto_dot_log__pb2.PushLogsRequest.SerializeToString,
408
618
  flwr_dot_proto_dot_log__pb2.PushLogsResponse.FromString,
409
- options, channel_credentials,
410
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
619
+ options,
620
+ channel_credentials,
621
+ insecure,
622
+ call_credentials,
623
+ compression,
624
+ wait_for_ready,
625
+ timeout,
626
+ metadata,
627
+ _registered_method=True)
@@ -26,11 +26,19 @@ class ServerAppIoStub:
26
26
  flwr.proto.serverappio_pb2.PushTaskInsResponse]
27
27
  """Create one or more tasks"""
28
28
 
29
+ PushMessages: grpc.UnaryUnaryMultiCallable[
30
+ flwr.proto.serverappio_pb2.PushInsMessagesRequest,
31
+ flwr.proto.serverappio_pb2.PushInsMessagesResponse]
32
+
29
33
  PullTaskRes: grpc.UnaryUnaryMultiCallable[
30
34
  flwr.proto.serverappio_pb2.PullTaskResRequest,
31
35
  flwr.proto.serverappio_pb2.PullTaskResResponse]
32
36
  """Get task results"""
33
37
 
38
+ PullMessages: grpc.UnaryUnaryMultiCallable[
39
+ flwr.proto.serverappio_pb2.PullResMessagesRequest,
40
+ flwr.proto.serverappio_pb2.PullResMessagesResponse]
41
+
34
42
  GetRun: grpc.UnaryUnaryMultiCallable[
35
43
  flwr.proto.run_pb2.GetRunRequest,
36
44
  flwr.proto.run_pb2.GetRunResponse]
@@ -92,6 +100,12 @@ class ServerAppIoServicer(metaclass=abc.ABCMeta):
92
100
  """Create one or more tasks"""
93
101
  pass
94
102
 
103
+ @abc.abstractmethod
104
+ def PushMessages(self,
105
+ request: flwr.proto.serverappio_pb2.PushInsMessagesRequest,
106
+ context: grpc.ServicerContext,
107
+ ) -> flwr.proto.serverappio_pb2.PushInsMessagesResponse: ...
108
+
95
109
  @abc.abstractmethod
96
110
  def PullTaskRes(self,
97
111
  request: flwr.proto.serverappio_pb2.PullTaskResRequest,
@@ -100,6 +114,12 @@ class ServerAppIoServicer(metaclass=abc.ABCMeta):
100
114
  """Get task results"""
101
115
  pass
102
116
 
117
+ @abc.abstractmethod
118
+ def PullMessages(self,
119
+ request: flwr.proto.serverappio_pb2.PullResMessagesRequest,
120
+ context: grpc.ServicerContext,
121
+ ) -> flwr.proto.serverappio_pb2.PullResMessagesResponse: ...
122
+
103
123
  @abc.abstractmethod
104
124
  def GetRun(self,
105
125
  request: flwr.proto.run_pb2.GetRunRequest,
@@ -1,12 +1,22 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
3
4
  # source: flwr/proto/simulationio.proto
4
- # Protobuf Python Version: 4.25.0
5
+ # Protobuf Python Version: 5.29.0
5
6
  """Generated protocol buffer code."""
6
7
  from google.protobuf import descriptor as _descriptor
7
8
  from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
8
10
  from google.protobuf import symbol_database as _symbol_database
9
11
  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/simulationio.proto'
19
+ )
10
20
  # @@protoc_insertion_point(imports)
11
21
 
12
22
  _sym_db = _symbol_database.Default()
@@ -23,8 +33,8 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x66lwr/proto/
23
33
  _globals = globals()
24
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
25
35
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.simulationio_pb2', _globals)
26
- if _descriptor._USE_C_DESCRIPTORS == False:
27
- DESCRIPTOR._options = None
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ DESCRIPTOR._loaded_options = None
28
38
  _globals['_PULLSIMULATIONINPUTSREQUEST']._serialized_start=137
29
39
  _globals['_PULLSIMULATIONINPUTSREQUEST']._serialized_end=166
30
40
  _globals['_PULLSIMULATIONINPUTSRESPONSE']._serialized_start=169