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.
- flwr/__init__.py +4 -1
- flwr/app/__init__.py +28 -0
- flwr/app/exception.py +31 -0
- flwr/cli/auth_plugin/oidc_cli_plugin.py +4 -4
- flwr/cli/build.py +15 -5
- 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 +23 -4
- flwr/cli/new/templates/app/README.flowertune.md.tpl +2 -0
- flwr/cli/new/templates/app/README.md.tpl +5 -0
- flwr/cli/new/templates/app/code/__init__.pytorch_msg_api.py.tpl +1 -0
- flwr/cli/new/templates/app/code/client.pytorch_msg_api.py.tpl +80 -0
- flwr/cli/new/templates/app/code/server.pytorch_msg_api.py.tpl +41 -0
- flwr/cli/new/templates/app/code/task.pytorch_msg_api.py.tpl +98 -0
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +14 -3
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +13 -1
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +21 -2
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +18 -1
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +19 -2
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +18 -1
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +20 -3
- flwr/cli/new/templates/app/pyproject.pytorch_msg_api.toml.tpl +53 -0
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +18 -1
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +18 -1
- flwr/cli/run/run.py +53 -50
- flwr/cli/stop.py +7 -4
- flwr/cli/utils.py +29 -11
- flwr/client/grpc_adapter_client/connection.py +11 -4
- flwr/client/grpc_rere_client/connection.py +93 -129
- flwr/client/rest_client/connection.py +134 -164
- flwr/clientapp/__init__.py +10 -0
- flwr/clientapp/mod/__init__.py +26 -0
- flwr/clientapp/mod/centraldp_mods.py +132 -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 -5
- 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 +42 -8
- flwr/common/exit/exit_handler.py +62 -0
- flwr/common/{exit_handlers.py → exit/signal_handler.py} +20 -37
- flwr/common/grpc.py +1 -1
- flwr/common/{inflatable_grpc_utils.py → inflatable_protobuf_utils.py} +52 -10
- flwr/common/inflatable_utils.py +191 -24
- flwr/common/logger.py +1 -1
- flwr/common/record/array.py +101 -22
- flwr/common/record/arraychunk.py +59 -0
- flwr/common/retry_invoker.py +30 -11
- flwr/common/serde.py +0 -28
- flwr/common/telemetry.py +4 -0
- flwr/compat/client/app.py +14 -31
- flwr/compat/server/app.py +2 -2
- flwr/proto/appio_pb2.py +51 -0
- flwr/proto/appio_pb2.pyi +195 -0
- flwr/proto/appio_pb2_grpc.py +4 -0
- flwr/proto/appio_pb2_grpc.pyi +4 -0
- flwr/proto/clientappio_pb2.py +4 -19
- flwr/proto/clientappio_pb2.pyi +0 -125
- flwr/proto/clientappio_pb2_grpc.py +269 -29
- flwr/proto/clientappio_pb2_grpc.pyi +114 -21
- flwr/proto/control_pb2.py +62 -0
- flwr/proto/{exec_pb2_grpc.py → control_pb2_grpc.py} +54 -54
- flwr/proto/{exec_pb2_grpc.pyi → control_pb2_grpc.pyi} +28 -28
- flwr/proto/fleet_pb2.py +12 -20
- flwr/proto/fleet_pb2.pyi +6 -36
- flwr/proto/serverappio_pb2.py +8 -31
- flwr/proto/serverappio_pb2.pyi +0 -152
- flwr/proto/serverappio_pb2_grpc.py +107 -38
- flwr/proto/serverappio_pb2_grpc.pyi +47 -20
- 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 +130 -153
- flwr/server/fleet_event_log_interceptor.py +4 -0
- flwr/server/grid/grpc_grid.py +94 -54
- flwr/server/grid/inmemory_grid.py +1 -0
- flwr/server/serverapp/app.py +165 -144
- flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +8 -0
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +1 -1
- flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +2 -5
- flwr/server/superlink/fleet/message_handler/message_handler.py +10 -16
- flwr/server/superlink/fleet/rest_rere/rest_api.py +1 -2
- 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 +2 -2
- flwr/server/superlink/serverappio/serverappio_servicer.py +95 -48
- flwr/server/superlink/simulation/simulationio_grpc.py +1 -1
- flwr/server/superlink/simulation/simulationio_servicer.py +98 -22
- flwr/server/superlink/utils.py +0 -35
- flwr/serverapp/__init__.py +12 -0
- flwr/serverapp/dp_fixed_clipping.py +352 -0
- flwr/serverapp/exception.py +38 -0
- flwr/serverapp/strategy/__init__.py +38 -0
- flwr/serverapp/strategy/dp_fixed_clipping.py +352 -0
- flwr/serverapp/strategy/fedadagrad.py +162 -0
- flwr/serverapp/strategy/fedadam.py +181 -0
- flwr/serverapp/strategy/fedavg.py +295 -0
- flwr/serverapp/strategy/fedopt.py +218 -0
- flwr/serverapp/strategy/fedyogi.py +173 -0
- flwr/serverapp/strategy/result.py +105 -0
- flwr/serverapp/strategy/strategy.py +285 -0
- flwr/serverapp/strategy/strategy_utils.py +251 -0
- flwr/serverapp/strategy/strategy_utils_tests.py +304 -0
- flwr/simulation/app.py +159 -154
- flwr/simulation/run_simulation.py +17 -0
- flwr/supercore/app_utils.py +58 -0
- flwr/supercore/cli/__init__.py +22 -0
- flwr/supercore/cli/flower_superexec.py +141 -0
- flwr/supercore/corestate/__init__.py +22 -0
- flwr/supercore/corestate/corestate.py +81 -0
- flwr/{server/superlink → supercore}/ffs/disk_ffs.py +1 -1
- flwr/supercore/grpc_health/__init__.py +25 -0
- flwr/supercore/grpc_health/health_server.py +53 -0
- flwr/supercore/grpc_health/simple_health_servicer.py +38 -0
- flwr/supercore/license_plugin/__init__.py +22 -0
- flwr/supercore/license_plugin/license_plugin.py +26 -0
- flwr/supercore/object_store/in_memory_object_store.py +31 -31
- flwr/supercore/object_store/object_store.py +20 -42
- flwr/supercore/object_store/utils.py +43 -0
- flwr/{superexec → supercore/superexec}/__init__.py +1 -1
- flwr/supercore/superexec/plugin/__init__.py +28 -0
- flwr/supercore/superexec/plugin/base_exec_plugin.py +53 -0
- flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +28 -0
- flwr/supercore/superexec/plugin/exec_plugin.py +71 -0
- 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 +185 -0
- flwr/supercore/utils.py +32 -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} +9 -5
- flwr/{superexec/exec_grpc.py → superlink/servicer/control/control_grpc.py} +39 -28
- flwr/superlink/servicer/control/control_license_interceptor.py +82 -0
- flwr/{superexec/exec_servicer.py → superlink/servicer/control/control_servicer.py} +79 -31
- flwr/{superexec/exec_user_auth_interceptor.py → superlink/servicer/control/control_user_auth_interceptor.py} +18 -10
- flwr/supernode/cli/flower_supernode.py +3 -7
- flwr/supernode/cli/flwr_clientapp.py +20 -16
- flwr/supernode/nodestate/in_memory_nodestate.py +13 -4
- flwr/supernode/nodestate/nodestate.py +3 -44
- flwr/supernode/runtime/run_clientapp.py +129 -115
- flwr/supernode/servicer/clientappio/__init__.py +1 -3
- flwr/supernode/servicer/clientappio/clientappio_servicer.py +217 -165
- flwr/supernode/start_client_internal.py +205 -148
- {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/METADATA +5 -3
- {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/RECORD +161 -117
- {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/entry_points.txt +1 -0
- flwr/common/inflatable_rest_utils.py +0 -99
- flwr/proto/exec_pb2.py +0 -62
- flwr/superexec/app.py +0 -45
- flwr/superexec/deployment.py +0 -192
- flwr/superexec/executor.py +0 -100
- flwr/superexec/simulation.py +0 -130
- /flwr/proto/{exec_pb2.pyi → control_pb2.pyi} +0 -0
- /flwr/{server/superlink → supercore}/ffs/__init__.py +0 -0
- /flwr/{server/superlink → supercore}/ffs/ffs.py +0 -0
- /flwr/{server/superlink → supercore}/ffs/ffs_factory.py +0 -0
- {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/WHEEL +0 -0
flwr/proto/serverappio_pb2.pyi
CHANGED
|
@@ -3,10 +3,7 @@
|
|
|
3
3
|
isort:skip_file
|
|
4
4
|
"""
|
|
5
5
|
import builtins
|
|
6
|
-
import flwr.proto.fab_pb2
|
|
7
|
-
import flwr.proto.message_pb2
|
|
8
6
|
import flwr.proto.node_pb2
|
|
9
|
-
import flwr.proto.run_pb2
|
|
10
7
|
import google.protobuf.descriptor
|
|
11
8
|
import google.protobuf.internal.containers
|
|
12
9
|
import google.protobuf.message
|
|
@@ -38,152 +35,3 @@ class GetNodesResponse(google.protobuf.message.Message):
|
|
|
38
35
|
) -> None: ...
|
|
39
36
|
def ClearField(self, field_name: typing_extensions.Literal["nodes",b"nodes"]) -> None: ...
|
|
40
37
|
global___GetNodesResponse = GetNodesResponse
|
|
41
|
-
|
|
42
|
-
class PushInsMessagesRequest(google.protobuf.message.Message):
|
|
43
|
-
"""PushMessages messages"""
|
|
44
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
45
|
-
MESSAGES_LIST_FIELD_NUMBER: builtins.int
|
|
46
|
-
RUN_ID_FIELD_NUMBER: builtins.int
|
|
47
|
-
MESSAGE_OBJECT_TREES_FIELD_NUMBER: builtins.int
|
|
48
|
-
@property
|
|
49
|
-
def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
|
|
50
|
-
run_id: builtins.int
|
|
51
|
-
@property
|
|
52
|
-
def message_object_trees(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.ObjectTree]: ...
|
|
53
|
-
def __init__(self,
|
|
54
|
-
*,
|
|
55
|
-
messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
|
|
56
|
-
run_id: builtins.int = ...,
|
|
57
|
-
message_object_trees: typing.Optional[typing.Iterable[flwr.proto.message_pb2.ObjectTree]] = ...,
|
|
58
|
-
) -> None: ...
|
|
59
|
-
def ClearField(self, field_name: typing_extensions.Literal["message_object_trees",b"message_object_trees","messages_list",b"messages_list","run_id",b"run_id"]) -> None: ...
|
|
60
|
-
global___PushInsMessagesRequest = PushInsMessagesRequest
|
|
61
|
-
|
|
62
|
-
class PushInsMessagesResponse(google.protobuf.message.Message):
|
|
63
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
64
|
-
class ObjectsToPushEntry(google.protobuf.message.Message):
|
|
65
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
66
|
-
KEY_FIELD_NUMBER: builtins.int
|
|
67
|
-
VALUE_FIELD_NUMBER: builtins.int
|
|
68
|
-
key: typing.Text
|
|
69
|
-
@property
|
|
70
|
-
def value(self) -> flwr.proto.message_pb2.ObjectIDs: ...
|
|
71
|
-
def __init__(self,
|
|
72
|
-
*,
|
|
73
|
-
key: typing.Text = ...,
|
|
74
|
-
value: typing.Optional[flwr.proto.message_pb2.ObjectIDs] = ...,
|
|
75
|
-
) -> None: ...
|
|
76
|
-
def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
|
|
77
|
-
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
|
78
|
-
|
|
79
|
-
MESSAGE_IDS_FIELD_NUMBER: builtins.int
|
|
80
|
-
OBJECTS_TO_PUSH_FIELD_NUMBER: builtins.int
|
|
81
|
-
@property
|
|
82
|
-
def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
|
83
|
-
@property
|
|
84
|
-
def objects_to_push(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.message_pb2.ObjectIDs]: ...
|
|
85
|
-
def __init__(self,
|
|
86
|
-
*,
|
|
87
|
-
message_ids: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
|
88
|
-
objects_to_push: typing.Optional[typing.Mapping[typing.Text, flwr.proto.message_pb2.ObjectIDs]] = ...,
|
|
89
|
-
) -> None: ...
|
|
90
|
-
def ClearField(self, field_name: typing_extensions.Literal["message_ids",b"message_ids","objects_to_push",b"objects_to_push"]) -> None: ...
|
|
91
|
-
global___PushInsMessagesResponse = PushInsMessagesResponse
|
|
92
|
-
|
|
93
|
-
class PullResMessagesRequest(google.protobuf.message.Message):
|
|
94
|
-
"""PullMessages messages"""
|
|
95
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
96
|
-
MESSAGE_IDS_FIELD_NUMBER: builtins.int
|
|
97
|
-
RUN_ID_FIELD_NUMBER: builtins.int
|
|
98
|
-
@property
|
|
99
|
-
def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
|
100
|
-
run_id: builtins.int
|
|
101
|
-
def __init__(self,
|
|
102
|
-
*,
|
|
103
|
-
message_ids: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
|
104
|
-
run_id: builtins.int = ...,
|
|
105
|
-
) -> None: ...
|
|
106
|
-
def ClearField(self, field_name: typing_extensions.Literal["message_ids",b"message_ids","run_id",b"run_id"]) -> None: ...
|
|
107
|
-
global___PullResMessagesRequest = PullResMessagesRequest
|
|
108
|
-
|
|
109
|
-
class PullResMessagesResponse(google.protobuf.message.Message):
|
|
110
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
111
|
-
class ObjectsToPullEntry(google.protobuf.message.Message):
|
|
112
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
113
|
-
KEY_FIELD_NUMBER: builtins.int
|
|
114
|
-
VALUE_FIELD_NUMBER: builtins.int
|
|
115
|
-
key: typing.Text
|
|
116
|
-
@property
|
|
117
|
-
def value(self) -> flwr.proto.message_pb2.ObjectIDs: ...
|
|
118
|
-
def __init__(self,
|
|
119
|
-
*,
|
|
120
|
-
key: typing.Text = ...,
|
|
121
|
-
value: typing.Optional[flwr.proto.message_pb2.ObjectIDs] = ...,
|
|
122
|
-
) -> None: ...
|
|
123
|
-
def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
|
|
124
|
-
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
|
125
|
-
|
|
126
|
-
MESSAGES_LIST_FIELD_NUMBER: builtins.int
|
|
127
|
-
OBJECTS_TO_PULL_FIELD_NUMBER: builtins.int
|
|
128
|
-
@property
|
|
129
|
-
def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
|
|
130
|
-
@property
|
|
131
|
-
def objects_to_pull(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.message_pb2.ObjectIDs]: ...
|
|
132
|
-
def __init__(self,
|
|
133
|
-
*,
|
|
134
|
-
messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
|
|
135
|
-
objects_to_pull: typing.Optional[typing.Mapping[typing.Text, flwr.proto.message_pb2.ObjectIDs]] = ...,
|
|
136
|
-
) -> None: ...
|
|
137
|
-
def ClearField(self, field_name: typing_extensions.Literal["messages_list",b"messages_list","objects_to_pull",b"objects_to_pull"]) -> None: ...
|
|
138
|
-
global___PullResMessagesResponse = PullResMessagesResponse
|
|
139
|
-
|
|
140
|
-
class PullServerAppInputsRequest(google.protobuf.message.Message):
|
|
141
|
-
"""PullServerAppInputs messages"""
|
|
142
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
143
|
-
def __init__(self,
|
|
144
|
-
) -> None: ...
|
|
145
|
-
global___PullServerAppInputsRequest = PullServerAppInputsRequest
|
|
146
|
-
|
|
147
|
-
class PullServerAppInputsResponse(google.protobuf.message.Message):
|
|
148
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
149
|
-
CONTEXT_FIELD_NUMBER: builtins.int
|
|
150
|
-
RUN_FIELD_NUMBER: builtins.int
|
|
151
|
-
FAB_FIELD_NUMBER: builtins.int
|
|
152
|
-
@property
|
|
153
|
-
def context(self) -> flwr.proto.message_pb2.Context: ...
|
|
154
|
-
@property
|
|
155
|
-
def run(self) -> flwr.proto.run_pb2.Run: ...
|
|
156
|
-
@property
|
|
157
|
-
def fab(self) -> flwr.proto.fab_pb2.Fab: ...
|
|
158
|
-
def __init__(self,
|
|
159
|
-
*,
|
|
160
|
-
context: typing.Optional[flwr.proto.message_pb2.Context] = ...,
|
|
161
|
-
run: typing.Optional[flwr.proto.run_pb2.Run] = ...,
|
|
162
|
-
fab: typing.Optional[flwr.proto.fab_pb2.Fab] = ...,
|
|
163
|
-
) -> None: ...
|
|
164
|
-
def HasField(self, field_name: typing_extensions.Literal["context",b"context","fab",b"fab","run",b"run"]) -> builtins.bool: ...
|
|
165
|
-
def ClearField(self, field_name: typing_extensions.Literal["context",b"context","fab",b"fab","run",b"run"]) -> None: ...
|
|
166
|
-
global___PullServerAppInputsResponse = PullServerAppInputsResponse
|
|
167
|
-
|
|
168
|
-
class PushServerAppOutputsRequest(google.protobuf.message.Message):
|
|
169
|
-
"""PushServerAppOutputs messages"""
|
|
170
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
171
|
-
RUN_ID_FIELD_NUMBER: builtins.int
|
|
172
|
-
CONTEXT_FIELD_NUMBER: builtins.int
|
|
173
|
-
run_id: builtins.int
|
|
174
|
-
@property
|
|
175
|
-
def context(self) -> flwr.proto.message_pb2.Context: ...
|
|
176
|
-
def __init__(self,
|
|
177
|
-
*,
|
|
178
|
-
run_id: builtins.int = ...,
|
|
179
|
-
context: typing.Optional[flwr.proto.message_pb2.Context] = ...,
|
|
180
|
-
) -> None: ...
|
|
181
|
-
def HasField(self, field_name: typing_extensions.Literal["context",b"context"]) -> builtins.bool: ...
|
|
182
|
-
def ClearField(self, field_name: typing_extensions.Literal["context",b"context","run_id",b"run_id"]) -> None: ...
|
|
183
|
-
global___PushServerAppOutputsRequest = PushServerAppOutputsRequest
|
|
184
|
-
|
|
185
|
-
class PushServerAppOutputsResponse(google.protobuf.message.Message):
|
|
186
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
187
|
-
def __init__(self,
|
|
188
|
-
) -> None: ...
|
|
189
|
-
global___PushServerAppOutputsResponse = PushServerAppOutputsResponse
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
3
|
import grpc
|
|
4
4
|
|
|
5
|
+
from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
|
|
5
6
|
from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
|
|
6
7
|
from flwr.proto import heartbeat_pb2 as flwr_dot_proto_dot_heartbeat__pb2
|
|
7
8
|
from flwr.proto import log_pb2 as flwr_dot_proto_dot_log__pb2
|
|
@@ -19,6 +20,16 @@ class ServerAppIoStub(object):
|
|
|
19
20
|
Args:
|
|
20
21
|
channel: A grpc.Channel.
|
|
21
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
|
+
)
|
|
22
33
|
self.GetNodes = channel.unary_unary(
|
|
23
34
|
'/flwr.proto.ServerAppIo/GetNodes',
|
|
24
35
|
request_serializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.SerializeToString,
|
|
@@ -26,13 +37,13 @@ class ServerAppIoStub(object):
|
|
|
26
37
|
)
|
|
27
38
|
self.PushMessages = channel.unary_unary(
|
|
28
39
|
'/flwr.proto.ServerAppIo/PushMessages',
|
|
29
|
-
request_serializer=
|
|
30
|
-
response_deserializer=
|
|
40
|
+
request_serializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.SerializeToString,
|
|
41
|
+
response_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.FromString,
|
|
31
42
|
)
|
|
32
43
|
self.PullMessages = channel.unary_unary(
|
|
33
44
|
'/flwr.proto.ServerAppIo/PullMessages',
|
|
34
|
-
request_serializer=
|
|
35
|
-
response_deserializer=
|
|
45
|
+
request_serializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.SerializeToString,
|
|
46
|
+
response_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.FromString,
|
|
36
47
|
)
|
|
37
48
|
self.GetRun = channel.unary_unary(
|
|
38
49
|
'/flwr.proto.ServerAppIo/GetRun',
|
|
@@ -44,15 +55,15 @@ class ServerAppIoStub(object):
|
|
|
44
55
|
request_serializer=flwr_dot_proto_dot_fab__pb2.GetFabRequest.SerializeToString,
|
|
45
56
|
response_deserializer=flwr_dot_proto_dot_fab__pb2.GetFabResponse.FromString,
|
|
46
57
|
)
|
|
47
|
-
self.
|
|
48
|
-
'/flwr.proto.ServerAppIo/
|
|
49
|
-
request_serializer=
|
|
50
|
-
response_deserializer=
|
|
58
|
+
self.PullAppInputs = channel.unary_unary(
|
|
59
|
+
'/flwr.proto.ServerAppIo/PullAppInputs',
|
|
60
|
+
request_serializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.SerializeToString,
|
|
61
|
+
response_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.FromString,
|
|
51
62
|
)
|
|
52
|
-
self.
|
|
53
|
-
'/flwr.proto.ServerAppIo/
|
|
54
|
-
request_serializer=
|
|
55
|
-
response_deserializer=
|
|
63
|
+
self.PushAppOutputs = channel.unary_unary(
|
|
64
|
+
'/flwr.proto.ServerAppIo/PushAppOutputs',
|
|
65
|
+
request_serializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.SerializeToString,
|
|
66
|
+
response_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.FromString,
|
|
56
67
|
)
|
|
57
68
|
self.UpdateRunStatus = channel.unary_unary(
|
|
58
69
|
'/flwr.proto.ServerAppIo/UpdateRunStatus',
|
|
@@ -94,6 +105,20 @@ class ServerAppIoStub(object):
|
|
|
94
105
|
class ServerAppIoServicer(object):
|
|
95
106
|
"""Missing associated documentation comment in .proto file."""
|
|
96
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
|
+
|
|
97
122
|
def GetNodes(self, request, context):
|
|
98
123
|
"""Return a set of nodes
|
|
99
124
|
"""
|
|
@@ -129,14 +154,14 @@ class ServerAppIoServicer(object):
|
|
|
129
154
|
context.set_details('Method not implemented!')
|
|
130
155
|
raise NotImplementedError('Method not implemented!')
|
|
131
156
|
|
|
132
|
-
def
|
|
157
|
+
def PullAppInputs(self, request, context):
|
|
133
158
|
"""Pull ServerApp inputs
|
|
134
159
|
"""
|
|
135
160
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
136
161
|
context.set_details('Method not implemented!')
|
|
137
162
|
raise NotImplementedError('Method not implemented!')
|
|
138
163
|
|
|
139
|
-
def
|
|
164
|
+
def PushAppOutputs(self, request, context):
|
|
140
165
|
"""Push ServerApp outputs
|
|
141
166
|
"""
|
|
142
167
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
@@ -195,6 +220,16 @@ class ServerAppIoServicer(object):
|
|
|
195
220
|
|
|
196
221
|
def add_ServerAppIoServicer_to_server(servicer, server):
|
|
197
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
|
+
),
|
|
198
233
|
'GetNodes': grpc.unary_unary_rpc_method_handler(
|
|
199
234
|
servicer.GetNodes,
|
|
200
235
|
request_deserializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.FromString,
|
|
@@ -202,13 +237,13 @@ def add_ServerAppIoServicer_to_server(servicer, server):
|
|
|
202
237
|
),
|
|
203
238
|
'PushMessages': grpc.unary_unary_rpc_method_handler(
|
|
204
239
|
servicer.PushMessages,
|
|
205
|
-
request_deserializer=
|
|
206
|
-
response_serializer=
|
|
240
|
+
request_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.FromString,
|
|
241
|
+
response_serializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.SerializeToString,
|
|
207
242
|
),
|
|
208
243
|
'PullMessages': grpc.unary_unary_rpc_method_handler(
|
|
209
244
|
servicer.PullMessages,
|
|
210
|
-
request_deserializer=
|
|
211
|
-
response_serializer=
|
|
245
|
+
request_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.FromString,
|
|
246
|
+
response_serializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.SerializeToString,
|
|
212
247
|
),
|
|
213
248
|
'GetRun': grpc.unary_unary_rpc_method_handler(
|
|
214
249
|
servicer.GetRun,
|
|
@@ -220,15 +255,15 @@ def add_ServerAppIoServicer_to_server(servicer, server):
|
|
|
220
255
|
request_deserializer=flwr_dot_proto_dot_fab__pb2.GetFabRequest.FromString,
|
|
221
256
|
response_serializer=flwr_dot_proto_dot_fab__pb2.GetFabResponse.SerializeToString,
|
|
222
257
|
),
|
|
223
|
-
'
|
|
224
|
-
servicer.
|
|
225
|
-
request_deserializer=
|
|
226
|
-
response_serializer=
|
|
258
|
+
'PullAppInputs': grpc.unary_unary_rpc_method_handler(
|
|
259
|
+
servicer.PullAppInputs,
|
|
260
|
+
request_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.FromString,
|
|
261
|
+
response_serializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.SerializeToString,
|
|
227
262
|
),
|
|
228
|
-
'
|
|
229
|
-
servicer.
|
|
230
|
-
request_deserializer=
|
|
231
|
-
response_serializer=
|
|
263
|
+
'PushAppOutputs': grpc.unary_unary_rpc_method_handler(
|
|
264
|
+
servicer.PushAppOutputs,
|
|
265
|
+
request_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.FromString,
|
|
266
|
+
response_serializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.SerializeToString,
|
|
232
267
|
),
|
|
233
268
|
'UpdateRunStatus': grpc.unary_unary_rpc_method_handler(
|
|
234
269
|
servicer.UpdateRunStatus,
|
|
@@ -275,6 +310,40 @@ def add_ServerAppIoServicer_to_server(servicer, server):
|
|
|
275
310
|
class ServerAppIo(object):
|
|
276
311
|
"""Missing associated documentation comment in .proto file."""
|
|
277
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
|
+
|
|
278
347
|
@staticmethod
|
|
279
348
|
def GetNodes(request,
|
|
280
349
|
target,
|
|
@@ -304,8 +373,8 @@ class ServerAppIo(object):
|
|
|
304
373
|
timeout=None,
|
|
305
374
|
metadata=None):
|
|
306
375
|
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushMessages',
|
|
307
|
-
|
|
308
|
-
|
|
376
|
+
flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.SerializeToString,
|
|
377
|
+
flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.FromString,
|
|
309
378
|
options, channel_credentials,
|
|
310
379
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
311
380
|
|
|
@@ -321,8 +390,8 @@ class ServerAppIo(object):
|
|
|
321
390
|
timeout=None,
|
|
322
391
|
metadata=None):
|
|
323
392
|
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PullMessages',
|
|
324
|
-
|
|
325
|
-
|
|
393
|
+
flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.SerializeToString,
|
|
394
|
+
flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.FromString,
|
|
326
395
|
options, channel_credentials,
|
|
327
396
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
328
397
|
|
|
@@ -361,7 +430,7 @@ class ServerAppIo(object):
|
|
|
361
430
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
362
431
|
|
|
363
432
|
@staticmethod
|
|
364
|
-
def
|
|
433
|
+
def PullAppInputs(request,
|
|
365
434
|
target,
|
|
366
435
|
options=(),
|
|
367
436
|
channel_credentials=None,
|
|
@@ -371,14 +440,14 @@ class ServerAppIo(object):
|
|
|
371
440
|
wait_for_ready=None,
|
|
372
441
|
timeout=None,
|
|
373
442
|
metadata=None):
|
|
374
|
-
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/
|
|
375
|
-
|
|
376
|
-
|
|
443
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PullAppInputs',
|
|
444
|
+
flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.SerializeToString,
|
|
445
|
+
flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.FromString,
|
|
377
446
|
options, channel_credentials,
|
|
378
447
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
379
448
|
|
|
380
449
|
@staticmethod
|
|
381
|
-
def
|
|
450
|
+
def PushAppOutputs(request,
|
|
382
451
|
target,
|
|
383
452
|
options=(),
|
|
384
453
|
channel_credentials=None,
|
|
@@ -388,9 +457,9 @@ class ServerAppIo(object):
|
|
|
388
457
|
wait_for_ready=None,
|
|
389
458
|
timeout=None,
|
|
390
459
|
metadata=None):
|
|
391
|
-
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/
|
|
392
|
-
|
|
393
|
-
|
|
460
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushAppOutputs',
|
|
461
|
+
flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.SerializeToString,
|
|
462
|
+
flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.FromString,
|
|
394
463
|
options, channel_credentials,
|
|
395
464
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
396
465
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
isort:skip_file
|
|
4
4
|
"""
|
|
5
5
|
import abc
|
|
6
|
+
import flwr.proto.appio_pb2
|
|
6
7
|
import flwr.proto.fab_pb2
|
|
7
8
|
import flwr.proto.heartbeat_pb2
|
|
8
9
|
import flwr.proto.log_pb2
|
|
@@ -13,19 +14,29 @@ import grpc
|
|
|
13
14
|
|
|
14
15
|
class ServerAppIoStub:
|
|
15
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
|
+
|
|
16
27
|
GetNodes: grpc.UnaryUnaryMultiCallable[
|
|
17
28
|
flwr.proto.serverappio_pb2.GetNodesRequest,
|
|
18
29
|
flwr.proto.serverappio_pb2.GetNodesResponse]
|
|
19
30
|
"""Return a set of nodes"""
|
|
20
31
|
|
|
21
32
|
PushMessages: grpc.UnaryUnaryMultiCallable[
|
|
22
|
-
flwr.proto.
|
|
23
|
-
flwr.proto.
|
|
33
|
+
flwr.proto.appio_pb2.PushAppMessagesRequest,
|
|
34
|
+
flwr.proto.appio_pb2.PushAppMessagesResponse]
|
|
24
35
|
"""Create one or more messages"""
|
|
25
36
|
|
|
26
37
|
PullMessages: grpc.UnaryUnaryMultiCallable[
|
|
27
|
-
flwr.proto.
|
|
28
|
-
flwr.proto.
|
|
38
|
+
flwr.proto.appio_pb2.PullAppMessagesRequest,
|
|
39
|
+
flwr.proto.appio_pb2.PullAppMessagesResponse]
|
|
29
40
|
"""Get message results"""
|
|
30
41
|
|
|
31
42
|
GetRun: grpc.UnaryUnaryMultiCallable[
|
|
@@ -38,14 +49,14 @@ class ServerAppIoStub:
|
|
|
38
49
|
flwr.proto.fab_pb2.GetFabResponse]
|
|
39
50
|
"""Get FAB"""
|
|
40
51
|
|
|
41
|
-
|
|
42
|
-
flwr.proto.
|
|
43
|
-
flwr.proto.
|
|
52
|
+
PullAppInputs: grpc.UnaryUnaryMultiCallable[
|
|
53
|
+
flwr.proto.appio_pb2.PullAppInputsRequest,
|
|
54
|
+
flwr.proto.appio_pb2.PullAppInputsResponse]
|
|
44
55
|
"""Pull ServerApp inputs"""
|
|
45
56
|
|
|
46
|
-
|
|
47
|
-
flwr.proto.
|
|
48
|
-
flwr.proto.
|
|
57
|
+
PushAppOutputs: grpc.UnaryUnaryMultiCallable[
|
|
58
|
+
flwr.proto.appio_pb2.PushAppOutputsRequest,
|
|
59
|
+
flwr.proto.appio_pb2.PushAppOutputsResponse]
|
|
49
60
|
"""Push ServerApp outputs"""
|
|
50
61
|
|
|
51
62
|
UpdateRunStatus: grpc.UnaryUnaryMultiCallable[
|
|
@@ -85,6 +96,22 @@ class ServerAppIoStub:
|
|
|
85
96
|
|
|
86
97
|
|
|
87
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
|
+
|
|
88
115
|
@abc.abstractmethod
|
|
89
116
|
def GetNodes(self,
|
|
90
117
|
request: flwr.proto.serverappio_pb2.GetNodesRequest,
|
|
@@ -95,17 +122,17 @@ class ServerAppIoServicer(metaclass=abc.ABCMeta):
|
|
|
95
122
|
|
|
96
123
|
@abc.abstractmethod
|
|
97
124
|
def PushMessages(self,
|
|
98
|
-
request: flwr.proto.
|
|
125
|
+
request: flwr.proto.appio_pb2.PushAppMessagesRequest,
|
|
99
126
|
context: grpc.ServicerContext,
|
|
100
|
-
) -> flwr.proto.
|
|
127
|
+
) -> flwr.proto.appio_pb2.PushAppMessagesResponse:
|
|
101
128
|
"""Create one or more messages"""
|
|
102
129
|
pass
|
|
103
130
|
|
|
104
131
|
@abc.abstractmethod
|
|
105
132
|
def PullMessages(self,
|
|
106
|
-
request: flwr.proto.
|
|
133
|
+
request: flwr.proto.appio_pb2.PullAppMessagesRequest,
|
|
107
134
|
context: grpc.ServicerContext,
|
|
108
|
-
) -> flwr.proto.
|
|
135
|
+
) -> flwr.proto.appio_pb2.PullAppMessagesResponse:
|
|
109
136
|
"""Get message results"""
|
|
110
137
|
pass
|
|
111
138
|
|
|
@@ -126,18 +153,18 @@ class ServerAppIoServicer(metaclass=abc.ABCMeta):
|
|
|
126
153
|
pass
|
|
127
154
|
|
|
128
155
|
@abc.abstractmethod
|
|
129
|
-
def
|
|
130
|
-
request: flwr.proto.
|
|
156
|
+
def PullAppInputs(self,
|
|
157
|
+
request: flwr.proto.appio_pb2.PullAppInputsRequest,
|
|
131
158
|
context: grpc.ServicerContext,
|
|
132
|
-
) -> flwr.proto.
|
|
159
|
+
) -> flwr.proto.appio_pb2.PullAppInputsResponse:
|
|
133
160
|
"""Pull ServerApp inputs"""
|
|
134
161
|
pass
|
|
135
162
|
|
|
136
163
|
@abc.abstractmethod
|
|
137
|
-
def
|
|
138
|
-
request: flwr.proto.
|
|
164
|
+
def PushAppOutputs(self,
|
|
165
|
+
request: flwr.proto.appio_pb2.PushAppOutputsRequest,
|
|
139
166
|
context: grpc.ServicerContext,
|
|
140
|
-
) -> flwr.proto.
|
|
167
|
+
) -> flwr.proto.appio_pb2.PushAppOutputsResponse:
|
|
141
168
|
"""Push ServerApp outputs"""
|
|
142
169
|
pass
|
|
143
170
|
|
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
|