flwr 1.13.1__py3-none-any.whl → 1.15.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/cli/app.py +5 -0
- flwr/cli/auth_plugin/__init__.py +31 -0
- flwr/cli/auth_plugin/oidc_cli_plugin.py +150 -0
- flwr/cli/build.py +1 -0
- flwr/cli/cli_user_auth_interceptor.py +90 -0
- flwr/cli/config_utils.py +43 -149
- flwr/cli/constant.py +27 -0
- flwr/cli/example.py +1 -0
- flwr/cli/install.py +2 -1
- flwr/cli/log.py +34 -37
- flwr/cli/login/__init__.py +22 -0
- flwr/cli/login/login.py +116 -0
- flwr/cli/ls.py +214 -106
- flwr/cli/new/__init__.py +1 -0
- flwr/cli/new/new.py +2 -1
- flwr/cli/new/templates/app/.gitignore.tpl +3 -0
- flwr/cli/new/templates/app/README.md.tpl +3 -2
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +3 -4
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +3 -3
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
- flwr/cli/run/__init__.py +1 -0
- flwr/cli/run/run.py +103 -43
- flwr/cli/stop.py +139 -0
- flwr/cli/utils.py +186 -8
- flwr/client/app.py +49 -50
- flwr/client/client.py +1 -32
- flwr/client/clientapp/app.py +23 -26
- flwr/client/clientapp/utils.py +2 -1
- flwr/client/grpc_adapter_client/connection.py +1 -1
- flwr/client/grpc_client/connection.py +2 -13
- flwr/client/grpc_rere_client/client_interceptor.py +19 -119
- flwr/client/grpc_rere_client/connection.py +59 -43
- flwr/client/grpc_rere_client/grpc_adapter.py +12 -12
- flwr/client/message_handler/message_handler.py +1 -2
- flwr/client/message_handler/task_handler.py +0 -17
- flwr/client/mod/comms_mods.py +1 -0
- flwr/client/mod/localdp_mod.py +1 -1
- flwr/client/nodestate/__init__.py +1 -0
- flwr/client/nodestate/nodestate.py +1 -0
- flwr/client/nodestate/nodestate_factory.py +1 -0
- flwr/client/numpy_client.py +0 -44
- flwr/client/rest_client/connection.py +37 -29
- flwr/client/supernode/app.py +20 -74
- flwr/common/address.py +1 -0
- flwr/common/args.py +26 -47
- flwr/common/auth_plugin/__init__.py +24 -0
- flwr/common/auth_plugin/auth_plugin.py +122 -0
- flwr/common/config.py +169 -17
- flwr/common/constant.py +38 -9
- flwr/common/differential_privacy.py +2 -1
- flwr/common/exit/__init__.py +24 -0
- flwr/common/exit/exit.py +99 -0
- flwr/common/exit/exit_code.py +93 -0
- flwr/common/exit_handlers.py +24 -10
- flwr/common/grpc.py +167 -4
- flwr/common/logger.py +66 -7
- flwr/common/message.py +1 -0
- flwr/common/object_ref.py +57 -54
- flwr/common/pyproject.py +1 -0
- flwr/common/record/__init__.py +1 -0
- flwr/common/record/parametersrecord.py +1 -0
- flwr/common/record/recordset.py +1 -1
- flwr/common/retry_invoker.py +77 -0
- flwr/common/secure_aggregation/crypto/symmetric_encryption.py +45 -0
- flwr/common/secure_aggregation/secaggplus_utils.py +2 -2
- flwr/common/serde.py +6 -4
- flwr/common/telemetry.py +15 -4
- flwr/common/typing.py +32 -0
- flwr/common/version.py +1 -0
- flwr/proto/clientappio_pb2.py +1 -1
- flwr/proto/error_pb2.py +1 -1
- flwr/proto/exec_pb2.py +27 -15
- flwr/proto/exec_pb2.pyi +80 -2
- flwr/proto/exec_pb2_grpc.py +102 -0
- flwr/proto/exec_pb2_grpc.pyi +39 -0
- flwr/proto/fab_pb2.py +5 -5
- flwr/proto/fab_pb2.pyi +4 -1
- flwr/proto/fleet_pb2.py +31 -31
- flwr/proto/fleet_pb2.pyi +23 -23
- flwr/proto/fleet_pb2_grpc.py +30 -30
- flwr/proto/fleet_pb2_grpc.pyi +20 -20
- flwr/proto/grpcadapter_pb2.py +1 -1
- flwr/proto/log_pb2.py +1 -1
- flwr/proto/message_pb2.py +1 -1
- flwr/proto/node_pb2.py +3 -3
- flwr/proto/node_pb2.pyi +1 -4
- flwr/proto/recordset_pb2.py +1 -1
- flwr/proto/run_pb2.py +1 -1
- flwr/proto/serverappio_pb2.py +24 -25
- flwr/proto/serverappio_pb2.pyi +32 -32
- flwr/proto/serverappio_pb2_grpc.py +62 -28
- flwr/proto/serverappio_pb2_grpc.pyi +29 -16
- flwr/proto/simulationio_pb2.py +3 -3
- flwr/proto/simulationio_pb2_grpc.py +34 -0
- flwr/proto/simulationio_pb2_grpc.pyi +13 -0
- flwr/proto/task_pb2.py +1 -1
- flwr/proto/transport_pb2.py +1 -1
- flwr/server/app.py +152 -112
- flwr/server/compat/app_utils.py +7 -2
- flwr/server/compat/driver_client_proxy.py +1 -2
- flwr/server/driver/grpc_driver.py +38 -85
- flwr/server/driver/inmemory_driver.py +7 -2
- flwr/server/run_serverapp.py +8 -9
- flwr/server/serverapp/app.py +37 -13
- flwr/server/strategy/dpfedavg_fixed.py +1 -0
- flwr/server/superlink/driver/serverappio_grpc.py +2 -1
- flwr/server/superlink/driver/serverappio_servicer.py +148 -63
- flwr/server/superlink/ffs/disk_ffs.py +1 -0
- flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +20 -87
- flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -0
- flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +2 -165
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +56 -35
- flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +99 -169
- flwr/server/superlink/fleet/message_handler/message_handler.py +69 -29
- flwr/server/superlink/fleet/rest_rere/rest_api.py +20 -19
- flwr/server/superlink/fleet/vce/__init__.py +1 -0
- flwr/server/superlink/fleet/vce/backend/__init__.py +1 -0
- flwr/server/superlink/fleet/vce/backend/raybackend.py +1 -0
- flwr/server/superlink/fleet/vce/vce_api.py +2 -2
- flwr/server/superlink/linkstate/in_memory_linkstate.py +60 -99
- flwr/server/superlink/linkstate/linkstate.py +30 -36
- flwr/server/superlink/linkstate/sqlite_linkstate.py +105 -188
- flwr/server/superlink/linkstate/utils.py +18 -8
- flwr/server/superlink/simulation/simulationio_grpc.py +1 -1
- flwr/server/superlink/simulation/simulationio_servicer.py +33 -0
- flwr/server/superlink/utils.py +65 -0
- flwr/server/utils/validator.py +9 -34
- flwr/simulation/app.py +20 -10
- flwr/simulation/legacy_app.py +4 -2
- flwr/simulation/ray_transport/ray_actor.py +1 -0
- flwr/simulation/ray_transport/utils.py +1 -0
- flwr/simulation/run_simulation.py +36 -22
- flwr/simulation/simulationio_connection.py +5 -1
- flwr/superexec/app.py +1 -0
- flwr/superexec/deployment.py +1 -0
- flwr/superexec/exec_grpc.py +20 -2
- flwr/superexec/exec_servicer.py +97 -2
- flwr/superexec/exec_user_auth_interceptor.py +101 -0
- flwr/superexec/executor.py +1 -0
- {flwr-1.13.1.dist-info → flwr-1.15.0.dist-info}/METADATA +14 -13
- {flwr-1.13.1.dist-info → flwr-1.15.0.dist-info}/RECORD +150 -144
- flwr/proto/common_pb2.py +0 -36
- flwr/proto/common_pb2.pyi +0 -121
- flwr/proto/common_pb2_grpc.py +0 -4
- flwr/proto/common_pb2_grpc.pyi +0 -4
- flwr/proto/control_pb2.py +0 -27
- flwr/proto/control_pb2.pyi +0 -7
- flwr/proto/control_pb2_grpc.py +0 -135
- flwr/proto/control_pb2_grpc.pyi +0 -53
- {flwr-1.13.1.dist-info → flwr-1.15.0.dist-info}/LICENSE +0 -0
- {flwr-1.13.1.dist-info → flwr-1.15.0.dist-info}/WHEEL +0 -0
- {flwr-1.13.1.dist-info → flwr-1.15.0.dist-info}/entry_points.txt +0 -0
flwr/proto/serverappio_pb2.pyi
CHANGED
|
@@ -7,7 +7,6 @@ import flwr.proto.fab_pb2
|
|
|
7
7
|
import flwr.proto.message_pb2
|
|
8
8
|
import flwr.proto.node_pb2
|
|
9
9
|
import flwr.proto.run_pb2
|
|
10
|
-
import flwr.proto.task_pb2
|
|
11
10
|
import google.protobuf.descriptor
|
|
12
11
|
import google.protobuf.internal.containers
|
|
13
12
|
import google.protobuf.message
|
|
@@ -40,60 +39,61 @@ class GetNodesResponse(google.protobuf.message.Message):
|
|
|
40
39
|
def ClearField(self, field_name: typing_extensions.Literal["nodes",b"nodes"]) -> None: ...
|
|
41
40
|
global___GetNodesResponse = GetNodesResponse
|
|
42
41
|
|
|
43
|
-
class
|
|
44
|
-
"""
|
|
42
|
+
class PushInsMessagesRequest(google.protobuf.message.Message):
|
|
43
|
+
"""PushMessages messages"""
|
|
45
44
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
46
|
-
|
|
45
|
+
MESSAGES_LIST_FIELD_NUMBER: builtins.int
|
|
46
|
+
RUN_ID_FIELD_NUMBER: builtins.int
|
|
47
47
|
@property
|
|
48
|
-
def
|
|
48
|
+
def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
|
|
49
|
+
run_id: builtins.int
|
|
49
50
|
def __init__(self,
|
|
50
51
|
*,
|
|
51
|
-
|
|
52
|
+
messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
|
|
53
|
+
run_id: builtins.int = ...,
|
|
52
54
|
) -> None: ...
|
|
53
|
-
def ClearField(self, field_name: typing_extensions.Literal["
|
|
54
|
-
|
|
55
|
+
def ClearField(self, field_name: typing_extensions.Literal["messages_list",b"messages_list","run_id",b"run_id"]) -> None: ...
|
|
56
|
+
global___PushInsMessagesRequest = PushInsMessagesRequest
|
|
55
57
|
|
|
56
|
-
class
|
|
58
|
+
class PushInsMessagesResponse(google.protobuf.message.Message):
|
|
57
59
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
58
|
-
|
|
60
|
+
MESSAGE_IDS_FIELD_NUMBER: builtins.int
|
|
59
61
|
@property
|
|
60
|
-
def
|
|
62
|
+
def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
|
61
63
|
def __init__(self,
|
|
62
64
|
*,
|
|
63
|
-
|
|
65
|
+
message_ids: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
|
64
66
|
) -> None: ...
|
|
65
|
-
def ClearField(self, field_name: typing_extensions.Literal["
|
|
66
|
-
|
|
67
|
+
def ClearField(self, field_name: typing_extensions.Literal["message_ids",b"message_ids"]) -> None: ...
|
|
68
|
+
global___PushInsMessagesResponse = PushInsMessagesResponse
|
|
67
69
|
|
|
68
|
-
class
|
|
69
|
-
"""
|
|
70
|
+
class PullResMessagesRequest(google.protobuf.message.Message):
|
|
71
|
+
"""PullMessages messages"""
|
|
70
72
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
@property
|
|
74
|
-
def node(self) -> flwr.proto.node_pb2.Node: ...
|
|
73
|
+
MESSAGE_IDS_FIELD_NUMBER: builtins.int
|
|
74
|
+
RUN_ID_FIELD_NUMBER: builtins.int
|
|
75
75
|
@property
|
|
76
|
-
def
|
|
76
|
+
def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
|
77
|
+
run_id: builtins.int
|
|
77
78
|
def __init__(self,
|
|
78
79
|
*,
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
message_ids: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
|
81
|
+
run_id: builtins.int = ...,
|
|
81
82
|
) -> None: ...
|
|
82
|
-
def
|
|
83
|
-
|
|
84
|
-
global___PullTaskResRequest = PullTaskResRequest
|
|
83
|
+
def ClearField(self, field_name: typing_extensions.Literal["message_ids",b"message_ids","run_id",b"run_id"]) -> None: ...
|
|
84
|
+
global___PullResMessagesRequest = PullResMessagesRequest
|
|
85
85
|
|
|
86
|
-
class
|
|
86
|
+
class PullResMessagesResponse(google.protobuf.message.Message):
|
|
87
87
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
88
|
-
|
|
88
|
+
MESSAGES_LIST_FIELD_NUMBER: builtins.int
|
|
89
89
|
@property
|
|
90
|
-
def
|
|
90
|
+
def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
|
|
91
91
|
def __init__(self,
|
|
92
92
|
*,
|
|
93
|
-
|
|
93
|
+
messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
|
|
94
94
|
) -> None: ...
|
|
95
|
-
def ClearField(self, field_name: typing_extensions.Literal["
|
|
96
|
-
|
|
95
|
+
def ClearField(self, field_name: typing_extensions.Literal["messages_list",b"messages_list"]) -> None: ...
|
|
96
|
+
global___PullResMessagesResponse = PullResMessagesResponse
|
|
97
97
|
|
|
98
98
|
class PullServerAppInputsRequest(google.protobuf.message.Message):
|
|
99
99
|
"""PullServerAppInputs messages"""
|
|
@@ -27,15 +27,15 @@ class ServerAppIoStub(object):
|
|
|
27
27
|
request_serializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.SerializeToString,
|
|
28
28
|
response_deserializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesResponse.FromString,
|
|
29
29
|
)
|
|
30
|
-
self.
|
|
31
|
-
'/flwr.proto.ServerAppIo/
|
|
32
|
-
request_serializer=flwr_dot_proto_dot_serverappio__pb2.
|
|
33
|
-
response_deserializer=flwr_dot_proto_dot_serverappio__pb2.
|
|
30
|
+
self.PushMessages = channel.unary_unary(
|
|
31
|
+
'/flwr.proto.ServerAppIo/PushMessages',
|
|
32
|
+
request_serializer=flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesRequest.SerializeToString,
|
|
33
|
+
response_deserializer=flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesResponse.FromString,
|
|
34
34
|
)
|
|
35
|
-
self.
|
|
36
|
-
'/flwr.proto.ServerAppIo/
|
|
37
|
-
request_serializer=flwr_dot_proto_dot_serverappio__pb2.
|
|
38
|
-
response_deserializer=flwr_dot_proto_dot_serverappio__pb2.
|
|
35
|
+
self.PullMessages = channel.unary_unary(
|
|
36
|
+
'/flwr.proto.ServerAppIo/PullMessages',
|
|
37
|
+
request_serializer=flwr_dot_proto_dot_serverappio__pb2.PullResMessagesRequest.SerializeToString,
|
|
38
|
+
response_deserializer=flwr_dot_proto_dot_serverappio__pb2.PullResMessagesResponse.FromString,
|
|
39
39
|
)
|
|
40
40
|
self.GetRun = channel.unary_unary(
|
|
41
41
|
'/flwr.proto.ServerAppIo/GetRun',
|
|
@@ -62,6 +62,11 @@ class ServerAppIoStub(object):
|
|
|
62
62
|
request_serializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
|
|
63
63
|
response_deserializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
|
|
64
64
|
)
|
|
65
|
+
self.GetRunStatus = channel.unary_unary(
|
|
66
|
+
'/flwr.proto.ServerAppIo/GetRunStatus',
|
|
67
|
+
request_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
|
|
68
|
+
response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
|
|
69
|
+
)
|
|
65
70
|
self.PushLogs = channel.unary_unary(
|
|
66
71
|
'/flwr.proto.ServerAppIo/PushLogs',
|
|
67
72
|
request_serializer=flwr_dot_proto_dot_log__pb2.PushLogsRequest.SerializeToString,
|
|
@@ -86,15 +91,15 @@ class ServerAppIoServicer(object):
|
|
|
86
91
|
context.set_details('Method not implemented!')
|
|
87
92
|
raise NotImplementedError('Method not implemented!')
|
|
88
93
|
|
|
89
|
-
def
|
|
90
|
-
"""Create one or more
|
|
94
|
+
def PushMessages(self, request, context):
|
|
95
|
+
"""Create one or more messages
|
|
91
96
|
"""
|
|
92
97
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
93
98
|
context.set_details('Method not implemented!')
|
|
94
99
|
raise NotImplementedError('Method not implemented!')
|
|
95
100
|
|
|
96
|
-
def
|
|
97
|
-
"""Get
|
|
101
|
+
def PullMessages(self, request, context):
|
|
102
|
+
"""Get message results
|
|
98
103
|
"""
|
|
99
104
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
100
105
|
context.set_details('Method not implemented!')
|
|
@@ -135,6 +140,13 @@ class ServerAppIoServicer(object):
|
|
|
135
140
|
context.set_details('Method not implemented!')
|
|
136
141
|
raise NotImplementedError('Method not implemented!')
|
|
137
142
|
|
|
143
|
+
def GetRunStatus(self, request, context):
|
|
144
|
+
"""Get the status of a given run
|
|
145
|
+
"""
|
|
146
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
147
|
+
context.set_details('Method not implemented!')
|
|
148
|
+
raise NotImplementedError('Method not implemented!')
|
|
149
|
+
|
|
138
150
|
def PushLogs(self, request, context):
|
|
139
151
|
"""Push ServerApp logs
|
|
140
152
|
"""
|
|
@@ -155,15 +167,15 @@ def add_ServerAppIoServicer_to_server(servicer, server):
|
|
|
155
167
|
request_deserializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesRequest.FromString,
|
|
156
168
|
response_serializer=flwr_dot_proto_dot_serverappio__pb2.GetNodesResponse.SerializeToString,
|
|
157
169
|
),
|
|
158
|
-
'
|
|
159
|
-
servicer.
|
|
160
|
-
request_deserializer=flwr_dot_proto_dot_serverappio__pb2.
|
|
161
|
-
response_serializer=flwr_dot_proto_dot_serverappio__pb2.
|
|
170
|
+
'PushMessages': grpc.unary_unary_rpc_method_handler(
|
|
171
|
+
servicer.PushMessages,
|
|
172
|
+
request_deserializer=flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesRequest.FromString,
|
|
173
|
+
response_serializer=flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesResponse.SerializeToString,
|
|
162
174
|
),
|
|
163
|
-
'
|
|
164
|
-
servicer.
|
|
165
|
-
request_deserializer=flwr_dot_proto_dot_serverappio__pb2.
|
|
166
|
-
response_serializer=flwr_dot_proto_dot_serverappio__pb2.
|
|
175
|
+
'PullMessages': grpc.unary_unary_rpc_method_handler(
|
|
176
|
+
servicer.PullMessages,
|
|
177
|
+
request_deserializer=flwr_dot_proto_dot_serverappio__pb2.PullResMessagesRequest.FromString,
|
|
178
|
+
response_serializer=flwr_dot_proto_dot_serverappio__pb2.PullResMessagesResponse.SerializeToString,
|
|
167
179
|
),
|
|
168
180
|
'GetRun': grpc.unary_unary_rpc_method_handler(
|
|
169
181
|
servicer.GetRun,
|
|
@@ -190,6 +202,11 @@ def add_ServerAppIoServicer_to_server(servicer, server):
|
|
|
190
202
|
request_deserializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.FromString,
|
|
191
203
|
response_serializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.SerializeToString,
|
|
192
204
|
),
|
|
205
|
+
'GetRunStatus': grpc.unary_unary_rpc_method_handler(
|
|
206
|
+
servicer.GetRunStatus,
|
|
207
|
+
request_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.FromString,
|
|
208
|
+
response_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.SerializeToString,
|
|
209
|
+
),
|
|
193
210
|
'PushLogs': grpc.unary_unary_rpc_method_handler(
|
|
194
211
|
servicer.PushLogs,
|
|
195
212
|
request_deserializer=flwr_dot_proto_dot_log__pb2.PushLogsRequest.FromString,
|
|
@@ -240,7 +257,7 @@ class ServerAppIo(object):
|
|
|
240
257
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
241
258
|
|
|
242
259
|
@staticmethod
|
|
243
|
-
def
|
|
260
|
+
def PushMessages(request,
|
|
244
261
|
target,
|
|
245
262
|
options=(),
|
|
246
263
|
channel_credentials=None,
|
|
@@ -250,14 +267,14 @@ class ServerAppIo(object):
|
|
|
250
267
|
wait_for_ready=None,
|
|
251
268
|
timeout=None,
|
|
252
269
|
metadata=None):
|
|
253
|
-
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/
|
|
254
|
-
flwr_dot_proto_dot_serverappio__pb2.
|
|
255
|
-
flwr_dot_proto_dot_serverappio__pb2.
|
|
270
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PushMessages',
|
|
271
|
+
flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesRequest.SerializeToString,
|
|
272
|
+
flwr_dot_proto_dot_serverappio__pb2.PushInsMessagesResponse.FromString,
|
|
256
273
|
options, channel_credentials,
|
|
257
274
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
258
275
|
|
|
259
276
|
@staticmethod
|
|
260
|
-
def
|
|
277
|
+
def PullMessages(request,
|
|
261
278
|
target,
|
|
262
279
|
options=(),
|
|
263
280
|
channel_credentials=None,
|
|
@@ -267,9 +284,9 @@ class ServerAppIo(object):
|
|
|
267
284
|
wait_for_ready=None,
|
|
268
285
|
timeout=None,
|
|
269
286
|
metadata=None):
|
|
270
|
-
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/
|
|
271
|
-
flwr_dot_proto_dot_serverappio__pb2.
|
|
272
|
-
flwr_dot_proto_dot_serverappio__pb2.
|
|
287
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/PullMessages',
|
|
288
|
+
flwr_dot_proto_dot_serverappio__pb2.PullResMessagesRequest.SerializeToString,
|
|
289
|
+
flwr_dot_proto_dot_serverappio__pb2.PullResMessagesResponse.FromString,
|
|
273
290
|
options, channel_credentials,
|
|
274
291
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
275
292
|
|
|
@@ -358,6 +375,23 @@ class ServerAppIo(object):
|
|
|
358
375
|
options, channel_credentials,
|
|
359
376
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
360
377
|
|
|
378
|
+
@staticmethod
|
|
379
|
+
def GetRunStatus(request,
|
|
380
|
+
target,
|
|
381
|
+
options=(),
|
|
382
|
+
channel_credentials=None,
|
|
383
|
+
call_credentials=None,
|
|
384
|
+
insecure=False,
|
|
385
|
+
compression=None,
|
|
386
|
+
wait_for_ready=None,
|
|
387
|
+
timeout=None,
|
|
388
|
+
metadata=None):
|
|
389
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.ServerAppIo/GetRunStatus',
|
|
390
|
+
flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
|
|
391
|
+
flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
|
|
392
|
+
options, channel_credentials,
|
|
393
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
394
|
+
|
|
361
395
|
@staticmethod
|
|
362
396
|
def PushLogs(request,
|
|
363
397
|
target,
|
|
@@ -21,15 +21,15 @@ class ServerAppIoStub:
|
|
|
21
21
|
flwr.proto.serverappio_pb2.GetNodesResponse]
|
|
22
22
|
"""Return a set of nodes"""
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
flwr.proto.serverappio_pb2.
|
|
26
|
-
flwr.proto.serverappio_pb2.
|
|
27
|
-
"""Create one or more
|
|
24
|
+
PushMessages: grpc.UnaryUnaryMultiCallable[
|
|
25
|
+
flwr.proto.serverappio_pb2.PushInsMessagesRequest,
|
|
26
|
+
flwr.proto.serverappio_pb2.PushInsMessagesResponse]
|
|
27
|
+
"""Create one or more messages"""
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
flwr.proto.serverappio_pb2.
|
|
31
|
-
flwr.proto.serverappio_pb2.
|
|
32
|
-
"""Get
|
|
29
|
+
PullMessages: grpc.UnaryUnaryMultiCallable[
|
|
30
|
+
flwr.proto.serverappio_pb2.PullResMessagesRequest,
|
|
31
|
+
flwr.proto.serverappio_pb2.PullResMessagesResponse]
|
|
32
|
+
"""Get message results"""
|
|
33
33
|
|
|
34
34
|
GetRun: grpc.UnaryUnaryMultiCallable[
|
|
35
35
|
flwr.proto.run_pb2.GetRunRequest,
|
|
@@ -56,6 +56,11 @@ class ServerAppIoStub:
|
|
|
56
56
|
flwr.proto.run_pb2.UpdateRunStatusResponse]
|
|
57
57
|
"""Update the status of a given run"""
|
|
58
58
|
|
|
59
|
+
GetRunStatus: grpc.UnaryUnaryMultiCallable[
|
|
60
|
+
flwr.proto.run_pb2.GetRunStatusRequest,
|
|
61
|
+
flwr.proto.run_pb2.GetRunStatusResponse]
|
|
62
|
+
"""Get the status of a given run"""
|
|
63
|
+
|
|
59
64
|
PushLogs: grpc.UnaryUnaryMultiCallable[
|
|
60
65
|
flwr.proto.log_pb2.PushLogsRequest,
|
|
61
66
|
flwr.proto.log_pb2.PushLogsResponse]
|
|
@@ -80,19 +85,19 @@ class ServerAppIoServicer(metaclass=abc.ABCMeta):
|
|
|
80
85
|
pass
|
|
81
86
|
|
|
82
87
|
@abc.abstractmethod
|
|
83
|
-
def
|
|
84
|
-
request: flwr.proto.serverappio_pb2.
|
|
88
|
+
def PushMessages(self,
|
|
89
|
+
request: flwr.proto.serverappio_pb2.PushInsMessagesRequest,
|
|
85
90
|
context: grpc.ServicerContext,
|
|
86
|
-
) -> flwr.proto.serverappio_pb2.
|
|
87
|
-
"""Create one or more
|
|
91
|
+
) -> flwr.proto.serverappio_pb2.PushInsMessagesResponse:
|
|
92
|
+
"""Create one or more messages"""
|
|
88
93
|
pass
|
|
89
94
|
|
|
90
95
|
@abc.abstractmethod
|
|
91
|
-
def
|
|
92
|
-
request: flwr.proto.serverappio_pb2.
|
|
96
|
+
def PullMessages(self,
|
|
97
|
+
request: flwr.proto.serverappio_pb2.PullResMessagesRequest,
|
|
93
98
|
context: grpc.ServicerContext,
|
|
94
|
-
) -> flwr.proto.serverappio_pb2.
|
|
95
|
-
"""Get
|
|
99
|
+
) -> flwr.proto.serverappio_pb2.PullResMessagesResponse:
|
|
100
|
+
"""Get message results"""
|
|
96
101
|
pass
|
|
97
102
|
|
|
98
103
|
@abc.abstractmethod
|
|
@@ -135,6 +140,14 @@ class ServerAppIoServicer(metaclass=abc.ABCMeta):
|
|
|
135
140
|
"""Update the status of a given run"""
|
|
136
141
|
pass
|
|
137
142
|
|
|
143
|
+
@abc.abstractmethod
|
|
144
|
+
def GetRunStatus(self,
|
|
145
|
+
request: flwr.proto.run_pb2.GetRunStatusRequest,
|
|
146
|
+
context: grpc.ServicerContext,
|
|
147
|
+
) -> flwr.proto.run_pb2.GetRunStatusResponse:
|
|
148
|
+
"""Get the status of a given run"""
|
|
149
|
+
pass
|
|
150
|
+
|
|
138
151
|
@abc.abstractmethod
|
|
139
152
|
def PushLogs(self,
|
|
140
153
|
request: flwr.proto.log_pb2.PushLogsRequest,
|
flwr/proto/simulationio_pb2.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
3
|
# source: flwr/proto/simulationio.proto
|
|
4
|
-
# Protobuf Python Version: 4.25.
|
|
4
|
+
# Protobuf Python Version: 4.25.1
|
|
5
5
|
"""Generated protocol buffer code."""
|
|
6
6
|
from google.protobuf import descriptor as _descriptor
|
|
7
7
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
@@ -18,7 +18,7 @@ from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
|
|
|
18
18
|
from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x66lwr/proto/simulationio.proto\x12\nflwr.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\
|
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x66lwr/proto/simulationio.proto\x12\nflwr.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\xd4\x04\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\x62\x06proto3')
|
|
22
22
|
|
|
23
23
|
_globals = globals()
|
|
24
24
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -34,5 +34,5 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
34
34
|
_globals['_PUSHSIMULATIONOUTPUTSRESPONSE']._serialized_start=385
|
|
35
35
|
_globals['_PUSHSIMULATIONOUTPUTSRESPONSE']._serialized_end=416
|
|
36
36
|
_globals['_SIMULATIONIO']._serialized_start=419
|
|
37
|
-
_globals['_SIMULATIONIO']._serialized_end=
|
|
37
|
+
_globals['_SIMULATIONIO']._serialized_end=1015
|
|
38
38
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -41,6 +41,11 @@ class SimulationIoStub(object):
|
|
|
41
41
|
request_serializer=flwr_dot_proto_dot_run__pb2.GetFederationOptionsRequest.SerializeToString,
|
|
42
42
|
response_deserializer=flwr_dot_proto_dot_run__pb2.GetFederationOptionsResponse.FromString,
|
|
43
43
|
)
|
|
44
|
+
self.GetRunStatus = channel.unary_unary(
|
|
45
|
+
'/flwr.proto.SimulationIo/GetRunStatus',
|
|
46
|
+
request_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
|
|
47
|
+
response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
|
|
48
|
+
)
|
|
44
49
|
|
|
45
50
|
|
|
46
51
|
class SimulationIoServicer(object):
|
|
@@ -81,6 +86,13 @@ class SimulationIoServicer(object):
|
|
|
81
86
|
context.set_details('Method not implemented!')
|
|
82
87
|
raise NotImplementedError('Method not implemented!')
|
|
83
88
|
|
|
89
|
+
def GetRunStatus(self, request, context):
|
|
90
|
+
"""Get Run Status
|
|
91
|
+
"""
|
|
92
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
93
|
+
context.set_details('Method not implemented!')
|
|
94
|
+
raise NotImplementedError('Method not implemented!')
|
|
95
|
+
|
|
84
96
|
|
|
85
97
|
def add_SimulationIoServicer_to_server(servicer, server):
|
|
86
98
|
rpc_method_handlers = {
|
|
@@ -109,6 +121,11 @@ def add_SimulationIoServicer_to_server(servicer, server):
|
|
|
109
121
|
request_deserializer=flwr_dot_proto_dot_run__pb2.GetFederationOptionsRequest.FromString,
|
|
110
122
|
response_serializer=flwr_dot_proto_dot_run__pb2.GetFederationOptionsResponse.SerializeToString,
|
|
111
123
|
),
|
|
124
|
+
'GetRunStatus': grpc.unary_unary_rpc_method_handler(
|
|
125
|
+
servicer.GetRunStatus,
|
|
126
|
+
request_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.FromString,
|
|
127
|
+
response_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.SerializeToString,
|
|
128
|
+
),
|
|
112
129
|
}
|
|
113
130
|
generic_handler = grpc.method_handlers_generic_handler(
|
|
114
131
|
'flwr.proto.SimulationIo', rpc_method_handlers)
|
|
@@ -203,3 +220,20 @@ class SimulationIo(object):
|
|
|
203
220
|
flwr_dot_proto_dot_run__pb2.GetFederationOptionsResponse.FromString,
|
|
204
221
|
options, channel_credentials,
|
|
205
222
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
223
|
+
|
|
224
|
+
@staticmethod
|
|
225
|
+
def GetRunStatus(request,
|
|
226
|
+
target,
|
|
227
|
+
options=(),
|
|
228
|
+
channel_credentials=None,
|
|
229
|
+
call_credentials=None,
|
|
230
|
+
insecure=False,
|
|
231
|
+
compression=None,
|
|
232
|
+
wait_for_ready=None,
|
|
233
|
+
timeout=None,
|
|
234
|
+
metadata=None):
|
|
235
|
+
return grpc.experimental.unary_unary(request, target, '/flwr.proto.SimulationIo/GetRunStatus',
|
|
236
|
+
flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
|
|
237
|
+
flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
|
|
238
|
+
options, channel_credentials,
|
|
239
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
@@ -35,6 +35,11 @@ class SimulationIoStub:
|
|
|
35
35
|
flwr.proto.run_pb2.GetFederationOptionsResponse]
|
|
36
36
|
"""Get Federation Options"""
|
|
37
37
|
|
|
38
|
+
GetRunStatus: grpc.UnaryUnaryMultiCallable[
|
|
39
|
+
flwr.proto.run_pb2.GetRunStatusRequest,
|
|
40
|
+
flwr.proto.run_pb2.GetRunStatusResponse]
|
|
41
|
+
"""Get Run Status"""
|
|
42
|
+
|
|
38
43
|
|
|
39
44
|
class SimulationIoServicer(metaclass=abc.ABCMeta):
|
|
40
45
|
@abc.abstractmethod
|
|
@@ -77,5 +82,13 @@ class SimulationIoServicer(metaclass=abc.ABCMeta):
|
|
|
77
82
|
"""Get Federation Options"""
|
|
78
83
|
pass
|
|
79
84
|
|
|
85
|
+
@abc.abstractmethod
|
|
86
|
+
def GetRunStatus(self,
|
|
87
|
+
request: flwr.proto.run_pb2.GetRunStatusRequest,
|
|
88
|
+
context: grpc.ServicerContext,
|
|
89
|
+
) -> flwr.proto.run_pb2.GetRunStatusResponse:
|
|
90
|
+
"""Get Run Status"""
|
|
91
|
+
pass
|
|
92
|
+
|
|
80
93
|
|
|
81
94
|
def add_SimulationIoServicer_to_server(servicer: SimulationIoServicer, server: grpc.Server) -> None: ...
|
flwr/proto/task_pb2.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
3
|
# source: flwr/proto/task.proto
|
|
4
|
-
# Protobuf Python Version: 4.25.
|
|
4
|
+
# Protobuf Python Version: 4.25.1
|
|
5
5
|
"""Generated protocol buffer code."""
|
|
6
6
|
from google.protobuf import descriptor as _descriptor
|
|
7
7
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
flwr/proto/transport_pb2.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
3
|
# source: flwr/proto/transport.proto
|
|
4
|
-
# Protobuf Python Version: 4.25.
|
|
4
|
+
# Protobuf Python Version: 4.25.1
|
|
5
5
|
"""Generated protocol buffer code."""
|
|
6
6
|
from google.protobuf import descriptor as _descriptor
|
|
7
7
|
from google.protobuf import descriptor_pool as _descriptor_pool
|