flwr-nightly 1.17.0.dev20250319__py3-none-any.whl → 1.17.0.dev20250320__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 (50) hide show
  1. flwr/client/app.py +6 -4
  2. flwr/client/clientapp/app.py +2 -2
  3. flwr/client/grpc_client/connection.py +23 -20
  4. flwr/client/message_handler/message_handler.py +27 -27
  5. flwr/client/mod/centraldp_mods.py +7 -7
  6. flwr/client/mod/localdp_mod.py +4 -4
  7. flwr/client/mod/secure_aggregation/secaggplus_mod.py +5 -5
  8. flwr/client/run_info_store.py +2 -2
  9. flwr/common/__init__.py +2 -0
  10. flwr/common/context.py +4 -4
  11. flwr/common/message.py +269 -101
  12. flwr/common/record/__init__.py +2 -1
  13. flwr/common/record/configsrecord.py +2 -2
  14. flwr/common/record/metricsrecord.py +1 -1
  15. flwr/common/record/parametersrecord.py +1 -1
  16. flwr/common/record/{recordset.py → recorddict.py} +57 -17
  17. flwr/common/{recordset_compat.py → recorddict_compat.py} +105 -105
  18. flwr/common/serde.py +33 -37
  19. flwr/proto/exec_pb2.py +32 -32
  20. flwr/proto/exec_pb2.pyi +3 -3
  21. flwr/proto/message_pb2.py +12 -12
  22. flwr/proto/message_pb2.pyi +9 -9
  23. flwr/proto/recorddict_pb2.py +70 -0
  24. flwr/proto/{recordset_pb2.pyi → recorddict_pb2.pyi} +2 -2
  25. flwr/proto/run_pb2.py +32 -32
  26. flwr/proto/run_pb2.pyi +3 -3
  27. flwr/server/compat/grid_client_proxy.py +30 -30
  28. flwr/server/grid/grid.py +3 -3
  29. flwr/server/grid/grpc_grid.py +15 -23
  30. flwr/server/grid/inmemory_grid.py +14 -20
  31. flwr/server/superlink/fleet/vce/vce_api.py +1 -3
  32. flwr/server/superlink/linkstate/in_memory_linkstate.py +1 -1
  33. flwr/server/superlink/linkstate/sqlite_linkstate.py +14 -18
  34. flwr/server/superlink/linkstate/utils.py +10 -7
  35. flwr/server/superlink/serverappio/serverappio_servicer.py +1 -1
  36. flwr/server/utils/validator.py +4 -4
  37. flwr/server/workflow/default_workflows.py +7 -7
  38. flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +8 -8
  39. flwr/simulation/ray_transport/ray_client_proxy.py +34 -32
  40. flwr/simulation/run_simulation.py +3 -3
  41. flwr/superexec/deployment.py +2 -2
  42. flwr/superexec/simulation.py +2 -2
  43. {flwr_nightly-1.17.0.dev20250319.dist-info → flwr_nightly-1.17.0.dev20250320.dist-info}/METADATA +1 -1
  44. {flwr_nightly-1.17.0.dev20250319.dist-info → flwr_nightly-1.17.0.dev20250320.dist-info}/RECORD +49 -49
  45. flwr/proto/recordset_pb2.py +0 -70
  46. /flwr/proto/{recordset_pb2_grpc.py → recorddict_pb2_grpc.py} +0 -0
  47. /flwr/proto/{recordset_pb2_grpc.pyi → recorddict_pb2_grpc.pyi} +0 -0
  48. {flwr_nightly-1.17.0.dev20250319.dist-info → flwr_nightly-1.17.0.dev20250320.dist-info}/LICENSE +0 -0
  49. {flwr_nightly-1.17.0.dev20250319.dist-info → flwr_nightly-1.17.0.dev20250320.dist-info}/WHEEL +0 -0
  50. {flwr_nightly-1.17.0.dev20250319.dist-info → flwr_nightly-1.17.0.dev20250320.dist-info}/entry_points.txt +0 -0
flwr/common/serde.py CHANGED
@@ -28,16 +28,16 @@ from flwr.proto.fab_pb2 import Fab as ProtoFab
28
28
  from flwr.proto.message_pb2 import Context as ProtoContext
29
29
  from flwr.proto.message_pb2 import Message as ProtoMessage
30
30
  from flwr.proto.message_pb2 import Metadata as ProtoMetadata
31
- from flwr.proto.recordset_pb2 import Array as ProtoArray
32
- from flwr.proto.recordset_pb2 import BoolList, BytesList
33
- from flwr.proto.recordset_pb2 import ConfigsRecord as ProtoConfigsRecord
34
- from flwr.proto.recordset_pb2 import ConfigsRecordValue as ProtoConfigsRecordValue
35
- from flwr.proto.recordset_pb2 import DoubleList
36
- from flwr.proto.recordset_pb2 import MetricsRecord as ProtoMetricsRecord
37
- from flwr.proto.recordset_pb2 import MetricsRecordValue as ProtoMetricsRecordValue
38
- from flwr.proto.recordset_pb2 import ParametersRecord as ProtoParametersRecord
39
- from flwr.proto.recordset_pb2 import RecordSet as ProtoRecordSet
40
- from flwr.proto.recordset_pb2 import SintList, StringList, UintList
31
+ from flwr.proto.recorddict_pb2 import Array as ProtoArray
32
+ from flwr.proto.recorddict_pb2 import BoolList, BytesList
33
+ from flwr.proto.recorddict_pb2 import ConfigsRecord as ProtoConfigsRecord
34
+ from flwr.proto.recorddict_pb2 import ConfigsRecordValue as ProtoConfigsRecordValue
35
+ from flwr.proto.recorddict_pb2 import DoubleList
36
+ from flwr.proto.recorddict_pb2 import MetricsRecord as ProtoMetricsRecord
37
+ from flwr.proto.recorddict_pb2 import MetricsRecordValue as ProtoMetricsRecordValue
38
+ from flwr.proto.recorddict_pb2 import ParametersRecord as ProtoParametersRecord
39
+ from flwr.proto.recorddict_pb2 import RecordDict as ProtoRecordDict
40
+ from flwr.proto.recorddict_pb2 import SintList, StringList, UintList
41
41
  from flwr.proto.run_pb2 import Run as ProtoRun
42
42
  from flwr.proto.run_pb2 import RunStatus as ProtoRunStatus
43
43
  from flwr.proto.transport_pb2 import (
@@ -57,10 +57,10 @@ from . import (
57
57
  Context,
58
58
  MetricsRecord,
59
59
  ParametersRecord,
60
- RecordSet,
60
+ RecordDict,
61
61
  typing,
62
62
  )
63
- from .message import Error, Message, Metadata
63
+ from .message import Error, Message, Metadata, make_message
64
64
  from .record.typeddict import TypedDict
65
65
 
66
66
  # === Parameters message ===
@@ -558,33 +558,33 @@ def error_from_proto(error_proto: ProtoError) -> Error:
558
558
  return Error(code=error_proto.code, reason=reason)
559
559
 
560
560
 
561
- # === RecordSet message ===
561
+ # === RecordDict message ===
562
562
 
563
563
 
564
- def recordset_to_proto(recordset: RecordSet) -> ProtoRecordSet:
565
- """Serialize RecordSet to ProtoBuf."""
566
- return ProtoRecordSet(
564
+ def recorddict_to_proto(recorddict: RecordDict) -> ProtoRecordDict:
565
+ """Serialize RecordDict to ProtoBuf."""
566
+ return ProtoRecordDict(
567
567
  parameters={
568
568
  k: parameters_record_to_proto(v)
569
- for k, v in recordset.parameters_records.items()
569
+ for k, v in recorddict.parameters_records.items()
570
570
  },
571
571
  metrics={
572
- k: metrics_record_to_proto(v) for k, v in recordset.metrics_records.items()
572
+ k: metrics_record_to_proto(v) for k, v in recorddict.metrics_records.items()
573
573
  },
574
574
  configs={
575
- k: configs_record_to_proto(v) for k, v in recordset.configs_records.items()
575
+ k: configs_record_to_proto(v) for k, v in recorddict.configs_records.items()
576
576
  },
577
577
  )
578
578
 
579
579
 
580
- def recordset_from_proto(recordset_proto: ProtoRecordSet) -> RecordSet:
581
- """Deserialize RecordSet from ProtoBuf."""
582
- ret = RecordSet()
583
- for k, p_record_proto in recordset_proto.parameters.items():
580
+ def recorddict_from_proto(recorddict_proto: ProtoRecordDict) -> RecordDict:
581
+ """Deserialize RecordDict from ProtoBuf."""
582
+ ret = RecordDict()
583
+ for k, p_record_proto in recorddict_proto.parameters.items():
584
584
  ret[k] = parameters_record_from_proto(p_record_proto)
585
- for k, m_record_proto in recordset_proto.metrics.items():
585
+ for k, m_record_proto in recorddict_proto.metrics.items():
586
586
  ret[k] = metrics_record_from_proto(m_record_proto)
587
- for k, c_record_proto in recordset_proto.configs.items():
587
+ for k, c_record_proto in recorddict_proto.configs.items():
588
588
  ret[k] = configs_record_from_proto(c_record_proto)
589
589
  return ret
590
590
 
@@ -657,7 +657,7 @@ def metadata_to_proto(metadata: Metadata) -> ProtoMetadata:
657
657
  message_id=metadata.message_id,
658
658
  src_node_id=metadata.src_node_id,
659
659
  dst_node_id=metadata.dst_node_id,
660
- reply_to_message=metadata.reply_to_message,
660
+ reply_to_message_id=metadata.reply_to_message_id,
661
661
  group_id=metadata.group_id,
662
662
  ttl=metadata.ttl,
663
663
  message_type=metadata.message_type,
@@ -673,8 +673,9 @@ def metadata_from_proto(metadata_proto: ProtoMetadata) -> Metadata:
673
673
  message_id=metadata_proto.message_id,
674
674
  src_node_id=metadata_proto.src_node_id,
675
675
  dst_node_id=metadata_proto.dst_node_id,
676
- reply_to_message=metadata_proto.reply_to_message,
676
+ reply_to_message_id=metadata_proto.reply_to_message_id,
677
677
  group_id=metadata_proto.group_id,
678
+ created_at=metadata_proto.created_at,
678
679
  ttl=metadata_proto.ttl,
679
680
  message_type=metadata_proto.message_type,
680
681
  )
@@ -689,7 +690,7 @@ def message_to_proto(message: Message) -> ProtoMessage:
689
690
  proto = ProtoMessage(
690
691
  metadata=metadata_to_proto(message.metadata),
691
692
  content=(
692
- recordset_to_proto(message.content) if message.has_content() else None
693
+ recorddict_to_proto(message.content) if message.has_content() else None
693
694
  ),
694
695
  error=error_to_proto(message.error) if message.has_error() else None,
695
696
  )
@@ -698,11 +699,10 @@ def message_to_proto(message: Message) -> ProtoMessage:
698
699
 
699
700
  def message_from_proto(message_proto: ProtoMessage) -> Message:
700
701
  """Deserialize `Message` from ProtoBuf."""
701
- created_at = message_proto.metadata.created_at
702
- message = Message(
702
+ return make_message(
703
703
  metadata=metadata_from_proto(message_proto.metadata),
704
704
  content=(
705
- recordset_from_proto(message_proto.content)
705
+ recorddict_from_proto(message_proto.content)
706
706
  if message_proto.HasField("content")
707
707
  else None
708
708
  ),
@@ -712,10 +712,6 @@ def message_from_proto(message_proto: ProtoMessage) -> Message:
712
712
  else None
713
713
  ),
714
714
  )
715
- # `.created_at` is set upon Message object construction
716
- # we need to manually set it to the original value
717
- message.metadata.created_at = created_at
718
- return message
719
715
 
720
716
 
721
717
  # === Context messages ===
@@ -727,7 +723,7 @@ def context_to_proto(context: Context) -> ProtoContext:
727
723
  run_id=context.run_id,
728
724
  node_id=context.node_id,
729
725
  node_config=user_config_to_proto(context.node_config),
730
- state=recordset_to_proto(context.state),
726
+ state=recorddict_to_proto(context.state),
731
727
  run_config=user_config_to_proto(context.run_config),
732
728
  )
733
729
  return proto
@@ -739,7 +735,7 @@ def context_from_proto(context_proto: ProtoContext) -> Context:
739
735
  run_id=context_proto.run_id,
740
736
  node_id=context_proto.node_id,
741
737
  node_config=user_config_from_proto(context_proto.node_config),
742
- state=recordset_from_proto(context_proto.state),
738
+ state=recorddict_from_proto(context_proto.state),
743
739
  run_config=user_config_from_proto(context_proto.run_config),
744
740
  )
745
741
  return context
flwr/proto/exec_pb2.py CHANGED
@@ -14,11 +14,11 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
  from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
16
16
  from flwr.proto import transport_pb2 as flwr_dot_proto_dot_transport__pb2
17
- from flwr.proto import recordset_pb2 as flwr_dot_proto_dot_recordset__pb2
17
+ from flwr.proto import recorddict_pb2 as flwr_dot_proto_dot_recorddict__pb2
18
18
  from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
19
19
 
20
20
 
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\"\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')
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\x1b\x66lwr/proto/recorddict.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
22
 
23
23
  _globals = globals()
24
24
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -29,34 +29,34 @@ if _descriptor._USE_C_DESCRIPTORS == False:
29
29
  _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_options = b'8\001'
30
30
  _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._options = None
31
31
  _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_options = b'8\001'
32
- _globals['_STARTRUNREQUEST']._serialized_start=138
33
- _globals['_STARTRUNREQUEST']._serialized_end=389
34
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=316
35
- _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=389
36
- _globals['_STARTRUNRESPONSE']._serialized_start=391
37
- _globals['_STARTRUNRESPONSE']._serialized_end=441
38
- _globals['_STREAMLOGSREQUEST']._serialized_start=443
39
- _globals['_STREAMLOGSREQUEST']._serialized_end=503
40
- _globals['_STREAMLOGSRESPONSE']._serialized_start=505
41
- _globals['_STREAMLOGSRESPONSE']._serialized_end=571
42
- _globals['_LISTRUNSREQUEST']._serialized_start=573
43
- _globals['_LISTRUNSREQUEST']._serialized_end=622
44
- _globals['_LISTRUNSRESPONSE']._serialized_start=625
45
- _globals['_LISTRUNSRESPONSE']._serialized_end=782
46
- _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_start=719
47
- _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_end=782
48
- _globals['_GETLOGINDETAILSREQUEST']._serialized_start=784
49
- _globals['_GETLOGINDETAILSREQUEST']._serialized_end=808
50
- _globals['_GETLOGINDETAILSRESPONSE']._serialized_start=811
51
- _globals['_GETLOGINDETAILSRESPONSE']._serialized_end=949
52
- _globals['_GETAUTHTOKENSREQUEST']._serialized_start=951
53
- _globals['_GETAUTHTOKENSREQUEST']._serialized_end=994
54
- _globals['_GETAUTHTOKENSRESPONSE']._serialized_start=996
55
- _globals['_GETAUTHTOKENSRESPONSE']._serialized_end=1064
56
- _globals['_STOPRUNREQUEST']._serialized_start=1066
57
- _globals['_STOPRUNREQUEST']._serialized_end=1098
58
- _globals['_STOPRUNRESPONSE']._serialized_start=1100
59
- _globals['_STOPRUNRESPONSE']._serialized_end=1134
60
- _globals['_EXEC']._serialized_start=1137
61
- _globals['_EXEC']._serialized_end=1622
32
+ _globals['_STARTRUNREQUEST']._serialized_start=139
33
+ _globals['_STARTRUNREQUEST']._serialized_end=390
34
+ _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=317
35
+ _globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=390
36
+ _globals['_STARTRUNRESPONSE']._serialized_start=392
37
+ _globals['_STARTRUNRESPONSE']._serialized_end=442
38
+ _globals['_STREAMLOGSREQUEST']._serialized_start=444
39
+ _globals['_STREAMLOGSREQUEST']._serialized_end=504
40
+ _globals['_STREAMLOGSRESPONSE']._serialized_start=506
41
+ _globals['_STREAMLOGSRESPONSE']._serialized_end=572
42
+ _globals['_LISTRUNSREQUEST']._serialized_start=574
43
+ _globals['_LISTRUNSREQUEST']._serialized_end=623
44
+ _globals['_LISTRUNSRESPONSE']._serialized_start=626
45
+ _globals['_LISTRUNSRESPONSE']._serialized_end=783
46
+ _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_start=720
47
+ _globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_end=783
48
+ _globals['_GETLOGINDETAILSREQUEST']._serialized_start=785
49
+ _globals['_GETLOGINDETAILSREQUEST']._serialized_end=809
50
+ _globals['_GETLOGINDETAILSRESPONSE']._serialized_start=812
51
+ _globals['_GETLOGINDETAILSRESPONSE']._serialized_end=950
52
+ _globals['_GETAUTHTOKENSREQUEST']._serialized_start=952
53
+ _globals['_GETAUTHTOKENSREQUEST']._serialized_end=995
54
+ _globals['_GETAUTHTOKENSRESPONSE']._serialized_start=997
55
+ _globals['_GETAUTHTOKENSRESPONSE']._serialized_end=1065
56
+ _globals['_STOPRUNREQUEST']._serialized_start=1067
57
+ _globals['_STOPRUNREQUEST']._serialized_end=1099
58
+ _globals['_STOPRUNRESPONSE']._serialized_start=1101
59
+ _globals['_STOPRUNRESPONSE']._serialized_end=1135
60
+ _globals['_EXEC']._serialized_start=1138
61
+ _globals['_EXEC']._serialized_end=1623
62
62
  # @@protoc_insertion_point(module_scope)
flwr/proto/exec_pb2.pyi CHANGED
@@ -4,7 +4,7 @@ isort:skip_file
4
4
  """
5
5
  import builtins
6
6
  import flwr.proto.fab_pb2
7
- import flwr.proto.recordset_pb2
7
+ import flwr.proto.recorddict_pb2
8
8
  import flwr.proto.run_pb2
9
9
  import flwr.proto.transport_pb2
10
10
  import google.protobuf.descriptor
@@ -40,12 +40,12 @@ class StartRunRequest(google.protobuf.message.Message):
40
40
  @property
41
41
  def override_config(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.transport_pb2.Scalar]: ...
42
42
  @property
43
- def federation_options(self) -> flwr.proto.recordset_pb2.ConfigsRecord: ...
43
+ def federation_options(self) -> flwr.proto.recorddict_pb2.ConfigsRecord: ...
44
44
  def __init__(self,
45
45
  *,
46
46
  fab: typing.Optional[flwr.proto.fab_pb2.Fab] = ...,
47
47
  override_config: typing.Optional[typing.Mapping[typing.Text, flwr.proto.transport_pb2.Scalar]] = ...,
48
- federation_options: typing.Optional[flwr.proto.recordset_pb2.ConfigsRecord] = ...,
48
+ federation_options: typing.Optional[flwr.proto.recorddict_pb2.ConfigsRecord] = ...,
49
49
  ) -> None: ...
50
50
  def HasField(self, field_name: typing_extensions.Literal["fab",b"fab","federation_options",b"federation_options"]) -> builtins.bool: ...
51
51
  def ClearField(self, field_name: typing_extensions.Literal["fab",b"fab","federation_options",b"federation_options","override_config",b"override_config"]) -> None: ...
flwr/proto/message_pb2.py CHANGED
@@ -13,11 +13,11 @@ _sym_db = _symbol_database.Default()
13
13
 
14
14
 
15
15
  from flwr.proto import error_pb2 as flwr_dot_proto_dot_error__pb2
16
- from flwr.proto import recordset_pb2 as flwr_dot_proto_dot_recordset__pb2
16
+ from flwr.proto import recorddict_pb2 as flwr_dot_proto_dot_recorddict__pb2
17
17
  from flwr.proto import transport_pb2 as flwr_dot_proto_dot_transport__pb2
18
18
 
19
19
 
20
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66lwr/proto/message.proto\x12\nflwr.proto\x1a\x16\x66lwr/proto/error.proto\x1a\x1a\x66lwr/proto/recordset.proto\x1a\x1a\x66lwr/proto/transport.proto\"{\n\x07Message\x12&\n\x08metadata\x18\x01 \x01(\x0b\x32\x14.flwr.proto.Metadata\x12&\n\x07\x63ontent\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RecordSet\x12 \n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.flwr.proto.Error\"\xcf\x02\n\x07\x43ontext\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x0f\n\x07node_id\x18\x02 \x01(\x04\x12\x38\n\x0bnode_config\x18\x03 \x03(\x0b\x32#.flwr.proto.Context.NodeConfigEntry\x12$\n\x05state\x18\x04 \x01(\x0b\x32\x15.flwr.proto.RecordSet\x12\x36\n\nrun_config\x18\x05 \x03(\x0b\x32\".flwr.proto.Context.RunConfigEntry\x1a\x45\n\x0fNodeConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\x1a\x44\n\x0eRunConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\"\xbb\x01\n\x08Metadata\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x12\n\nmessage_id\x18\x02 \x01(\t\x12\x13\n\x0bsrc_node_id\x18\x03 \x01(\x04\x12\x13\n\x0b\x64st_node_id\x18\x04 \x01(\x04\x12\x18\n\x10reply_to_message\x18\x05 \x01(\t\x12\x10\n\x08group_id\x18\x06 \x01(\t\x12\x0b\n\x03ttl\x18\x07 \x01(\x01\x12\x14\n\x0cmessage_type\x18\x08 \x01(\t\x12\x12\n\ncreated_at\x18\t \x01(\x01\x62\x06proto3')
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66lwr/proto/message.proto\x12\nflwr.proto\x1a\x16\x66lwr/proto/error.proto\x1a\x1b\x66lwr/proto/recorddict.proto\x1a\x1a\x66lwr/proto/transport.proto\"|\n\x07Message\x12&\n\x08metadata\x18\x01 \x01(\x0b\x32\x14.flwr.proto.Metadata\x12\'\n\x07\x63ontent\x18\x02 \x01(\x0b\x32\x16.flwr.proto.RecordDict\x12 \n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.flwr.proto.Error\"\xd0\x02\n\x07\x43ontext\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x0f\n\x07node_id\x18\x02 \x01(\x04\x12\x38\n\x0bnode_config\x18\x03 \x03(\x0b\x32#.flwr.proto.Context.NodeConfigEntry\x12%\n\x05state\x18\x04 \x01(\x0b\x32\x16.flwr.proto.RecordDict\x12\x36\n\nrun_config\x18\x05 \x03(\x0b\x32\".flwr.proto.Context.RunConfigEntry\x1a\x45\n\x0fNodeConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\x1a\x44\n\x0eRunConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\"\xbe\x01\n\x08Metadata\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x12\n\nmessage_id\x18\x02 \x01(\t\x12\x13\n\x0bsrc_node_id\x18\x03 \x01(\x04\x12\x13\n\x0b\x64st_node_id\x18\x04 \x01(\x04\x12\x1b\n\x13reply_to_message_id\x18\x05 \x01(\t\x12\x10\n\x08group_id\x18\x06 \x01(\t\x12\x0b\n\x03ttl\x18\x07 \x01(\x01\x12\x14\n\x0cmessage_type\x18\x08 \x01(\t\x12\x12\n\ncreated_at\x18\t \x01(\x01\x62\x06proto3')
21
21
 
22
22
  _globals = globals()
23
23
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -28,14 +28,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
28
28
  _globals['_CONTEXT_NODECONFIGENTRY']._serialized_options = b'8\001'
29
29
  _globals['_CONTEXT_RUNCONFIGENTRY']._options = None
30
30
  _globals['_CONTEXT_RUNCONFIGENTRY']._serialized_options = b'8\001'
31
- _globals['_MESSAGE']._serialized_start=120
32
- _globals['_MESSAGE']._serialized_end=243
33
- _globals['_CONTEXT']._serialized_start=246
34
- _globals['_CONTEXT']._serialized_end=581
35
- _globals['_CONTEXT_NODECONFIGENTRY']._serialized_start=442
36
- _globals['_CONTEXT_NODECONFIGENTRY']._serialized_end=511
37
- _globals['_CONTEXT_RUNCONFIGENTRY']._serialized_start=513
38
- _globals['_CONTEXT_RUNCONFIGENTRY']._serialized_end=581
39
- _globals['_METADATA']._serialized_start=584
40
- _globals['_METADATA']._serialized_end=771
31
+ _globals['_MESSAGE']._serialized_start=121
32
+ _globals['_MESSAGE']._serialized_end=245
33
+ _globals['_CONTEXT']._serialized_start=248
34
+ _globals['_CONTEXT']._serialized_end=584
35
+ _globals['_CONTEXT_NODECONFIGENTRY']._serialized_start=445
36
+ _globals['_CONTEXT_NODECONFIGENTRY']._serialized_end=514
37
+ _globals['_CONTEXT_RUNCONFIGENTRY']._serialized_start=516
38
+ _globals['_CONTEXT_RUNCONFIGENTRY']._serialized_end=584
39
+ _globals['_METADATA']._serialized_start=587
40
+ _globals['_METADATA']._serialized_end=777
41
41
  # @@protoc_insertion_point(module_scope)
@@ -4,7 +4,7 @@ isort:skip_file
4
4
  """
5
5
  import builtins
6
6
  import flwr.proto.error_pb2
7
- import flwr.proto.recordset_pb2
7
+ import flwr.proto.recorddict_pb2
8
8
  import flwr.proto.transport_pb2
9
9
  import google.protobuf.descriptor
10
10
  import google.protobuf.internal.containers
@@ -22,13 +22,13 @@ class Message(google.protobuf.message.Message):
22
22
  @property
23
23
  def metadata(self) -> global___Metadata: ...
24
24
  @property
25
- def content(self) -> flwr.proto.recordset_pb2.RecordSet: ...
25
+ def content(self) -> flwr.proto.recorddict_pb2.RecordDict: ...
26
26
  @property
27
27
  def error(self) -> flwr.proto.error_pb2.Error: ...
28
28
  def __init__(self,
29
29
  *,
30
30
  metadata: typing.Optional[global___Metadata] = ...,
31
- content: typing.Optional[flwr.proto.recordset_pb2.RecordSet] = ...,
31
+ content: typing.Optional[flwr.proto.recorddict_pb2.RecordDict] = ...,
32
32
  error: typing.Optional[flwr.proto.error_pb2.Error] = ...,
33
33
  ) -> None: ...
34
34
  def HasField(self, field_name: typing_extensions.Literal["content",b"content","error",b"error","metadata",b"metadata"]) -> builtins.bool: ...
@@ -77,7 +77,7 @@ class Context(google.protobuf.message.Message):
77
77
  @property
78
78
  def node_config(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.transport_pb2.Scalar]: ...
79
79
  @property
80
- def state(self) -> flwr.proto.recordset_pb2.RecordSet: ...
80
+ def state(self) -> flwr.proto.recorddict_pb2.RecordDict: ...
81
81
  @property
82
82
  def run_config(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.transport_pb2.Scalar]: ...
83
83
  def __init__(self,
@@ -85,7 +85,7 @@ class Context(google.protobuf.message.Message):
85
85
  run_id: builtins.int = ...,
86
86
  node_id: builtins.int = ...,
87
87
  node_config: typing.Optional[typing.Mapping[typing.Text, flwr.proto.transport_pb2.Scalar]] = ...,
88
- state: typing.Optional[flwr.proto.recordset_pb2.RecordSet] = ...,
88
+ state: typing.Optional[flwr.proto.recorddict_pb2.RecordDict] = ...,
89
89
  run_config: typing.Optional[typing.Mapping[typing.Text, flwr.proto.transport_pb2.Scalar]] = ...,
90
90
  ) -> None: ...
91
91
  def HasField(self, field_name: typing_extensions.Literal["state",b"state"]) -> builtins.bool: ...
@@ -98,7 +98,7 @@ class Metadata(google.protobuf.message.Message):
98
98
  MESSAGE_ID_FIELD_NUMBER: builtins.int
99
99
  SRC_NODE_ID_FIELD_NUMBER: builtins.int
100
100
  DST_NODE_ID_FIELD_NUMBER: builtins.int
101
- REPLY_TO_MESSAGE_FIELD_NUMBER: builtins.int
101
+ REPLY_TO_MESSAGE_ID_FIELD_NUMBER: builtins.int
102
102
  GROUP_ID_FIELD_NUMBER: builtins.int
103
103
  TTL_FIELD_NUMBER: builtins.int
104
104
  MESSAGE_TYPE_FIELD_NUMBER: builtins.int
@@ -107,7 +107,7 @@ class Metadata(google.protobuf.message.Message):
107
107
  message_id: typing.Text
108
108
  src_node_id: builtins.int
109
109
  dst_node_id: builtins.int
110
- reply_to_message: typing.Text
110
+ reply_to_message_id: typing.Text
111
111
  group_id: typing.Text
112
112
  ttl: builtins.float
113
113
  message_type: typing.Text
@@ -118,11 +118,11 @@ class Metadata(google.protobuf.message.Message):
118
118
  message_id: typing.Text = ...,
119
119
  src_node_id: builtins.int = ...,
120
120
  dst_node_id: builtins.int = ...,
121
- reply_to_message: typing.Text = ...,
121
+ reply_to_message_id: typing.Text = ...,
122
122
  group_id: typing.Text = ...,
123
123
  ttl: builtins.float = ...,
124
124
  message_type: typing.Text = ...,
125
125
  created_at: builtins.float = ...,
126
126
  ) -> None: ...
127
- def ClearField(self, field_name: typing_extensions.Literal["created_at",b"created_at","dst_node_id",b"dst_node_id","group_id",b"group_id","message_id",b"message_id","message_type",b"message_type","reply_to_message",b"reply_to_message","run_id",b"run_id","src_node_id",b"src_node_id","ttl",b"ttl"]) -> None: ...
127
+ def ClearField(self, field_name: typing_extensions.Literal["created_at",b"created_at","dst_node_id",b"dst_node_id","group_id",b"group_id","message_id",b"message_id","message_type",b"message_type","reply_to_message_id",b"reply_to_message_id","run_id",b"run_id","src_node_id",b"src_node_id","ttl",b"ttl"]) -> None: ...
128
128
  global___Metadata = Metadata
@@ -0,0 +1,70 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: flwr/proto/recorddict.proto
4
+ # Protobuf Python Version: 4.25.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66lwr/proto/recorddict.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\"\x9b\x03\n\nRecordDict\x12:\n\nparameters\x18\x01 \x03(\x0b\x32&.flwr.proto.RecordDict.ParametersEntry\x12\x34\n\x07metrics\x18\x02 \x03(\x0b\x32#.flwr.proto.RecordDict.MetricsEntry\x12\x34\n\x07\x63onfigs\x18\x03 \x03(\x0b\x32#.flwr.proto.RecordDict.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
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.recorddict_pb2', _globals)
22
+ if _descriptor._USE_C_DESCRIPTORS == False:
23
+ DESCRIPTOR._options = None
24
+ _globals['_METRICSRECORD_DATAENTRY']._options = None
25
+ _globals['_METRICSRECORD_DATAENTRY']._serialized_options = b'8\001'
26
+ _globals['_CONFIGSRECORD_DATAENTRY']._options = None
27
+ _globals['_CONFIGSRECORD_DATAENTRY']._serialized_options = b'8\001'
28
+ _globals['_RECORDDICT_PARAMETERSENTRY']._options = None
29
+ _globals['_RECORDDICT_PARAMETERSENTRY']._serialized_options = b'8\001'
30
+ _globals['_RECORDDICT_METRICSENTRY']._options = None
31
+ _globals['_RECORDDICT_METRICSENTRY']._serialized_options = b'8\001'
32
+ _globals['_RECORDDICT_CONFIGSENTRY']._options = None
33
+ _globals['_RECORDDICT_CONFIGSENTRY']._serialized_options = b'8\001'
34
+ _globals['_DOUBLELIST']._serialized_start=43
35
+ _globals['_DOUBLELIST']._serialized_end=69
36
+ _globals['_SINTLIST']._serialized_start=71
37
+ _globals['_SINTLIST']._serialized_end=95
38
+ _globals['_UINTLIST']._serialized_start=97
39
+ _globals['_UINTLIST']._serialized_end=121
40
+ _globals['_BOOLLIST']._serialized_start=123
41
+ _globals['_BOOLLIST']._serialized_end=147
42
+ _globals['_STRINGLIST']._serialized_start=149
43
+ _globals['_STRINGLIST']._serialized_end=175
44
+ _globals['_BYTESLIST']._serialized_start=177
45
+ _globals['_BYTESLIST']._serialized_end=202
46
+ _globals['_ARRAY']._serialized_start=204
47
+ _globals['_ARRAY']._serialized_end=270
48
+ _globals['_METRICSRECORDVALUE']._serialized_start=273
49
+ _globals['_METRICSRECORDVALUE']._serialized_end=489
50
+ _globals['_CONFIGSRECORDVALUE']._serialized_start=492
51
+ _globals['_CONFIGSRECORDVALUE']._serialized_end=894
52
+ _globals['_PARAMETERSRECORD']._serialized_start=896
53
+ _globals['_PARAMETERSRECORD']._serialized_end=973
54
+ _globals['_METRICSRECORD']._serialized_start=976
55
+ _globals['_METRICSRECORD']._serialized_end=1119
56
+ _globals['_METRICSRECORD_DATAENTRY']._serialized_start=1044
57
+ _globals['_METRICSRECORD_DATAENTRY']._serialized_end=1119
58
+ _globals['_CONFIGSRECORD']._serialized_start=1122
59
+ _globals['_CONFIGSRECORD']._serialized_end=1265
60
+ _globals['_CONFIGSRECORD_DATAENTRY']._serialized_start=1190
61
+ _globals['_CONFIGSRECORD_DATAENTRY']._serialized_end=1265
62
+ _globals['_RECORDDICT']._serialized_start=1268
63
+ _globals['_RECORDDICT']._serialized_end=1679
64
+ _globals['_RECORDDICT_PARAMETERSENTRY']._serialized_start=1450
65
+ _globals['_RECORDDICT_PARAMETERSENTRY']._serialized_end=1529
66
+ _globals['_RECORDDICT_METRICSENTRY']._serialized_start=1531
67
+ _globals['_RECORDDICT_METRICSENTRY']._serialized_end=1604
68
+ _globals['_RECORDDICT_CONFIGSENTRY']._serialized_start=1606
69
+ _globals['_RECORDDICT_CONFIGSENTRY']._serialized_end=1679
70
+ # @@protoc_insertion_point(module_scope)
@@ -265,7 +265,7 @@ class ConfigsRecord(google.protobuf.message.Message):
265
265
  def ClearField(self, field_name: typing_extensions.Literal["data",b"data"]) -> None: ...
266
266
  global___ConfigsRecord = ConfigsRecord
267
267
 
268
- class RecordSet(google.protobuf.message.Message):
268
+ class RecordDict(google.protobuf.message.Message):
269
269
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
270
270
  class ParametersEntry(google.protobuf.message.Message):
271
271
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -328,4 +328,4 @@ class RecordSet(google.protobuf.message.Message):
328
328
  configs: typing.Optional[typing.Mapping[typing.Text, global___ConfigsRecord]] = ...,
329
329
  ) -> None: ...
330
330
  def ClearField(self, field_name: typing_extensions.Literal["configs",b"configs","metrics",b"metrics","parameters",b"parameters"]) -> None: ...
331
- global___RecordSet = RecordSet
331
+ global___RecordDict = RecordDict
flwr/proto/run_pb2.py CHANGED
@@ -14,11 +14,11 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
  from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
16
16
  from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
17
- from flwr.proto import recordset_pb2 as flwr_dot_proto_dot_recordset__pb2
17
+ from flwr.proto import recorddict_pb2 as flwr_dot_proto_dot_recorddict__pb2
18
18
  from flwr.proto import transport_pb2 as flwr_dot_proto_dot_transport__pb2
19
19
 
20
20
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66lwr/proto/run.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x1a\x66lwr/proto/recordset.proto\x1a\x1a\x66lwr/proto/transport.proto\"\xce\x02\n\x03Run\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x66\x61\x62_id\x18\x02 \x01(\t\x12\x13\n\x0b\x66\x61\x62_version\x18\x03 \x01(\t\x12<\n\x0foverride_config\x18\x04 \x03(\x0b\x32#.flwr.proto.Run.OverrideConfigEntry\x12\x10\n\x08\x66\x61\x62_hash\x18\x05 \x01(\t\x12\x12\n\npending_at\x18\x06 \x01(\t\x12\x13\n\x0bstarting_at\x18\x07 \x01(\t\x12\x12\n\nrunning_at\x18\x08 \x01(\t\x12\x13\n\x0b\x66inished_at\x18\t \x01(\t\x12%\n\x06status\x18\n \x01(\x0b\x32\x15.flwr.proto.RunStatus\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\tRunStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x12\n\nsub_status\x18\x02 \x01(\t\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"\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\rGetRunRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x0e\n\x06run_id\x18\x02 \x01(\x04\".\n\x0eGetRunResponse\x12\x1c\n\x03run\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Run\"S\n\x16UpdateRunStatusRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12)\n\nrun_status\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RunStatus\"\x19\n\x17UpdateRunStatusResponse\"F\n\x13GetRunStatusRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x0f\n\x07run_ids\x18\x02 \x03(\x04\"\xb1\x01\n\x14GetRunStatusResponse\x12L\n\x0frun_status_dict\x18\x01 \x03(\x0b\x32\x33.flwr.proto.GetRunStatusResponse.RunStatusDictEntry\x1aK\n\x12RunStatusDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RunStatus:\x02\x38\x01\"-\n\x1bGetFederationOptionsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"U\n\x1cGetFederationOptionsResponse\x12\x35\n\x12\x66\x65\x64\x65ration_options\x18\x01 \x01(\x0b\x32\x19.flwr.proto.ConfigsRecordb\x06proto3')
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66lwr/proto/run.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x1b\x66lwr/proto/recorddict.proto\x1a\x1a\x66lwr/proto/transport.proto\"\xce\x02\n\x03Run\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x66\x61\x62_id\x18\x02 \x01(\t\x12\x13\n\x0b\x66\x61\x62_version\x18\x03 \x01(\t\x12<\n\x0foverride_config\x18\x04 \x03(\x0b\x32#.flwr.proto.Run.OverrideConfigEntry\x12\x10\n\x08\x66\x61\x62_hash\x18\x05 \x01(\t\x12\x12\n\npending_at\x18\x06 \x01(\t\x12\x13\n\x0bstarting_at\x18\x07 \x01(\t\x12\x12\n\nrunning_at\x18\x08 \x01(\t\x12\x13\n\x0b\x66inished_at\x18\t \x01(\t\x12%\n\x06status\x18\n \x01(\x0b\x32\x15.flwr.proto.RunStatus\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\tRunStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x12\n\nsub_status\x18\x02 \x01(\t\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"\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\rGetRunRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x0e\n\x06run_id\x18\x02 \x01(\x04\".\n\x0eGetRunResponse\x12\x1c\n\x03run\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Run\"S\n\x16UpdateRunStatusRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12)\n\nrun_status\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RunStatus\"\x19\n\x17UpdateRunStatusResponse\"F\n\x13GetRunStatusRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x0f\n\x07run_ids\x18\x02 \x03(\x04\"\xb1\x01\n\x14GetRunStatusResponse\x12L\n\x0frun_status_dict\x18\x01 \x03(\x0b\x32\x33.flwr.proto.GetRunStatusResponse.RunStatusDictEntry\x1aK\n\x12RunStatusDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RunStatus:\x02\x38\x01\"-\n\x1bGetFederationOptionsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"U\n\x1cGetFederationOptionsResponse\x12\x35\n\x12\x66\x65\x64\x65ration_options\x18\x01 \x01(\x0b\x32\x19.flwr.proto.ConfigsRecordb\x06proto3')
22
22
 
23
23
  _globals = globals()
24
24
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -31,34 +31,34 @@ if _descriptor._USE_C_DESCRIPTORS == False:
31
31
  _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._serialized_options = b'8\001'
32
32
  _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._options = None
33
33
  _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_options = b'8\001'
34
- _globals['_RUN']._serialized_start=138
35
- _globals['_RUN']._serialized_end=472
36
- _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_start=399
37
- _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_end=472
38
- _globals['_RUNSTATUS']._serialized_start=474
39
- _globals['_RUNSTATUS']._serialized_end=538
40
- _globals['_CREATERUNREQUEST']._serialized_start=541
41
- _globals['_CREATERUNREQUEST']._serialized_end=776
42
- _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=399
43
- _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=472
44
- _globals['_CREATERUNRESPONSE']._serialized_start=778
45
- _globals['_CREATERUNRESPONSE']._serialized_end=813
46
- _globals['_GETRUNREQUEST']._serialized_start=815
47
- _globals['_GETRUNREQUEST']._serialized_end=878
48
- _globals['_GETRUNRESPONSE']._serialized_start=880
49
- _globals['_GETRUNRESPONSE']._serialized_end=926
50
- _globals['_UPDATERUNSTATUSREQUEST']._serialized_start=928
51
- _globals['_UPDATERUNSTATUSREQUEST']._serialized_end=1011
52
- _globals['_UPDATERUNSTATUSRESPONSE']._serialized_start=1013
53
- _globals['_UPDATERUNSTATUSRESPONSE']._serialized_end=1038
54
- _globals['_GETRUNSTATUSREQUEST']._serialized_start=1040
55
- _globals['_GETRUNSTATUSREQUEST']._serialized_end=1110
56
- _globals['_GETRUNSTATUSRESPONSE']._serialized_start=1113
57
- _globals['_GETRUNSTATUSRESPONSE']._serialized_end=1290
58
- _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_start=1215
59
- _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_end=1290
60
- _globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_start=1292
61
- _globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_end=1337
62
- _globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_start=1339
63
- _globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_end=1424
34
+ _globals['_RUN']._serialized_start=139
35
+ _globals['_RUN']._serialized_end=473
36
+ _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_start=400
37
+ _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_end=473
38
+ _globals['_RUNSTATUS']._serialized_start=475
39
+ _globals['_RUNSTATUS']._serialized_end=539
40
+ _globals['_CREATERUNREQUEST']._serialized_start=542
41
+ _globals['_CREATERUNREQUEST']._serialized_end=777
42
+ _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=400
43
+ _globals['_CREATERUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=473
44
+ _globals['_CREATERUNRESPONSE']._serialized_start=779
45
+ _globals['_CREATERUNRESPONSE']._serialized_end=814
46
+ _globals['_GETRUNREQUEST']._serialized_start=816
47
+ _globals['_GETRUNREQUEST']._serialized_end=879
48
+ _globals['_GETRUNRESPONSE']._serialized_start=881
49
+ _globals['_GETRUNRESPONSE']._serialized_end=927
50
+ _globals['_UPDATERUNSTATUSREQUEST']._serialized_start=929
51
+ _globals['_UPDATERUNSTATUSREQUEST']._serialized_end=1012
52
+ _globals['_UPDATERUNSTATUSRESPONSE']._serialized_start=1014
53
+ _globals['_UPDATERUNSTATUSRESPONSE']._serialized_end=1039
54
+ _globals['_GETRUNSTATUSREQUEST']._serialized_start=1041
55
+ _globals['_GETRUNSTATUSREQUEST']._serialized_end=1111
56
+ _globals['_GETRUNSTATUSRESPONSE']._serialized_start=1114
57
+ _globals['_GETRUNSTATUSRESPONSE']._serialized_end=1291
58
+ _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_start=1216
59
+ _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_end=1291
60
+ _globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_start=1293
61
+ _globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_end=1338
62
+ _globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_start=1340
63
+ _globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_end=1425
64
64
  # @@protoc_insertion_point(module_scope)
flwr/proto/run_pb2.pyi CHANGED
@@ -5,7 +5,7 @@ isort:skip_file
5
5
  import builtins
6
6
  import flwr.proto.fab_pb2
7
7
  import flwr.proto.node_pb2
8
- import flwr.proto.recordset_pb2
8
+ import flwr.proto.recorddict_pb2
9
9
  import flwr.proto.transport_pb2
10
10
  import google.protobuf.descriptor
11
11
  import google.protobuf.internal.containers
@@ -258,10 +258,10 @@ class GetFederationOptionsResponse(google.protobuf.message.Message):
258
258
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
259
259
  FEDERATION_OPTIONS_FIELD_NUMBER: builtins.int
260
260
  @property
261
- def federation_options(self) -> flwr.proto.recordset_pb2.ConfigsRecord: ...
261
+ def federation_options(self) -> flwr.proto.recorddict_pb2.ConfigsRecord: ...
262
262
  def __init__(self,
263
263
  *,
264
- federation_options: typing.Optional[flwr.proto.recordset_pb2.ConfigsRecord] = ...,
264
+ federation_options: typing.Optional[flwr.proto.recorddict_pb2.ConfigsRecord] = ...,
265
265
  ) -> None: ...
266
266
  def HasField(self, field_name: typing_extensions.Literal["federation_options",b"federation_options"]) -> builtins.bool: ...
267
267
  def ClearField(self, field_name: typing_extensions.Literal["federation_options",b"federation_options"]) -> None: ...