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.
Files changed (98) hide show
  1. flwr/cli/cli_user_auth_interceptor.py +6 -2
  2. flwr/cli/config_utils.py +23 -146
  3. flwr/cli/constant.py +27 -0
  4. flwr/cli/install.py +1 -1
  5. flwr/cli/log.py +17 -2
  6. flwr/cli/login/login.py +20 -5
  7. flwr/cli/ls.py +10 -2
  8. flwr/cli/run/run.py +20 -10
  9. flwr/cli/stop.py +9 -1
  10. flwr/cli/utils.py +4 -4
  11. flwr/client/app.py +36 -48
  12. flwr/client/clientapp/app.py +4 -6
  13. flwr/client/clientapp/utils.py +1 -1
  14. flwr/client/grpc_client/connection.py +0 -6
  15. flwr/client/grpc_rere_client/client_interceptor.py +19 -119
  16. flwr/client/grpc_rere_client/connection.py +34 -24
  17. flwr/client/grpc_rere_client/grpc_adapter.py +16 -0
  18. flwr/client/rest_client/connection.py +34 -26
  19. flwr/client/supernode/app.py +14 -20
  20. flwr/common/auth_plugin/auth_plugin.py +34 -23
  21. flwr/common/config.py +152 -15
  22. flwr/common/constant.py +11 -8
  23. flwr/common/exit/__init__.py +24 -0
  24. flwr/common/exit/exit.py +99 -0
  25. flwr/common/exit/exit_code.py +93 -0
  26. flwr/common/exit_handlers.py +24 -10
  27. flwr/common/grpc.py +161 -3
  28. flwr/common/logger.py +1 -1
  29. flwr/common/secure_aggregation/crypto/symmetric_encryption.py +45 -0
  30. flwr/common/serde.py +6 -4
  31. flwr/common/typing.py +20 -0
  32. flwr/proto/clientappio_pb2.py +13 -3
  33. flwr/proto/clientappio_pb2_grpc.py +63 -12
  34. flwr/proto/error_pb2.py +13 -3
  35. flwr/proto/error_pb2_grpc.py +20 -0
  36. flwr/proto/exec_pb2.py +27 -29
  37. flwr/proto/exec_pb2.pyi +27 -54
  38. flwr/proto/exec_pb2_grpc.py +105 -24
  39. flwr/proto/fab_pb2.py +13 -3
  40. flwr/proto/fab_pb2_grpc.py +20 -0
  41. flwr/proto/fleet_pb2.py +54 -31
  42. flwr/proto/fleet_pb2.pyi +84 -0
  43. flwr/proto/fleet_pb2_grpc.py +207 -28
  44. flwr/proto/fleet_pb2_grpc.pyi +26 -0
  45. flwr/proto/grpcadapter_pb2.py +14 -4
  46. flwr/proto/grpcadapter_pb2_grpc.py +35 -4
  47. flwr/proto/log_pb2.py +13 -3
  48. flwr/proto/log_pb2_grpc.py +20 -0
  49. flwr/proto/message_pb2.py +15 -5
  50. flwr/proto/message_pb2_grpc.py +20 -0
  51. flwr/proto/node_pb2.py +15 -5
  52. flwr/proto/node_pb2.pyi +1 -4
  53. flwr/proto/node_pb2_grpc.py +20 -0
  54. flwr/proto/recordset_pb2.py +18 -8
  55. flwr/proto/recordset_pb2_grpc.py +20 -0
  56. flwr/proto/run_pb2.py +16 -6
  57. flwr/proto/run_pb2_grpc.py +20 -0
  58. flwr/proto/serverappio_pb2.py +32 -14
  59. flwr/proto/serverappio_pb2.pyi +56 -0
  60. flwr/proto/serverappio_pb2_grpc.py +261 -44
  61. flwr/proto/serverappio_pb2_grpc.pyi +20 -0
  62. flwr/proto/simulationio_pb2.py +13 -3
  63. flwr/proto/simulationio_pb2_grpc.py +105 -24
  64. flwr/proto/task_pb2.py +13 -3
  65. flwr/proto/task_pb2_grpc.py +20 -0
  66. flwr/proto/transport_pb2.py +20 -10
  67. flwr/proto/transport_pb2_grpc.py +35 -4
  68. flwr/server/app.py +87 -38
  69. flwr/server/compat/app_utils.py +0 -1
  70. flwr/server/compat/driver_client_proxy.py +1 -2
  71. flwr/server/driver/grpc_driver.py +5 -2
  72. flwr/server/driver/inmemory_driver.py +2 -1
  73. flwr/server/serverapp/app.py +5 -6
  74. flwr/server/superlink/driver/serverappio_grpc.py +1 -1
  75. flwr/server/superlink/driver/serverappio_servicer.py +132 -14
  76. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +20 -88
  77. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +2 -165
  78. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +38 -0
  79. flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +95 -168
  80. flwr/server/superlink/fleet/message_handler/message_handler.py +66 -5
  81. flwr/server/superlink/fleet/rest_rere/rest_api.py +28 -3
  82. flwr/server/superlink/fleet/vce/vce_api.py +2 -2
  83. flwr/server/superlink/linkstate/in_memory_linkstate.py +40 -48
  84. flwr/server/superlink/linkstate/linkstate.py +15 -22
  85. flwr/server/superlink/linkstate/sqlite_linkstate.py +80 -99
  86. flwr/server/superlink/linkstate/utils.py +18 -8
  87. flwr/server/superlink/simulation/simulationio_grpc.py +1 -1
  88. flwr/server/utils/validator.py +9 -34
  89. flwr/simulation/app.py +4 -6
  90. flwr/simulation/legacy_app.py +4 -2
  91. flwr/simulation/run_simulation.py +1 -1
  92. flwr/superexec/exec_grpc.py +1 -1
  93. flwr/superexec/exec_servicer.py +23 -2
  94. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/METADATA +7 -7
  95. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/RECORD +98 -94
  96. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/LICENSE +0 -0
  97. {flwr_nightly-1.15.0.dev20250104.dist-info → flwr_nightly-1.15.0.dev20250123.dist-info}/WHEEL +0 -0
  98. {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(request, target, '/flwr.proto.ClientAppIo/GetToken',
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, channel_credentials,
101
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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(request, target, '/flwr.proto.ClientAppIo/PullClientAppInputs',
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, channel_credentials,
118
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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(request, target, '/flwr.proto.ClientAppIo/PushClientAppOutputs',
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, channel_credentials,
135
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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: 4.25.0
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 == False:
23
- DESCRIPTOR._options = None
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)
@@ -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: 4.25.0
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\"\x9c\x01\n\x17GetLoginDetailsResponse\x12L\n\rlogin_details\x18\x01 \x03(\x0b\x32\x35.flwr.proto.GetLoginDetailsResponse.LoginDetailsEntry\x1a\x33\n\x11LoginDetailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x93\x01\n\x14GetAuthTokensRequest\x12G\n\x0c\x61uth_details\x18\x01 \x03(\x0b\x32\x31.flwr.proto.GetAuthTokensRequest.AuthDetailsEntry\x1a\x32\n\x10\x41uthDetailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x92\x01\n\x15GetAuthTokensResponse\x12\x46\n\x0b\x61uth_tokens\x18\x01 \x03(\x0b\x32\x31.flwr.proto.GetAuthTokensResponse.AuthTokensEntry\x1a\x31\n\x0f\x41uthTokensEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\" \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')
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 == False:
27
- DESCRIPTOR._options = None
28
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._options = None
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']._options = None
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=967
58
- _globals['_GETLOGINDETAILSRESPONSE_LOGINDETAILSENTRY']._serialized_start=916
59
- _globals['_GETLOGINDETAILSRESPONSE_LOGINDETAILSENTRY']._serialized_end=967
60
- _globals['_GETAUTHTOKENSREQUEST']._serialized_start=970
61
- _globals['_GETAUTHTOKENSREQUEST']._serialized_end=1117
62
- _globals['_GETAUTHTOKENSREQUEST_AUTHDETAILSENTRY']._serialized_start=1067
63
- _globals['_GETAUTHTOKENSREQUEST_AUTHDETAILSENTRY']._serialized_end=1117
64
- _globals['_GETAUTHTOKENSRESPONSE']._serialized_start=1120
65
- _globals['_GETAUTHTOKENSRESPONSE']._serialized_end=1266
66
- _globals['_GETAUTHTOKENSRESPONSE_AUTHTOKENSENTRY']._serialized_start=1217
67
- _globals['_GETAUTHTOKENSRESPONSE_AUTHTOKENSENTRY']._serialized_end=1266
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
- class LoginDetailsEntry(google.protobuf.message.Message):
147
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
148
- KEY_FIELD_NUMBER: builtins.int
149
- VALUE_FIELD_NUMBER: builtins.int
150
- key: typing.Text
151
- value: typing.Text
152
- def __init__(self,
153
- *,
154
- key: typing.Text = ...,
155
- value: typing.Text = ...,
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
- login_details: typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ...,
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["login_details",b"login_details"]) -> None: ...
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
- class AuthDetailsEntry(google.protobuf.message.Message):
172
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
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
- auth_details: typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ...,
173
+ device_code: typing.Text = ...,
190
174
  ) -> None: ...
191
- def ClearField(self, field_name: typing_extensions.Literal["auth_details",b"auth_details"]) -> None: ...
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
- class AuthTokensEntry(google.protobuf.message.Message):
197
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
198
- KEY_FIELD_NUMBER: builtins.int
199
- VALUE_FIELD_NUMBER: builtins.int
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
- auth_tokens: typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ...,
186
+ access_token: typing.Text = ...,
187
+ refresh_token: typing.Text = ...,
215
188
  ) -> None: ...
216
- def ClearField(self, field_name: typing_extensions.Literal["auth_tokens",b"auth_tokens"]) -> None: ...
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):
@@ -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(request, target, '/flwr.proto.Exec/StartRun',
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, channel_credentials,
152
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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(request, target, '/flwr.proto.Exec/StopRun',
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, channel_credentials,
169
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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(request, target, '/flwr.proto.Exec/StreamLogs',
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, channel_credentials,
186
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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(request, target, '/flwr.proto.Exec/ListRuns',
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, channel_credentials,
203
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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(request, target, '/flwr.proto.Exec/GetLoginDetails',
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, channel_credentials,
220
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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(request, target, '/flwr.proto.Exec/GetAuthTokens',
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, channel_credentials,
237
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
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: 4.25.0
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 == False:
24
- DESCRIPTOR._options = None
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