flwr-nightly 1.17.0.dev20250320__py3-none-any.whl → 1.17.0.dev20250322__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- flwr/cli/run/run.py +5 -9
- flwr/client/client_app.py +10 -12
- flwr/client/grpc_client/connection.py +3 -3
- flwr/client/message_handler/message_handler.py +3 -3
- flwr/client/mod/__init__.py +2 -2
- flwr/client/mod/comms_mods.py +16 -22
- flwr/client/mod/secure_aggregation/secaggplus_mod.py +26 -26
- flwr/common/__init__.py +10 -4
- flwr/common/config.py +4 -4
- flwr/common/constant.py +1 -1
- flwr/common/record/__init__.py +6 -3
- flwr/common/record/{parametersrecord.py → arrayrecord.py} +74 -31
- flwr/common/record/{configsrecord.py → configrecord.py} +73 -27
- flwr/common/record/conversion_utils.py +1 -1
- flwr/common/record/{metricsrecord.py → metricrecord.py} +77 -31
- flwr/common/record/recorddict.py +95 -56
- flwr/common/recorddict_compat.py +54 -62
- flwr/common/secure_aggregation/secaggplus_constants.py +1 -1
- flwr/common/serde.py +42 -43
- flwr/common/typing.py +8 -8
- flwr/proto/exec_pb2.py +30 -30
- flwr/proto/exec_pb2.pyi +2 -2
- flwr/proto/recorddict_pb2.py +29 -29
- flwr/proto/recorddict_pb2.pyi +33 -33
- flwr/proto/run_pb2.py +2 -2
- flwr/proto/run_pb2.pyi +2 -2
- flwr/server/compat/grid_client_proxy.py +1 -1
- flwr/server/superlink/fleet/vce/backend/backend.py +2 -2
- flwr/server/superlink/fleet/vce/backend/raybackend.py +2 -2
- flwr/server/superlink/linkstate/in_memory_linkstate.py +4 -4
- flwr/server/superlink/linkstate/linkstate.py +4 -4
- flwr/server/superlink/linkstate/sqlite_linkstate.py +7 -7
- flwr/server/superlink/linkstate/utils.py +9 -9
- flwr/server/superlink/serverappio/serverappio_servicer.py +2 -2
- flwr/server/superlink/simulation/simulationio_servicer.py +2 -2
- flwr/server/workflow/default_workflows.py +27 -34
- flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +32 -34
- flwr/simulation/app.py +2 -2
- flwr/simulation/ray_transport/ray_actor.py +4 -2
- flwr/simulation/run_simulation.py +2 -2
- flwr/superexec/deployment.py +3 -3
- flwr/superexec/exec_servicer.py +2 -2
- flwr/superexec/executor.py +3 -3
- flwr/superexec/simulation.py +2 -2
- {flwr_nightly-1.17.0.dev20250320.dist-info → flwr_nightly-1.17.0.dev20250322.dist-info}/METADATA +1 -1
- {flwr_nightly-1.17.0.dev20250320.dist-info → flwr_nightly-1.17.0.dev20250322.dist-info}/RECORD +49 -49
- {flwr_nightly-1.17.0.dev20250320.dist-info → flwr_nightly-1.17.0.dev20250322.dist-info}/LICENSE +0 -0
- {flwr_nightly-1.17.0.dev20250320.dist-info → flwr_nightly-1.17.0.dev20250322.dist-info}/WHEEL +0 -0
- {flwr_nightly-1.17.0.dev20250320.dist-info → flwr_nightly-1.17.0.dev20250322.dist-info}/entry_points.txt +0 -0
flwr/common/serde.py
CHANGED
@@ -29,13 +29,13 @@ 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
31
|
from flwr.proto.recorddict_pb2 import Array as ProtoArray
|
32
|
+
from flwr.proto.recorddict_pb2 import ArrayRecord as ProtoArrayRecord
|
32
33
|
from flwr.proto.recorddict_pb2 import BoolList, BytesList
|
33
|
-
from flwr.proto.recorddict_pb2 import
|
34
|
-
from flwr.proto.recorddict_pb2 import
|
34
|
+
from flwr.proto.recorddict_pb2 import ConfigRecord as ProtoConfigRecord
|
35
|
+
from flwr.proto.recorddict_pb2 import ConfigRecordValue as ProtoConfigRecordValue
|
35
36
|
from flwr.proto.recorddict_pb2 import DoubleList
|
36
|
-
from flwr.proto.recorddict_pb2 import
|
37
|
-
from flwr.proto.recorddict_pb2 import
|
38
|
-
from flwr.proto.recorddict_pb2 import ParametersRecord as ProtoParametersRecord
|
37
|
+
from flwr.proto.recorddict_pb2 import MetricRecord as ProtoMetricRecord
|
38
|
+
from flwr.proto.recorddict_pb2 import MetricRecordValue as ProtoMetricRecordValue
|
39
39
|
from flwr.proto.recorddict_pb2 import RecordDict as ProtoRecordDict
|
40
40
|
from flwr.proto.recorddict_pb2 import SintList, StringList, UintList
|
41
41
|
from flwr.proto.run_pb2 import Run as ProtoRun
|
@@ -53,10 +53,10 @@ from flwr.proto.transport_pb2 import (
|
|
53
53
|
# pylint: enable=E0611
|
54
54
|
from . import (
|
55
55
|
Array,
|
56
|
-
|
56
|
+
ArrayRecord,
|
57
|
+
ConfigRecord,
|
57
58
|
Context,
|
58
|
-
|
59
|
-
ParametersRecord,
|
59
|
+
MetricRecord,
|
60
60
|
RecordDict,
|
61
61
|
typing,
|
62
62
|
)
|
@@ -483,19 +483,19 @@ def array_from_proto(array_proto: ProtoArray) -> Array:
|
|
483
483
|
)
|
484
484
|
|
485
485
|
|
486
|
-
def
|
487
|
-
"""Serialize
|
488
|
-
return
|
486
|
+
def array_record_to_proto(record: ArrayRecord) -> ProtoArrayRecord:
|
487
|
+
"""Serialize ArrayRecord to ProtoBuf."""
|
488
|
+
return ProtoArrayRecord(
|
489
489
|
data_keys=record.keys(),
|
490
490
|
data_values=map(array_to_proto, record.values()),
|
491
491
|
)
|
492
492
|
|
493
493
|
|
494
|
-
def
|
495
|
-
record_proto:
|
496
|
-
) ->
|
497
|
-
"""Deserialize
|
498
|
-
return
|
494
|
+
def array_record_from_proto(
|
495
|
+
record_proto: ProtoArrayRecord,
|
496
|
+
) -> ArrayRecord:
|
497
|
+
"""Deserialize ArrayRecord from ProtoBuf."""
|
498
|
+
return ArrayRecord(
|
499
499
|
array_dict=OrderedDict(
|
500
500
|
zip(record_proto.data_keys, map(array_from_proto, record_proto.data_values))
|
501
501
|
),
|
@@ -503,40 +503,40 @@ def parameters_record_from_proto(
|
|
503
503
|
)
|
504
504
|
|
505
505
|
|
506
|
-
def
|
507
|
-
"""Serialize
|
508
|
-
return
|
509
|
-
data=_record_value_dict_to_proto(record, [float, int],
|
506
|
+
def metric_record_to_proto(record: MetricRecord) -> ProtoMetricRecord:
|
507
|
+
"""Serialize MetricRecord to ProtoBuf."""
|
508
|
+
return ProtoMetricRecord(
|
509
|
+
data=_record_value_dict_to_proto(record, [float, int], ProtoMetricRecordValue)
|
510
510
|
)
|
511
511
|
|
512
512
|
|
513
|
-
def
|
514
|
-
"""Deserialize
|
515
|
-
return
|
516
|
-
|
517
|
-
dict[str, typing.
|
513
|
+
def metric_record_from_proto(record_proto: ProtoMetricRecord) -> MetricRecord:
|
514
|
+
"""Deserialize MetricRecord from ProtoBuf."""
|
515
|
+
return MetricRecord(
|
516
|
+
metric_dict=cast(
|
517
|
+
dict[str, typing.MetricRecordValues],
|
518
518
|
_record_value_dict_from_proto(record_proto.data),
|
519
519
|
),
|
520
520
|
keep_input=False,
|
521
521
|
)
|
522
522
|
|
523
523
|
|
524
|
-
def
|
525
|
-
"""Serialize
|
526
|
-
return
|
524
|
+
def config_record_to_proto(record: ConfigRecord) -> ProtoConfigRecord:
|
525
|
+
"""Serialize ConfigRecord to ProtoBuf."""
|
526
|
+
return ProtoConfigRecord(
|
527
527
|
data=_record_value_dict_to_proto(
|
528
528
|
record,
|
529
529
|
[bool, int, float, str, bytes],
|
530
|
-
|
530
|
+
ProtoConfigRecordValue,
|
531
531
|
)
|
532
532
|
)
|
533
533
|
|
534
534
|
|
535
|
-
def
|
536
|
-
"""Deserialize
|
537
|
-
return
|
538
|
-
|
539
|
-
dict[str, typing.
|
535
|
+
def config_record_from_proto(record_proto: ProtoConfigRecord) -> ConfigRecord:
|
536
|
+
"""Deserialize ConfigRecord from ProtoBuf."""
|
537
|
+
return ConfigRecord(
|
538
|
+
config_dict=cast(
|
539
|
+
dict[str, typing.ConfigRecordValues],
|
540
540
|
_record_value_dict_from_proto(record_proto.data),
|
541
541
|
),
|
542
542
|
keep_input=False,
|
@@ -564,15 +564,14 @@ def error_from_proto(error_proto: ProtoError) -> Error:
|
|
564
564
|
def recorddict_to_proto(recorddict: RecordDict) -> ProtoRecordDict:
|
565
565
|
"""Serialize RecordDict to ProtoBuf."""
|
566
566
|
return ProtoRecordDict(
|
567
|
-
|
568
|
-
k:
|
569
|
-
for k, v in recorddict.parameters_records.items()
|
567
|
+
arrays={
|
568
|
+
k: array_record_to_proto(v) for k, v in recorddict.array_records.items()
|
570
569
|
},
|
571
570
|
metrics={
|
572
|
-
k:
|
571
|
+
k: metric_record_to_proto(v) for k, v in recorddict.metric_records.items()
|
573
572
|
},
|
574
573
|
configs={
|
575
|
-
k:
|
574
|
+
k: config_record_to_proto(v) for k, v in recorddict.config_records.items()
|
576
575
|
},
|
577
576
|
)
|
578
577
|
|
@@ -580,12 +579,12 @@ def recorddict_to_proto(recorddict: RecordDict) -> ProtoRecordDict:
|
|
580
579
|
def recorddict_from_proto(recorddict_proto: ProtoRecordDict) -> RecordDict:
|
581
580
|
"""Deserialize RecordDict from ProtoBuf."""
|
582
581
|
ret = RecordDict()
|
583
|
-
for k,
|
584
|
-
ret[k] =
|
582
|
+
for k, arr_record_proto in recorddict_proto.arrays.items():
|
583
|
+
ret[k] = array_record_from_proto(arr_record_proto)
|
585
584
|
for k, m_record_proto in recorddict_proto.metrics.items():
|
586
|
-
ret[k] =
|
585
|
+
ret[k] = metric_record_from_proto(m_record_proto)
|
587
586
|
for k, c_record_proto in recorddict_proto.configs.items():
|
588
|
-
ret[k] =
|
587
|
+
ret[k] = config_record_from_proto(c_record_proto)
|
589
588
|
return ret
|
590
589
|
|
591
590
|
|
flwr/common/typing.py
CHANGED
@@ -45,14 +45,14 @@ Value = Union[
|
|
45
45
|
list[str],
|
46
46
|
]
|
47
47
|
|
48
|
-
# Value types for common.
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
# Value types for common.
|
53
|
-
|
54
|
-
|
55
|
-
|
48
|
+
# Value types for common.MetricRecord
|
49
|
+
MetricScalar = Union[int, float]
|
50
|
+
MetricScalarList = Union[list[int], list[float]]
|
51
|
+
MetricRecordValues = Union[MetricScalar, MetricScalarList]
|
52
|
+
# Value types for common.ConfigRecord
|
53
|
+
ConfigScalar = Union[MetricScalar, str, bytes, bool]
|
54
|
+
ConfigScalarList = Union[MetricScalarList, list[str], list[bytes], list[bool]]
|
55
|
+
ConfigRecordValues = Union[ConfigScalar, ConfigScalarList]
|
56
56
|
|
57
57
|
Metrics = dict[str, Scalar]
|
58
58
|
MetricsAggregationFn = Callable[[list[tuple[int, Metrics]]], Metrics]
|
flwr/proto/exec_pb2.py
CHANGED
@@ -18,7 +18,7 @@ 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\x1b\x66lwr/proto/recorddict.proto\x1a\x14\x66lwr/proto/run.proto\"\
|
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\"\xfa\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\x34\n\x12\x66\x65\x64\x65ration_options\x18\x03 \x01(\x0b\x32\x18.flwr.proto.ConfigRecord\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)
|
@@ -30,33 +30,33 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
30
30
|
_globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._options = None
|
31
31
|
_globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_options = b'8\001'
|
32
32
|
_globals['_STARTRUNREQUEST']._serialized_start=139
|
33
|
-
_globals['_STARTRUNREQUEST']._serialized_end=
|
34
|
-
_globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_start=
|
35
|
-
_globals['_STARTRUNREQUEST_OVERRIDECONFIGENTRY']._serialized_end=
|
36
|
-
_globals['_STARTRUNRESPONSE']._serialized_start=
|
37
|
-
_globals['_STARTRUNRESPONSE']._serialized_end=
|
38
|
-
_globals['_STREAMLOGSREQUEST']._serialized_start=
|
39
|
-
_globals['_STREAMLOGSREQUEST']._serialized_end=
|
40
|
-
_globals['_STREAMLOGSRESPONSE']._serialized_start=
|
41
|
-
_globals['_STREAMLOGSRESPONSE']._serialized_end=
|
42
|
-
_globals['_LISTRUNSREQUEST']._serialized_start=
|
43
|
-
_globals['_LISTRUNSREQUEST']._serialized_end=
|
44
|
-
_globals['_LISTRUNSRESPONSE']._serialized_start=
|
45
|
-
_globals['_LISTRUNSRESPONSE']._serialized_end=
|
46
|
-
_globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_start=
|
47
|
-
_globals['_LISTRUNSRESPONSE_RUNDICTENTRY']._serialized_end=
|
48
|
-
_globals['_GETLOGINDETAILSREQUEST']._serialized_start=
|
49
|
-
_globals['_GETLOGINDETAILSREQUEST']._serialized_end=
|
50
|
-
_globals['_GETLOGINDETAILSRESPONSE']._serialized_start=
|
51
|
-
_globals['_GETLOGINDETAILSRESPONSE']._serialized_end=
|
52
|
-
_globals['_GETAUTHTOKENSREQUEST']._serialized_start=
|
53
|
-
_globals['_GETAUTHTOKENSREQUEST']._serialized_end=
|
54
|
-
_globals['_GETAUTHTOKENSRESPONSE']._serialized_start=
|
55
|
-
_globals['_GETAUTHTOKENSRESPONSE']._serialized_end=
|
56
|
-
_globals['_STOPRUNREQUEST']._serialized_start=
|
57
|
-
_globals['_STOPRUNREQUEST']._serialized_end=
|
58
|
-
_globals['_STOPRUNRESPONSE']._serialized_start=
|
59
|
-
_globals['_STOPRUNRESPONSE']._serialized_end=
|
60
|
-
_globals['_EXEC']._serialized_start=
|
61
|
-
_globals['_EXEC']._serialized_end=
|
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
|
62
62
|
# @@protoc_insertion_point(module_scope)
|
flwr/proto/exec_pb2.pyi
CHANGED
@@ -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.recorddict_pb2.
|
43
|
+
def federation_options(self) -> flwr.proto.recorddict_pb2.ConfigRecord: ...
|
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.recorddict_pb2.
|
48
|
+
federation_options: typing.Optional[flwr.proto.recorddict_pb2.ConfigRecord] = ...,
|
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/recorddict_pb2.py
CHANGED
@@ -14,19 +14,19 @@ _sym_db = _symbol_database.Default()
|
|
14
14
|
|
15
15
|
|
16
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\"\
|
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\"\xd7\x01\n\x11MetricRecordValue\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\"\x91\x03\n\x11\x43onfigRecordValue\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\"H\n\x0b\x41rrayRecord\x12\x11\n\tdata_keys\x18\x01 \x03(\t\x12&\n\x0b\x64\x61ta_values\x18\x02 \x03(\x0b\x32\x11.flwr.proto.Array\"\x8c\x01\n\x0cMetricRecord\x12\x30\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\".flwr.proto.MetricRecord.DataEntry\x1aJ\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.flwr.proto.MetricRecordValue:\x02\x38\x01\"\x8c\x01\n\x0c\x43onfigRecord\x12\x30\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\".flwr.proto.ConfigRecord.DataEntry\x1aJ\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.flwr.proto.ConfigRecordValue:\x02\x38\x01\"\x88\x03\n\nRecordDict\x12\x32\n\x06\x61rrays\x18\x01 \x03(\x0b\x32\".flwr.proto.RecordDict.ArraysEntry\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\x1a\x46\n\x0b\x41rraysEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.flwr.proto.ArrayRecord:\x02\x38\x01\x1aH\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.flwr.proto.MetricRecord:\x02\x38\x01\x1aH\n\x0c\x43onfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.flwr.proto.ConfigRecord:\x02\x38\x01\x62\x06proto3')
|
18
18
|
|
19
19
|
_globals = globals()
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
21
21
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.recorddict_pb2', _globals)
|
22
22
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
23
23
|
DESCRIPTOR._options = None
|
24
|
-
_globals['
|
25
|
-
_globals['
|
26
|
-
_globals['
|
27
|
-
_globals['
|
28
|
-
_globals['
|
29
|
-
_globals['
|
24
|
+
_globals['_METRICRECORD_DATAENTRY']._options = None
|
25
|
+
_globals['_METRICRECORD_DATAENTRY']._serialized_options = b'8\001'
|
26
|
+
_globals['_CONFIGRECORD_DATAENTRY']._options = None
|
27
|
+
_globals['_CONFIGRECORD_DATAENTRY']._serialized_options = b'8\001'
|
28
|
+
_globals['_RECORDDICT_ARRAYSENTRY']._options = None
|
29
|
+
_globals['_RECORDDICT_ARRAYSENTRY']._serialized_options = b'8\001'
|
30
30
|
_globals['_RECORDDICT_METRICSENTRY']._options = None
|
31
31
|
_globals['_RECORDDICT_METRICSENTRY']._serialized_options = b'8\001'
|
32
32
|
_globals['_RECORDDICT_CONFIGSENTRY']._options = None
|
@@ -45,26 +45,26 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
45
45
|
_globals['_BYTESLIST']._serialized_end=202
|
46
46
|
_globals['_ARRAY']._serialized_start=204
|
47
47
|
_globals['_ARRAY']._serialized_end=270
|
48
|
-
_globals['
|
49
|
-
_globals['
|
50
|
-
_globals['
|
51
|
-
_globals['
|
52
|
-
_globals['
|
53
|
-
_globals['
|
54
|
-
_globals['
|
55
|
-
_globals['
|
56
|
-
_globals['
|
57
|
-
_globals['
|
58
|
-
_globals['
|
59
|
-
_globals['
|
60
|
-
_globals['
|
61
|
-
_globals['
|
62
|
-
_globals['_RECORDDICT']._serialized_start=
|
63
|
-
_globals['_RECORDDICT']._serialized_end=
|
64
|
-
_globals['
|
65
|
-
_globals['
|
66
|
-
_globals['_RECORDDICT_METRICSENTRY']._serialized_start=
|
67
|
-
_globals['_RECORDDICT_METRICSENTRY']._serialized_end=
|
68
|
-
_globals['_RECORDDICT_CONFIGSENTRY']._serialized_start=
|
69
|
-
_globals['_RECORDDICT_CONFIGSENTRY']._serialized_end=
|
48
|
+
_globals['_METRICRECORDVALUE']._serialized_start=273
|
49
|
+
_globals['_METRICRECORDVALUE']._serialized_end=488
|
50
|
+
_globals['_CONFIGRECORDVALUE']._serialized_start=491
|
51
|
+
_globals['_CONFIGRECORDVALUE']._serialized_end=892
|
52
|
+
_globals['_ARRAYRECORD']._serialized_start=894
|
53
|
+
_globals['_ARRAYRECORD']._serialized_end=966
|
54
|
+
_globals['_METRICRECORD']._serialized_start=969
|
55
|
+
_globals['_METRICRECORD']._serialized_end=1109
|
56
|
+
_globals['_METRICRECORD_DATAENTRY']._serialized_start=1035
|
57
|
+
_globals['_METRICRECORD_DATAENTRY']._serialized_end=1109
|
58
|
+
_globals['_CONFIGRECORD']._serialized_start=1112
|
59
|
+
_globals['_CONFIGRECORD']._serialized_end=1252
|
60
|
+
_globals['_CONFIGRECORD_DATAENTRY']._serialized_start=1178
|
61
|
+
_globals['_CONFIGRECORD_DATAENTRY']._serialized_end=1252
|
62
|
+
_globals['_RECORDDICT']._serialized_start=1255
|
63
|
+
_globals['_RECORDDICT']._serialized_end=1647
|
64
|
+
_globals['_RECORDDICT_ARRAYSENTRY']._serialized_start=1429
|
65
|
+
_globals['_RECORDDICT_ARRAYSENTRY']._serialized_end=1499
|
66
|
+
_globals['_RECORDDICT_METRICSENTRY']._serialized_start=1501
|
67
|
+
_globals['_RECORDDICT_METRICSENTRY']._serialized_end=1573
|
68
|
+
_globals['_RECORDDICT_CONFIGSENTRY']._serialized_start=1575
|
69
|
+
_globals['_RECORDDICT_CONFIGSENTRY']._serialized_end=1647
|
70
70
|
# @@protoc_insertion_point(module_scope)
|
flwr/proto/recorddict_pb2.pyi
CHANGED
@@ -104,7 +104,7 @@ class Array(google.protobuf.message.Message):
|
|
104
104
|
def ClearField(self, field_name: typing_extensions.Literal["data",b"data","dtype",b"dtype","shape",b"shape","stype",b"stype"]) -> None: ...
|
105
105
|
global___Array = Array
|
106
106
|
|
107
|
-
class
|
107
|
+
class MetricRecordValue(google.protobuf.message.Message):
|
108
108
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
109
109
|
DOUBLE_FIELD_NUMBER: builtins.int
|
110
110
|
SINT64_FIELD_NUMBER: builtins.int
|
@@ -137,9 +137,9 @@ class MetricsRecordValue(google.protobuf.message.Message):
|
|
137
137
|
def HasField(self, field_name: typing_extensions.Literal["double",b"double","double_list",b"double_list","sint64",b"sint64","sint_list",b"sint_list","uint64",b"uint64","uint_list",b"uint_list","value",b"value"]) -> builtins.bool: ...
|
138
138
|
def ClearField(self, field_name: typing_extensions.Literal["double",b"double","double_list",b"double_list","sint64",b"sint64","sint_list",b"sint_list","uint64",b"uint64","uint_list",b"uint_list","value",b"value"]) -> None: ...
|
139
139
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["value",b"value"]) -> typing.Optional[typing_extensions.Literal["double","sint64","uint64","double_list","sint_list","uint_list"]]: ...
|
140
|
-
|
140
|
+
global___MetricRecordValue = MetricRecordValue
|
141
141
|
|
142
|
-
class
|
142
|
+
class ConfigRecordValue(google.protobuf.message.Message):
|
143
143
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
144
144
|
DOUBLE_FIELD_NUMBER: builtins.int
|
145
145
|
SINT64_FIELD_NUMBER: builtins.int
|
@@ -193,9 +193,9 @@ class ConfigsRecordValue(google.protobuf.message.Message):
|
|
193
193
|
def HasField(self, field_name: typing_extensions.Literal["bool",b"bool","bool_list",b"bool_list","bytes",b"bytes","bytes_list",b"bytes_list","double",b"double","double_list",b"double_list","sint64",b"sint64","sint_list",b"sint_list","string",b"string","string_list",b"string_list","uint64",b"uint64","uint_list",b"uint_list","value",b"value"]) -> builtins.bool: ...
|
194
194
|
def ClearField(self, field_name: typing_extensions.Literal["bool",b"bool","bool_list",b"bool_list","bytes",b"bytes","bytes_list",b"bytes_list","double",b"double","double_list",b"double_list","sint64",b"sint64","sint_list",b"sint_list","string",b"string","string_list",b"string_list","uint64",b"uint64","uint_list",b"uint_list","value",b"value"]) -> None: ...
|
195
195
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["value",b"value"]) -> typing.Optional[typing_extensions.Literal["double","sint64","uint64","bool","string","bytes","double_list","sint_list","uint_list","bool_list","string_list","bytes_list"]]: ...
|
196
|
-
|
196
|
+
global___ConfigRecordValue = ConfigRecordValue
|
197
197
|
|
198
|
-
class
|
198
|
+
class ArrayRecord(google.protobuf.message.Message):
|
199
199
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
200
200
|
DATA_KEYS_FIELD_NUMBER: builtins.int
|
201
201
|
DATA_VALUES_FIELD_NUMBER: builtins.int
|
@@ -209,9 +209,9 @@ class ParametersRecord(google.protobuf.message.Message):
|
|
209
209
|
data_values: typing.Optional[typing.Iterable[global___Array]] = ...,
|
210
210
|
) -> None: ...
|
211
211
|
def ClearField(self, field_name: typing_extensions.Literal["data_keys",b"data_keys","data_values",b"data_values"]) -> None: ...
|
212
|
-
|
212
|
+
global___ArrayRecord = ArrayRecord
|
213
213
|
|
214
|
-
class
|
214
|
+
class MetricRecord(google.protobuf.message.Message):
|
215
215
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
216
216
|
class DataEntry(google.protobuf.message.Message):
|
217
217
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
@@ -219,26 +219,26 @@ class MetricsRecord(google.protobuf.message.Message):
|
|
219
219
|
VALUE_FIELD_NUMBER: builtins.int
|
220
220
|
key: typing.Text
|
221
221
|
@property
|
222
|
-
def value(self) ->
|
222
|
+
def value(self) -> global___MetricRecordValue: ...
|
223
223
|
def __init__(self,
|
224
224
|
*,
|
225
225
|
key: typing.Text = ...,
|
226
|
-
value: typing.Optional[
|
226
|
+
value: typing.Optional[global___MetricRecordValue] = ...,
|
227
227
|
) -> None: ...
|
228
228
|
def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
|
229
229
|
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
230
230
|
|
231
231
|
DATA_FIELD_NUMBER: builtins.int
|
232
232
|
@property
|
233
|
-
def data(self) -> google.protobuf.internal.containers.MessageMap[typing.Text,
|
233
|
+
def data(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___MetricRecordValue]: ...
|
234
234
|
def __init__(self,
|
235
235
|
*,
|
236
|
-
data: typing.Optional[typing.Mapping[typing.Text,
|
236
|
+
data: typing.Optional[typing.Mapping[typing.Text, global___MetricRecordValue]] = ...,
|
237
237
|
) -> None: ...
|
238
238
|
def ClearField(self, field_name: typing_extensions.Literal["data",b"data"]) -> None: ...
|
239
|
-
|
239
|
+
global___MetricRecord = MetricRecord
|
240
240
|
|
241
|
-
class
|
241
|
+
class ConfigRecord(google.protobuf.message.Message):
|
242
242
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
243
243
|
class DataEntry(google.protobuf.message.Message):
|
244
244
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
@@ -246,38 +246,38 @@ class ConfigsRecord(google.protobuf.message.Message):
|
|
246
246
|
VALUE_FIELD_NUMBER: builtins.int
|
247
247
|
key: typing.Text
|
248
248
|
@property
|
249
|
-
def value(self) ->
|
249
|
+
def value(self) -> global___ConfigRecordValue: ...
|
250
250
|
def __init__(self,
|
251
251
|
*,
|
252
252
|
key: typing.Text = ...,
|
253
|
-
value: typing.Optional[
|
253
|
+
value: typing.Optional[global___ConfigRecordValue] = ...,
|
254
254
|
) -> None: ...
|
255
255
|
def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
|
256
256
|
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
257
257
|
|
258
258
|
DATA_FIELD_NUMBER: builtins.int
|
259
259
|
@property
|
260
|
-
def data(self) -> google.protobuf.internal.containers.MessageMap[typing.Text,
|
260
|
+
def data(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___ConfigRecordValue]: ...
|
261
261
|
def __init__(self,
|
262
262
|
*,
|
263
|
-
data: typing.Optional[typing.Mapping[typing.Text,
|
263
|
+
data: typing.Optional[typing.Mapping[typing.Text, global___ConfigRecordValue]] = ...,
|
264
264
|
) -> None: ...
|
265
265
|
def ClearField(self, field_name: typing_extensions.Literal["data",b"data"]) -> None: ...
|
266
|
-
|
266
|
+
global___ConfigRecord = ConfigRecord
|
267
267
|
|
268
268
|
class RecordDict(google.protobuf.message.Message):
|
269
269
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
270
|
-
class
|
270
|
+
class ArraysEntry(google.protobuf.message.Message):
|
271
271
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
272
272
|
KEY_FIELD_NUMBER: builtins.int
|
273
273
|
VALUE_FIELD_NUMBER: builtins.int
|
274
274
|
key: typing.Text
|
275
275
|
@property
|
276
|
-
def value(self) ->
|
276
|
+
def value(self) -> global___ArrayRecord: ...
|
277
277
|
def __init__(self,
|
278
278
|
*,
|
279
279
|
key: typing.Text = ...,
|
280
|
-
value: typing.Optional[
|
280
|
+
value: typing.Optional[global___ArrayRecord] = ...,
|
281
281
|
) -> None: ...
|
282
282
|
def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
|
283
283
|
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
@@ -288,11 +288,11 @@ class RecordDict(google.protobuf.message.Message):
|
|
288
288
|
VALUE_FIELD_NUMBER: builtins.int
|
289
289
|
key: typing.Text
|
290
290
|
@property
|
291
|
-
def value(self) ->
|
291
|
+
def value(self) -> global___MetricRecord: ...
|
292
292
|
def __init__(self,
|
293
293
|
*,
|
294
294
|
key: typing.Text = ...,
|
295
|
-
value: typing.Optional[
|
295
|
+
value: typing.Optional[global___MetricRecord] = ...,
|
296
296
|
) -> None: ...
|
297
297
|
def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
|
298
298
|
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
@@ -303,29 +303,29 @@ class RecordDict(google.protobuf.message.Message):
|
|
303
303
|
VALUE_FIELD_NUMBER: builtins.int
|
304
304
|
key: typing.Text
|
305
305
|
@property
|
306
|
-
def value(self) ->
|
306
|
+
def value(self) -> global___ConfigRecord: ...
|
307
307
|
def __init__(self,
|
308
308
|
*,
|
309
309
|
key: typing.Text = ...,
|
310
|
-
value: typing.Optional[
|
310
|
+
value: typing.Optional[global___ConfigRecord] = ...,
|
311
311
|
) -> None: ...
|
312
312
|
def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
|
313
313
|
def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
|
314
314
|
|
315
|
-
|
315
|
+
ARRAYS_FIELD_NUMBER: builtins.int
|
316
316
|
METRICS_FIELD_NUMBER: builtins.int
|
317
317
|
CONFIGS_FIELD_NUMBER: builtins.int
|
318
318
|
@property
|
319
|
-
def
|
319
|
+
def arrays(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___ArrayRecord]: ...
|
320
320
|
@property
|
321
|
-
def metrics(self) -> google.protobuf.internal.containers.MessageMap[typing.Text,
|
321
|
+
def metrics(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___MetricRecord]: ...
|
322
322
|
@property
|
323
|
-
def configs(self) -> google.protobuf.internal.containers.MessageMap[typing.Text,
|
323
|
+
def configs(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___ConfigRecord]: ...
|
324
324
|
def __init__(self,
|
325
325
|
*,
|
326
|
-
|
327
|
-
metrics: typing.Optional[typing.Mapping[typing.Text,
|
328
|
-
configs: typing.Optional[typing.Mapping[typing.Text,
|
326
|
+
arrays: typing.Optional[typing.Mapping[typing.Text, global___ArrayRecord]] = ...,
|
327
|
+
metrics: typing.Optional[typing.Mapping[typing.Text, global___MetricRecord]] = ...,
|
328
|
+
configs: typing.Optional[typing.Mapping[typing.Text, global___ConfigRecord]] = ...,
|
329
329
|
) -> None: ...
|
330
|
-
def ClearField(self, field_name: typing_extensions.Literal["
|
330
|
+
def ClearField(self, field_name: typing_extensions.Literal["arrays",b"arrays","configs",b"configs","metrics",b"metrics"]) -> None: ...
|
331
331
|
global___RecordDict = RecordDict
|
flwr/proto/run_pb2.py
CHANGED
@@ -18,7 +18,7 @@ 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\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\"
|
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\"T\n\x1cGetFederationOptionsResponse\x12\x34\n\x12\x66\x65\x64\x65ration_options\x18\x01 \x01(\x0b\x32\x18.flwr.proto.ConfigRecordb\x06proto3')
|
22
22
|
|
23
23
|
_globals = globals()
|
24
24
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -60,5 +60,5 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
60
60
|
_globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_start=1293
|
61
61
|
_globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_end=1338
|
62
62
|
_globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_start=1340
|
63
|
-
_globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_end=
|
63
|
+
_globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_end=1424
|
64
64
|
# @@protoc_insertion_point(module_scope)
|
flwr/proto/run_pb2.pyi
CHANGED
@@ -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.recorddict_pb2.
|
261
|
+
def federation_options(self) -> flwr.proto.recorddict_pb2.ConfigRecord: ...
|
262
262
|
def __init__(self,
|
263
263
|
*,
|
264
|
-
federation_options: typing.Optional[flwr.proto.recorddict_pb2.
|
264
|
+
federation_options: typing.Optional[flwr.proto.recorddict_pb2.ConfigRecord] = ...,
|
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: ...
|
@@ -21,9 +21,9 @@ from typing import Callable
|
|
21
21
|
from flwr.client.client_app import ClientApp
|
22
22
|
from flwr.common.context import Context
|
23
23
|
from flwr.common.message import Message
|
24
|
-
from flwr.common.typing import
|
24
|
+
from flwr.common.typing import ConfigRecordValues
|
25
25
|
|
26
|
-
BackendConfig = dict[str, dict[str,
|
26
|
+
BackendConfig = dict[str, dict[str, ConfigRecordValues]]
|
27
27
|
|
28
28
|
|
29
29
|
class Backend(ABC):
|