flwr-nightly 1.15.0.dev20250104__py3-none-any.whl → 1.15.0.dev20250123__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/cli_user_auth_interceptor.py +6 -2
- flwr/cli/config_utils.py +23 -146
- flwr/cli/constant.py +27 -0
- flwr/cli/install.py +1 -1
- flwr/cli/log.py +17 -2
- flwr/cli/login/login.py +20 -5
- flwr/cli/ls.py +10 -2
- flwr/cli/run/run.py +20 -10
- flwr/cli/stop.py +9 -1
- flwr/cli/utils.py +4 -4
- flwr/client/app.py +36 -48
- flwr/client/clientapp/app.py +4 -6
- flwr/client/clientapp/utils.py +1 -1
- flwr/client/grpc_client/connection.py +0 -6
- flwr/client/grpc_rere_client/client_interceptor.py +19 -119
- flwr/client/grpc_rere_client/connection.py +34 -24
- flwr/client/grpc_rere_client/grpc_adapter.py +16 -0
- flwr/client/rest_client/connection.py +34 -26
- flwr/client/supernode/app.py +14 -20
- flwr/common/auth_plugin/auth_plugin.py +34 -23
- flwr/common/config.py +152 -15
- flwr/common/constant.py +11 -8
- 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 +161 -3
- flwr/common/logger.py +1 -1
- flwr/common/secure_aggregation/crypto/symmetric_encryption.py +45 -0
- flwr/common/serde.py +6 -4
- flwr/common/typing.py +20 -0
- flwr/proto/clientappio_pb2.py +13 -3
- flwr/proto/clientappio_pb2_grpc.py +63 -12
- flwr/proto/error_pb2.py +13 -3
- flwr/proto/error_pb2_grpc.py +20 -0
- flwr/proto/exec_pb2.py +27 -29
- flwr/proto/exec_pb2.pyi +27 -54
- flwr/proto/exec_pb2_grpc.py +105 -24
- flwr/proto/fab_pb2.py +13 -3
- flwr/proto/fab_pb2_grpc.py +20 -0
- flwr/proto/fleet_pb2.py +54 -31
- flwr/proto/fleet_pb2.pyi +84 -0
- flwr/proto/fleet_pb2_grpc.py +207 -28
- flwr/proto/fleet_pb2_grpc.pyi +26 -0
- flwr/proto/grpcadapter_pb2.py +14 -4
- flwr/proto/grpcadapter_pb2_grpc.py +35 -4
- flwr/proto/log_pb2.py +13 -3
- flwr/proto/log_pb2_grpc.py +20 -0
- flwr/proto/message_pb2.py +15 -5
- flwr/proto/message_pb2_grpc.py +20 -0
- flwr/proto/node_pb2.py +15 -5
- flwr/proto/node_pb2.pyi +1 -4
- flwr/proto/node_pb2_grpc.py +20 -0
- flwr/proto/recordset_pb2.py +18 -8
- flwr/proto/recordset_pb2_grpc.py +20 -0
- flwr/proto/run_pb2.py +16 -6
- flwr/proto/run_pb2_grpc.py +20 -0
- flwr/proto/serverappio_pb2.py +32 -14
- flwr/proto/serverappio_pb2.pyi +56 -0
- flwr/proto/serverappio_pb2_grpc.py +261 -44
- flwr/proto/serverappio_pb2_grpc.pyi +20 -0
- flwr/proto/simulationio_pb2.py +13 -3
- flwr/proto/simulationio_pb2_grpc.py +105 -24
- flwr/proto/task_pb2.py +13 -3
- flwr/proto/task_pb2_grpc.py +20 -0
- flwr/proto/transport_pb2.py +20 -10
- flwr/proto/transport_pb2_grpc.py +35 -4
- flwr/server/app.py +87 -38
- flwr/server/compat/app_utils.py +0 -1
- flwr/server/compat/driver_client_proxy.py +1 -2
- flwr/server/driver/grpc_driver.py +5 -2
- flwr/server/driver/inmemory_driver.py +2 -1
- flwr/server/serverapp/app.py +5 -6
- flwr/server/superlink/driver/serverappio_grpc.py +1 -1
- flwr/server/superlink/driver/serverappio_servicer.py +132 -14
- flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +20 -88
- flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +2 -165
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +38 -0
- flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +95 -168
- flwr/server/superlink/fleet/message_handler/message_handler.py +66 -5
- flwr/server/superlink/fleet/rest_rere/rest_api.py +28 -3
- flwr/server/superlink/fleet/vce/vce_api.py +2 -2
- flwr/server/superlink/linkstate/in_memory_linkstate.py +40 -48
- flwr/server/superlink/linkstate/linkstate.py +15 -22
- flwr/server/superlink/linkstate/sqlite_linkstate.py +80 -99
- flwr/server/superlink/linkstate/utils.py +18 -8
- flwr/server/superlink/simulation/simulationio_grpc.py +1 -1
- flwr/server/utils/validator.py +9 -34
- flwr/simulation/app.py +4 -6
- flwr/simulation/legacy_app.py +4 -2
- flwr/simulation/run_simulation.py +1 -1
- flwr/superexec/exec_grpc.py +1 -1
- flwr/superexec/exec_servicer.py +23 -2
- {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/METADATA +7 -7
- {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/RECORD +98 -94
- {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/LICENSE +0 -0
- {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/WHEEL +0 -0
- {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/entry_points.txt +0 -0
@@ -1,9 +1,29 @@
|
|
1
1
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
3
3
|
import grpc
|
4
|
+
import warnings
|
4
5
|
|
5
6
|
from flwr.proto import clientappio_pb2 as flwr_dot_proto_dot_clientappio__pb2
|
6
7
|
|
8
|
+
GRPC_GENERATED_VERSION = '1.69.0'
|
9
|
+
GRPC_VERSION = grpc.__version__
|
10
|
+
_version_not_supported = False
|
11
|
+
|
12
|
+
try:
|
13
|
+
from grpc._utilities import first_version_is_lower
|
14
|
+
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
15
|
+
except ImportError:
|
16
|
+
_version_not_supported = True
|
17
|
+
|
18
|
+
if _version_not_supported:
|
19
|
+
raise RuntimeError(
|
20
|
+
f'The grpc package installed is at version {GRPC_VERSION},'
|
21
|
+
+ f' but the generated code in flwr/proto/clientappio_pb2_grpc.py depends on'
|
22
|
+
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
23
|
+
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
24
|
+
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
25
|
+
)
|
26
|
+
|
7
27
|
|
8
28
|
class ClientAppIoStub(object):
|
9
29
|
"""Missing associated documentation comment in .proto file."""
|
@@ -18,17 +38,17 @@ class ClientAppIoStub(object):
|
|
18
38
|
'/flwr.proto.ClientAppIo/GetToken',
|
19
39
|
request_serializer=flwr_dot_proto_dot_clientappio__pb2.GetTokenRequest.SerializeToString,
|
20
40
|
response_deserializer=flwr_dot_proto_dot_clientappio__pb2.GetTokenResponse.FromString,
|
21
|
-
)
|
41
|
+
_registered_method=True)
|
22
42
|
self.PullClientAppInputs = channel.unary_unary(
|
23
43
|
'/flwr.proto.ClientAppIo/PullClientAppInputs',
|
24
44
|
request_serializer=flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsRequest.SerializeToString,
|
25
45
|
response_deserializer=flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsResponse.FromString,
|
26
|
-
)
|
46
|
+
_registered_method=True)
|
27
47
|
self.PushClientAppOutputs = channel.unary_unary(
|
28
48
|
'/flwr.proto.ClientAppIo/PushClientAppOutputs',
|
29
49
|
request_serializer=flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsRequest.SerializeToString,
|
30
50
|
response_deserializer=flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsResponse.FromString,
|
31
|
-
)
|
51
|
+
_registered_method=True)
|
32
52
|
|
33
53
|
|
34
54
|
class ClientAppIoServicer(object):
|
@@ -77,6 +97,7 @@ def add_ClientAppIoServicer_to_server(servicer, server):
|
|
77
97
|
generic_handler = grpc.method_handlers_generic_handler(
|
78
98
|
'flwr.proto.ClientAppIo', rpc_method_handlers)
|
79
99
|
server.add_generic_rpc_handlers((generic_handler,))
|
100
|
+
server.add_registered_method_handlers('flwr.proto.ClientAppIo', rpc_method_handlers)
|
80
101
|
|
81
102
|
|
82
103
|
# This class is part of an EXPERIMENTAL API.
|
@@ -94,11 +115,21 @@ class ClientAppIo(object):
|
|
94
115
|
wait_for_ready=None,
|
95
116
|
timeout=None,
|
96
117
|
metadata=None):
|
97
|
-
return grpc.experimental.unary_unary(
|
118
|
+
return grpc.experimental.unary_unary(
|
119
|
+
request,
|
120
|
+
target,
|
121
|
+
'/flwr.proto.ClientAppIo/GetToken',
|
98
122
|
flwr_dot_proto_dot_clientappio__pb2.GetTokenRequest.SerializeToString,
|
99
123
|
flwr_dot_proto_dot_clientappio__pb2.GetTokenResponse.FromString,
|
100
|
-
options,
|
101
|
-
|
124
|
+
options,
|
125
|
+
channel_credentials,
|
126
|
+
insecure,
|
127
|
+
call_credentials,
|
128
|
+
compression,
|
129
|
+
wait_for_ready,
|
130
|
+
timeout,
|
131
|
+
metadata,
|
132
|
+
_registered_method=True)
|
102
133
|
|
103
134
|
@staticmethod
|
104
135
|
def PullClientAppInputs(request,
|
@@ -111,11 +142,21 @@ class ClientAppIo(object):
|
|
111
142
|
wait_for_ready=None,
|
112
143
|
timeout=None,
|
113
144
|
metadata=None):
|
114
|
-
return grpc.experimental.unary_unary(
|
145
|
+
return grpc.experimental.unary_unary(
|
146
|
+
request,
|
147
|
+
target,
|
148
|
+
'/flwr.proto.ClientAppIo/PullClientAppInputs',
|
115
149
|
flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsRequest.SerializeToString,
|
116
150
|
flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsResponse.FromString,
|
117
|
-
options,
|
118
|
-
|
151
|
+
options,
|
152
|
+
channel_credentials,
|
153
|
+
insecure,
|
154
|
+
call_credentials,
|
155
|
+
compression,
|
156
|
+
wait_for_ready,
|
157
|
+
timeout,
|
158
|
+
metadata,
|
159
|
+
_registered_method=True)
|
119
160
|
|
120
161
|
@staticmethod
|
121
162
|
def PushClientAppOutputs(request,
|
@@ -128,8 +169,18 @@ class ClientAppIo(object):
|
|
128
169
|
wait_for_ready=None,
|
129
170
|
timeout=None,
|
130
171
|
metadata=None):
|
131
|
-
return grpc.experimental.unary_unary(
|
172
|
+
return grpc.experimental.unary_unary(
|
173
|
+
request,
|
174
|
+
target,
|
175
|
+
'/flwr.proto.ClientAppIo/PushClientAppOutputs',
|
132
176
|
flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsRequest.SerializeToString,
|
133
177
|
flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsResponse.FromString,
|
134
|
-
options,
|
135
|
-
|
178
|
+
options,
|
179
|
+
channel_credentials,
|
180
|
+
insecure,
|
181
|
+
call_credentials,
|
182
|
+
compression,
|
183
|
+
wait_for_ready,
|
184
|
+
timeout,
|
185
|
+
metadata,
|
186
|
+
_registered_method=True)
|
flwr/proto/error_pb2.py
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
3
4
|
# source: flwr/proto/error.proto
|
4
|
-
# Protobuf Python Version:
|
5
|
+
# Protobuf Python Version: 5.29.0
|
5
6
|
"""Generated protocol buffer code."""
|
6
7
|
from google.protobuf import descriptor as _descriptor
|
7
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
8
10
|
from google.protobuf import symbol_database as _symbol_database
|
9
11
|
from google.protobuf.internal import builder as _builder
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
14
|
+
5,
|
15
|
+
29,
|
16
|
+
0,
|
17
|
+
'',
|
18
|
+
'flwr/proto/error.proto'
|
19
|
+
)
|
10
20
|
# @@protoc_insertion_point(imports)
|
11
21
|
|
12
22
|
_sym_db = _symbol_database.Default()
|
@@ -19,8 +29,8 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/
|
|
19
29
|
_globals = globals()
|
20
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
21
31
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.error_pb2', _globals)
|
22
|
-
if _descriptor._USE_C_DESCRIPTORS
|
23
|
-
DESCRIPTOR.
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
33
|
+
DESCRIPTOR._loaded_options = None
|
24
34
|
_globals['_ERROR']._serialized_start=38
|
25
35
|
_globals['_ERROR']._serialized_end=75
|
26
36
|
# @@protoc_insertion_point(module_scope)
|
flwr/proto/error_pb2_grpc.py
CHANGED
@@ -1,4 +1,24 @@
|
|
1
1
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
3
3
|
import grpc
|
4
|
+
import warnings
|
4
5
|
|
6
|
+
|
7
|
+
GRPC_GENERATED_VERSION = '1.69.0'
|
8
|
+
GRPC_VERSION = grpc.__version__
|
9
|
+
_version_not_supported = False
|
10
|
+
|
11
|
+
try:
|
12
|
+
from grpc._utilities import first_version_is_lower
|
13
|
+
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
14
|
+
except ImportError:
|
15
|
+
_version_not_supported = True
|
16
|
+
|
17
|
+
if _version_not_supported:
|
18
|
+
raise RuntimeError(
|
19
|
+
f'The grpc package installed is at version {GRPC_VERSION},'
|
20
|
+
+ f' but the generated code in flwr/proto/error_pb2_grpc.py depends on'
|
21
|
+
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
22
|
+
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
23
|
+
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
24
|
+
)
|
flwr/proto/exec_pb2.py
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
3
4
|
# source: flwr/proto/exec.proto
|
4
|
-
# Protobuf Python Version:
|
5
|
+
# Protobuf Python Version: 5.29.0
|
5
6
|
"""Generated protocol buffer code."""
|
6
7
|
from google.protobuf import descriptor as _descriptor
|
7
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
8
10
|
from google.protobuf import symbol_database as _symbol_database
|
9
11
|
from google.protobuf.internal import builder as _builder
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
14
|
+
5,
|
15
|
+
29,
|
16
|
+
0,
|
17
|
+
'',
|
18
|
+
'flwr/proto/exec.proto'
|
19
|
+
)
|
10
20
|
# @@protoc_insertion_point(imports)
|
11
21
|
|
12
22
|
_sym_db = _symbol_database.Default()
|
@@ -18,23 +28,17 @@ from flwr.proto import recordset_pb2 as flwr_dot_proto_dot_recordset__pb2
|
|
18
28
|
from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
|
19
29
|
|
20
30
|
|
21
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x66lwr/proto/exec.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x1a\x66lwr/proto/transport.proto\x1a\x1a\x66lwr/proto/recordset.proto\x1a\x14\x66lwr/proto/run.proto\"\xfb\x01\n\x0fStartRunRequest\x12\x1c\n\x03\x66\x61\x62\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Fab\x12H\n\x0foverride_config\x18\x02 \x03(\x0b\x32/.flwr.proto.StartRunRequest.OverrideConfigEntry\x12\x35\n\x12\x66\x65\x64\x65ration_options\x18\x03 \x01(\x0b\x32\x19.flwr.proto.ConfigsRecord\x1aI\n\x13OverrideConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\"2\n\x10StartRunResponse\x12\x13\n\x06run_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\t\n\x07_run_id\"<\n\x11StreamLogsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x17\n\x0f\x61\x66ter_timestamp\x18\x02 \x01(\x01\"B\n\x12StreamLogsResponse\x12\x12\n\nlog_output\x18\x01 \x01(\t\x12\x18\n\x10latest_timestamp\x18\x02 \x01(\x01\"1\n\x0fListRunsRequest\x12\x13\n\x06run_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\t\n\x07_run_id\"\x9d\x01\n\x10ListRunsResponse\x12;\n\x08run_dict\x18\x01 \x03(\x0b\x32).flwr.proto.ListRunsResponse.RunDictEntry\x12\x0b\n\x03now\x18\x02 \x01(\t\x1a?\n\x0cRunDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.flwr.proto.Run:\x02\x38\x01\"\x18\n\x16GetLoginDetailsRequest\"\
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x66lwr/proto/exec.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x1a\x66lwr/proto/transport.proto\x1a\x1a\x66lwr/proto/recordset.proto\x1a\x14\x66lwr/proto/run.proto\"\xfb\x01\n\x0fStartRunRequest\x12\x1c\n\x03\x66\x61\x62\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Fab\x12H\n\x0foverride_config\x18\x02 \x03(\x0b\x32/.flwr.proto.StartRunRequest.OverrideConfigEntry\x12\x35\n\x12\x66\x65\x64\x65ration_options\x18\x03 \x01(\x0b\x32\x19.flwr.proto.ConfigsRecord\x1aI\n\x13OverrideConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\"2\n\x10StartRunResponse\x12\x13\n\x06run_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\t\n\x07_run_id\"<\n\x11StreamLogsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x17\n\x0f\x61\x66ter_timestamp\x18\x02 \x01(\x01\"B\n\x12StreamLogsResponse\x12\x12\n\nlog_output\x18\x01 \x01(\t\x12\x18\n\x10latest_timestamp\x18\x02 \x01(\x01\"1\n\x0fListRunsRequest\x12\x13\n\x06run_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\t\n\x07_run_id\"\x9d\x01\n\x10ListRunsResponse\x12;\n\x08run_dict\x18\x01 \x03(\x0b\x32).flwr.proto.ListRunsResponse.RunDictEntry\x12\x0b\n\x03now\x18\x02 \x01(\t\x1a?\n\x0cRunDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.flwr.proto.Run:\x02\x38\x01\"\x18\n\x16GetLoginDetailsRequest\"\x8a\x01\n\x17GetLoginDetailsResponse\x12\x11\n\tauth_type\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65vice_code\x18\x02 \x01(\t\x12!\n\x19verification_uri_complete\x18\x03 \x01(\t\x12\x12\n\nexpires_in\x18\x04 \x01(\x03\x12\x10\n\x08interval\x18\x05 \x01(\x03\"+\n\x14GetAuthTokensRequest\x12\x13\n\x0b\x64\x65vice_code\x18\x01 \x01(\t\"D\n\x15GetAuthTokensResponse\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\t\x12\x15\n\rrefresh_token\x18\x02 \x01(\t\" \n\x0eStopRunRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"\"\n\x0fStopRunResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x32\xe5\x03\n\x04\x45xec\x12G\n\x08StartRun\x12\x1b.flwr.proto.StartRunRequest\x1a\x1c.flwr.proto.StartRunResponse\"\x00\x12\x44\n\x07StopRun\x12\x1a.flwr.proto.StopRunRequest\x1a\x1b.flwr.proto.StopRunResponse\"\x00\x12O\n\nStreamLogs\x12\x1d.flwr.proto.StreamLogsRequest\x1a\x1e.flwr.proto.StreamLogsResponse\"\x00\x30\x01\x12G\n\x08ListRuns\x12\x1b.flwr.proto.ListRunsRequest\x1a\x1c.flwr.proto.ListRunsResponse\"\x00\x12\\\n\x0fGetLoginDetails\x12\".flwr.proto.GetLoginDetailsRequest\x1a#.flwr.proto.GetLoginDetailsResponse\"\x00\x12V\n\rGetAuthTokens\x12 .flwr.proto.GetAuthTokensRequest\x1a!.flwr.proto.GetAuthTokensResponse\"\x00\x62\x06proto3')
|
22
32
|
|
23
33
|
_globals = globals()
|
24
34
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
25
35
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.exec_pb2', _globals)
|
26
|
-
if _descriptor._USE_C_DESCRIPTORS
|
27
|
-
DESCRIPTOR.
|
28
|
-
_globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY'].
|
36
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
37
|
+
DESCRIPTOR._loaded_options = None
|
38
|
+
_globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._loaded_options = None
|
29
39
|
_globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_options = b'8\001'
|
30
|
-
_globals['_LISTRUNSRESPONSE_RUNDICTENTRY'].
|
40
|
+
_globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._loaded_options = None
|
31
41
|
_globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_options = b'8\001'
|
32
|
-
_globals['_GETLOGINDETAILSRESPONSE_LOGINDETAILSENTRY']._options = None
|
33
|
-
_globals['_GETLOGINDETAILSRESPONSE_LOGINDETAILSENTRY']._serialized_options = b'8\001'
|
34
|
-
_globals['_GETAUTHTOKENSREQUEST_AUTHDETAILSENTRY']._options = None
|
35
|
-
_globals['_GETAUTHTOKENSREQUEST_AUTHDETAILSENTRY']._serialized_options = b'8\001'
|
36
|
-
_globals['_GETAUTHTOKENSRESPONSE_AUTHTOKENSENTRY']._options = None
|
37
|
-
_globals['_GETAUTHTOKENSRESPONSE_AUTHTOKENSENTRY']._serialized_options = b'8\001'
|
38
42
|
_globals['_STARTRUNREQUEST']._serialized_start=138
|
39
43
|
_globals['_STARTRUNREQUEST']._serialized_end=389
|
40
44
|
_globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=316
|
@@ -54,21 +58,15 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
54
58
|
_globals['_GETLOGINDETAILSREQUEST']._serialized_start=784
|
55
59
|
_globals['_GETLOGINDETAILSREQUEST']._serialized_end=808
|
56
60
|
_globals['_GETLOGINDETAILSRESPONSE']._serialized_start=811
|
57
|
-
_globals['_GETLOGINDETAILSRESPONSE']._serialized_end=
|
58
|
-
_globals['
|
59
|
-
_globals['
|
60
|
-
_globals['
|
61
|
-
_globals['
|
62
|
-
_globals['
|
63
|
-
_globals['
|
64
|
-
_globals['
|
65
|
-
_globals['
|
66
|
-
_globals['
|
67
|
-
_globals['
|
68
|
-
_globals['_STOPRUNREQUEST']._serialized_start=1268
|
69
|
-
_globals['_STOPRUNREQUEST']._serialized_end=1300
|
70
|
-
_globals['_STOPRUNRESPONSE']._serialized_start=1302
|
71
|
-
_globals['_STOPRUNRESPONSE']._serialized_end=1336
|
72
|
-
_globals['_EXEC']._serialized_start=1339
|
73
|
-
_globals['_EXEC']._serialized_end=1824
|
61
|
+
_globals['_GETLOGINDETAILSRESPONSE']._serialized_end=949
|
62
|
+
_globals['_GETAUTHTOKENSREQUEST']._serialized_start=951
|
63
|
+
_globals['_GETAUTHTOKENSREQUEST']._serialized_end=994
|
64
|
+
_globals['_GETAUTHTOKENSRESPONSE']._serialized_start=996
|
65
|
+
_globals['_GETAUTHTOKENSRESPONSE']._serialized_end=1064
|
66
|
+
_globals['_STOPRUNREQUEST']._serialized_start=1066
|
67
|
+
_globals['_STOPRUNREQUEST']._serialized_end=1098
|
68
|
+
_globals['_STOPRUNRESPONSE']._serialized_start=1100
|
69
|
+
_globals['_STOPRUNRESPONSE']._serialized_end=1134
|
70
|
+
_globals['_EXEC']._serialized_start=1137
|
71
|
+
_globals['_EXEC']._serialized_end=1622
|
74
72
|
# @@protoc_insertion_point(module_scope)
|
flwr/proto/exec_pb2.pyi
CHANGED
@@ -143,77 +143,50 @@ global___GetLoginDetailsRequest = GetLoginDetailsRequest
|
|
143
143
|
|
144
144
|
class GetLoginDetailsResponse(google.protobuf.message.Message):
|
145
145
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
) -> None: ...
|
157
|
-
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
158
|
-
|
159
|
-
LOGIN_DETAILS_FIELD_NUMBER: builtins.int
|
160
|
-
@property
|
161
|
-
def login_details(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ...
|
146
|
+
AUTH_TYPE_FIELD_NUMBER: builtins.int
|
147
|
+
DEVICE_CODE_FIELD_NUMBER: builtins.int
|
148
|
+
VERIFICATION_URI_COMPLETE_FIELD_NUMBER: builtins.int
|
149
|
+
EXPIRES_IN_FIELD_NUMBER: builtins.int
|
150
|
+
INTERVAL_FIELD_NUMBER: builtins.int
|
151
|
+
auth_type: typing.Text
|
152
|
+
device_code: typing.Text
|
153
|
+
verification_uri_complete: typing.Text
|
154
|
+
expires_in: builtins.int
|
155
|
+
interval: builtins.int
|
162
156
|
def __init__(self,
|
163
157
|
*,
|
164
|
-
|
158
|
+
auth_type: typing.Text = ...,
|
159
|
+
device_code: typing.Text = ...,
|
160
|
+
verification_uri_complete: typing.Text = ...,
|
161
|
+
expires_in: builtins.int = ...,
|
162
|
+
interval: builtins.int = ...,
|
165
163
|
) -> None: ...
|
166
|
-
def ClearField(self, field_name: typing_extensions.Literal["
|
164
|
+
def ClearField(self, field_name: typing_extensions.Literal["auth_type",b"auth_type","device_code",b"device_code","expires_in",b"expires_in","interval",b"interval","verification_uri_complete",b"verification_uri_complete"]) -> None: ...
|
167
165
|
global___GetLoginDetailsResponse = GetLoginDetailsResponse
|
168
166
|
|
169
167
|
class GetAuthTokensRequest(google.protobuf.message.Message):
|
170
168
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
171
|
-
|
172
|
-
|
173
|
-
KEY_FIELD_NUMBER: builtins.int
|
174
|
-
VALUE_FIELD_NUMBER: builtins.int
|
175
|
-
key: typing.Text
|
176
|
-
value: typing.Text
|
177
|
-
def __init__(self,
|
178
|
-
*,
|
179
|
-
key: typing.Text = ...,
|
180
|
-
value: typing.Text = ...,
|
181
|
-
) -> None: ...
|
182
|
-
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
183
|
-
|
184
|
-
AUTH_DETAILS_FIELD_NUMBER: builtins.int
|
185
|
-
@property
|
186
|
-
def auth_details(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ...
|
169
|
+
DEVICE_CODE_FIELD_NUMBER: builtins.int
|
170
|
+
device_code: typing.Text
|
187
171
|
def __init__(self,
|
188
172
|
*,
|
189
|
-
|
173
|
+
device_code: typing.Text = ...,
|
190
174
|
) -> None: ...
|
191
|
-
def ClearField(self, field_name: typing_extensions.Literal["
|
175
|
+
def ClearField(self, field_name: typing_extensions.Literal["device_code",b"device_code"]) -> None: ...
|
192
176
|
global___GetAuthTokensRequest = GetAuthTokensRequest
|
193
177
|
|
194
178
|
class GetAuthTokensResponse(google.protobuf.message.Message):
|
195
179
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
key: typing.Text
|
201
|
-
value: typing.Text
|
202
|
-
def __init__(self,
|
203
|
-
*,
|
204
|
-
key: typing.Text = ...,
|
205
|
-
value: typing.Text = ...,
|
206
|
-
) -> None: ...
|
207
|
-
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
208
|
-
|
209
|
-
AUTH_TOKENS_FIELD_NUMBER: builtins.int
|
210
|
-
@property
|
211
|
-
def auth_tokens(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ...
|
180
|
+
ACCESS_TOKEN_FIELD_NUMBER: builtins.int
|
181
|
+
REFRESH_TOKEN_FIELD_NUMBER: builtins.int
|
182
|
+
access_token: typing.Text
|
183
|
+
refresh_token: typing.Text
|
212
184
|
def __init__(self,
|
213
185
|
*,
|
214
|
-
|
186
|
+
access_token: typing.Text = ...,
|
187
|
+
refresh_token: typing.Text = ...,
|
215
188
|
) -> None: ...
|
216
|
-
def ClearField(self, field_name: typing_extensions.Literal["
|
189
|
+
def ClearField(self, field_name: typing_extensions.Literal["access_token",b"access_token","refresh_token",b"refresh_token"]) -> None: ...
|
217
190
|
global___GetAuthTokensResponse = GetAuthTokensResponse
|
218
191
|
|
219
192
|
class StopRunRequest(google.protobuf.message.Message):
|
flwr/proto/exec_pb2_grpc.py
CHANGED
@@ -1,9 +1,29 @@
|
|
1
1
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
3
3
|
import grpc
|
4
|
+
import warnings
|
4
5
|
|
5
6
|
from flwr.proto import exec_pb2 as flwr_dot_proto_dot_exec__pb2
|
6
7
|
|
8
|
+
GRPC_GENERATED_VERSION = '1.69.0'
|
9
|
+
GRPC_VERSION = grpc.__version__
|
10
|
+
_version_not_supported = False
|
11
|
+
|
12
|
+
try:
|
13
|
+
from grpc._utilities import first_version_is_lower
|
14
|
+
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
15
|
+
except ImportError:
|
16
|
+
_version_not_supported = True
|
17
|
+
|
18
|
+
if _version_not_supported:
|
19
|
+
raise RuntimeError(
|
20
|
+
f'The grpc package installed is at version {GRPC_VERSION},'
|
21
|
+
+ f' but the generated code in flwr/proto/exec_pb2_grpc.py depends on'
|
22
|
+
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
23
|
+
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
24
|
+
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
25
|
+
)
|
26
|
+
|
7
27
|
|
8
28
|
class ExecStub(object):
|
9
29
|
"""Missing associated documentation comment in .proto file."""
|
@@ -18,32 +38,32 @@ class ExecStub(object):
|
|
18
38
|
'/flwr.proto.Exec/StartRun',
|
19
39
|
request_serializer=flwr_dot_proto_dot_exec__pb2.StartRunRequest.SerializeToString,
|
20
40
|
response_deserializer=flwr_dot_proto_dot_exec__pb2.StartRunResponse.FromString,
|
21
|
-
)
|
41
|
+
_registered_method=True)
|
22
42
|
self.StopRun = channel.unary_unary(
|
23
43
|
'/flwr.proto.Exec/StopRun',
|
24
44
|
request_serializer=flwr_dot_proto_dot_exec__pb2.StopRunRequest.SerializeToString,
|
25
45
|
response_deserializer=flwr_dot_proto_dot_exec__pb2.StopRunResponse.FromString,
|
26
|
-
)
|
46
|
+
_registered_method=True)
|
27
47
|
self.StreamLogs = channel.unary_stream(
|
28
48
|
'/flwr.proto.Exec/StreamLogs',
|
29
49
|
request_serializer=flwr_dot_proto_dot_exec__pb2.StreamLogsRequest.SerializeToString,
|
30
50
|
response_deserializer=flwr_dot_proto_dot_exec__pb2.StreamLogsResponse.FromString,
|
31
|
-
)
|
51
|
+
_registered_method=True)
|
32
52
|
self.ListRuns = channel.unary_unary(
|
33
53
|
'/flwr.proto.Exec/ListRuns',
|
34
54
|
request_serializer=flwr_dot_proto_dot_exec__pb2.ListRunsRequest.SerializeToString,
|
35
55
|
response_deserializer=flwr_dot_proto_dot_exec__pb2.ListRunsResponse.FromString,
|
36
|
-
)
|
56
|
+
_registered_method=True)
|
37
57
|
self.GetLoginDetails = channel.unary_unary(
|
38
58
|
'/flwr.proto.Exec/GetLoginDetails',
|
39
59
|
request_serializer=flwr_dot_proto_dot_exec__pb2.GetLoginDetailsRequest.SerializeToString,
|
40
60
|
response_deserializer=flwr_dot_proto_dot_exec__pb2.GetLoginDetailsResponse.FromString,
|
41
|
-
)
|
61
|
+
_registered_method=True)
|
42
62
|
self.GetAuthTokens = channel.unary_unary(
|
43
63
|
'/flwr.proto.Exec/GetAuthTokens',
|
44
64
|
request_serializer=flwr_dot_proto_dot_exec__pb2.GetAuthTokensRequest.SerializeToString,
|
45
65
|
response_deserializer=flwr_dot_proto_dot_exec__pb2.GetAuthTokensResponse.FromString,
|
46
|
-
)
|
66
|
+
_registered_method=True)
|
47
67
|
|
48
68
|
|
49
69
|
class ExecServicer(object):
|
@@ -128,6 +148,7 @@ def add_ExecServicer_to_server(servicer, server):
|
|
128
148
|
generic_handler = grpc.method_handlers_generic_handler(
|
129
149
|
'flwr.proto.Exec', rpc_method_handlers)
|
130
150
|
server.add_generic_rpc_handlers((generic_handler,))
|
151
|
+
server.add_registered_method_handlers('flwr.proto.Exec', rpc_method_handlers)
|
131
152
|
|
132
153
|
|
133
154
|
# This class is part of an EXPERIMENTAL API.
|
@@ -145,11 +166,21 @@ class Exec(object):
|
|
145
166
|
wait_for_ready=None,
|
146
167
|
timeout=None,
|
147
168
|
metadata=None):
|
148
|
-
return grpc.experimental.unary_unary(
|
169
|
+
return grpc.experimental.unary_unary(
|
170
|
+
request,
|
171
|
+
target,
|
172
|
+
'/flwr.proto.Exec/StartRun',
|
149
173
|
flwr_dot_proto_dot_exec__pb2.StartRunRequest.SerializeToString,
|
150
174
|
flwr_dot_proto_dot_exec__pb2.StartRunResponse.FromString,
|
151
|
-
options,
|
152
|
-
|
175
|
+
options,
|
176
|
+
channel_credentials,
|
177
|
+
insecure,
|
178
|
+
call_credentials,
|
179
|
+
compression,
|
180
|
+
wait_for_ready,
|
181
|
+
timeout,
|
182
|
+
metadata,
|
183
|
+
_registered_method=True)
|
153
184
|
|
154
185
|
@staticmethod
|
155
186
|
def StopRun(request,
|
@@ -162,11 +193,21 @@ class Exec(object):
|
|
162
193
|
wait_for_ready=None,
|
163
194
|
timeout=None,
|
164
195
|
metadata=None):
|
165
|
-
return grpc.experimental.unary_unary(
|
196
|
+
return grpc.experimental.unary_unary(
|
197
|
+
request,
|
198
|
+
target,
|
199
|
+
'/flwr.proto.Exec/StopRun',
|
166
200
|
flwr_dot_proto_dot_exec__pb2.StopRunRequest.SerializeToString,
|
167
201
|
flwr_dot_proto_dot_exec__pb2.StopRunResponse.FromString,
|
168
|
-
options,
|
169
|
-
|
202
|
+
options,
|
203
|
+
channel_credentials,
|
204
|
+
insecure,
|
205
|
+
call_credentials,
|
206
|
+
compression,
|
207
|
+
wait_for_ready,
|
208
|
+
timeout,
|
209
|
+
metadata,
|
210
|
+
_registered_method=True)
|
170
211
|
|
171
212
|
@staticmethod
|
172
213
|
def StreamLogs(request,
|
@@ -179,11 +220,21 @@ class Exec(object):
|
|
179
220
|
wait_for_ready=None,
|
180
221
|
timeout=None,
|
181
222
|
metadata=None):
|
182
|
-
return grpc.experimental.unary_stream(
|
223
|
+
return grpc.experimental.unary_stream(
|
224
|
+
request,
|
225
|
+
target,
|
226
|
+
'/flwr.proto.Exec/StreamLogs',
|
183
227
|
flwr_dot_proto_dot_exec__pb2.StreamLogsRequest.SerializeToString,
|
184
228
|
flwr_dot_proto_dot_exec__pb2.StreamLogsResponse.FromString,
|
185
|
-
options,
|
186
|
-
|
229
|
+
options,
|
230
|
+
channel_credentials,
|
231
|
+
insecure,
|
232
|
+
call_credentials,
|
233
|
+
compression,
|
234
|
+
wait_for_ready,
|
235
|
+
timeout,
|
236
|
+
metadata,
|
237
|
+
_registered_method=True)
|
187
238
|
|
188
239
|
@staticmethod
|
189
240
|
def ListRuns(request,
|
@@ -196,11 +247,21 @@ class Exec(object):
|
|
196
247
|
wait_for_ready=None,
|
197
248
|
timeout=None,
|
198
249
|
metadata=None):
|
199
|
-
return grpc.experimental.unary_unary(
|
250
|
+
return grpc.experimental.unary_unary(
|
251
|
+
request,
|
252
|
+
target,
|
253
|
+
'/flwr.proto.Exec/ListRuns',
|
200
254
|
flwr_dot_proto_dot_exec__pb2.ListRunsRequest.SerializeToString,
|
201
255
|
flwr_dot_proto_dot_exec__pb2.ListRunsResponse.FromString,
|
202
|
-
options,
|
203
|
-
|
256
|
+
options,
|
257
|
+
channel_credentials,
|
258
|
+
insecure,
|
259
|
+
call_credentials,
|
260
|
+
compression,
|
261
|
+
wait_for_ready,
|
262
|
+
timeout,
|
263
|
+
metadata,
|
264
|
+
_registered_method=True)
|
204
265
|
|
205
266
|
@staticmethod
|
206
267
|
def GetLoginDetails(request,
|
@@ -213,11 +274,21 @@ class Exec(object):
|
|
213
274
|
wait_for_ready=None,
|
214
275
|
timeout=None,
|
215
276
|
metadata=None):
|
216
|
-
return grpc.experimental.unary_unary(
|
277
|
+
return grpc.experimental.unary_unary(
|
278
|
+
request,
|
279
|
+
target,
|
280
|
+
'/flwr.proto.Exec/GetLoginDetails',
|
217
281
|
flwr_dot_proto_dot_exec__pb2.GetLoginDetailsRequest.SerializeToString,
|
218
282
|
flwr_dot_proto_dot_exec__pb2.GetLoginDetailsResponse.FromString,
|
219
|
-
options,
|
220
|
-
|
283
|
+
options,
|
284
|
+
channel_credentials,
|
285
|
+
insecure,
|
286
|
+
call_credentials,
|
287
|
+
compression,
|
288
|
+
wait_for_ready,
|
289
|
+
timeout,
|
290
|
+
metadata,
|
291
|
+
_registered_method=True)
|
221
292
|
|
222
293
|
@staticmethod
|
223
294
|
def GetAuthTokens(request,
|
@@ -230,8 +301,18 @@ class Exec(object):
|
|
230
301
|
wait_for_ready=None,
|
231
302
|
timeout=None,
|
232
303
|
metadata=None):
|
233
|
-
return grpc.experimental.unary_unary(
|
304
|
+
return grpc.experimental.unary_unary(
|
305
|
+
request,
|
306
|
+
target,
|
307
|
+
'/flwr.proto.Exec/GetAuthTokens',
|
234
308
|
flwr_dot_proto_dot_exec__pb2.GetAuthTokensRequest.SerializeToString,
|
235
309
|
flwr_dot_proto_dot_exec__pb2.GetAuthTokensResponse.FromString,
|
236
|
-
options,
|
237
|
-
|
310
|
+
options,
|
311
|
+
channel_credentials,
|
312
|
+
insecure,
|
313
|
+
call_credentials,
|
314
|
+
compression,
|
315
|
+
wait_for_ready,
|
316
|
+
timeout,
|
317
|
+
metadata,
|
318
|
+
_registered_method=True)
|
flwr/proto/fab_pb2.py
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
3
4
|
# source: flwr/proto/fab.proto
|
4
|
-
# Protobuf Python Version:
|
5
|
+
# Protobuf Python Version: 5.29.0
|
5
6
|
"""Generated protocol buffer code."""
|
6
7
|
from google.protobuf import descriptor as _descriptor
|
7
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
8
10
|
from google.protobuf import symbol_database as _symbol_database
|
9
11
|
from google.protobuf.internal import builder as _builder
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
14
|
+
5,
|
15
|
+
29,
|
16
|
+
0,
|
17
|
+
'',
|
18
|
+
'flwr/proto/fab.proto'
|
19
|
+
)
|
10
20
|
# @@protoc_insertion_point(imports)
|
11
21
|
|
12
22
|
_sym_db = _symbol_database.Default()
|
@@ -20,8 +30,8 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66lwr/proto/
|
|
20
30
|
_globals = globals()
|
21
31
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
22
32
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.fab_pb2', _globals)
|
23
|
-
if _descriptor._USE_C_DESCRIPTORS
|
24
|
-
DESCRIPTOR.
|
33
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
34
|
+
DESCRIPTOR._loaded_options = None
|
25
35
|
_globals['_FAB']._serialized_start=59
|
26
36
|
_globals['_FAB']._serialized_end=99
|
27
37
|
_globals['_GETFABREQUEST']._serialized_start=101
|