flwr 1.19.0__py3-none-any.whl → 1.21.0__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 (167) hide show
  1. flwr/__init__.py +4 -1
  2. flwr/app/__init__.py +28 -0
  3. flwr/app/exception.py +31 -0
  4. flwr/cli/auth_plugin/oidc_cli_plugin.py +4 -4
  5. flwr/cli/build.py +15 -5
  6. flwr/cli/cli_user_auth_interceptor.py +1 -1
  7. flwr/cli/config_utils.py +3 -3
  8. flwr/cli/constant.py +25 -8
  9. flwr/cli/log.py +9 -9
  10. flwr/cli/login/login.py +3 -3
  11. flwr/cli/ls.py +5 -5
  12. flwr/cli/new/new.py +23 -4
  13. flwr/cli/new/templates/app/README.flowertune.md.tpl +2 -0
  14. flwr/cli/new/templates/app/README.md.tpl +5 -0
  15. flwr/cli/new/templates/app/code/__init__.pytorch_msg_api.py.tpl +1 -0
  16. flwr/cli/new/templates/app/code/client.pytorch_msg_api.py.tpl +80 -0
  17. flwr/cli/new/templates/app/code/server.pytorch_msg_api.py.tpl +41 -0
  18. flwr/cli/new/templates/app/code/task.pytorch_msg_api.py.tpl +98 -0
  19. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +14 -3
  20. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +13 -1
  21. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +21 -2
  22. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +18 -1
  23. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +19 -2
  24. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +18 -1
  25. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +20 -3
  26. flwr/cli/new/templates/app/pyproject.pytorch_msg_api.toml.tpl +53 -0
  27. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +18 -1
  28. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +18 -1
  29. flwr/cli/run/run.py +53 -50
  30. flwr/cli/stop.py +7 -4
  31. flwr/cli/utils.py +29 -11
  32. flwr/client/grpc_adapter_client/connection.py +11 -4
  33. flwr/client/grpc_rere_client/connection.py +93 -129
  34. flwr/client/rest_client/connection.py +134 -164
  35. flwr/clientapp/__init__.py +10 -0
  36. flwr/clientapp/mod/__init__.py +26 -0
  37. flwr/clientapp/mod/centraldp_mods.py +132 -0
  38. flwr/common/args.py +20 -6
  39. flwr/common/auth_plugin/__init__.py +4 -4
  40. flwr/common/auth_plugin/auth_plugin.py +7 -7
  41. flwr/common/constant.py +26 -5
  42. flwr/common/event_log_plugin/event_log_plugin.py +1 -1
  43. flwr/common/exit/__init__.py +4 -0
  44. flwr/common/exit/exit.py +8 -1
  45. flwr/common/exit/exit_code.py +42 -8
  46. flwr/common/exit/exit_handler.py +62 -0
  47. flwr/common/{exit_handlers.py → exit/signal_handler.py} +20 -37
  48. flwr/common/grpc.py +1 -1
  49. flwr/common/{inflatable_grpc_utils.py → inflatable_protobuf_utils.py} +52 -10
  50. flwr/common/inflatable_utils.py +191 -24
  51. flwr/common/logger.py +1 -1
  52. flwr/common/record/array.py +101 -22
  53. flwr/common/record/arraychunk.py +59 -0
  54. flwr/common/retry_invoker.py +30 -11
  55. flwr/common/serde.py +0 -28
  56. flwr/common/telemetry.py +4 -0
  57. flwr/compat/client/app.py +14 -31
  58. flwr/compat/server/app.py +2 -2
  59. flwr/proto/appio_pb2.py +51 -0
  60. flwr/proto/appio_pb2.pyi +195 -0
  61. flwr/proto/appio_pb2_grpc.py +4 -0
  62. flwr/proto/appio_pb2_grpc.pyi +4 -0
  63. flwr/proto/clientappio_pb2.py +4 -19
  64. flwr/proto/clientappio_pb2.pyi +0 -125
  65. flwr/proto/clientappio_pb2_grpc.py +269 -29
  66. flwr/proto/clientappio_pb2_grpc.pyi +114 -21
  67. flwr/proto/control_pb2.py +62 -0
  68. flwr/proto/{exec_pb2_grpc.py → control_pb2_grpc.py} +54 -54
  69. flwr/proto/{exec_pb2_grpc.pyi → control_pb2_grpc.pyi} +28 -28
  70. flwr/proto/fleet_pb2.py +12 -20
  71. flwr/proto/fleet_pb2.pyi +6 -36
  72. flwr/proto/serverappio_pb2.py +8 -31
  73. flwr/proto/serverappio_pb2.pyi +0 -152
  74. flwr/proto/serverappio_pb2_grpc.py +107 -38
  75. flwr/proto/serverappio_pb2_grpc.pyi +47 -20
  76. flwr/proto/simulationio_pb2.py +4 -11
  77. flwr/proto/simulationio_pb2.pyi +0 -58
  78. flwr/proto/simulationio_pb2_grpc.py +129 -27
  79. flwr/proto/simulationio_pb2_grpc.pyi +52 -13
  80. flwr/server/app.py +130 -153
  81. flwr/server/fleet_event_log_interceptor.py +4 -0
  82. flwr/server/grid/grpc_grid.py +94 -54
  83. flwr/server/grid/inmemory_grid.py +1 -0
  84. flwr/server/serverapp/app.py +165 -144
  85. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +8 -0
  86. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +1 -1
  87. flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +2 -5
  88. flwr/server/superlink/fleet/message_handler/message_handler.py +10 -16
  89. flwr/server/superlink/fleet/rest_rere/rest_api.py +1 -2
  90. flwr/server/superlink/fleet/vce/backend/raybackend.py +3 -1
  91. flwr/server/superlink/fleet/vce/vce_api.py +6 -6
  92. flwr/server/superlink/linkstate/in_memory_linkstate.py +34 -0
  93. flwr/server/superlink/linkstate/linkstate.py +2 -1
  94. flwr/server/superlink/linkstate/sqlite_linkstate.py +45 -0
  95. flwr/server/superlink/serverappio/serverappio_grpc.py +2 -2
  96. flwr/server/superlink/serverappio/serverappio_servicer.py +95 -48
  97. flwr/server/superlink/simulation/simulationio_grpc.py +1 -1
  98. flwr/server/superlink/simulation/simulationio_servicer.py +98 -22
  99. flwr/server/superlink/utils.py +0 -35
  100. flwr/serverapp/__init__.py +12 -0
  101. flwr/serverapp/dp_fixed_clipping.py +352 -0
  102. flwr/serverapp/exception.py +38 -0
  103. flwr/serverapp/strategy/__init__.py +38 -0
  104. flwr/serverapp/strategy/dp_fixed_clipping.py +352 -0
  105. flwr/serverapp/strategy/fedadagrad.py +162 -0
  106. flwr/serverapp/strategy/fedadam.py +181 -0
  107. flwr/serverapp/strategy/fedavg.py +295 -0
  108. flwr/serverapp/strategy/fedopt.py +218 -0
  109. flwr/serverapp/strategy/fedyogi.py +173 -0
  110. flwr/serverapp/strategy/result.py +105 -0
  111. flwr/serverapp/strategy/strategy.py +285 -0
  112. flwr/serverapp/strategy/strategy_utils.py +251 -0
  113. flwr/serverapp/strategy/strategy_utils_tests.py +304 -0
  114. flwr/simulation/app.py +159 -154
  115. flwr/simulation/run_simulation.py +17 -0
  116. flwr/supercore/app_utils.py +58 -0
  117. flwr/supercore/cli/__init__.py +22 -0
  118. flwr/supercore/cli/flower_superexec.py +141 -0
  119. flwr/supercore/corestate/__init__.py +22 -0
  120. flwr/supercore/corestate/corestate.py +81 -0
  121. flwr/{server/superlink → supercore}/ffs/disk_ffs.py +1 -1
  122. flwr/supercore/grpc_health/__init__.py +25 -0
  123. flwr/supercore/grpc_health/health_server.py +53 -0
  124. flwr/supercore/grpc_health/simple_health_servicer.py +38 -0
  125. flwr/supercore/license_plugin/__init__.py +22 -0
  126. flwr/supercore/license_plugin/license_plugin.py +26 -0
  127. flwr/supercore/object_store/in_memory_object_store.py +31 -31
  128. flwr/supercore/object_store/object_store.py +20 -42
  129. flwr/supercore/object_store/utils.py +43 -0
  130. flwr/{superexec → supercore/superexec}/__init__.py +1 -1
  131. flwr/supercore/superexec/plugin/__init__.py +28 -0
  132. flwr/supercore/superexec/plugin/base_exec_plugin.py +53 -0
  133. flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +28 -0
  134. flwr/supercore/superexec/plugin/exec_plugin.py +71 -0
  135. flwr/supercore/superexec/plugin/serverapp_exec_plugin.py +28 -0
  136. flwr/supercore/superexec/plugin/simulation_exec_plugin.py +28 -0
  137. flwr/supercore/superexec/run_superexec.py +185 -0
  138. flwr/supercore/utils.py +32 -0
  139. flwr/superlink/servicer/__init__.py +15 -0
  140. flwr/superlink/servicer/control/__init__.py +22 -0
  141. flwr/{superexec/exec_event_log_interceptor.py → superlink/servicer/control/control_event_log_interceptor.py} +9 -5
  142. flwr/{superexec/exec_grpc.py → superlink/servicer/control/control_grpc.py} +39 -28
  143. flwr/superlink/servicer/control/control_license_interceptor.py +82 -0
  144. flwr/{superexec/exec_servicer.py → superlink/servicer/control/control_servicer.py} +79 -31
  145. flwr/{superexec/exec_user_auth_interceptor.py → superlink/servicer/control/control_user_auth_interceptor.py} +18 -10
  146. flwr/supernode/cli/flower_supernode.py +3 -7
  147. flwr/supernode/cli/flwr_clientapp.py +20 -16
  148. flwr/supernode/nodestate/in_memory_nodestate.py +13 -4
  149. flwr/supernode/nodestate/nodestate.py +3 -44
  150. flwr/supernode/runtime/run_clientapp.py +129 -115
  151. flwr/supernode/servicer/clientappio/__init__.py +1 -3
  152. flwr/supernode/servicer/clientappio/clientappio_servicer.py +217 -165
  153. flwr/supernode/start_client_internal.py +205 -148
  154. {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/METADATA +5 -3
  155. {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/RECORD +161 -117
  156. {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/entry_points.txt +1 -0
  157. flwr/common/inflatable_rest_utils.py +0 -99
  158. flwr/proto/exec_pb2.py +0 -62
  159. flwr/superexec/app.py +0 -45
  160. flwr/superexec/deployment.py +0 -192
  161. flwr/superexec/executor.py +0 -100
  162. flwr/superexec/simulation.py +0 -130
  163. /flwr/proto/{exec_pb2.pyi → control_pb2.pyi} +0 -0
  164. /flwr/{server/superlink → supercore}/ffs/__init__.py +0 -0
  165. /flwr/{server/superlink → supercore}/ffs/ffs.py +0 -0
  166. /flwr/{server/superlink → supercore}/ffs/ffs_factory.py +0 -0
  167. {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/WHEEL +0 -0
@@ -2,10 +2,10 @@
2
2
  """Client and server classes corresponding to protobuf-defined services."""
3
3
  import grpc
4
4
 
5
- from flwr.proto import exec_pb2 as flwr_dot_proto_dot_exec__pb2
5
+ from flwr.proto import control_pb2 as flwr_dot_proto_dot_control__pb2
6
6
 
7
7
 
8
- class ExecStub(object):
8
+ class ControlStub(object):
9
9
  """Missing associated documentation comment in .proto file."""
10
10
 
11
11
  def __init__(self, channel):
@@ -15,38 +15,38 @@ class ExecStub(object):
15
15
  channel: A grpc.Channel.
16
16
  """
17
17
  self.StartRun = channel.unary_unary(
18
- '/flwr.proto.Exec/StartRun',
19
- request_serializer=flwr_dot_proto_dot_exec__pb2.StartRunRequest.SerializeToString,
20
- response_deserializer=flwr_dot_proto_dot_exec__pb2.StartRunResponse.FromString,
18
+ '/flwr.proto.Control/StartRun',
19
+ request_serializer=flwr_dot_proto_dot_control__pb2.StartRunRequest.SerializeToString,
20
+ response_deserializer=flwr_dot_proto_dot_control__pb2.StartRunResponse.FromString,
21
21
  )
22
22
  self.StopRun = channel.unary_unary(
23
- '/flwr.proto.Exec/StopRun',
24
- request_serializer=flwr_dot_proto_dot_exec__pb2.StopRunRequest.SerializeToString,
25
- response_deserializer=flwr_dot_proto_dot_exec__pb2.StopRunResponse.FromString,
23
+ '/flwr.proto.Control/StopRun',
24
+ request_serializer=flwr_dot_proto_dot_control__pb2.StopRunRequest.SerializeToString,
25
+ response_deserializer=flwr_dot_proto_dot_control__pb2.StopRunResponse.FromString,
26
26
  )
27
27
  self.StreamLogs = channel.unary_stream(
28
- '/flwr.proto.Exec/StreamLogs',
29
- request_serializer=flwr_dot_proto_dot_exec__pb2.StreamLogsRequest.SerializeToString,
30
- response_deserializer=flwr_dot_proto_dot_exec__pb2.StreamLogsResponse.FromString,
28
+ '/flwr.proto.Control/StreamLogs',
29
+ request_serializer=flwr_dot_proto_dot_control__pb2.StreamLogsRequest.SerializeToString,
30
+ response_deserializer=flwr_dot_proto_dot_control__pb2.StreamLogsResponse.FromString,
31
31
  )
32
32
  self.ListRuns = channel.unary_unary(
33
- '/flwr.proto.Exec/ListRuns',
34
- request_serializer=flwr_dot_proto_dot_exec__pb2.ListRunsRequest.SerializeToString,
35
- response_deserializer=flwr_dot_proto_dot_exec__pb2.ListRunsResponse.FromString,
33
+ '/flwr.proto.Control/ListRuns',
34
+ request_serializer=flwr_dot_proto_dot_control__pb2.ListRunsRequest.SerializeToString,
35
+ response_deserializer=flwr_dot_proto_dot_control__pb2.ListRunsResponse.FromString,
36
36
  )
37
37
  self.GetLoginDetails = channel.unary_unary(
38
- '/flwr.proto.Exec/GetLoginDetails',
39
- request_serializer=flwr_dot_proto_dot_exec__pb2.GetLoginDetailsRequest.SerializeToString,
40
- response_deserializer=flwr_dot_proto_dot_exec__pb2.GetLoginDetailsResponse.FromString,
38
+ '/flwr.proto.Control/GetLoginDetails',
39
+ request_serializer=flwr_dot_proto_dot_control__pb2.GetLoginDetailsRequest.SerializeToString,
40
+ response_deserializer=flwr_dot_proto_dot_control__pb2.GetLoginDetailsResponse.FromString,
41
41
  )
42
42
  self.GetAuthTokens = channel.unary_unary(
43
- '/flwr.proto.Exec/GetAuthTokens',
44
- request_serializer=flwr_dot_proto_dot_exec__pb2.GetAuthTokensRequest.SerializeToString,
45
- response_deserializer=flwr_dot_proto_dot_exec__pb2.GetAuthTokensResponse.FromString,
43
+ '/flwr.proto.Control/GetAuthTokens',
44
+ request_serializer=flwr_dot_proto_dot_control__pb2.GetAuthTokensRequest.SerializeToString,
45
+ response_deserializer=flwr_dot_proto_dot_control__pb2.GetAuthTokensResponse.FromString,
46
46
  )
47
47
 
48
48
 
49
- class ExecServicer(object):
49
+ class ControlServicer(object):
50
50
  """Missing associated documentation comment in .proto file."""
51
51
 
52
52
  def StartRun(self, request, context):
@@ -92,46 +92,46 @@ class ExecServicer(object):
92
92
  raise NotImplementedError('Method not implemented!')
93
93
 
94
94
 
95
- def add_ExecServicer_to_server(servicer, server):
95
+ def add_ControlServicer_to_server(servicer, server):
96
96
  rpc_method_handlers = {
97
97
  'StartRun': grpc.unary_unary_rpc_method_handler(
98
98
  servicer.StartRun,
99
- request_deserializer=flwr_dot_proto_dot_exec__pb2.StartRunRequest.FromString,
100
- response_serializer=flwr_dot_proto_dot_exec__pb2.StartRunResponse.SerializeToString,
99
+ request_deserializer=flwr_dot_proto_dot_control__pb2.StartRunRequest.FromString,
100
+ response_serializer=flwr_dot_proto_dot_control__pb2.StartRunResponse.SerializeToString,
101
101
  ),
102
102
  'StopRun': grpc.unary_unary_rpc_method_handler(
103
103
  servicer.StopRun,
104
- request_deserializer=flwr_dot_proto_dot_exec__pb2.StopRunRequest.FromString,
105
- response_serializer=flwr_dot_proto_dot_exec__pb2.StopRunResponse.SerializeToString,
104
+ request_deserializer=flwr_dot_proto_dot_control__pb2.StopRunRequest.FromString,
105
+ response_serializer=flwr_dot_proto_dot_control__pb2.StopRunResponse.SerializeToString,
106
106
  ),
107
107
  'StreamLogs': grpc.unary_stream_rpc_method_handler(
108
108
  servicer.StreamLogs,
109
- request_deserializer=flwr_dot_proto_dot_exec__pb2.StreamLogsRequest.FromString,
110
- response_serializer=flwr_dot_proto_dot_exec__pb2.StreamLogsResponse.SerializeToString,
109
+ request_deserializer=flwr_dot_proto_dot_control__pb2.StreamLogsRequest.FromString,
110
+ response_serializer=flwr_dot_proto_dot_control__pb2.StreamLogsResponse.SerializeToString,
111
111
  ),
112
112
  'ListRuns': grpc.unary_unary_rpc_method_handler(
113
113
  servicer.ListRuns,
114
- request_deserializer=flwr_dot_proto_dot_exec__pb2.ListRunsRequest.FromString,
115
- response_serializer=flwr_dot_proto_dot_exec__pb2.ListRunsResponse.SerializeToString,
114
+ request_deserializer=flwr_dot_proto_dot_control__pb2.ListRunsRequest.FromString,
115
+ response_serializer=flwr_dot_proto_dot_control__pb2.ListRunsResponse.SerializeToString,
116
116
  ),
117
117
  'GetLoginDetails': grpc.unary_unary_rpc_method_handler(
118
118
  servicer.GetLoginDetails,
119
- request_deserializer=flwr_dot_proto_dot_exec__pb2.GetLoginDetailsRequest.FromString,
120
- response_serializer=flwr_dot_proto_dot_exec__pb2.GetLoginDetailsResponse.SerializeToString,
119
+ request_deserializer=flwr_dot_proto_dot_control__pb2.GetLoginDetailsRequest.FromString,
120
+ response_serializer=flwr_dot_proto_dot_control__pb2.GetLoginDetailsResponse.SerializeToString,
121
121
  ),
122
122
  'GetAuthTokens': grpc.unary_unary_rpc_method_handler(
123
123
  servicer.GetAuthTokens,
124
- request_deserializer=flwr_dot_proto_dot_exec__pb2.GetAuthTokensRequest.FromString,
125
- response_serializer=flwr_dot_proto_dot_exec__pb2.GetAuthTokensResponse.SerializeToString,
124
+ request_deserializer=flwr_dot_proto_dot_control__pb2.GetAuthTokensRequest.FromString,
125
+ response_serializer=flwr_dot_proto_dot_control__pb2.GetAuthTokensResponse.SerializeToString,
126
126
  ),
127
127
  }
128
128
  generic_handler = grpc.method_handlers_generic_handler(
129
- 'flwr.proto.Exec', rpc_method_handlers)
129
+ 'flwr.proto.Control', rpc_method_handlers)
130
130
  server.add_generic_rpc_handlers((generic_handler,))
131
131
 
132
132
 
133
133
  # This class is part of an EXPERIMENTAL API.
134
- class Exec(object):
134
+ class Control(object):
135
135
  """Missing associated documentation comment in .proto file."""
136
136
 
137
137
  @staticmethod
@@ -145,9 +145,9 @@ class Exec(object):
145
145
  wait_for_ready=None,
146
146
  timeout=None,
147
147
  metadata=None):
148
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Exec/StartRun',
149
- flwr_dot_proto_dot_exec__pb2.StartRunRequest.SerializeToString,
150
- flwr_dot_proto_dot_exec__pb2.StartRunResponse.FromString,
148
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/StartRun',
149
+ flwr_dot_proto_dot_control__pb2.StartRunRequest.SerializeToString,
150
+ flwr_dot_proto_dot_control__pb2.StartRunResponse.FromString,
151
151
  options, channel_credentials,
152
152
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
153
153
 
@@ -162,9 +162,9 @@ class Exec(object):
162
162
  wait_for_ready=None,
163
163
  timeout=None,
164
164
  metadata=None):
165
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Exec/StopRun',
166
- flwr_dot_proto_dot_exec__pb2.StopRunRequest.SerializeToString,
167
- flwr_dot_proto_dot_exec__pb2.StopRunResponse.FromString,
165
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/StopRun',
166
+ flwr_dot_proto_dot_control__pb2.StopRunRequest.SerializeToString,
167
+ flwr_dot_proto_dot_control__pb2.StopRunResponse.FromString,
168
168
  options, channel_credentials,
169
169
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
170
170
 
@@ -179,9 +179,9 @@ class Exec(object):
179
179
  wait_for_ready=None,
180
180
  timeout=None,
181
181
  metadata=None):
182
- return grpc.experimental.unary_stream(request, target, '/flwr.proto.Exec/StreamLogs',
183
- flwr_dot_proto_dot_exec__pb2.StreamLogsRequest.SerializeToString,
184
- flwr_dot_proto_dot_exec__pb2.StreamLogsResponse.FromString,
182
+ return grpc.experimental.unary_stream(request, target, '/flwr.proto.Control/StreamLogs',
183
+ flwr_dot_proto_dot_control__pb2.StreamLogsRequest.SerializeToString,
184
+ flwr_dot_proto_dot_control__pb2.StreamLogsResponse.FromString,
185
185
  options, channel_credentials,
186
186
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
187
187
 
@@ -196,9 +196,9 @@ class Exec(object):
196
196
  wait_for_ready=None,
197
197
  timeout=None,
198
198
  metadata=None):
199
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Exec/ListRuns',
200
- flwr_dot_proto_dot_exec__pb2.ListRunsRequest.SerializeToString,
201
- flwr_dot_proto_dot_exec__pb2.ListRunsResponse.FromString,
199
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/ListRuns',
200
+ flwr_dot_proto_dot_control__pb2.ListRunsRequest.SerializeToString,
201
+ flwr_dot_proto_dot_control__pb2.ListRunsResponse.FromString,
202
202
  options, channel_credentials,
203
203
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
204
204
 
@@ -213,9 +213,9 @@ class Exec(object):
213
213
  wait_for_ready=None,
214
214
  timeout=None,
215
215
  metadata=None):
216
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Exec/GetLoginDetails',
217
- flwr_dot_proto_dot_exec__pb2.GetLoginDetailsRequest.SerializeToString,
218
- flwr_dot_proto_dot_exec__pb2.GetLoginDetailsResponse.FromString,
216
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/GetLoginDetails',
217
+ flwr_dot_proto_dot_control__pb2.GetLoginDetailsRequest.SerializeToString,
218
+ flwr_dot_proto_dot_control__pb2.GetLoginDetailsResponse.FromString,
219
219
  options, channel_credentials,
220
220
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
221
221
 
@@ -230,8 +230,8 @@ class Exec(object):
230
230
  wait_for_ready=None,
231
231
  timeout=None,
232
232
  metadata=None):
233
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.Exec/GetAuthTokens',
234
- flwr_dot_proto_dot_exec__pb2.GetAuthTokensRequest.SerializeToString,
235
- flwr_dot_proto_dot_exec__pb2.GetAuthTokensResponse.FromString,
233
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/GetAuthTokens',
234
+ flwr_dot_proto_dot_control__pb2.GetAuthTokensRequest.SerializeToString,
235
+ flwr_dot_proto_dot_control__pb2.GetAuthTokensResponse.FromString,
236
236
  options, channel_credentials,
237
237
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -3,91 +3,91 @@
3
3
  isort:skip_file
4
4
  """
5
5
  import abc
6
- import flwr.proto.exec_pb2
6
+ import flwr.proto.control_pb2
7
7
  import grpc
8
8
  import typing
9
9
 
10
- class ExecStub:
10
+ class ControlStub:
11
11
  def __init__(self, channel: grpc.Channel) -> None: ...
12
12
  StartRun: grpc.UnaryUnaryMultiCallable[
13
- flwr.proto.exec_pb2.StartRunRequest,
14
- flwr.proto.exec_pb2.StartRunResponse]
13
+ flwr.proto.control_pb2.StartRunRequest,
14
+ flwr.proto.control_pb2.StartRunResponse]
15
15
  """Start run upon request"""
16
16
 
17
17
  StopRun: grpc.UnaryUnaryMultiCallable[
18
- flwr.proto.exec_pb2.StopRunRequest,
19
- flwr.proto.exec_pb2.StopRunResponse]
18
+ flwr.proto.control_pb2.StopRunRequest,
19
+ flwr.proto.control_pb2.StopRunResponse]
20
20
  """Stop run upon request"""
21
21
 
22
22
  StreamLogs: grpc.UnaryStreamMultiCallable[
23
- flwr.proto.exec_pb2.StreamLogsRequest,
24
- flwr.proto.exec_pb2.StreamLogsResponse]
23
+ flwr.proto.control_pb2.StreamLogsRequest,
24
+ flwr.proto.control_pb2.StreamLogsResponse]
25
25
  """Start log stream upon request"""
26
26
 
27
27
  ListRuns: grpc.UnaryUnaryMultiCallable[
28
- flwr.proto.exec_pb2.ListRunsRequest,
29
- flwr.proto.exec_pb2.ListRunsResponse]
28
+ flwr.proto.control_pb2.ListRunsRequest,
29
+ flwr.proto.control_pb2.ListRunsResponse]
30
30
  """flwr ls command"""
31
31
 
32
32
  GetLoginDetails: grpc.UnaryUnaryMultiCallable[
33
- flwr.proto.exec_pb2.GetLoginDetailsRequest,
34
- flwr.proto.exec_pb2.GetLoginDetailsResponse]
33
+ flwr.proto.control_pb2.GetLoginDetailsRequest,
34
+ flwr.proto.control_pb2.GetLoginDetailsResponse]
35
35
  """Get login details upon request"""
36
36
 
37
37
  GetAuthTokens: grpc.UnaryUnaryMultiCallable[
38
- flwr.proto.exec_pb2.GetAuthTokensRequest,
39
- flwr.proto.exec_pb2.GetAuthTokensResponse]
38
+ flwr.proto.control_pb2.GetAuthTokensRequest,
39
+ flwr.proto.control_pb2.GetAuthTokensResponse]
40
40
  """Get auth tokens upon request"""
41
41
 
42
42
 
43
- class ExecServicer(metaclass=abc.ABCMeta):
43
+ class ControlServicer(metaclass=abc.ABCMeta):
44
44
  @abc.abstractmethod
45
45
  def StartRun(self,
46
- request: flwr.proto.exec_pb2.StartRunRequest,
46
+ request: flwr.proto.control_pb2.StartRunRequest,
47
47
  context: grpc.ServicerContext,
48
- ) -> flwr.proto.exec_pb2.StartRunResponse:
48
+ ) -> flwr.proto.control_pb2.StartRunResponse:
49
49
  """Start run upon request"""
50
50
  pass
51
51
 
52
52
  @abc.abstractmethod
53
53
  def StopRun(self,
54
- request: flwr.proto.exec_pb2.StopRunRequest,
54
+ request: flwr.proto.control_pb2.StopRunRequest,
55
55
  context: grpc.ServicerContext,
56
- ) -> flwr.proto.exec_pb2.StopRunResponse:
56
+ ) -> flwr.proto.control_pb2.StopRunResponse:
57
57
  """Stop run upon request"""
58
58
  pass
59
59
 
60
60
  @abc.abstractmethod
61
61
  def StreamLogs(self,
62
- request: flwr.proto.exec_pb2.StreamLogsRequest,
62
+ request: flwr.proto.control_pb2.StreamLogsRequest,
63
63
  context: grpc.ServicerContext,
64
- ) -> typing.Iterator[flwr.proto.exec_pb2.StreamLogsResponse]:
64
+ ) -> typing.Iterator[flwr.proto.control_pb2.StreamLogsResponse]:
65
65
  """Start log stream upon request"""
66
66
  pass
67
67
 
68
68
  @abc.abstractmethod
69
69
  def ListRuns(self,
70
- request: flwr.proto.exec_pb2.ListRunsRequest,
70
+ request: flwr.proto.control_pb2.ListRunsRequest,
71
71
  context: grpc.ServicerContext,
72
- ) -> flwr.proto.exec_pb2.ListRunsResponse:
72
+ ) -> flwr.proto.control_pb2.ListRunsResponse:
73
73
  """flwr ls command"""
74
74
  pass
75
75
 
76
76
  @abc.abstractmethod
77
77
  def GetLoginDetails(self,
78
- request: flwr.proto.exec_pb2.GetLoginDetailsRequest,
78
+ request: flwr.proto.control_pb2.GetLoginDetailsRequest,
79
79
  context: grpc.ServicerContext,
80
- ) -> flwr.proto.exec_pb2.GetLoginDetailsResponse:
80
+ ) -> flwr.proto.control_pb2.GetLoginDetailsResponse:
81
81
  """Get login details upon request"""
82
82
  pass
83
83
 
84
84
  @abc.abstractmethod
85
85
  def GetAuthTokens(self,
86
- request: flwr.proto.exec_pb2.GetAuthTokensRequest,
86
+ request: flwr.proto.control_pb2.GetAuthTokensRequest,
87
87
  context: grpc.ServicerContext,
88
- ) -> flwr.proto.exec_pb2.GetAuthTokensResponse:
88
+ ) -> flwr.proto.control_pb2.GetAuthTokensResponse:
89
89
  """Get auth tokens upon request"""
90
90
  pass
91
91
 
92
92
 
93
- def add_ExecServicer_to_server(servicer: ExecServicer, server: grpc.Server) -> None: ...
93
+ def add_ControlServicer_to_server(servicer: ControlServicer, server: grpc.Server) -> None: ...
flwr/proto/fleet_pb2.py CHANGED
@@ -19,19 +19,15 @@ from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
19
19
  from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
20
20
 
21
21
 
22
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x18\x66lwr/proto/message.proto\"/\n\x11\x43reateNodeRequest\x12\x1a\n\x12heartbeat_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\"J\n\x13PullMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x13\n\x0bmessage_ids\x18\x02 \x03(\t\"\x87\x02\n\x14PullMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12L\n\x0fobjects_to_pull\x18\x03 \x03(\x0b\x32\x33.flwr.proto.PullMessagesResponse.ObjectsToPullEntry\x1aK\n\x12ObjectsToPullEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.flwr.proto.ObjectIDs:\x02\x38\x01\"\x97\x01\n\x13PushMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\xcb\x02\n\x14PushMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12>\n\x07results\x18\x02 \x03(\x0b\x32-.flwr.proto.PushMessagesResponse.ResultsEntry\x12L\n\x0fobjects_to_push\x18\x03 \x03(\x0b\x32\x33.flwr.proto.PushMessagesResponse.ObjectsToPushEntry\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1aK\n\x12ObjectsToPushEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.flwr.proto.ObjectIDs:\x02\x38\x01\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\xca\x06\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\x62\n\x11SendNodeHeartbeat\x12$.flwr.proto.SendNodeHeartbeatRequest\x1a%.flwr.proto.SendNodeHeartbeatResponse\"\x00\x12S\n\x0cPullMessages\x12\x1f.flwr.proto.PullMessagesRequest\x1a .flwr.proto.PullMessagesResponse\"\x00\x12S\n\x0cPushMessages\x12\x1f.flwr.proto.PushMessagesRequest\x1a .flwr.proto.PushMessagesResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x12M\n\nPushObject\x12\x1d.flwr.proto.PushObjectRequest\x1a\x1e.flwr.proto.PushObjectResponse\"\x00\x12M\n\nPullObject\x12\x1d.flwr.proto.PullObjectRequest\x1a\x1e.flwr.proto.PullObjectResponse\"\x00\x12q\n\x16\x43onfirmMessageReceived\x12).flwr.proto.ConfirmMessageReceivedRequest\x1a*.flwr.proto.ConfirmMessageReceivedResponse\"\x00\x62\x06proto3')
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x18\x66lwr/proto/message.proto\"/\n\x11\x43reateNodeRequest\x12\x1a\n\x12heartbeat_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\"J\n\x13PullMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x13\n\x0bmessage_ids\x18\x02 \x03(\t\"\xa2\x01\n\x14PullMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\x97\x01\n\x13PushMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\xc9\x01\n\x14PushMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12>\n\x07results\x18\x02 \x03(\x0b\x32-.flwr.proto.PushMessagesResponse.ResultsEntry\x12\x17\n\x0fobjects_to_push\x18\x03 \x03(\t\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\xca\x06\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\x62\n\x11SendNodeHeartbeat\x12$.flwr.proto.SendNodeHeartbeatRequest\x1a%.flwr.proto.SendNodeHeartbeatResponse\"\x00\x12S\n\x0cPullMessages\x12\x1f.flwr.proto.PullMessagesRequest\x1a .flwr.proto.PullMessagesResponse\"\x00\x12S\n\x0cPushMessages\x12\x1f.flwr.proto.PushMessagesRequest\x1a .flwr.proto.PushMessagesResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x12M\n\nPushObject\x12\x1d.flwr.proto.PushObjectRequest\x1a\x1e.flwr.proto.PushObjectResponse\"\x00\x12M\n\nPullObject\x12\x1d.flwr.proto.PullObjectRequest\x1a\x1e.flwr.proto.PullObjectResponse\"\x00\x12q\n\x16\x43onfirmMessageReceived\x12).flwr.proto.ConfirmMessageReceivedRequest\x1a*.flwr.proto.ConfirmMessageReceivedResponse\"\x00\x62\x06proto3')
23
23
 
24
24
  _globals = globals()
25
25
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
26
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.fleet_pb2', _globals)
27
27
  if _descriptor._USE_C_DESCRIPTORS == False:
28
28
  DESCRIPTOR._options = None
29
- _globals['_PULLMESSAGESRESPONSE_OBJECTSTOPULLENTRY']._options = None
30
- _globals['_PULLMESSAGESRESPONSE_OBJECTSTOPULLENTRY']._serialized_options = b'8\001'
31
29
  _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._options = None
32
30
  _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_options = b'8\001'
33
- _globals['_PUSHMESSAGESRESPONSE_OBJECTSTOPUSHENTRY']._options = None
34
- _globals['_PUSHMESSAGESRESPONSE_OBJECTSTOPUSHENTRY']._serialized_options = b'8\001'
35
31
  _globals['_CREATENODEREQUEST']._serialized_start=159
36
32
  _globals['_CREATENODEREQUEST']._serialized_end=206
37
33
  _globals['_CREATENODERESPONSE']._serialized_start=208
@@ -43,19 +39,15 @@ if _descriptor._USE_C_DESCRIPTORS == False:
43
39
  _globals['_PULLMESSAGESREQUEST']._serialized_start=337
44
40
  _globals['_PULLMESSAGESREQUEST']._serialized_end=411
45
41
  _globals['_PULLMESSAGESRESPONSE']._serialized_start=414
46
- _globals['_PULLMESSAGESRESPONSE']._serialized_end=677
47
- _globals['_PULLMESSAGESRESPONSE_OBJECTSTOPULLENTRY']._serialized_start=602
48
- _globals['_PULLMESSAGESRESPONSE_OBJECTSTOPULLENTRY']._serialized_end=677
49
- _globals['_PUSHMESSAGESREQUEST']._serialized_start=680
50
- _globals['_PUSHMESSAGESREQUEST']._serialized_end=831
51
- _globals['_PUSHMESSAGESRESPONSE']._serialized_start=834
52
- _globals['_PUSHMESSAGESRESPONSE']._serialized_end=1165
53
- _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_start=1042
54
- _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_end=1088
55
- _globals['_PUSHMESSAGESRESPONSE_OBJECTSTOPUSHENTRY']._serialized_start=1090
56
- _globals['_PUSHMESSAGESRESPONSE_OBJECTSTOPUSHENTRY']._serialized_end=1165
57
- _globals['_RECONNECT']._serialized_start=1167
58
- _globals['_RECONNECT']._serialized_end=1197
59
- _globals['_FLEET']._serialized_start=1200
60
- _globals['_FLEET']._serialized_end=2042
42
+ _globals['_PULLMESSAGESRESPONSE']._serialized_end=576
43
+ _globals['_PUSHMESSAGESREQUEST']._serialized_start=579
44
+ _globals['_PUSHMESSAGESREQUEST']._serialized_end=730
45
+ _globals['_PUSHMESSAGESRESPONSE']._serialized_start=733
46
+ _globals['_PUSHMESSAGESRESPONSE']._serialized_end=934
47
+ _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_start=888
48
+ _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_end=934
49
+ _globals['_RECONNECT']._serialized_start=936
50
+ _globals['_RECONNECT']._serialized_end=966
51
+ _globals['_FLEET']._serialized_start=969
52
+ _globals['_FLEET']._serialized_end=1811
61
53
  # @@protoc_insertion_point(module_scope)
flwr/proto/fleet_pb2.pyi CHANGED
@@ -78,38 +78,23 @@ global___PullMessagesRequest = PullMessagesRequest
78
78
 
79
79
  class PullMessagesResponse(google.protobuf.message.Message):
80
80
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
81
- class ObjectsToPullEntry(google.protobuf.message.Message):
82
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
83
- KEY_FIELD_NUMBER: builtins.int
84
- VALUE_FIELD_NUMBER: builtins.int
85
- key: typing.Text
86
- @property
87
- def value(self) -> flwr.proto.message_pb2.ObjectIDs: ...
88
- def __init__(self,
89
- *,
90
- key: typing.Text = ...,
91
- value: typing.Optional[flwr.proto.message_pb2.ObjectIDs] = ...,
92
- ) -> None: ...
93
- def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
94
- def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
95
-
96
81
  RECONNECT_FIELD_NUMBER: builtins.int
97
82
  MESSAGES_LIST_FIELD_NUMBER: builtins.int
98
- OBJECTS_TO_PULL_FIELD_NUMBER: builtins.int
83
+ MESSAGE_OBJECT_TREES_FIELD_NUMBER: builtins.int
99
84
  @property
100
85
  def reconnect(self) -> global___Reconnect: ...
101
86
  @property
102
87
  def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
103
88
  @property
104
- def objects_to_pull(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.message_pb2.ObjectIDs]: ...
89
+ def message_object_trees(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.ObjectTree]: ...
105
90
  def __init__(self,
106
91
  *,
107
92
  reconnect: typing.Optional[global___Reconnect] = ...,
108
93
  messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
109
- objects_to_pull: typing.Optional[typing.Mapping[typing.Text, flwr.proto.message_pb2.ObjectIDs]] = ...,
94
+ message_object_trees: typing.Optional[typing.Iterable[flwr.proto.message_pb2.ObjectTree]] = ...,
110
95
  ) -> None: ...
111
96
  def HasField(self, field_name: typing_extensions.Literal["reconnect",b"reconnect"]) -> builtins.bool: ...
112
- def ClearField(self, field_name: typing_extensions.Literal["messages_list",b"messages_list","objects_to_pull",b"objects_to_pull","reconnect",b"reconnect"]) -> None: ...
97
+ def ClearField(self, field_name: typing_extensions.Literal["message_object_trees",b"message_object_trees","messages_list",b"messages_list","reconnect",b"reconnect"]) -> None: ...
113
98
  global___PullMessagesResponse = PullMessagesResponse
114
99
 
115
100
  class PushMessagesRequest(google.protobuf.message.Message):
@@ -149,21 +134,6 @@ class PushMessagesResponse(google.protobuf.message.Message):
149
134
  ) -> None: ...
150
135
  def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
151
136
 
152
- class ObjectsToPushEntry(google.protobuf.message.Message):
153
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
154
- KEY_FIELD_NUMBER: builtins.int
155
- VALUE_FIELD_NUMBER: builtins.int
156
- key: typing.Text
157
- @property
158
- def value(self) -> flwr.proto.message_pb2.ObjectIDs: ...
159
- def __init__(self,
160
- *,
161
- key: typing.Text = ...,
162
- value: typing.Optional[flwr.proto.message_pb2.ObjectIDs] = ...,
163
- ) -> None: ...
164
- def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
165
- def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
166
-
167
137
  RECONNECT_FIELD_NUMBER: builtins.int
168
138
  RESULTS_FIELD_NUMBER: builtins.int
169
139
  OBJECTS_TO_PUSH_FIELD_NUMBER: builtins.int
@@ -172,12 +142,12 @@ class PushMessagesResponse(google.protobuf.message.Message):
172
142
  @property
173
143
  def results(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, builtins.int]: ...
174
144
  @property
175
- def objects_to_push(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.message_pb2.ObjectIDs]: ...
145
+ def objects_to_push(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
176
146
  def __init__(self,
177
147
  *,
178
148
  reconnect: typing.Optional[global___Reconnect] = ...,
179
149
  results: typing.Optional[typing.Mapping[typing.Text, builtins.int]] = ...,
180
- objects_to_push: typing.Optional[typing.Mapping[typing.Text, flwr.proto.message_pb2.ObjectIDs]] = ...,
150
+ objects_to_push: typing.Optional[typing.Iterable[typing.Text]] = ...,
181
151
  ) -> None: ...
182
152
  def HasField(self, field_name: typing_extensions.Literal["reconnect",b"reconnect"]) -> builtins.bool: ...
183
153
  def ClearField(self, field_name: typing_extensions.Literal["objects_to_push",b"objects_to_push","reconnect",b"reconnect","results",b"results"]) -> None: ...
@@ -18,43 +18,20 @@ from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
18
18
  from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
19
19
  from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
20
20
  from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
21
+ from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
21
22
 
22
23
 
23
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lwr/proto/serverappio.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x14\x66lwr/proto/log.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x18\x66lwr/proto/message.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\"!\n\x0fGetNodesRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"3\n\x10GetNodesResponse\x12\x1f\n\x05nodes\x18\x01 \x03(\x0b\x32\x10.flwr.proto.Node\"\x8a\x01\n\x16PushInsMessagesRequest\x12*\n\rmessages_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x0e\n\x06run_id\x18\x02 \x01(\x04\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\xcc\x01\n\x17PushInsMessagesResponse\x12\x13\n\x0bmessage_ids\x18\x01 \x03(\t\x12O\n\x0fobjects_to_push\x18\x02 \x03(\x0b\x32\x36.flwr.proto.PushInsMessagesResponse.ObjectsToPushEntry\x1aK\n\x12ObjectsToPushEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.flwr.proto.ObjectIDs:\x02\x38\x01\"=\n\x16PullResMessagesRequest\x12\x13\n\x0bmessage_ids\x18\x01 \x03(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\x04\"\xe3\x01\n\x17PullResMessagesResponse\x12*\n\rmessages_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.Message\x12O\n\x0fobjects_to_pull\x18\x02 \x03(\x0b\x32\x36.flwr.proto.PullResMessagesResponse.ObjectsToPullEntry\x1aK\n\x12ObjectsToPullEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.flwr.proto.ObjectIDs:\x02\x38\x01\"\x1c\n\x1aPullServerAppInputsRequest\"\x7f\n\x1bPullServerAppInputsResponse\x12$\n\x07\x63ontext\x18\x01 \x01(\x0b\x32\x13.flwr.proto.Context\x12\x1c\n\x03run\x18\x02 \x01(\x0b\x32\x0f.flwr.proto.Run\x12\x1c\n\x03\x66\x61\x62\x18\x03 \x01(\x0b\x32\x0f.flwr.proto.Fab\"S\n\x1bPushServerAppOutputsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12$\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x13.flwr.proto.Context\"\x1e\n\x1cPushServerAppOutputsResponse2\xd7\t\n\x0bServerAppIo\x12G\n\x08GetNodes\x12\x1b.flwr.proto.GetNodesRequest\x1a\x1c.flwr.proto.GetNodesResponse\"\x00\x12Y\n\x0cPushMessages\x12\".flwr.proto.PushInsMessagesRequest\x1a#.flwr.proto.PushInsMessagesResponse\"\x00\x12Y\n\x0cPullMessages\x12\".flwr.proto.PullResMessagesRequest\x1a#.flwr.proto.PullResMessagesResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x12h\n\x13PullServerAppInputs\x12&.flwr.proto.PullServerAppInputsRequest\x1a\'.flwr.proto.PullServerAppInputsResponse\"\x00\x12k\n\x14PushServerAppOutputs\x12\'.flwr.proto.PushServerAppOutputsRequest\x1a(.flwr.proto.PushServerAppOutputsResponse\"\x00\x12\\\n\x0fUpdateRunStatus\x12\".flwr.proto.UpdateRunStatusRequest\x1a#.flwr.proto.UpdateRunStatusResponse\"\x00\x12S\n\x0cGetRunStatus\x12\x1f.flwr.proto.GetRunStatusRequest\x1a .flwr.proto.GetRunStatusResponse\"\x00\x12G\n\x08PushLogs\x12\x1b.flwr.proto.PushLogsRequest\x1a\x1c.flwr.proto.PushLogsResponse\"\x00\x12_\n\x10SendAppHeartbeat\x12#.flwr.proto.SendAppHeartbeatRequest\x1a$.flwr.proto.SendAppHeartbeatResponse\"\x00\x12M\n\nPushObject\x12\x1d.flwr.proto.PushObjectRequest\x1a\x1e.flwr.proto.PushObjectResponse\"\x00\x12M\n\nPullObject\x12\x1d.flwr.proto.PullObjectRequest\x1a\x1e.flwr.proto.PullObjectResponse\"\x00\x12q\n\x16\x43onfirmMessageReceived\x12).flwr.proto.ConfirmMessageReceivedRequest\x1a*.flwr.proto.ConfirmMessageReceivedResponse\"\x00\x62\x06proto3')
24
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lwr/proto/serverappio.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x14\x66lwr/proto/log.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x18\x66lwr/proto/message.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x16\x66lwr/proto/appio.proto\"!\n\x0fGetNodesRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"3\n\x10GetNodesResponse\x12\x1f\n\x05nodes\x18\x01 \x03(\x0b\x32\x10.flwr.proto.Node2\xe9\n\n\x0bServerAppIo\x12_\n\x10ListAppsToLaunch\x12#.flwr.proto.ListAppsToLaunchRequest\x1a$.flwr.proto.ListAppsToLaunchResponse\"\x00\x12S\n\x0cRequestToken\x12\x1f.flwr.proto.RequestTokenRequest\x1a .flwr.proto.RequestTokenResponse\"\x00\x12G\n\x08GetNodes\x12\x1b.flwr.proto.GetNodesRequest\x1a\x1c.flwr.proto.GetNodesResponse\"\x00\x12Y\n\x0cPushMessages\x12\".flwr.proto.PushAppMessagesRequest\x1a#.flwr.proto.PushAppMessagesResponse\"\x00\x12Y\n\x0cPullMessages\x12\".flwr.proto.PullAppMessagesRequest\x1a#.flwr.proto.PullAppMessagesResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x12V\n\rPullAppInputs\x12 .flwr.proto.PullAppInputsRequest\x1a!.flwr.proto.PullAppInputsResponse\"\x00\x12Y\n\x0ePushAppOutputs\x12!.flwr.proto.PushAppOutputsRequest\x1a\".flwr.proto.PushAppOutputsResponse\"\x00\x12\\\n\x0fUpdateRunStatus\x12\".flwr.proto.UpdateRunStatusRequest\x1a#.flwr.proto.UpdateRunStatusResponse\"\x00\x12S\n\x0cGetRunStatus\x12\x1f.flwr.proto.GetRunStatusRequest\x1a .flwr.proto.GetRunStatusResponse\"\x00\x12G\n\x08PushLogs\x12\x1b.flwr.proto.PushLogsRequest\x1a\x1c.flwr.proto.PushLogsResponse\"\x00\x12_\n\x10SendAppHeartbeat\x12#.flwr.proto.SendAppHeartbeatRequest\x1a$.flwr.proto.SendAppHeartbeatResponse\"\x00\x12M\n\nPushObject\x12\x1d.flwr.proto.PushObjectRequest\x1a\x1e.flwr.proto.PushObjectResponse\"\x00\x12M\n\nPullObject\x12\x1d.flwr.proto.PullObjectRequest\x1a\x1e.flwr.proto.PullObjectResponse\"\x00\x12q\n\x16\x43onfirmMessageReceived\x12).flwr.proto.ConfirmMessageReceivedRequest\x1a*.flwr.proto.ConfirmMessageReceivedResponse\"\x00\x62\x06proto3')
24
25
 
25
26
  _globals = globals()
26
27
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
27
28
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.serverappio_pb2', _globals)
28
29
  if _descriptor._USE_C_DESCRIPTORS == False:
29
30
  DESCRIPTOR._options = None
30
- _globals['_PUSHINSMESSAGESRESPONSE_OBJECTSTOPUSHENTRY']._options = None
31
- _globals['_PUSHINSMESSAGESRESPONSE_OBJECTSTOPUSHENTRY']._serialized_options = b'8\001'
32
- _globals['_PULLRESMESSAGESRESPONSE_OBJECTSTOPULLENTRY']._options = None
33
- _globals['_PULLRESMESSAGESRESPONSE_OBJECTSTOPULLENTRY']._serialized_options = b'8\001'
34
- _globals['_GETNODESREQUEST']._serialized_start=187
35
- _globals['_GETNODESREQUEST']._serialized_end=220
36
- _globals['_GETNODESRESPONSE']._serialized_start=222
37
- _globals['_GETNODESRESPONSE']._serialized_end=273
38
- _globals['_PUSHINSMESSAGESREQUEST']._serialized_start=276
39
- _globals['_PUSHINSMESSAGESREQUEST']._serialized_end=414
40
- _globals['_PUSHINSMESSAGESRESPONSE']._serialized_start=417
41
- _globals['_PUSHINSMESSAGESRESPONSE']._serialized_end=621
42
- _globals['_PUSHINSMESSAGESRESPONSE_OBJECTSTOPUSHENTRY']._serialized_start=546
43
- _globals['_PUSHINSMESSAGESRESPONSE_OBJECTSTOPUSHENTRY']._serialized_end=621
44
- _globals['_PULLRESMESSAGESREQUEST']._serialized_start=623
45
- _globals['_PULLRESMESSAGESREQUEST']._serialized_end=684
46
- _globals['_PULLRESMESSAGESRESPONSE']._serialized_start=687
47
- _globals['_PULLRESMESSAGESRESPONSE']._serialized_end=914
48
- _globals['_PULLRESMESSAGESRESPONSE_OBJECTSTOPULLENTRY']._serialized_start=839
49
- _globals['_PULLRESMESSAGESRESPONSE_OBJECTSTOPULLENTRY']._serialized_end=914
50
- _globals['_PULLSERVERAPPINPUTSREQUEST']._serialized_start=916
51
- _globals['_PULLSERVERAPPINPUTSREQUEST']._serialized_end=944
52
- _globals['_PULLSERVERAPPINPUTSRESPONSE']._serialized_start=946
53
- _globals['_PULLSERVERAPPINPUTSRESPONSE']._serialized_end=1073
54
- _globals['_PUSHSERVERAPPOUTPUTSREQUEST']._serialized_start=1075
55
- _globals['_PUSHSERVERAPPOUTPUTSREQUEST']._serialized_end=1158
56
- _globals['_PUSHSERVERAPPOUTPUTSRESPONSE']._serialized_start=1160
57
- _globals['_PUSHSERVERAPPOUTPUTSRESPONSE']._serialized_end=1190
58
- _globals['_SERVERAPPIO']._serialized_start=1193
59
- _globals['_SERVERAPPIO']._serialized_end=2432
31
+ _globals['_GETNODESREQUEST']._serialized_start=211
32
+ _globals['_GETNODESREQUEST']._serialized_end=244
33
+ _globals['_GETNODESRESPONSE']._serialized_start=246
34
+ _globals['_GETNODESRESPONSE']._serialized_end=297
35
+ _globals['_SERVERAPPIO']._serialized_start=300
36
+ _globals['_SERVERAPPIO']._serialized_end=1685
60
37
  # @@protoc_insertion_point(module_scope)