flwr-nightly 1.12.0.dev20240918__py3-none-any.whl → 1.12.0.dev20241006__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.

Potentially problematic release.


This version of flwr-nightly might be problematic. Click here for more details.

Files changed (47) hide show
  1. flwr/cli/app.py +2 -0
  2. flwr/cli/log.py +234 -0
  3. flwr/cli/new/new.py +1 -1
  4. flwr/cli/new/templates/app/README.flowertune.md.tpl +1 -1
  5. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -0
  6. flwr/cli/run/run.py +17 -1
  7. flwr/client/grpc_rere_client/client_interceptor.py +3 -0
  8. flwr/client/grpc_rere_client/connection.py +3 -3
  9. flwr/client/grpc_rere_client/grpc_adapter.py +14 -3
  10. flwr/client/rest_client/connection.py +3 -3
  11. flwr/client/supernode/app.py +1 -0
  12. flwr/common/constant.py +6 -3
  13. flwr/common/secure_aggregation/secaggplus_utils.py +4 -4
  14. flwr/common/serde.py +22 -7
  15. flwr/proto/control_pb2.py +27 -0
  16. flwr/proto/control_pb2.pyi +7 -0
  17. flwr/proto/control_pb2_grpc.py +135 -0
  18. flwr/proto/control_pb2_grpc.pyi +53 -0
  19. flwr/proto/driver_pb2.py +15 -24
  20. flwr/proto/driver_pb2.pyi +0 -52
  21. flwr/proto/driver_pb2_grpc.py +6 -6
  22. flwr/proto/driver_pb2_grpc.pyi +4 -4
  23. flwr/proto/fab_pb2.py +8 -7
  24. flwr/proto/fab_pb2.pyi +7 -1
  25. flwr/proto/fleet_pb2.py +10 -10
  26. flwr/proto/fleet_pb2.pyi +6 -1
  27. flwr/proto/recordset_pb2.py +35 -33
  28. flwr/proto/recordset_pb2.pyi +40 -14
  29. flwr/proto/run_pb2.py +33 -9
  30. flwr/proto/run_pb2.pyi +150 -1
  31. flwr/proto/transport_pb2.py +8 -8
  32. flwr/proto/transport_pb2.pyi +9 -6
  33. flwr/server/run_serverapp.py +2 -2
  34. flwr/server/superlink/driver/driver_servicer.py +2 -2
  35. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +17 -2
  36. flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +4 -0
  37. flwr/server/superlink/state/in_memory_state.py +17 -0
  38. flwr/server/superlink/state/sqlite_state.py +44 -6
  39. flwr/server/utils/validator.py +6 -0
  40. flwr/superexec/deployment.py +3 -1
  41. flwr/superexec/exec_servicer.py +68 -3
  42. flwr/superexec/executor.py +2 -1
  43. {flwr_nightly-1.12.0.dev20240918.dist-info → flwr_nightly-1.12.0.dev20241006.dist-info}/METADATA +4 -2
  44. {flwr_nightly-1.12.0.dev20240918.dist-info → flwr_nightly-1.12.0.dev20241006.dist-info}/RECORD +47 -42
  45. {flwr_nightly-1.12.0.dev20240918.dist-info → flwr_nightly-1.12.0.dev20241006.dist-info}/LICENSE +0 -0
  46. {flwr_nightly-1.12.0.dev20240918.dist-info → flwr_nightly-1.12.0.dev20241006.dist-info}/WHEEL +0 -0
  47. {flwr_nightly-1.12.0.dev20240918.dist-info → flwr_nightly-1.12.0.dev20241006.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,135 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
5
+ from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
6
+
7
+
8
+ class ControlStub(object):
9
+ """Missing associated documentation comment in .proto file."""
10
+
11
+ def __init__(self, channel):
12
+ """Constructor.
13
+
14
+ Args:
15
+ channel: A grpc.Channel.
16
+ """
17
+ self.CreateRun = channel.unary_unary(
18
+ '/flwr.proto.Control/CreateRun',
19
+ request_serializer=flwr_dot_proto_dot_run__pb2.CreateRunRequest.SerializeToString,
20
+ response_deserializer=flwr_dot_proto_dot_run__pb2.CreateRunResponse.FromString,
21
+ )
22
+ self.GetRunStatus = channel.unary_unary(
23
+ '/flwr.proto.Control/GetRunStatus',
24
+ request_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
25
+ response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
26
+ )
27
+ self.UpdateRunStatus = channel.unary_unary(
28
+ '/flwr.proto.Control/UpdateRunStatus',
29
+ request_serializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
30
+ response_deserializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
31
+ )
32
+
33
+
34
+ class ControlServicer(object):
35
+ """Missing associated documentation comment in .proto file."""
36
+
37
+ def CreateRun(self, request, context):
38
+ """Request to create a new run
39
+ """
40
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
41
+ context.set_details('Method not implemented!')
42
+ raise NotImplementedError('Method not implemented!')
43
+
44
+ def GetRunStatus(self, request, context):
45
+ """Get the status of a given run
46
+ """
47
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
48
+ context.set_details('Method not implemented!')
49
+ raise NotImplementedError('Method not implemented!')
50
+
51
+ def UpdateRunStatus(self, request, context):
52
+ """Update the status of a given run
53
+ """
54
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
55
+ context.set_details('Method not implemented!')
56
+ raise NotImplementedError('Method not implemented!')
57
+
58
+
59
+ def add_ControlServicer_to_server(servicer, server):
60
+ rpc_method_handlers = {
61
+ 'CreateRun': grpc.unary_unary_rpc_method_handler(
62
+ servicer.CreateRun,
63
+ request_deserializer=flwr_dot_proto_dot_run__pb2.CreateRunRequest.FromString,
64
+ response_serializer=flwr_dot_proto_dot_run__pb2.CreateRunResponse.SerializeToString,
65
+ ),
66
+ 'GetRunStatus': grpc.unary_unary_rpc_method_handler(
67
+ servicer.GetRunStatus,
68
+ request_deserializer=flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.FromString,
69
+ response_serializer=flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.SerializeToString,
70
+ ),
71
+ 'UpdateRunStatus': grpc.unary_unary_rpc_method_handler(
72
+ servicer.UpdateRunStatus,
73
+ request_deserializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.FromString,
74
+ response_serializer=flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.SerializeToString,
75
+ ),
76
+ }
77
+ generic_handler = grpc.method_handlers_generic_handler(
78
+ 'flwr.proto.Control', rpc_method_handlers)
79
+ server.add_generic_rpc_handlers((generic_handler,))
80
+
81
+
82
+ # This class is part of an EXPERIMENTAL API.
83
+ class Control(object):
84
+ """Missing associated documentation comment in .proto file."""
85
+
86
+ @staticmethod
87
+ def CreateRun(request,
88
+ target,
89
+ options=(),
90
+ channel_credentials=None,
91
+ call_credentials=None,
92
+ insecure=False,
93
+ compression=None,
94
+ wait_for_ready=None,
95
+ timeout=None,
96
+ metadata=None):
97
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/CreateRun',
98
+ flwr_dot_proto_dot_run__pb2.CreateRunRequest.SerializeToString,
99
+ flwr_dot_proto_dot_run__pb2.CreateRunResponse.FromString,
100
+ options, channel_credentials,
101
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
102
+
103
+ @staticmethod
104
+ def GetRunStatus(request,
105
+ target,
106
+ options=(),
107
+ channel_credentials=None,
108
+ call_credentials=None,
109
+ insecure=False,
110
+ compression=None,
111
+ wait_for_ready=None,
112
+ timeout=None,
113
+ metadata=None):
114
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/GetRunStatus',
115
+ flwr_dot_proto_dot_run__pb2.GetRunStatusRequest.SerializeToString,
116
+ flwr_dot_proto_dot_run__pb2.GetRunStatusResponse.FromString,
117
+ options, channel_credentials,
118
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
119
+
120
+ @staticmethod
121
+ def UpdateRunStatus(request,
122
+ target,
123
+ options=(),
124
+ channel_credentials=None,
125
+ call_credentials=None,
126
+ insecure=False,
127
+ compression=None,
128
+ wait_for_ready=None,
129
+ timeout=None,
130
+ metadata=None):
131
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.Control/UpdateRunStatus',
132
+ flwr_dot_proto_dot_run__pb2.UpdateRunStatusRequest.SerializeToString,
133
+ flwr_dot_proto_dot_run__pb2.UpdateRunStatusResponse.FromString,
134
+ options, channel_credentials,
135
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -0,0 +1,53 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import abc
6
+ import flwr.proto.run_pb2
7
+ import grpc
8
+
9
+ class ControlStub:
10
+ def __init__(self, channel: grpc.Channel) -> None: ...
11
+ CreateRun: grpc.UnaryUnaryMultiCallable[
12
+ flwr.proto.run_pb2.CreateRunRequest,
13
+ flwr.proto.run_pb2.CreateRunResponse]
14
+ """Request to create a new run"""
15
+
16
+ GetRunStatus: grpc.UnaryUnaryMultiCallable[
17
+ flwr.proto.run_pb2.GetRunStatusRequest,
18
+ flwr.proto.run_pb2.GetRunStatusResponse]
19
+ """Get the status of a given run"""
20
+
21
+ UpdateRunStatus: grpc.UnaryUnaryMultiCallable[
22
+ flwr.proto.run_pb2.UpdateRunStatusRequest,
23
+ flwr.proto.run_pb2.UpdateRunStatusResponse]
24
+ """Update the status of a given run"""
25
+
26
+
27
+ class ControlServicer(metaclass=abc.ABCMeta):
28
+ @abc.abstractmethod
29
+ def CreateRun(self,
30
+ request: flwr.proto.run_pb2.CreateRunRequest,
31
+ context: grpc.ServicerContext,
32
+ ) -> flwr.proto.run_pb2.CreateRunResponse:
33
+ """Request to create a new run"""
34
+ pass
35
+
36
+ @abc.abstractmethod
37
+ def GetRunStatus(self,
38
+ request: flwr.proto.run_pb2.GetRunStatusRequest,
39
+ context: grpc.ServicerContext,
40
+ ) -> flwr.proto.run_pb2.GetRunStatusResponse:
41
+ """Get the status of a given run"""
42
+ pass
43
+
44
+ @abc.abstractmethod
45
+ def UpdateRunStatus(self,
46
+ request: flwr.proto.run_pb2.UpdateRunStatusRequest,
47
+ context: grpc.ServicerContext,
48
+ ) -> flwr.proto.run_pb2.UpdateRunStatusResponse:
49
+ """Update the status of a given run"""
50
+ pass
51
+
52
+
53
+ def add_ControlServicer_to_server(servicer: ControlServicer, server: grpc.Server) -> None: ...
flwr/proto/driver_pb2.py CHANGED
@@ -16,36 +16,27 @@ from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
16
16
  from flwr.proto import task_pb2 as flwr_dot_proto_dot_task__pb2
17
17
  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
- from flwr.proto import transport_pb2 as flwr_dot_proto_dot_transport__pb2
20
19
 
21
20
 
22
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x66lwr/proto/driver.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x15\x66lwr/proto/task.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x1a\x66lwr/proto/transport.proto\"\xeb\x01\n\x10\x43reateRunRequest\x12\x0e\n\x06\x66\x61\x62_id\x18\x01 \x01(\t\x12\x13\n\x0b\x66\x61\x62_version\x18\x02 \x01(\t\x12I\n\x0foverride_config\x18\x03 \x03(\x0b\x32\x30.flwr.proto.CreateRunRequest.OverrideConfigEntry\x12\x1c\n\x03\x66\x61\x62\x18\x04 \x01(\x0b\x32\x0f.flwr.proto.Fab\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\"#\n\x11\x43reateRunResponse\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"!\n\x0fGetNodesRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"3\n\x10GetNodesResponse\x12\x1f\n\x05nodes\x18\x01 \x03(\x0b\x32\x10.flwr.proto.Node\"@\n\x12PushTaskInsRequest\x12*\n\rtask_ins_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskIns\"\'\n\x13PushTaskInsResponse\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"F\n\x12PullTaskResRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"A\n\x13PullTaskResResponse\x12*\n\rtask_res_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskRes2\xc7\x03\n\x06\x44river\x12J\n\tCreateRun\x12\x1c.flwr.proto.CreateRunRequest\x1a\x1d.flwr.proto.CreateRunResponse\"\x00\x12G\n\x08GetNodes\x12\x1b.flwr.proto.GetNodesRequest\x1a\x1c.flwr.proto.GetNodesResponse\"\x00\x12P\n\x0bPushTaskIns\x12\x1e.flwr.proto.PushTaskInsRequest\x1a\x1f.flwr.proto.PushTaskInsResponse\"\x00\x12P\n\x0bPullTaskRes\x12\x1e.flwr.proto.PullTaskResRequest\x1a\x1f.flwr.proto.PullTaskResResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x62\x06proto3')
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x66lwr/proto/driver.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x15\x66lwr/proto/task.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\"!\n\x0fGetNodesRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"3\n\x10GetNodesResponse\x12\x1f\n\x05nodes\x18\x01 \x03(\x0b\x32\x10.flwr.proto.Node\"@\n\x12PushTaskInsRequest\x12*\n\rtask_ins_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskIns\"\'\n\x13PushTaskInsResponse\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"F\n\x12PullTaskResRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"A\n\x13PullTaskResResponse\x12*\n\rtask_res_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskRes2\xc7\x03\n\x06\x44river\x12J\n\tCreateRun\x12\x1c.flwr.proto.CreateRunRequest\x1a\x1d.flwr.proto.CreateRunResponse\"\x00\x12G\n\x08GetNodes\x12\x1b.flwr.proto.GetNodesRequest\x1a\x1c.flwr.proto.GetNodesResponse\"\x00\x12P\n\x0bPushTaskIns\x12\x1e.flwr.proto.PushTaskInsRequest\x1a\x1f.flwr.proto.PushTaskInsResponse\"\x00\x12P\n\x0bPullTaskRes\x12\x1e.flwr.proto.PullTaskResRequest\x1a\x1f.flwr.proto.PullTaskResResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x62\x06proto3')
23
22
 
24
23
  _globals = globals()
25
24
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
25
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.driver_pb2', _globals)
27
26
  if _descriptor._USE_C_DESCRIPTORS == False:
28
27
  DESCRIPTOR._options = None
29
- _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._options = None
30
- _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._serialized_options = b'8\001'
31
- _globals['_CREATERUNREQUEST']._serialized_start=158
32
- _globals['_CREATERUNREQUEST']._serialized_end=393
33
- _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=320
34
- _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=393
35
- _globals['_CREATERUNRESPONSE']._serialized_start=395
36
- _globals['_CREATERUNRESPONSE']._serialized_end=430
37
- _globals['_GETNODESREQUEST']._serialized_start=432
38
- _globals['_GETNODESREQUEST']._serialized_end=465
39
- _globals['_GETNODESRESPONSE']._serialized_start=467
40
- _globals['_GETNODESRESPONSE']._serialized_end=518
41
- _globals['_PUSHTASKINSREQUEST']._serialized_start=520
42
- _globals['_PUSHTASKINSREQUEST']._serialized_end=584
43
- _globals['_PUSHTASKINSRESPONSE']._serialized_start=586
44
- _globals['_PUSHTASKINSRESPONSE']._serialized_end=625
45
- _globals['_PULLTASKRESREQUEST']._serialized_start=627
46
- _globals['_PULLTASKRESREQUEST']._serialized_end=697
47
- _globals['_PULLTASKRESRESPONSE']._serialized_start=699
48
- _globals['_PULLTASKRESRESPONSE']._serialized_end=764
49
- _globals['_DRIVER']._serialized_start=767
50
- _globals['_DRIVER']._serialized_end=1222
28
+ _globals['_GETNODESREQUEST']._serialized_start=129
29
+ _globals['_GETNODESREQUEST']._serialized_end=162
30
+ _globals['_GETNODESRESPONSE']._serialized_start=164
31
+ _globals['_GETNODESRESPONSE']._serialized_end=215
32
+ _globals['_PUSHTASKINSREQUEST']._serialized_start=217
33
+ _globals['_PUSHTASKINSREQUEST']._serialized_end=281
34
+ _globals['_PUSHTASKINSRESPONSE']._serialized_start=283
35
+ _globals['_PUSHTASKINSRESPONSE']._serialized_end=322
36
+ _globals['_PULLTASKRESREQUEST']._serialized_start=324
37
+ _globals['_PULLTASKRESREQUEST']._serialized_end=394
38
+ _globals['_PULLTASKRESRESPONSE']._serialized_start=396
39
+ _globals['_PULLTASKRESRESPONSE']._serialized_end=461
40
+ _globals['_DRIVER']._serialized_start=464
41
+ _globals['_DRIVER']._serialized_end=919
51
42
  # @@protoc_insertion_point(module_scope)
flwr/proto/driver_pb2.pyi CHANGED
@@ -3,10 +3,8 @@
3
3
  isort:skip_file
4
4
  """
5
5
  import builtins
6
- import flwr.proto.fab_pb2
7
6
  import flwr.proto.node_pb2
8
7
  import flwr.proto.task_pb2
9
- import flwr.proto.transport_pb2
10
8
  import google.protobuf.descriptor
11
9
  import google.protobuf.internal.containers
12
10
  import google.protobuf.message
@@ -15,56 +13,6 @@ import typing_extensions
15
13
 
16
14
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
17
15
 
18
- class CreateRunRequest(google.protobuf.message.Message):
19
- """CreateRun"""
20
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
21
- class OverrideConfigEntry(google.protobuf.message.Message):
22
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
23
- KEY_FIELD_NUMBER: builtins.int
24
- VALUE_FIELD_NUMBER: builtins.int
25
- key: typing.Text
26
- @property
27
- def value(self) -> flwr.proto.transport_pb2.Scalar: ...
28
- def __init__(self,
29
- *,
30
- key: typing.Text = ...,
31
- value: typing.Optional[flwr.proto.transport_pb2.Scalar] = ...,
32
- ) -> None: ...
33
- def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
34
- def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
35
-
36
- FAB_ID_FIELD_NUMBER: builtins.int
37
- FAB_VERSION_FIELD_NUMBER: builtins.int
38
- OVERRIDE_CONFIG_FIELD_NUMBER: builtins.int
39
- FAB_FIELD_NUMBER: builtins.int
40
- fab_id: typing.Text
41
- fab_version: typing.Text
42
- @property
43
- def override_config(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.transport_pb2.Scalar]: ...
44
- @property
45
- def fab(self) -> flwr.proto.fab_pb2.Fab: ...
46
- def __init__(self,
47
- *,
48
- fab_id: typing.Text = ...,
49
- fab_version: typing.Text = ...,
50
- override_config: typing.Optional[typing.Mapping[typing.Text, flwr.proto.transport_pb2.Scalar]] = ...,
51
- fab: typing.Optional[flwr.proto.fab_pb2.Fab] = ...,
52
- ) -> None: ...
53
- def HasField(self, field_name: typing_extensions.Literal["fab",b"fab"]) -> builtins.bool: ...
54
- def ClearField(self, field_name: typing_extensions.Literal["fab",b"fab","fab_id",b"fab_id","fab_version",b"fab_version","override_config",b"override_config"]) -> None: ...
55
- global___CreateRunRequest = CreateRunRequest
56
-
57
- class CreateRunResponse(google.protobuf.message.Message):
58
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
59
- RUN_ID_FIELD_NUMBER: builtins.int
60
- run_id: builtins.int
61
- def __init__(self,
62
- *,
63
- run_id: builtins.int = ...,
64
- ) -> None: ...
65
- def ClearField(self, field_name: typing_extensions.Literal["run_id",b"run_id"]) -> None: ...
66
- global___CreateRunResponse = CreateRunResponse
67
-
68
16
  class GetNodesRequest(google.protobuf.message.Message):
69
17
  """GetNodes messages"""
70
18
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -18,8 +18,8 @@ class DriverStub(object):
18
18
  """
19
19
  self.CreateRun = channel.unary_unary(
20
20
  '/flwr.proto.Driver/CreateRun',
21
- request_serializer=flwr_dot_proto_dot_driver__pb2.CreateRunRequest.SerializeToString,
22
- response_deserializer=flwr_dot_proto_dot_driver__pb2.CreateRunResponse.FromString,
21
+ request_serializer=flwr_dot_proto_dot_run__pb2.CreateRunRequest.SerializeToString,
22
+ response_deserializer=flwr_dot_proto_dot_run__pb2.CreateRunResponse.FromString,
23
23
  )
24
24
  self.GetNodes = channel.unary_unary(
25
25
  '/flwr.proto.Driver/GetNodes',
@@ -98,8 +98,8 @@ def add_DriverServicer_to_server(servicer, server):
98
98
  rpc_method_handlers = {
99
99
  'CreateRun': grpc.unary_unary_rpc_method_handler(
100
100
  servicer.CreateRun,
101
- request_deserializer=flwr_dot_proto_dot_driver__pb2.CreateRunRequest.FromString,
102
- response_serializer=flwr_dot_proto_dot_driver__pb2.CreateRunResponse.SerializeToString,
101
+ request_deserializer=flwr_dot_proto_dot_run__pb2.CreateRunRequest.FromString,
102
+ response_serializer=flwr_dot_proto_dot_run__pb2.CreateRunResponse.SerializeToString,
103
103
  ),
104
104
  'GetNodes': grpc.unary_unary_rpc_method_handler(
105
105
  servicer.GetNodes,
@@ -148,8 +148,8 @@ class Driver(object):
148
148
  timeout=None,
149
149
  metadata=None):
150
150
  return grpc.experimental.unary_unary(request, target, '/flwr.proto.Driver/CreateRun',
151
- flwr_dot_proto_dot_driver__pb2.CreateRunRequest.SerializeToString,
152
- flwr_dot_proto_dot_driver__pb2.CreateRunResponse.FromString,
151
+ flwr_dot_proto_dot_run__pb2.CreateRunRequest.SerializeToString,
152
+ flwr_dot_proto_dot_run__pb2.CreateRunResponse.FromString,
153
153
  options, channel_credentials,
154
154
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
155
155
 
@@ -11,8 +11,8 @@ import grpc
11
11
  class DriverStub:
12
12
  def __init__(self, channel: grpc.Channel) -> None: ...
13
13
  CreateRun: grpc.UnaryUnaryMultiCallable[
14
- flwr.proto.driver_pb2.CreateRunRequest,
15
- flwr.proto.driver_pb2.CreateRunResponse]
14
+ flwr.proto.run_pb2.CreateRunRequest,
15
+ flwr.proto.run_pb2.CreateRunResponse]
16
16
  """Request run_id"""
17
17
 
18
18
  GetNodes: grpc.UnaryUnaryMultiCallable[
@@ -44,9 +44,9 @@ class DriverStub:
44
44
  class DriverServicer(metaclass=abc.ABCMeta):
45
45
  @abc.abstractmethod
46
46
  def CreateRun(self,
47
- request: flwr.proto.driver_pb2.CreateRunRequest,
47
+ request: flwr.proto.run_pb2.CreateRunRequest,
48
48
  context: grpc.ServicerContext,
49
- ) -> flwr.proto.driver_pb2.CreateRunResponse:
49
+ ) -> flwr.proto.run_pb2.CreateRunResponse:
50
50
  """Request run_id"""
51
51
  pass
52
52
 
flwr/proto/fab_pb2.py CHANGED
@@ -12,19 +12,20 @@ from google.protobuf.internal import builder as _builder
12
12
  _sym_db = _symbol_database.Default()
13
13
 
14
14
 
15
+ from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
15
16
 
16
17
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66lwr/proto/fab.proto\x12\nflwr.proto\"(\n\x03\x46\x61\x62\x12\x10\n\x08hash_str\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\"!\n\rGetFabRequest\x12\x10\n\x08hash_str\x18\x01 \x01(\t\".\n\x0eGetFabResponse\x12\x1c\n\x03\x66\x61\x62\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Fabb\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66lwr/proto/fab.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\"(\n\x03\x46\x61\x62\x12\x10\n\x08hash_str\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\"A\n\rGetFabRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x10\n\x08hash_str\x18\x02 \x01(\t\".\n\x0eGetFabResponse\x12\x1c\n\x03\x66\x61\x62\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Fabb\x06proto3')
18
19
 
19
20
  _globals = globals()
20
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
22
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.fab_pb2', _globals)
22
23
  if _descriptor._USE_C_DESCRIPTORS == False:
23
24
  DESCRIPTOR._options = None
24
- _globals['_FAB']._serialized_start=36
25
- _globals['_FAB']._serialized_end=76
26
- _globals['_GETFABREQUEST']._serialized_start=78
27
- _globals['_GETFABREQUEST']._serialized_end=111
28
- _globals['_GETFABRESPONSE']._serialized_start=113
29
- _globals['_GETFABRESPONSE']._serialized_end=159
25
+ _globals['_FAB']._serialized_start=59
26
+ _globals['_FAB']._serialized_end=99
27
+ _globals['_GETFABREQUEST']._serialized_start=101
28
+ _globals['_GETFABREQUEST']._serialized_end=166
29
+ _globals['_GETFABRESPONSE']._serialized_start=168
30
+ _globals['_GETFABRESPONSE']._serialized_end=214
30
31
  # @@protoc_insertion_point(module_scope)
flwr/proto/fab_pb2.pyi CHANGED
@@ -3,6 +3,7 @@
3
3
  isort:skip_file
4
4
  """
5
5
  import builtins
6
+ import flwr.proto.node_pb2
6
7
  import google.protobuf.descriptor
7
8
  import google.protobuf.message
8
9
  import typing
@@ -33,13 +34,18 @@ global___Fab = Fab
33
34
 
34
35
  class GetFabRequest(google.protobuf.message.Message):
35
36
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
37
+ NODE_FIELD_NUMBER: builtins.int
36
38
  HASH_STR_FIELD_NUMBER: builtins.int
39
+ @property
40
+ def node(self) -> flwr.proto.node_pb2.Node: ...
37
41
  hash_str: typing.Text
38
42
  def __init__(self,
39
43
  *,
44
+ node: typing.Optional[flwr.proto.node_pb2.Node] = ...,
40
45
  hash_str: typing.Text = ...,
41
46
  ) -> None: ...
42
- def ClearField(self, field_name: typing_extensions.Literal["hash_str",b"hash_str"]) -> None: ...
47
+ def HasField(self, field_name: typing_extensions.Literal["node",b"node"]) -> builtins.bool: ...
48
+ def ClearField(self, field_name: typing_extensions.Literal["hash_str",b"hash_str","node",b"node"]) -> None: ...
43
49
  global___GetFabRequest = GetFabRequest
44
50
 
45
51
  class GetFabResponse(google.protobuf.message.Message):
flwr/proto/fleet_pb2.py CHANGED
@@ -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\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x15\x66lwr/proto/task.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\"*\n\x11\x43reateNodeRequest\x12\x15\n\rping_interval\x18\x01 \x01(\x01\"4\n\x12\x43reateNodeResponse\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"3\n\x11\x44\x65leteNodeRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"\x14\n\x12\x44\x65leteNodeResponse\"D\n\x0bPingRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x15\n\rping_interval\x18\x02 \x01(\x01\"\x1f\n\x0cPingResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\"F\n\x12PullTaskInsRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"k\n\x13PullTaskInsResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rtask_ins_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.TaskIns\"@\n\x12PushTaskResRequest\x12*\n\rtask_res_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.TaskRes\"\xae\x01\n\x13PushTaskResResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12=\n\x07results\x18\x02 \x03(\x0b\x32,.flwr.proto.PushTaskResResponse.ResultsEntry\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\x8c\x04\n\x05\x46leet\x12M\n\nCreateNode\x12\x1d.flwr.proto.CreateNodeRequest\x1a\x1e.flwr.proto.CreateNodeResponse\"\x00\x12M\n\nDeleteNode\x12\x1d.flwr.proto.DeleteNodeRequest\x1a\x1e.flwr.proto.DeleteNodeResponse\"\x00\x12;\n\x04Ping\x12\x17.flwr.proto.PingRequest\x1a\x18.flwr.proto.PingResponse\"\x00\x12P\n\x0bPullTaskIns\x12\x1e.flwr.proto.PullTaskInsRequest\x1a\x1f.flwr.proto.PullTaskInsResponse\"\x00\x12P\n\x0bPushTaskRes\x12\x1e.flwr.proto.PushTaskResRequest\x1a\x1f.flwr.proto.PushTaskResResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x62\x06proto3')
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x15\x66lwr/proto/task.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\"*\n\x11\x43reateNodeRequest\x12\x15\n\rping_interval\x18\x01 \x01(\x01\"4\n\x12\x43reateNodeResponse\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"3\n\x11\x44\x65leteNodeRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"\x14\n\x12\x44\x65leteNodeResponse\"D\n\x0bPingRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x15\n\rping_interval\x18\x02 \x01(\x01\"\x1f\n\x0cPingResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\"F\n\x12PullTaskInsRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x10\n\x08task_ids\x18\x02 \x03(\t\"k\n\x13PullTaskInsResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rtask_ins_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.TaskIns\"`\n\x12PushTaskResRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12*\n\rtask_res_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.TaskRes\"\xae\x01\n\x13PushTaskResResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12=\n\x07results\x18\x02 \x03(\x0b\x32,.flwr.proto.PushTaskResResponse.ResultsEntry\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\x8c\x04\n\x05\x46leet\x12M\n\nCreateNode\x12\x1d.flwr.proto.CreateNodeRequest\x1a\x1e.flwr.proto.CreateNodeResponse\"\x00\x12M\n\nDeleteNode\x12\x1d.flwr.proto.DeleteNodeRequest\x1a\x1e.flwr.proto.DeleteNodeResponse\"\x00\x12;\n\x04Ping\x12\x17.flwr.proto.PingRequest\x1a\x18.flwr.proto.PingResponse\"\x00\x12P\n\x0bPullTaskIns\x12\x1e.flwr.proto.PullTaskInsRequest\x1a\x1f.flwr.proto.PullTaskInsResponse\"\x00\x12P\n\x0bPushTaskRes\x12\x1e.flwr.proto.PushTaskResRequest\x1a\x1f.flwr.proto.PushTaskResResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x62\x06proto3')
22
22
 
23
23
  _globals = globals()
24
24
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -44,13 +44,13 @@ if _descriptor._USE_C_DESCRIPTORS == False:
44
44
  _globals['_PULLTASKINSRESPONSE']._serialized_start=476
45
45
  _globals['_PULLTASKINSRESPONSE']._serialized_end=583
46
46
  _globals['_PUSHTASKRESREQUEST']._serialized_start=585
47
- _globals['_PUSHTASKRESREQUEST']._serialized_end=649
48
- _globals['_PUSHTASKRESRESPONSE']._serialized_start=652
49
- _globals['_PUSHTASKRESRESPONSE']._serialized_end=826
50
- _globals['_PUSHTASKRESRESPONSE_RESULTSENTRY']._serialized_start=780
51
- _globals['_PUSHTASKRESRESPONSE_RESULTSENTRY']._serialized_end=826
52
- _globals['_RECONNECT']._serialized_start=828
53
- _globals['_RECONNECT']._serialized_end=858
54
- _globals['_FLEET']._serialized_start=861
55
- _globals['_FLEET']._serialized_end=1385
47
+ _globals['_PUSHTASKRESREQUEST']._serialized_end=681
48
+ _globals['_PUSHTASKRESRESPONSE']._serialized_start=684
49
+ _globals['_PUSHTASKRESRESPONSE']._serialized_end=858
50
+ _globals['_PUSHTASKRESRESPONSE_RESULTSENTRY']._serialized_start=812
51
+ _globals['_PUSHTASKRESRESPONSE_RESULTSENTRY']._serialized_end=858
52
+ _globals['_RECONNECT']._serialized_start=860
53
+ _globals['_RECONNECT']._serialized_end=890
54
+ _globals['_FLEET']._serialized_start=893
55
+ _globals['_FLEET']._serialized_end=1417
56
56
  # @@protoc_insertion_point(module_scope)
flwr/proto/fleet_pb2.pyi CHANGED
@@ -124,14 +124,19 @@ global___PullTaskInsResponse = PullTaskInsResponse
124
124
  class PushTaskResRequest(google.protobuf.message.Message):
125
125
  """PushTaskRes messages"""
126
126
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
127
+ NODE_FIELD_NUMBER: builtins.int
127
128
  TASK_RES_LIST_FIELD_NUMBER: builtins.int
128
129
  @property
130
+ def node(self) -> flwr.proto.node_pb2.Node: ...
131
+ @property
129
132
  def task_res_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.task_pb2.TaskRes]: ...
130
133
  def __init__(self,
131
134
  *,
135
+ node: typing.Optional[flwr.proto.node_pb2.Node] = ...,
132
136
  task_res_list: typing.Optional[typing.Iterable[flwr.proto.task_pb2.TaskRes]] = ...,
133
137
  ) -> None: ...
134
- def ClearField(self, field_name: typing_extensions.Literal["task_res_list",b"task_res_list"]) -> None: ...
138
+ def HasField(self, field_name: typing_extensions.Literal["node",b"node"]) -> builtins.bool: ...
139
+ def ClearField(self, field_name: typing_extensions.Literal["node",b"node","task_res_list",b"task_res_list"]) -> None: ...
135
140
  global___PushTaskResRequest = PushTaskResRequest
136
141
 
137
142
  class PushTaskResResponse(google.protobuf.message.Message):
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lwr/proto/recordset.proto\x12\nflwr.proto\"\x1a\n\nDoubleList\x12\x0c\n\x04vals\x18\x01 \x03(\x01\"\x1a\n\nSint64List\x12\x0c\n\x04vals\x18\x01 \x03(\x12\"\x18\n\x08\x42oolList\x12\x0c\n\x04vals\x18\x01 \x03(\x08\"\x1a\n\nStringList\x12\x0c\n\x04vals\x18\x01 \x03(\t\"\x19\n\tBytesList\x12\x0c\n\x04vals\x18\x01 \x03(\x0c\"B\n\x05\x41rray\x12\r\n\x05\x64type\x18\x01 \x01(\t\x12\r\n\x05shape\x18\x02 \x03(\x05\x12\r\n\x05stype\x18\x03 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"\x9f\x01\n\x12MetricsRecordValue\x12\x10\n\x06\x64ouble\x18\x01 \x01(\x01H\x00\x12\x10\n\x06sint64\x18\x02 \x01(\x12H\x00\x12-\n\x0b\x64ouble_list\x18\x15 \x01(\x0b\x32\x16.flwr.proto.DoubleListH\x00\x12-\n\x0bsint64_list\x18\x16 \x01(\x0b\x32\x16.flwr.proto.Sint64ListH\x00\x42\x07\n\x05value\"\xd9\x02\n\x12\x43onfigsRecordValue\x12\x10\n\x06\x64ouble\x18\x01 \x01(\x01H\x00\x12\x10\n\x06sint64\x18\x02 \x01(\x12H\x00\x12\x0e\n\x04\x62ool\x18\x03 \x01(\x08H\x00\x12\x10\n\x06string\x18\x04 \x01(\tH\x00\x12\x0f\n\x05\x62ytes\x18\x05 \x01(\x0cH\x00\x12-\n\x0b\x64ouble_list\x18\x15 \x01(\x0b\x32\x16.flwr.proto.DoubleListH\x00\x12-\n\x0bsint64_list\x18\x16 \x01(\x0b\x32\x16.flwr.proto.Sint64ListH\x00\x12)\n\tbool_list\x18\x17 \x01(\x0b\x32\x14.flwr.proto.BoolListH\x00\x12-\n\x0bstring_list\x18\x18 \x01(\x0b\x32\x16.flwr.proto.StringListH\x00\x12+\n\nbytes_list\x18\x19 \x01(\x0b\x32\x15.flwr.proto.BytesListH\x00\x42\x07\n\x05value\"M\n\x10ParametersRecord\x12\x11\n\tdata_keys\x18\x01 \x03(\t\x12&\n\x0b\x64\x61ta_values\x18\x02 \x03(\x0b\x32\x11.flwr.proto.Array\"\x8f\x01\n\rMetricsRecord\x12\x31\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32#.flwr.proto.MetricsRecord.DataEntry\x1aK\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.flwr.proto.MetricsRecordValue:\x02\x38\x01\"\x8f\x01\n\rConfigsRecord\x12\x31\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32#.flwr.proto.ConfigsRecord.DataEntry\x1aK\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.flwr.proto.ConfigsRecordValue:\x02\x38\x01\"\x97\x03\n\tRecordSet\x12\x39\n\nparameters\x18\x01 \x03(\x0b\x32%.flwr.proto.RecordSet.ParametersEntry\x12\x33\n\x07metrics\x18\x02 \x03(\x0b\x32\".flwr.proto.RecordSet.MetricsEntry\x12\x33\n\x07\x63onfigs\x18\x03 \x03(\x0b\x32\".flwr.proto.RecordSet.ConfigsEntry\x1aO\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.flwr.proto.ParametersRecord:\x02\x38\x01\x1aI\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.flwr.proto.MetricsRecord:\x02\x38\x01\x1aI\n\x0c\x43onfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.flwr.proto.ConfigsRecord:\x02\x38\x01\x62\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lwr/proto/recordset.proto\x12\nflwr.proto\"\x1a\n\nDoubleList\x12\x0c\n\x04vals\x18\x01 \x03(\x01\"\x18\n\x08SintList\x12\x0c\n\x04vals\x18\x01 \x03(\x12\"\x18\n\x08UintList\x12\x0c\n\x04vals\x18\x01 \x03(\x04\"\x18\n\x08\x42oolList\x12\x0c\n\x04vals\x18\x01 \x03(\x08\"\x1a\n\nStringList\x12\x0c\n\x04vals\x18\x01 \x03(\t\"\x19\n\tBytesList\x12\x0c\n\x04vals\x18\x01 \x03(\x0c\"B\n\x05\x41rray\x12\r\n\x05\x64type\x18\x01 \x01(\t\x12\r\n\x05shape\x18\x02 \x03(\x05\x12\r\n\x05stype\x18\x03 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"\xd8\x01\n\x12MetricsRecordValue\x12\x10\n\x06\x64ouble\x18\x01 \x01(\x01H\x00\x12\x10\n\x06sint64\x18\x02 \x01(\x12H\x00\x12\x10\n\x06uint64\x18\x03 \x01(\x04H\x00\x12-\n\x0b\x64ouble_list\x18\x15 \x01(\x0b\x32\x16.flwr.proto.DoubleListH\x00\x12)\n\tsint_list\x18\x16 \x01(\x0b\x32\x14.flwr.proto.SintListH\x00\x12)\n\tuint_list\x18\x17 \x01(\x0b\x32\x14.flwr.proto.UintListH\x00\x42\x07\n\x05value\"\x92\x03\n\x12\x43onfigsRecordValue\x12\x10\n\x06\x64ouble\x18\x01 \x01(\x01H\x00\x12\x10\n\x06sint64\x18\x02 \x01(\x12H\x00\x12\x10\n\x06uint64\x18\x03 \x01(\x04H\x00\x12\x0e\n\x04\x62ool\x18\x04 \x01(\x08H\x00\x12\x10\n\x06string\x18\x05 \x01(\tH\x00\x12\x0f\n\x05\x62ytes\x18\x06 \x01(\x0cH\x00\x12-\n\x0b\x64ouble_list\x18\x15 \x01(\x0b\x32\x16.flwr.proto.DoubleListH\x00\x12)\n\tsint_list\x18\x16 \x01(\x0b\x32\x14.flwr.proto.SintListH\x00\x12)\n\tuint_list\x18\x17 \x01(\x0b\x32\x14.flwr.proto.UintListH\x00\x12)\n\tbool_list\x18\x18 \x01(\x0b\x32\x14.flwr.proto.BoolListH\x00\x12-\n\x0bstring_list\x18\x19 \x01(\x0b\x32\x16.flwr.proto.StringListH\x00\x12+\n\nbytes_list\x18\x1a \x01(\x0b\x32\x15.flwr.proto.BytesListH\x00\x42\x07\n\x05value\"M\n\x10ParametersRecord\x12\x11\n\tdata_keys\x18\x01 \x03(\t\x12&\n\x0b\x64\x61ta_values\x18\x02 \x03(\x0b\x32\x11.flwr.proto.Array\"\x8f\x01\n\rMetricsRecord\x12\x31\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32#.flwr.proto.MetricsRecord.DataEntry\x1aK\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.flwr.proto.MetricsRecordValue:\x02\x38\x01\"\x8f\x01\n\rConfigsRecord\x12\x31\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32#.flwr.proto.ConfigsRecord.DataEntry\x1aK\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.flwr.proto.ConfigsRecordValue:\x02\x38\x01\"\x97\x03\n\tRecordSet\x12\x39\n\nparameters\x18\x01 \x03(\x0b\x32%.flwr.proto.RecordSet.ParametersEntry\x12\x33\n\x07metrics\x18\x02 \x03(\x0b\x32\".flwr.proto.RecordSet.MetricsEntry\x12\x33\n\x07\x63onfigs\x18\x03 \x03(\x0b\x32\".flwr.proto.RecordSet.ConfigsEntry\x1aO\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.flwr.proto.ParametersRecord:\x02\x38\x01\x1aI\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.flwr.proto.MetricsRecord:\x02\x38\x01\x1aI\n\x0c\x43onfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.flwr.proto.ConfigsRecord:\x02\x38\x01\x62\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -33,36 +33,38 @@ if _descriptor._USE_C_DESCRIPTORS == False:
33
33
  _globals['_RECORDSET_CONFIGSENTRY']._serialized_options = b'8\001'
34
34
  _globals['_DOUBLELIST']._serialized_start=42
35
35
  _globals['_DOUBLELIST']._serialized_end=68
36
- _globals['_SINT64LIST']._serialized_start=70
37
- _globals['_SINT64LIST']._serialized_end=96
38
- _globals['_BOOLLIST']._serialized_start=98
39
- _globals['_BOOLLIST']._serialized_end=122
40
- _globals['_STRINGLIST']._serialized_start=124
41
- _globals['_STRINGLIST']._serialized_end=150
42
- _globals['_BYTESLIST']._serialized_start=152
43
- _globals['_BYTESLIST']._serialized_end=177
44
- _globals['_ARRAY']._serialized_start=179
45
- _globals['_ARRAY']._serialized_end=245
46
- _globals['_METRICSRECORDVALUE']._serialized_start=248
47
- _globals['_METRICSRECORDVALUE']._serialized_end=407
48
- _globals['_CONFIGSRECORDVALUE']._serialized_start=410
49
- _globals['_CONFIGSRECORDVALUE']._serialized_end=755
50
- _globals['_PARAMETERSRECORD']._serialized_start=757
51
- _globals['_PARAMETERSRECORD']._serialized_end=834
52
- _globals['_METRICSRECORD']._serialized_start=837
53
- _globals['_METRICSRECORD']._serialized_end=980
54
- _globals['_METRICSRECORD_DATAENTRY']._serialized_start=905
55
- _globals['_METRICSRECORD_DATAENTRY']._serialized_end=980
56
- _globals['_CONFIGSRECORD']._serialized_start=983
57
- _globals['_CONFIGSRECORD']._serialized_end=1126
58
- _globals['_CONFIGSRECORD_DATAENTRY']._serialized_start=1051
59
- _globals['_CONFIGSRECORD_DATAENTRY']._serialized_end=1126
60
- _globals['_RECORDSET']._serialized_start=1129
61
- _globals['_RECORDSET']._serialized_end=1536
62
- _globals['_RECORDSET_PARAMETERSENTRY']._serialized_start=1307
63
- _globals['_RECORDSET_PARAMETERSENTRY']._serialized_end=1386
64
- _globals['_RECORDSET_METRICSENTRY']._serialized_start=1388
65
- _globals['_RECORDSET_METRICSENTRY']._serialized_end=1461
66
- _globals['_RECORDSET_CONFIGSENTRY']._serialized_start=1463
67
- _globals['_RECORDSET_CONFIGSENTRY']._serialized_end=1536
36
+ _globals['_SINTLIST']._serialized_start=70
37
+ _globals['_SINTLIST']._serialized_end=94
38
+ _globals['_UINTLIST']._serialized_start=96
39
+ _globals['_UINTLIST']._serialized_end=120
40
+ _globals['_BOOLLIST']._serialized_start=122
41
+ _globals['_BOOLLIST']._serialized_end=146
42
+ _globals['_STRINGLIST']._serialized_start=148
43
+ _globals['_STRINGLIST']._serialized_end=174
44
+ _globals['_BYTESLIST']._serialized_start=176
45
+ _globals['_BYTESLIST']._serialized_end=201
46
+ _globals['_ARRAY']._serialized_start=203
47
+ _globals['_ARRAY']._serialized_end=269
48
+ _globals['_METRICSRECORDVALUE']._serialized_start=272
49
+ _globals['_METRICSRECORDVALUE']._serialized_end=488
50
+ _globals['_CONFIGSRECORDVALUE']._serialized_start=491
51
+ _globals['_CONFIGSRECORDVALUE']._serialized_end=893
52
+ _globals['_PARAMETERSRECORD']._serialized_start=895
53
+ _globals['_PARAMETERSRECORD']._serialized_end=972
54
+ _globals['_METRICSRECORD']._serialized_start=975
55
+ _globals['_METRICSRECORD']._serialized_end=1118
56
+ _globals['_METRICSRECORD_DATAENTRY']._serialized_start=1043
57
+ _globals['_METRICSRECORD_DATAENTRY']._serialized_end=1118
58
+ _globals['_CONFIGSRECORD']._serialized_start=1121
59
+ _globals['_CONFIGSRECORD']._serialized_end=1264
60
+ _globals['_CONFIGSRECORD_DATAENTRY']._serialized_start=1189
61
+ _globals['_CONFIGSRECORD_DATAENTRY']._serialized_end=1264
62
+ _globals['_RECORDSET']._serialized_start=1267
63
+ _globals['_RECORDSET']._serialized_end=1674
64
+ _globals['_RECORDSET_PARAMETERSENTRY']._serialized_start=1445
65
+ _globals['_RECORDSET_PARAMETERSENTRY']._serialized_end=1524
66
+ _globals['_RECORDSET_METRICSENTRY']._serialized_start=1526
67
+ _globals['_RECORDSET_METRICSENTRY']._serialized_end=1599
68
+ _globals['_RECORDSET_CONFIGSENTRY']._serialized_start=1601
69
+ _globals['_RECORDSET_CONFIGSENTRY']._serialized_end=1674
68
70
  # @@protoc_insertion_point(module_scope)