flwr 1.20.0__py3-none-any.whl → 1.22.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 (182) 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/app.py +2 -0
  5. flwr/cli/auth_plugin/oidc_cli_plugin.py +4 -4
  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 +15 -2
  13. flwr/cli/new/templates/app/README.flowertune.md.tpl +1 -1
  14. flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl +1 -0
  15. flwr/cli/new/templates/app/code/client.baseline.py.tpl +64 -47
  16. flwr/cli/new/templates/app/code/client.huggingface.py.tpl +68 -30
  17. flwr/cli/new/templates/app/code/client.jax.py.tpl +63 -42
  18. flwr/cli/new/templates/app/code/client.mlx.py.tpl +80 -51
  19. flwr/cli/new/templates/app/code/client.numpy.py.tpl +36 -13
  20. flwr/cli/new/templates/app/code/client.pytorch.py.tpl +71 -46
  21. flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl +55 -0
  22. flwr/cli/new/templates/app/code/client.sklearn.py.tpl +75 -30
  23. flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +69 -44
  24. flwr/cli/new/templates/app/code/client.xgboost.py.tpl +110 -0
  25. flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +56 -90
  26. flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +1 -23
  27. flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +37 -58
  28. flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +39 -44
  29. flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -14
  30. flwr/cli/new/templates/app/code/server.baseline.py.tpl +27 -29
  31. flwr/cli/new/templates/app/code/server.huggingface.py.tpl +23 -19
  32. flwr/cli/new/templates/app/code/server.jax.py.tpl +27 -14
  33. flwr/cli/new/templates/app/code/server.mlx.py.tpl +29 -19
  34. flwr/cli/new/templates/app/code/server.numpy.py.tpl +30 -17
  35. flwr/cli/new/templates/app/code/server.pytorch.py.tpl +36 -26
  36. flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl +31 -0
  37. flwr/cli/new/templates/app/code/server.sklearn.py.tpl +29 -21
  38. flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +28 -19
  39. flwr/cli/new/templates/app/code/server.xgboost.py.tpl +56 -0
  40. flwr/cli/new/templates/app/code/task.huggingface.py.tpl +16 -20
  41. flwr/cli/new/templates/app/code/task.jax.py.tpl +1 -1
  42. flwr/cli/new/templates/app/code/task.numpy.py.tpl +1 -1
  43. flwr/cli/new/templates/app/code/task.pytorch.py.tpl +14 -27
  44. flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl +111 -0
  45. flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +1 -2
  46. flwr/cli/new/templates/app/code/task.xgboost.py.tpl +67 -0
  47. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +4 -4
  48. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +2 -2
  49. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +4 -4
  50. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
  51. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +2 -2
  52. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
  53. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +3 -3
  54. flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +53 -0
  55. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
  56. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +1 -1
  57. flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +61 -0
  58. flwr/cli/pull.py +100 -0
  59. flwr/cli/run/run.py +9 -13
  60. flwr/cli/stop.py +7 -4
  61. flwr/cli/utils.py +36 -8
  62. flwr/client/grpc_rere_client/connection.py +1 -12
  63. flwr/client/rest_client/connection.py +3 -0
  64. flwr/clientapp/__init__.py +10 -0
  65. flwr/clientapp/mod/__init__.py +29 -0
  66. flwr/clientapp/mod/centraldp_mods.py +248 -0
  67. flwr/clientapp/mod/localdp_mod.py +169 -0
  68. flwr/clientapp/typing.py +22 -0
  69. flwr/common/args.py +20 -6
  70. flwr/common/auth_plugin/__init__.py +4 -4
  71. flwr/common/auth_plugin/auth_plugin.py +7 -7
  72. flwr/common/constant.py +26 -4
  73. flwr/common/event_log_plugin/event_log_plugin.py +1 -1
  74. flwr/common/exit/__init__.py +4 -0
  75. flwr/common/exit/exit.py +8 -1
  76. flwr/common/exit/exit_code.py +30 -7
  77. flwr/common/exit/exit_handler.py +62 -0
  78. flwr/common/{exit_handlers.py → exit/signal_handler.py} +20 -37
  79. flwr/common/grpc.py +0 -11
  80. flwr/common/inflatable_utils.py +1 -1
  81. flwr/common/logger.py +1 -1
  82. flwr/common/record/typeddict.py +12 -0
  83. flwr/common/retry_invoker.py +30 -11
  84. flwr/common/telemetry.py +4 -0
  85. flwr/compat/server/app.py +2 -2
  86. flwr/proto/appio_pb2.py +25 -17
  87. flwr/proto/appio_pb2.pyi +46 -2
  88. flwr/proto/clientappio_pb2.py +3 -11
  89. flwr/proto/clientappio_pb2.pyi +0 -47
  90. flwr/proto/clientappio_pb2_grpc.py +19 -20
  91. flwr/proto/clientappio_pb2_grpc.pyi +10 -11
  92. flwr/proto/control_pb2.py +66 -0
  93. flwr/proto/{exec_pb2.pyi → control_pb2.pyi} +24 -0
  94. flwr/proto/{exec_pb2_grpc.py → control_pb2_grpc.py} +88 -54
  95. flwr/proto/control_pb2_grpc.pyi +106 -0
  96. flwr/proto/serverappio_pb2.py +2 -2
  97. flwr/proto/serverappio_pb2_grpc.py +68 -0
  98. flwr/proto/serverappio_pb2_grpc.pyi +26 -0
  99. flwr/proto/simulationio_pb2.py +4 -11
  100. flwr/proto/simulationio_pb2.pyi +0 -58
  101. flwr/proto/simulationio_pb2_grpc.py +129 -27
  102. flwr/proto/simulationio_pb2_grpc.pyi +52 -13
  103. flwr/server/app.py +142 -152
  104. flwr/server/grid/grpc_grid.py +3 -0
  105. flwr/server/grid/inmemory_grid.py +1 -0
  106. flwr/server/serverapp/app.py +157 -146
  107. flwr/server/superlink/fleet/vce/backend/raybackend.py +3 -1
  108. flwr/server/superlink/fleet/vce/vce_api.py +6 -6
  109. flwr/server/superlink/linkstate/in_memory_linkstate.py +34 -0
  110. flwr/server/superlink/linkstate/linkstate.py +2 -1
  111. flwr/server/superlink/linkstate/sqlite_linkstate.py +45 -0
  112. flwr/server/superlink/serverappio/serverappio_grpc.py +1 -1
  113. flwr/server/superlink/serverappio/serverappio_servicer.py +61 -6
  114. flwr/server/superlink/simulation/simulationio_servicer.py +97 -21
  115. flwr/serverapp/__init__.py +12 -0
  116. flwr/serverapp/exception.py +38 -0
  117. flwr/serverapp/strategy/__init__.py +64 -0
  118. flwr/serverapp/strategy/bulyan.py +238 -0
  119. flwr/serverapp/strategy/dp_adaptive_clipping.py +335 -0
  120. flwr/serverapp/strategy/dp_fixed_clipping.py +374 -0
  121. flwr/serverapp/strategy/fedadagrad.py +159 -0
  122. flwr/serverapp/strategy/fedadam.py +178 -0
  123. flwr/serverapp/strategy/fedavg.py +320 -0
  124. flwr/serverapp/strategy/fedavgm.py +198 -0
  125. flwr/serverapp/strategy/fedmedian.py +105 -0
  126. flwr/serverapp/strategy/fedopt.py +218 -0
  127. flwr/serverapp/strategy/fedprox.py +174 -0
  128. flwr/serverapp/strategy/fedtrimmedavg.py +176 -0
  129. flwr/serverapp/strategy/fedxgb_bagging.py +117 -0
  130. flwr/serverapp/strategy/fedxgb_cyclic.py +220 -0
  131. flwr/serverapp/strategy/fedyogi.py +170 -0
  132. flwr/serverapp/strategy/krum.py +112 -0
  133. flwr/serverapp/strategy/multikrum.py +247 -0
  134. flwr/serverapp/strategy/qfedavg.py +252 -0
  135. flwr/serverapp/strategy/result.py +105 -0
  136. flwr/serverapp/strategy/strategy.py +285 -0
  137. flwr/serverapp/strategy/strategy_utils.py +299 -0
  138. flwr/simulation/app.py +161 -164
  139. flwr/simulation/run_simulation.py +25 -30
  140. flwr/supercore/app_utils.py +58 -0
  141. flwr/{supernode/scheduler → supercore/cli}/__init__.py +3 -3
  142. flwr/supercore/cli/flower_superexec.py +166 -0
  143. flwr/supercore/constant.py +19 -0
  144. flwr/supercore/{scheduler → corestate}/__init__.py +3 -3
  145. flwr/supercore/corestate/corestate.py +81 -0
  146. flwr/supercore/grpc_health/__init__.py +3 -0
  147. flwr/supercore/grpc_health/health_server.py +53 -0
  148. flwr/supercore/grpc_health/simple_health_servicer.py +2 -2
  149. flwr/{superexec → supercore/superexec}/__init__.py +1 -1
  150. flwr/supercore/superexec/plugin/__init__.py +28 -0
  151. flwr/{supernode/scheduler/simple_clientapp_scheduler_plugin.py → supercore/superexec/plugin/base_exec_plugin.py} +10 -6
  152. flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +28 -0
  153. flwr/supercore/{scheduler/plugin.py → superexec/plugin/exec_plugin.py} +15 -5
  154. flwr/supercore/superexec/plugin/serverapp_exec_plugin.py +28 -0
  155. flwr/supercore/superexec/plugin/simulation_exec_plugin.py +28 -0
  156. flwr/supercore/superexec/run_superexec.py +199 -0
  157. flwr/superlink/artifact_provider/__init__.py +22 -0
  158. flwr/superlink/artifact_provider/artifact_provider.py +37 -0
  159. flwr/superlink/servicer/__init__.py +15 -0
  160. flwr/superlink/servicer/control/__init__.py +22 -0
  161. flwr/{superexec/exec_event_log_interceptor.py → superlink/servicer/control/control_event_log_interceptor.py} +7 -7
  162. flwr/{superexec/exec_grpc.py → superlink/servicer/control/control_grpc.py} +27 -29
  163. flwr/{superexec/exec_license_interceptor.py → superlink/servicer/control/control_license_interceptor.py} +6 -6
  164. flwr/{superexec/exec_servicer.py → superlink/servicer/control/control_servicer.py} +127 -31
  165. flwr/{superexec/exec_user_auth_interceptor.py → superlink/servicer/control/control_user_auth_interceptor.py} +10 -10
  166. flwr/supernode/cli/flower_supernode.py +3 -0
  167. flwr/supernode/cli/flwr_clientapp.py +18 -21
  168. flwr/supernode/nodestate/in_memory_nodestate.py +2 -2
  169. flwr/supernode/nodestate/nodestate.py +3 -59
  170. flwr/supernode/runtime/run_clientapp.py +39 -102
  171. flwr/supernode/servicer/clientappio/clientappio_servicer.py +10 -17
  172. flwr/supernode/start_client_internal.py +35 -76
  173. {flwr-1.20.0.dist-info → flwr-1.22.0.dist-info}/METADATA +9 -18
  174. {flwr-1.20.0.dist-info → flwr-1.22.0.dist-info}/RECORD +176 -128
  175. {flwr-1.20.0.dist-info → flwr-1.22.0.dist-info}/entry_points.txt +1 -0
  176. flwr/proto/exec_pb2.py +0 -62
  177. flwr/proto/exec_pb2_grpc.pyi +0 -93
  178. flwr/superexec/app.py +0 -45
  179. flwr/superexec/deployment.py +0 -191
  180. flwr/superexec/executor.py +0 -100
  181. flwr/superexec/simulation.py +0 -129
  182. {flwr-1.20.0.dist-info → flwr-1.22.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,43 @@ 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
+ )
47
+ self.PullArtifacts = channel.unary_unary(
48
+ '/flwr.proto.Control/PullArtifacts',
49
+ request_serializer=flwr_dot_proto_dot_control__pb2.PullArtifactsRequest.SerializeToString,
50
+ response_deserializer=flwr_dot_proto_dot_control__pb2.PullArtifactsResponse.FromString,
46
51
  )
47
52
 
48
53
 
49
- class ExecServicer(object):
54
+ class ControlServicer(object):
50
55
  """Missing associated documentation comment in .proto file."""
51
56
 
52
57
  def StartRun(self, request, context):
@@ -91,47 +96,59 @@ class ExecServicer(object):
91
96
  context.set_details('Method not implemented!')
92
97
  raise NotImplementedError('Method not implemented!')
93
98
 
99
+ def PullArtifacts(self, request, context):
100
+ """Pull artifacts generated during a run (flwr pull)
101
+ """
102
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
103
+ context.set_details('Method not implemented!')
104
+ raise NotImplementedError('Method not implemented!')
105
+
94
106
 
95
- def add_ExecServicer_to_server(servicer, server):
107
+ def add_ControlServicer_to_server(servicer, server):
96
108
  rpc_method_handlers = {
97
109
  'StartRun': grpc.unary_unary_rpc_method_handler(
98
110
  servicer.StartRun,
99
- request_deserializer=flwr_dot_proto_dot_exec__pb2.StartRunRequest.FromString,
100
- response_serializer=flwr_dot_proto_dot_exec__pb2.StartRunResponse.SerializeToString,
111
+ request_deserializer=flwr_dot_proto_dot_control__pb2.StartRunRequest.FromString,
112
+ response_serializer=flwr_dot_proto_dot_control__pb2.StartRunResponse.SerializeToString,
101
113
  ),
102
114
  'StopRun': grpc.unary_unary_rpc_method_handler(
103
115
  servicer.StopRun,
104
- request_deserializer=flwr_dot_proto_dot_exec__pb2.StopRunRequest.FromString,
105
- response_serializer=flwr_dot_proto_dot_exec__pb2.StopRunResponse.SerializeToString,
116
+ request_deserializer=flwr_dot_proto_dot_control__pb2.StopRunRequest.FromString,
117
+ response_serializer=flwr_dot_proto_dot_control__pb2.StopRunResponse.SerializeToString,
106
118
  ),
107
119
  'StreamLogs': grpc.unary_stream_rpc_method_handler(
108
120
  servicer.StreamLogs,
109
- request_deserializer=flwr_dot_proto_dot_exec__pb2.StreamLogsRequest.FromString,
110
- response_serializer=flwr_dot_proto_dot_exec__pb2.StreamLogsResponse.SerializeToString,
121
+ request_deserializer=flwr_dot_proto_dot_control__pb2.StreamLogsRequest.FromString,
122
+ response_serializer=flwr_dot_proto_dot_control__pb2.StreamLogsResponse.SerializeToString,
111
123
  ),
112
124
  'ListRuns': grpc.unary_unary_rpc_method_handler(
113
125
  servicer.ListRuns,
114
- request_deserializer=flwr_dot_proto_dot_exec__pb2.ListRunsRequest.FromString,
115
- response_serializer=flwr_dot_proto_dot_exec__pb2.ListRunsResponse.SerializeToString,
126
+ request_deserializer=flwr_dot_proto_dot_control__pb2.ListRunsRequest.FromString,
127
+ response_serializer=flwr_dot_proto_dot_control__pb2.ListRunsResponse.SerializeToString,
116
128
  ),
117
129
  'GetLoginDetails': grpc.unary_unary_rpc_method_handler(
118
130
  servicer.GetLoginDetails,
119
- request_deserializer=flwr_dot_proto_dot_exec__pb2.GetLoginDetailsRequest.FromString,
120
- response_serializer=flwr_dot_proto_dot_exec__pb2.GetLoginDetailsResponse.SerializeToString,
131
+ request_deserializer=flwr_dot_proto_dot_control__pb2.GetLoginDetailsRequest.FromString,
132
+ response_serializer=flwr_dot_proto_dot_control__pb2.GetLoginDetailsResponse.SerializeToString,
121
133
  ),
122
134
  'GetAuthTokens': grpc.unary_unary_rpc_method_handler(
123
135
  servicer.GetAuthTokens,
124
- request_deserializer=flwr_dot_proto_dot_exec__pb2.GetAuthTokensRequest.FromString,
125
- response_serializer=flwr_dot_proto_dot_exec__pb2.GetAuthTokensResponse.SerializeToString,
136
+ request_deserializer=flwr_dot_proto_dot_control__pb2.GetAuthTokensRequest.FromString,
137
+ response_serializer=flwr_dot_proto_dot_control__pb2.GetAuthTokensResponse.SerializeToString,
138
+ ),
139
+ 'PullArtifacts': grpc.unary_unary_rpc_method_handler(
140
+ servicer.PullArtifacts,
141
+ request_deserializer=flwr_dot_proto_dot_control__pb2.PullArtifactsRequest.FromString,
142
+ response_serializer=flwr_dot_proto_dot_control__pb2.PullArtifactsResponse.SerializeToString,
126
143
  ),
127
144
  }
128
145
  generic_handler = grpc.method_handlers_generic_handler(
129
- 'flwr.proto.Exec', rpc_method_handlers)
146
+ 'flwr.proto.Control', rpc_method_handlers)
130
147
  server.add_generic_rpc_handlers((generic_handler,))
131
148
 
132
149
 
133
150
  # This class is part of an EXPERIMENTAL API.
134
- class Exec(object):
151
+ class Control(object):
135
152
  """Missing associated documentation comment in .proto file."""
136
153
 
137
154
  @staticmethod
@@ -145,9 +162,9 @@ class Exec(object):
145
162
  wait_for_ready=None,
146
163
  timeout=None,
147
164
  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,
165
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/StartRun',
166
+ flwr_dot_proto_dot_control__pb2.StartRunRequest.SerializeToString,
167
+ flwr_dot_proto_dot_control__pb2.StartRunResponse.FromString,
151
168
  options, channel_credentials,
152
169
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
153
170
 
@@ -162,9 +179,9 @@ class Exec(object):
162
179
  wait_for_ready=None,
163
180
  timeout=None,
164
181
  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,
182
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/StopRun',
183
+ flwr_dot_proto_dot_control__pb2.StopRunRequest.SerializeToString,
184
+ flwr_dot_proto_dot_control__pb2.StopRunResponse.FromString,
168
185
  options, channel_credentials,
169
186
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
170
187
 
@@ -179,9 +196,9 @@ class Exec(object):
179
196
  wait_for_ready=None,
180
197
  timeout=None,
181
198
  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,
199
+ return grpc.experimental.unary_stream(request, target, '/flwr.proto.Control/StreamLogs',
200
+ flwr_dot_proto_dot_control__pb2.StreamLogsRequest.SerializeToString,
201
+ flwr_dot_proto_dot_control__pb2.StreamLogsResponse.FromString,
185
202
  options, channel_credentials,
186
203
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
187
204
 
@@ -196,9 +213,9 @@ class Exec(object):
196
213
  wait_for_ready=None,
197
214
  timeout=None,
198
215
  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,
216
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/ListRuns',
217
+ flwr_dot_proto_dot_control__pb2.ListRunsRequest.SerializeToString,
218
+ flwr_dot_proto_dot_control__pb2.ListRunsResponse.FromString,
202
219
  options, channel_credentials,
203
220
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
204
221
 
@@ -213,9 +230,9 @@ class Exec(object):
213
230
  wait_for_ready=None,
214
231
  timeout=None,
215
232
  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,
233
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/GetLoginDetails',
234
+ flwr_dot_proto_dot_control__pb2.GetLoginDetailsRequest.SerializeToString,
235
+ flwr_dot_proto_dot_control__pb2.GetLoginDetailsResponse.FromString,
219
236
  options, channel_credentials,
220
237
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
221
238
 
@@ -230,8 +247,25 @@ class Exec(object):
230
247
  wait_for_ready=None,
231
248
  timeout=None,
232
249
  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,
250
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/GetAuthTokens',
251
+ flwr_dot_proto_dot_control__pb2.GetAuthTokensRequest.SerializeToString,
252
+ flwr_dot_proto_dot_control__pb2.GetAuthTokensResponse.FromString,
253
+ options, channel_credentials,
254
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
255
+
256
+ @staticmethod
257
+ def PullArtifacts(request,
258
+ target,
259
+ options=(),
260
+ channel_credentials=None,
261
+ call_credentials=None,
262
+ insecure=False,
263
+ compression=None,
264
+ wait_for_ready=None,
265
+ timeout=None,
266
+ metadata=None):
267
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/PullArtifacts',
268
+ flwr_dot_proto_dot_control__pb2.PullArtifactsRequest.SerializeToString,
269
+ flwr_dot_proto_dot_control__pb2.PullArtifactsResponse.FromString,
236
270
  options, channel_credentials,
237
271
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -0,0 +1,106 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import abc
6
+ import flwr.proto.control_pb2
7
+ import grpc
8
+ import typing
9
+
10
+ class ControlStub:
11
+ def __init__(self, channel: grpc.Channel) -> None: ...
12
+ StartRun: grpc.UnaryUnaryMultiCallable[
13
+ flwr.proto.control_pb2.StartRunRequest,
14
+ flwr.proto.control_pb2.StartRunResponse]
15
+ """Start run upon request"""
16
+
17
+ StopRun: grpc.UnaryUnaryMultiCallable[
18
+ flwr.proto.control_pb2.StopRunRequest,
19
+ flwr.proto.control_pb2.StopRunResponse]
20
+ """Stop run upon request"""
21
+
22
+ StreamLogs: grpc.UnaryStreamMultiCallable[
23
+ flwr.proto.control_pb2.StreamLogsRequest,
24
+ flwr.proto.control_pb2.StreamLogsResponse]
25
+ """Start log stream upon request"""
26
+
27
+ ListRuns: grpc.UnaryUnaryMultiCallable[
28
+ flwr.proto.control_pb2.ListRunsRequest,
29
+ flwr.proto.control_pb2.ListRunsResponse]
30
+ """flwr ls command"""
31
+
32
+ GetLoginDetails: grpc.UnaryUnaryMultiCallable[
33
+ flwr.proto.control_pb2.GetLoginDetailsRequest,
34
+ flwr.proto.control_pb2.GetLoginDetailsResponse]
35
+ """Get login details upon request"""
36
+
37
+ GetAuthTokens: grpc.UnaryUnaryMultiCallable[
38
+ flwr.proto.control_pb2.GetAuthTokensRequest,
39
+ flwr.proto.control_pb2.GetAuthTokensResponse]
40
+ """Get auth tokens upon request"""
41
+
42
+ PullArtifacts: grpc.UnaryUnaryMultiCallable[
43
+ flwr.proto.control_pb2.PullArtifactsRequest,
44
+ flwr.proto.control_pb2.PullArtifactsResponse]
45
+ """Pull artifacts generated during a run (flwr pull)"""
46
+
47
+
48
+ class ControlServicer(metaclass=abc.ABCMeta):
49
+ @abc.abstractmethod
50
+ def StartRun(self,
51
+ request: flwr.proto.control_pb2.StartRunRequest,
52
+ context: grpc.ServicerContext,
53
+ ) -> flwr.proto.control_pb2.StartRunResponse:
54
+ """Start run upon request"""
55
+ pass
56
+
57
+ @abc.abstractmethod
58
+ def StopRun(self,
59
+ request: flwr.proto.control_pb2.StopRunRequest,
60
+ context: grpc.ServicerContext,
61
+ ) -> flwr.proto.control_pb2.StopRunResponse:
62
+ """Stop run upon request"""
63
+ pass
64
+
65
+ @abc.abstractmethod
66
+ def StreamLogs(self,
67
+ request: flwr.proto.control_pb2.StreamLogsRequest,
68
+ context: grpc.ServicerContext,
69
+ ) -> typing.Iterator[flwr.proto.control_pb2.StreamLogsResponse]:
70
+ """Start log stream upon request"""
71
+ pass
72
+
73
+ @abc.abstractmethod
74
+ def ListRuns(self,
75
+ request: flwr.proto.control_pb2.ListRunsRequest,
76
+ context: grpc.ServicerContext,
77
+ ) -> flwr.proto.control_pb2.ListRunsResponse:
78
+ """flwr ls command"""
79
+ pass
80
+
81
+ @abc.abstractmethod
82
+ def GetLoginDetails(self,
83
+ request: flwr.proto.control_pb2.GetLoginDetailsRequest,
84
+ context: grpc.ServicerContext,
85
+ ) -> flwr.proto.control_pb2.GetLoginDetailsResponse:
86
+ """Get login details upon request"""
87
+ pass
88
+
89
+ @abc.abstractmethod
90
+ def GetAuthTokens(self,
91
+ request: flwr.proto.control_pb2.GetAuthTokensRequest,
92
+ context: grpc.ServicerContext,
93
+ ) -> flwr.proto.control_pb2.GetAuthTokensResponse:
94
+ """Get auth tokens upon request"""
95
+ pass
96
+
97
+ @abc.abstractmethod
98
+ def PullArtifacts(self,
99
+ request: flwr.proto.control_pb2.PullArtifactsRequest,
100
+ context: grpc.ServicerContext,
101
+ ) -> flwr.proto.control_pb2.PullArtifactsResponse:
102
+ """Pull artifacts generated during a run (flwr pull)"""
103
+ pass
104
+
105
+
106
+ def add_ControlServicer_to_server(servicer: ControlServicer, server: grpc.Server) -> None: ...
@@ -21,7 +21,7 @@ from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
21
21
  from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
22
22
 
23
23
 
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\xb3\t\n\x0bServerAppIo\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
+ 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')
25
25
 
26
26
  _globals = globals()
27
27
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -33,5 +33,5 @@ if _descriptor._USE_C_DESCRIPTORS == False:
33
33
  _globals['_GETNODESRESPONSE']._serialized_start=246
34
34
  _globals['_GETNODESRESPONSE']._serialized_end=297
35
35
  _globals['_SERVERAPPIO']._serialized_start=300
36
- _globals['_SERVERAPPIO']._serialized_end=1503
36
+ _globals['_SERVERAPPIO']._serialized_end=1685
37
37
  # @@protoc_insertion_point(module_scope)
@@ -20,6 +20,16 @@ class ServerAppIoStub(object):
20
20
  Args:
21
21
  channel: A grpc.Channel.
22
22
  """
23
+ self.ListAppsToLaunch = channel.unary_unary(
24
+ '/flwr.proto.ServerAppIo/ListAppsToLaunch',
25
+ request_serializer=flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchRequest.SerializeToString,
26
+ response_deserializer=flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchResponse.FromString,
27
+ )
28
+ self.RequestToken = channel.unary_unary(
29
+ '/flwr.proto.ServerAppIo/RequestToken',
30
+ request_serializer=flwr_dot_proto_dot_appio__pb2.RequestTokenRequest.SerializeToString,
31
+ response_deserializer=flwr_dot_proto_dot_appio__pb2.RequestTokenResponse.FromString,
32
+ )
23
33
  self.GetNodes = channel.unary_unary(
24
34
  '/flwr.proto.ServerAppIo/GetNodes',
25
35
  request_serializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.SerializeToString,
@@ -95,6 +105,20 @@ class ServerAppIoStub(object):
95
105
  class ServerAppIoServicer(object):
96
106
  """Missing associated documentation comment in .proto file."""
97
107
 
108
+ def ListAppsToLaunch(self, request, context):
109
+ """List runs to launch
110
+ """
111
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
112
+ context.set_details('Method not implemented!')
113
+ raise NotImplementedError('Method not implemented!')
114
+
115
+ def RequestToken(self, request, context):
116
+ """Request token for a run
117
+ """
118
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
119
+ context.set_details('Method not implemented!')
120
+ raise NotImplementedError('Method not implemented!')
121
+
98
122
  def GetNodes(self, request, context):
99
123
  """Return a set of nodes
100
124
  """
@@ -196,6 +220,16 @@ class ServerAppIoServicer(object):
196
220
 
197
221
  def add_ServerAppIoServicer_to_server(servicer, server):
198
222
  rpc_method_handlers = {
223
+ 'ListAppsToLaunch': grpc.unary_unary_rpc_method_handler(
224
+ servicer.ListAppsToLaunch,
225
+ request_deserializer=flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchRequest.FromString,
226
+ response_serializer=flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchResponse.SerializeToString,
227
+ ),
228
+ 'RequestToken': grpc.unary_unary_rpc_method_handler(
229
+ servicer.RequestToken,
230
+ request_deserializer=flwr_dot_proto_dot_appio__pb2.RequestTokenRequest.FromString,
231
+ response_serializer=flwr_dot_proto_dot_appio__pb2.RequestTokenResponse.SerializeToString,
232
+ ),
199
233
  'GetNodes': grpc.unary_unary_rpc_method_handler(
200
234
  servicer.GetNodes,
201
235
  request_deserializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.FromString,
@@ -276,6 +310,40 @@ def add_ServerAppIoServicer_to_server(servicer, server):
276
310
  class ServerAppIo(object):
277
311
  """Missing associated documentation comment in .proto file."""
278
312
 
313
+ @staticmethod
314
+ def ListAppsToLaunch(request,
315
+ target,
316
+ options=(),
317
+ channel_credentials=None,
318
+ call_credentials=None,
319
+ insecure=False,
320
+ compression=None,
321
+ wait_for_ready=None,
322
+ timeout=None,
323
+ metadata=None):
324
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/ListAppsToLaunch',
325
+ flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchRequest.SerializeToString,
326
+ flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchResponse.FromString,
327
+ options, channel_credentials,
328
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
329
+
330
+ @staticmethod
331
+ def RequestToken(request,
332
+ target,
333
+ options=(),
334
+ channel_credentials=None,
335
+ call_credentials=None,
336
+ insecure=False,
337
+ compression=None,
338
+ wait_for_ready=None,
339
+ timeout=None,
340
+ metadata=None):
341
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/RequestToken',
342
+ flwr_dot_proto_dot_appio__pb2.RequestTokenRequest.SerializeToString,
343
+ flwr_dot_proto_dot_appio__pb2.RequestTokenResponse.FromString,
344
+ options, channel_credentials,
345
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
346
+
279
347
  @staticmethod
280
348
  def GetNodes(request,
281
349
  target,
@@ -14,6 +14,16 @@ import grpc
14
14
 
15
15
  class ServerAppIoStub:
16
16
  def __init__(self, channel: grpc.Channel) -> None: ...
17
+ ListAppsToLaunch: grpc.UnaryUnaryMultiCallable[
18
+ flwr.proto.appio_pb2.ListAppsToLaunchRequest,
19
+ flwr.proto.appio_pb2.ListAppsToLaunchResponse]
20
+ """List runs to launch"""
21
+
22
+ RequestToken: grpc.UnaryUnaryMultiCallable[
23
+ flwr.proto.appio_pb2.RequestTokenRequest,
24
+ flwr.proto.appio_pb2.RequestTokenResponse]
25
+ """Request token for a run"""
26
+
17
27
  GetNodes: grpc.UnaryUnaryMultiCallable[
18
28
  flwr.proto.serverappio_pb2.GetNodesRequest,
19
29
  flwr.proto.serverappio_pb2.GetNodesResponse]
@@ -86,6 +96,22 @@ class ServerAppIoStub:
86
96
 
87
97
 
88
98
  class ServerAppIoServicer(metaclass=abc.ABCMeta):
99
+ @abc.abstractmethod
100
+ def ListAppsToLaunch(self,
101
+ request: flwr.proto.appio_pb2.ListAppsToLaunchRequest,
102
+ context: grpc.ServicerContext,
103
+ ) -> flwr.proto.appio_pb2.ListAppsToLaunchResponse:
104
+ """List runs to launch"""
105
+ pass
106
+
107
+ @abc.abstractmethod
108
+ def RequestToken(self,
109
+ request: flwr.proto.appio_pb2.RequestTokenRequest,
110
+ context: grpc.ServicerContext,
111
+ ) -> flwr.proto.appio_pb2.RequestTokenResponse:
112
+ """Request token for a run"""
113
+ pass
114
+
89
115
  @abc.abstractmethod
90
116
  def GetNodes(self,
91
117
  request: flwr.proto.serverappio_pb2.GetNodesRequest,
@@ -17,23 +17,16 @@ from flwr.proto import log_pb2 as flwr_dot_proto_dot_log__pb2
17
17
  from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
18
18
  from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
19
19
  from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
20
+ from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
20
21
 
21
22
 
22
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x66lwr/proto/simulationio.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x14\x66lwr/proto/log.proto\x1a\x18\x66lwr/proto/message.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\"\x1d\n\x1bPullSimulationInputsRequest\"\x80\x01\n\x1cPullSimulationInputsResponse\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\"T\n\x1cPushSimulationOutputsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12$\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x13.flwr.proto.Context\"\x1f\n\x1dPushSimulationOutputsResponse2\xb5\x05\n\x0cSimulationIo\x12k\n\x14PullSimulationInputs\x12\'.flwr.proto.PullSimulationInputsRequest\x1a(.flwr.proto.PullSimulationInputsResponse\"\x00\x12n\n\x15PushSimulationOutputs\x12(.flwr.proto.PushSimulationOutputsRequest\x1a).flwr.proto.PushSimulationOutputsResponse\"\x00\x12\\\n\x0fUpdateRunStatus\x12\".flwr.proto.UpdateRunStatusRequest\x1a#.flwr.proto.UpdateRunStatusResponse\"\x00\x12G\n\x08PushLogs\x12\x1b.flwr.proto.PushLogsRequest\x1a\x1c.flwr.proto.PushLogsResponse\"\x00\x12k\n\x14GetFederationOptions\x12\'.flwr.proto.GetFederationOptionsRequest\x1a(.flwr.proto.GetFederationOptionsResponse\"\x00\x12S\n\x0cGetRunStatus\x12\x1f.flwr.proto.GetRunStatusRequest\x1a .flwr.proto.GetRunStatusResponse\"\x00\x12_\n\x10SendAppHeartbeat\x12#.flwr.proto.SendAppHeartbeatRequest\x1a$.flwr.proto.SendAppHeartbeatResponse\"\x00\x62\x06proto3')
23
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x66lwr/proto/simulationio.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x14\x66lwr/proto/log.proto\x1a\x18\x66lwr/proto/message.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x16\x66lwr/proto/appio.proto2\x84\x07\n\x0cSimulationIo\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\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\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\x12G\n\x08PushLogs\x12\x1b.flwr.proto.PushLogsRequest\x1a\x1c.flwr.proto.PushLogsResponse\"\x00\x12k\n\x14GetFederationOptions\x12\'.flwr.proto.GetFederationOptionsRequest\x1a(.flwr.proto.GetFederationOptionsResponse\"\x00\x12S\n\x0cGetRunStatus\x12\x1f.flwr.proto.GetRunStatusRequest\x1a .flwr.proto.GetRunStatusResponse\"\x00\x12_\n\x10SendAppHeartbeat\x12#.flwr.proto.SendAppHeartbeatRequest\x1a$.flwr.proto.SendAppHeartbeatResponse\"\x00\x62\x06proto3')
23
24
 
24
25
  _globals = globals()
25
26
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
27
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.simulationio_pb2', _globals)
27
28
  if _descriptor._USE_C_DESCRIPTORS == False:
28
29
  DESCRIPTOR._options = None
29
- _globals['_PULLSIMULATIONINPUTSREQUEST']._serialized_start=165
30
- _globals['_PULLSIMULATIONINPUTSREQUEST']._serialized_end=194
31
- _globals['_PULLSIMULATIONINPUTSRESPONSE']._serialized_start=197
32
- _globals['_PULLSIMULATIONINPUTSRESPONSE']._serialized_end=325
33
- _globals['_PUSHSIMULATIONOUTPUTSREQUEST']._serialized_start=327
34
- _globals['_PUSHSIMULATIONOUTPUTSREQUEST']._serialized_end=411
35
- _globals['_PUSHSIMULATIONOUTPUTSRESPONSE']._serialized_start=413
36
- _globals['_PUSHSIMULATIONOUTPUTSRESPONSE']._serialized_end=444
37
- _globals['_SIMULATIONIO']._serialized_start=447
38
- _globals['_SIMULATIONIO']._serialized_end=1140
30
+ _globals['_SIMULATIONIO']._serialized_start=190
31
+ _globals['_SIMULATIONIO']._serialized_end=1090
39
32
  # @@protoc_insertion_point(module_scope)
@@ -2,64 +2,6 @@
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
4
  """
5
- import builtins
6
- import flwr.proto.fab_pb2
7
- import flwr.proto.message_pb2
8
- import flwr.proto.run_pb2
9
5
  import google.protobuf.descriptor
10
- import google.protobuf.message
11
- import typing
12
- import typing_extensions
13
6
 
14
7
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
15
-
16
- class PullSimulationInputsRequest(google.protobuf.message.Message):
17
- """PullSimulationInputs messages"""
18
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
19
- def __init__(self,
20
- ) -> None: ...
21
- global___PullSimulationInputsRequest = PullSimulationInputsRequest
22
-
23
- class PullSimulationInputsResponse(google.protobuf.message.Message):
24
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
25
- CONTEXT_FIELD_NUMBER: builtins.int
26
- RUN_FIELD_NUMBER: builtins.int
27
- FAB_FIELD_NUMBER: builtins.int
28
- @property
29
- def context(self) -> flwr.proto.message_pb2.Context: ...
30
- @property
31
- def run(self) -> flwr.proto.run_pb2.Run: ...
32
- @property
33
- def fab(self) -> flwr.proto.fab_pb2.Fab: ...
34
- def __init__(self,
35
- *,
36
- context: typing.Optional[flwr.proto.message_pb2.Context] = ...,
37
- run: typing.Optional[flwr.proto.run_pb2.Run] = ...,
38
- fab: typing.Optional[flwr.proto.fab_pb2.Fab] = ...,
39
- ) -> None: ...
40
- def HasField(self, field_name: typing_extensions.Literal["context",b"context","fab",b"fab","run",b"run"]) -> builtins.bool: ...
41
- def ClearField(self, field_name: typing_extensions.Literal["context",b"context","fab",b"fab","run",b"run"]) -> None: ...
42
- global___PullSimulationInputsResponse = PullSimulationInputsResponse
43
-
44
- class PushSimulationOutputsRequest(google.protobuf.message.Message):
45
- """PushSimulationOutputs messages"""
46
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
47
- RUN_ID_FIELD_NUMBER: builtins.int
48
- CONTEXT_FIELD_NUMBER: builtins.int
49
- run_id: builtins.int
50
- @property
51
- def context(self) -> flwr.proto.message_pb2.Context: ...
52
- def __init__(self,
53
- *,
54
- run_id: builtins.int = ...,
55
- context: typing.Optional[flwr.proto.message_pb2.Context] = ...,
56
- ) -> None: ...
57
- def HasField(self, field_name: typing_extensions.Literal["context",b"context"]) -> builtins.bool: ...
58
- def ClearField(self, field_name: typing_extensions.Literal["context",b"context","run_id",b"run_id"]) -> None: ...
59
- global___PushSimulationOutputsRequest = PushSimulationOutputsRequest
60
-
61
- class PushSimulationOutputsResponse(google.protobuf.message.Message):
62
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
63
- def __init__(self,
64
- ) -> None: ...
65
- global___PushSimulationOutputsResponse = PushSimulationOutputsResponse