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.
- flwr/__init__.py +4 -1
- flwr/app/__init__.py +28 -0
- flwr/app/exception.py +31 -0
- flwr/cli/app.py +2 -0
- flwr/cli/auth_plugin/oidc_cli_plugin.py +4 -4
- flwr/cli/cli_user_auth_interceptor.py +1 -1
- flwr/cli/config_utils.py +3 -3
- flwr/cli/constant.py +25 -8
- flwr/cli/log.py +9 -9
- flwr/cli/login/login.py +3 -3
- flwr/cli/ls.py +5 -5
- flwr/cli/new/new.py +15 -2
- flwr/cli/new/templates/app/README.flowertune.md.tpl +1 -1
- flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl +1 -0
- flwr/cli/new/templates/app/code/client.baseline.py.tpl +64 -47
- flwr/cli/new/templates/app/code/client.huggingface.py.tpl +68 -30
- flwr/cli/new/templates/app/code/client.jax.py.tpl +63 -42
- flwr/cli/new/templates/app/code/client.mlx.py.tpl +80 -51
- flwr/cli/new/templates/app/code/client.numpy.py.tpl +36 -13
- flwr/cli/new/templates/app/code/client.pytorch.py.tpl +71 -46
- flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl +55 -0
- flwr/cli/new/templates/app/code/client.sklearn.py.tpl +75 -30
- flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +69 -44
- flwr/cli/new/templates/app/code/client.xgboost.py.tpl +110 -0
- flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +56 -90
- flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +1 -23
- flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +37 -58
- flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +39 -44
- flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -14
- flwr/cli/new/templates/app/code/server.baseline.py.tpl +27 -29
- flwr/cli/new/templates/app/code/server.huggingface.py.tpl +23 -19
- flwr/cli/new/templates/app/code/server.jax.py.tpl +27 -14
- flwr/cli/new/templates/app/code/server.mlx.py.tpl +29 -19
- flwr/cli/new/templates/app/code/server.numpy.py.tpl +30 -17
- flwr/cli/new/templates/app/code/server.pytorch.py.tpl +36 -26
- flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl +31 -0
- flwr/cli/new/templates/app/code/server.sklearn.py.tpl +29 -21
- flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +28 -19
- flwr/cli/new/templates/app/code/server.xgboost.py.tpl +56 -0
- flwr/cli/new/templates/app/code/task.huggingface.py.tpl +16 -20
- flwr/cli/new/templates/app/code/task.jax.py.tpl +1 -1
- flwr/cli/new/templates/app/code/task.numpy.py.tpl +1 -1
- flwr/cli/new/templates/app/code/task.pytorch.py.tpl +14 -27
- flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl +111 -0
- flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +1 -2
- flwr/cli/new/templates/app/code/task.xgboost.py.tpl +67 -0
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +3 -3
- flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +53 -0
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +61 -0
- flwr/cli/pull.py +100 -0
- flwr/cli/run/run.py +9 -13
- flwr/cli/stop.py +7 -4
- flwr/cli/utils.py +36 -8
- flwr/client/grpc_rere_client/connection.py +1 -12
- flwr/client/rest_client/connection.py +3 -0
- flwr/clientapp/__init__.py +10 -0
- flwr/clientapp/mod/__init__.py +29 -0
- flwr/clientapp/mod/centraldp_mods.py +248 -0
- flwr/clientapp/mod/localdp_mod.py +169 -0
- flwr/clientapp/typing.py +22 -0
- flwr/common/args.py +20 -6
- flwr/common/auth_plugin/__init__.py +4 -4
- flwr/common/auth_plugin/auth_plugin.py +7 -7
- flwr/common/constant.py +26 -4
- flwr/common/event_log_plugin/event_log_plugin.py +1 -1
- flwr/common/exit/__init__.py +4 -0
- flwr/common/exit/exit.py +8 -1
- flwr/common/exit/exit_code.py +30 -7
- flwr/common/exit/exit_handler.py +62 -0
- flwr/common/{exit_handlers.py → exit/signal_handler.py} +20 -37
- flwr/common/grpc.py +0 -11
- flwr/common/inflatable_utils.py +1 -1
- flwr/common/logger.py +1 -1
- flwr/common/record/typeddict.py +12 -0
- flwr/common/retry_invoker.py +30 -11
- flwr/common/telemetry.py +4 -0
- flwr/compat/server/app.py +2 -2
- flwr/proto/appio_pb2.py +25 -17
- flwr/proto/appio_pb2.pyi +46 -2
- flwr/proto/clientappio_pb2.py +3 -11
- flwr/proto/clientappio_pb2.pyi +0 -47
- flwr/proto/clientappio_pb2_grpc.py +19 -20
- flwr/proto/clientappio_pb2_grpc.pyi +10 -11
- flwr/proto/control_pb2.py +66 -0
- flwr/proto/{exec_pb2.pyi → control_pb2.pyi} +24 -0
- flwr/proto/{exec_pb2_grpc.py → control_pb2_grpc.py} +88 -54
- flwr/proto/control_pb2_grpc.pyi +106 -0
- flwr/proto/serverappio_pb2.py +2 -2
- flwr/proto/serverappio_pb2_grpc.py +68 -0
- flwr/proto/serverappio_pb2_grpc.pyi +26 -0
- flwr/proto/simulationio_pb2.py +4 -11
- flwr/proto/simulationio_pb2.pyi +0 -58
- flwr/proto/simulationio_pb2_grpc.py +129 -27
- flwr/proto/simulationio_pb2_grpc.pyi +52 -13
- flwr/server/app.py +142 -152
- flwr/server/grid/grpc_grid.py +3 -0
- flwr/server/grid/inmemory_grid.py +1 -0
- flwr/server/serverapp/app.py +157 -146
- flwr/server/superlink/fleet/vce/backend/raybackend.py +3 -1
- flwr/server/superlink/fleet/vce/vce_api.py +6 -6
- flwr/server/superlink/linkstate/in_memory_linkstate.py +34 -0
- flwr/server/superlink/linkstate/linkstate.py +2 -1
- flwr/server/superlink/linkstate/sqlite_linkstate.py +45 -0
- flwr/server/superlink/serverappio/serverappio_grpc.py +1 -1
- flwr/server/superlink/serverappio/serverappio_servicer.py +61 -6
- flwr/server/superlink/simulation/simulationio_servicer.py +97 -21
- flwr/serverapp/__init__.py +12 -0
- flwr/serverapp/exception.py +38 -0
- flwr/serverapp/strategy/__init__.py +64 -0
- flwr/serverapp/strategy/bulyan.py +238 -0
- flwr/serverapp/strategy/dp_adaptive_clipping.py +335 -0
- flwr/serverapp/strategy/dp_fixed_clipping.py +374 -0
- flwr/serverapp/strategy/fedadagrad.py +159 -0
- flwr/serverapp/strategy/fedadam.py +178 -0
- flwr/serverapp/strategy/fedavg.py +320 -0
- flwr/serverapp/strategy/fedavgm.py +198 -0
- flwr/serverapp/strategy/fedmedian.py +105 -0
- flwr/serverapp/strategy/fedopt.py +218 -0
- flwr/serverapp/strategy/fedprox.py +174 -0
- flwr/serverapp/strategy/fedtrimmedavg.py +176 -0
- flwr/serverapp/strategy/fedxgb_bagging.py +117 -0
- flwr/serverapp/strategy/fedxgb_cyclic.py +220 -0
- flwr/serverapp/strategy/fedyogi.py +170 -0
- flwr/serverapp/strategy/krum.py +112 -0
- flwr/serverapp/strategy/multikrum.py +247 -0
- flwr/serverapp/strategy/qfedavg.py +252 -0
- flwr/serverapp/strategy/result.py +105 -0
- flwr/serverapp/strategy/strategy.py +285 -0
- flwr/serverapp/strategy/strategy_utils.py +299 -0
- flwr/simulation/app.py +161 -164
- flwr/simulation/run_simulation.py +25 -30
- flwr/supercore/app_utils.py +58 -0
- flwr/{supernode/scheduler → supercore/cli}/__init__.py +3 -3
- flwr/supercore/cli/flower_superexec.py +166 -0
- flwr/supercore/constant.py +19 -0
- flwr/supercore/{scheduler → corestate}/__init__.py +3 -3
- flwr/supercore/corestate/corestate.py +81 -0
- flwr/supercore/grpc_health/__init__.py +3 -0
- flwr/supercore/grpc_health/health_server.py +53 -0
- flwr/supercore/grpc_health/simple_health_servicer.py +2 -2
- flwr/{superexec → supercore/superexec}/__init__.py +1 -1
- flwr/supercore/superexec/plugin/__init__.py +28 -0
- flwr/{supernode/scheduler/simple_clientapp_scheduler_plugin.py → supercore/superexec/plugin/base_exec_plugin.py} +10 -6
- flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +28 -0
- flwr/supercore/{scheduler/plugin.py → superexec/plugin/exec_plugin.py} +15 -5
- flwr/supercore/superexec/plugin/serverapp_exec_plugin.py +28 -0
- flwr/supercore/superexec/plugin/simulation_exec_plugin.py +28 -0
- flwr/supercore/superexec/run_superexec.py +199 -0
- flwr/superlink/artifact_provider/__init__.py +22 -0
- flwr/superlink/artifact_provider/artifact_provider.py +37 -0
- flwr/superlink/servicer/__init__.py +15 -0
- flwr/superlink/servicer/control/__init__.py +22 -0
- flwr/{superexec/exec_event_log_interceptor.py → superlink/servicer/control/control_event_log_interceptor.py} +7 -7
- flwr/{superexec/exec_grpc.py → superlink/servicer/control/control_grpc.py} +27 -29
- flwr/{superexec/exec_license_interceptor.py → superlink/servicer/control/control_license_interceptor.py} +6 -6
- flwr/{superexec/exec_servicer.py → superlink/servicer/control/control_servicer.py} +127 -31
- flwr/{superexec/exec_user_auth_interceptor.py → superlink/servicer/control/control_user_auth_interceptor.py} +10 -10
- flwr/supernode/cli/flower_supernode.py +3 -0
- flwr/supernode/cli/flwr_clientapp.py +18 -21
- flwr/supernode/nodestate/in_memory_nodestate.py +2 -2
- flwr/supernode/nodestate/nodestate.py +3 -59
- flwr/supernode/runtime/run_clientapp.py +39 -102
- flwr/supernode/servicer/clientappio/clientappio_servicer.py +10 -17
- flwr/supernode/start_client_internal.py +35 -76
- {flwr-1.20.0.dist-info → flwr-1.22.0.dist-info}/METADATA +9 -18
- {flwr-1.20.0.dist-info → flwr-1.22.0.dist-info}/RECORD +176 -128
- {flwr-1.20.0.dist-info → flwr-1.22.0.dist-info}/entry_points.txt +1 -0
- flwr/proto/exec_pb2.py +0 -62
- flwr/proto/exec_pb2_grpc.pyi +0 -93
- flwr/superexec/app.py +0 -45
- flwr/superexec/deployment.py +0 -191
- flwr/superexec/executor.py +0 -100
- flwr/superexec/simulation.py +0 -129
- {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
|
|
5
|
+
from flwr.proto import control_pb2 as flwr_dot_proto_dot_control__pb2
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
class
|
|
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.
|
|
19
|
-
request_serializer=
|
|
20
|
-
response_deserializer=
|
|
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.
|
|
24
|
-
request_serializer=
|
|
25
|
-
response_deserializer=
|
|
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.
|
|
29
|
-
request_serializer=
|
|
30
|
-
response_deserializer=
|
|
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.
|
|
34
|
-
request_serializer=
|
|
35
|
-
response_deserializer=
|
|
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.
|
|
39
|
-
request_serializer=
|
|
40
|
-
response_deserializer=
|
|
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.
|
|
44
|
-
request_serializer=
|
|
45
|
-
response_deserializer=
|
|
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
|
|
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
|
|
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=
|
|
100
|
-
response_serializer=
|
|
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=
|
|
105
|
-
response_serializer=
|
|
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=
|
|
110
|
-
response_serializer=
|
|
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=
|
|
115
|
-
response_serializer=
|
|
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=
|
|
120
|
-
response_serializer=
|
|
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=
|
|
125
|
-
response_serializer=
|
|
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.
|
|
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
|
|
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.
|
|
149
|
-
|
|
150
|
-
|
|
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.
|
|
166
|
-
|
|
167
|
-
|
|
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.
|
|
183
|
-
|
|
184
|
-
|
|
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.
|
|
200
|
-
|
|
201
|
-
|
|
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.
|
|
217
|
-
|
|
218
|
-
|
|
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.
|
|
234
|
-
|
|
235
|
-
|
|
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: ...
|
flwr/proto/serverappio_pb2.py
CHANGED
|
@@ -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\
|
|
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=
|
|
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,
|
flwr/proto/simulationio_pb2.py
CHANGED
|
@@ -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\
|
|
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['
|
|
30
|
-
_globals['
|
|
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)
|
flwr/proto/simulationio_pb2.pyi
CHANGED
|
@@ -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
|