flwr 1.23.0__py3-none-any.whl → 1.24.0__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/__init__.py +16 -5
- flwr/app/error.py +2 -2
- flwr/app/exception.py +3 -3
- flwr/cli/app.py +19 -0
- flwr/cli/app_cmd/__init__.py +23 -0
- flwr/cli/app_cmd/publish.py +285 -0
- flwr/cli/app_cmd/review.py +252 -0
- flwr/cli/auth_plugin/auth_plugin.py +4 -5
- flwr/cli/auth_plugin/noop_auth_plugin.py +54 -11
- flwr/cli/auth_plugin/oidc_cli_plugin.py +32 -9
- flwr/cli/build.py +60 -18
- flwr/cli/cli_account_auth_interceptor.py +24 -7
- flwr/cli/config_utils.py +101 -13
- flwr/cli/federation/__init__.py +24 -0
- flwr/cli/federation/ls.py +140 -0
- flwr/cli/federation/show.py +317 -0
- flwr/cli/install.py +91 -13
- flwr/cli/log.py +52 -9
- flwr/cli/login/login.py +7 -4
- flwr/cli/ls.py +170 -130
- flwr/cli/new/new.py +33 -50
- flwr/cli/new/templates/app/code/task.pytorch.py.tpl +1 -0
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +3 -3
- flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +1 -1
- flwr/cli/pull.py +10 -5
- flwr/cli/run/run.py +77 -30
- flwr/cli/run_utils.py +130 -0
- flwr/cli/stop.py +25 -7
- flwr/cli/supernode/ls.py +16 -8
- flwr/cli/supernode/register.py +9 -4
- flwr/cli/supernode/unregister.py +5 -3
- flwr/cli/utils.py +376 -16
- flwr/client/__init__.py +1 -1
- flwr/client/dpfedavg_numpy_client.py +4 -1
- flwr/client/grpc_adapter_client/connection.py +6 -7
- flwr/client/grpc_rere_client/connection.py +10 -11
- flwr/client/grpc_rere_client/grpc_adapter.py +6 -2
- flwr/client/grpc_rere_client/node_auth_client_interceptor.py +2 -1
- flwr/client/message_handler/message_handler.py +2 -2
- flwr/client/mod/secure_aggregation/secaggplus_mod.py +3 -3
- flwr/client/numpy_client.py +1 -1
- flwr/client/rest_client/connection.py +12 -14
- flwr/client/run_info_store.py +4 -5
- flwr/client/typing.py +1 -1
- flwr/clientapp/client_app.py +9 -10
- flwr/clientapp/mod/centraldp_mods.py +16 -17
- flwr/clientapp/mod/localdp_mod.py +8 -9
- flwr/clientapp/typing.py +1 -1
- flwr/clientapp/utils.py +3 -3
- flwr/common/address.py +1 -2
- flwr/common/args.py +3 -4
- flwr/common/config.py +13 -16
- flwr/common/constant.py +5 -2
- flwr/common/differential_privacy.py +3 -4
- flwr/common/event_log_plugin/event_log_plugin.py +3 -4
- flwr/common/exit/exit.py +15 -2
- flwr/common/exit/exit_code.py +19 -0
- flwr/common/exit/exit_handler.py +6 -2
- flwr/common/exit/signal_handler.py +5 -5
- flwr/common/grpc.py +6 -6
- flwr/common/inflatable_protobuf_utils.py +1 -1
- flwr/common/inflatable_utils.py +38 -21
- flwr/common/logger.py +19 -19
- flwr/common/message.py +4 -4
- flwr/common/object_ref.py +7 -7
- flwr/common/record/array.py +3 -3
- flwr/common/record/arrayrecord.py +18 -30
- flwr/common/record/configrecord.py +3 -3
- flwr/common/record/recorddict.py +5 -5
- flwr/common/record/typeddict.py +9 -2
- flwr/common/recorddict_compat.py +7 -10
- flwr/common/retry_invoker.py +20 -20
- flwr/common/secure_aggregation/ndarrays_arithmetic.py +3 -3
- flwr/common/serde.py +5 -4
- flwr/common/serde_utils.py +2 -2
- flwr/common/telemetry.py +9 -5
- flwr/common/typing.py +52 -37
- flwr/compat/client/app.py +38 -37
- flwr/compat/client/grpc_client/connection.py +11 -11
- flwr/compat/server/app.py +5 -6
- flwr/proto/appio_pb2.py +13 -3
- flwr/proto/appio_pb2.pyi +134 -65
- flwr/proto/appio_pb2_grpc.py +20 -0
- flwr/proto/appio_pb2_grpc.pyi +27 -0
- flwr/proto/clientappio_pb2.py +17 -7
- flwr/proto/clientappio_pb2.pyi +15 -0
- flwr/proto/clientappio_pb2_grpc.py +206 -40
- flwr/proto/clientappio_pb2_grpc.pyi +168 -53
- flwr/proto/control_pb2.py +71 -52
- flwr/proto/control_pb2.pyi +277 -111
- flwr/proto/control_pb2_grpc.py +249 -40
- flwr/proto/control_pb2_grpc.pyi +185 -52
- flwr/proto/error_pb2.py +13 -3
- flwr/proto/error_pb2.pyi +24 -6
- flwr/proto/error_pb2_grpc.py +20 -0
- flwr/proto/error_pb2_grpc.pyi +27 -0
- flwr/proto/fab_pb2.py +14 -4
- flwr/proto/fab_pb2.pyi +59 -31
- flwr/proto/fab_pb2_grpc.py +20 -0
- flwr/proto/fab_pb2_grpc.pyi +27 -0
- flwr/proto/federation_pb2.py +38 -0
- flwr/proto/federation_pb2.pyi +56 -0
- flwr/proto/federation_pb2_grpc.py +24 -0
- flwr/proto/federation_pb2_grpc.pyi +31 -0
- flwr/proto/fleet_pb2.py +14 -4
- flwr/proto/fleet_pb2.pyi +137 -61
- flwr/proto/fleet_pb2_grpc.py +189 -48
- flwr/proto/fleet_pb2_grpc.pyi +175 -61
- flwr/proto/grpcadapter_pb2.py +14 -4
- flwr/proto/grpcadapter_pb2.pyi +38 -16
- flwr/proto/grpcadapter_pb2_grpc.py +35 -4
- flwr/proto/grpcadapter_pb2_grpc.pyi +38 -7
- flwr/proto/heartbeat_pb2.py +17 -7
- flwr/proto/heartbeat_pb2.pyi +51 -22
- flwr/proto/heartbeat_pb2_grpc.py +20 -0
- flwr/proto/heartbeat_pb2_grpc.pyi +27 -0
- flwr/proto/log_pb2.py +13 -3
- flwr/proto/log_pb2.pyi +34 -11
- flwr/proto/log_pb2_grpc.py +20 -0
- flwr/proto/log_pb2_grpc.pyi +27 -0
- flwr/proto/message_pb2.py +15 -5
- flwr/proto/message_pb2.pyi +154 -86
- flwr/proto/message_pb2_grpc.py +20 -0
- flwr/proto/message_pb2_grpc.pyi +27 -0
- flwr/proto/node_pb2.py +15 -5
- flwr/proto/node_pb2.pyi +50 -25
- flwr/proto/node_pb2_grpc.py +20 -0
- flwr/proto/node_pb2_grpc.pyi +27 -0
- flwr/proto/recorddict_pb2.py +13 -3
- flwr/proto/recorddict_pb2.pyi +184 -107
- flwr/proto/recorddict_pb2_grpc.py +20 -0
- flwr/proto/recorddict_pb2_grpc.pyi +27 -0
- flwr/proto/run_pb2.py +40 -31
- flwr/proto/run_pb2.pyi +149 -84
- flwr/proto/run_pb2_grpc.py +20 -0
- flwr/proto/run_pb2_grpc.pyi +27 -0
- flwr/proto/serverappio_pb2.py +13 -3
- flwr/proto/serverappio_pb2.pyi +32 -8
- flwr/proto/serverappio_pb2_grpc.py +246 -65
- flwr/proto/serverappio_pb2_grpc.pyi +221 -85
- flwr/proto/simulationio_pb2.py +16 -8
- flwr/proto/simulationio_pb2.pyi +15 -0
- flwr/proto/simulationio_pb2_grpc.py +162 -41
- flwr/proto/simulationio_pb2_grpc.pyi +149 -55
- flwr/proto/transport_pb2.py +20 -10
- flwr/proto/transport_pb2.pyi +249 -160
- flwr/proto/transport_pb2_grpc.py +35 -4
- flwr/proto/transport_pb2_grpc.pyi +38 -8
- flwr/server/app.py +38 -17
- flwr/server/client_manager.py +4 -5
- flwr/server/client_proxy.py +10 -11
- flwr/server/compat/app.py +4 -5
- flwr/server/compat/app_utils.py +2 -1
- flwr/server/compat/grid_client_proxy.py +10 -12
- flwr/server/compat/legacy_context.py +3 -4
- flwr/server/fleet_event_log_interceptor.py +2 -1
- flwr/server/grid/grid.py +2 -3
- flwr/server/grid/grpc_grid.py +10 -8
- flwr/server/grid/inmemory_grid.py +4 -4
- flwr/server/run_serverapp.py +2 -3
- flwr/server/server.py +34 -39
- flwr/server/server_app.py +7 -8
- flwr/server/server_config.py +1 -2
- flwr/server/serverapp/app.py +34 -28
- flwr/server/serverapp_components.py +4 -5
- flwr/server/strategy/aggregate.py +9 -8
- flwr/server/strategy/bulyan.py +13 -11
- flwr/server/strategy/dp_adaptive_clipping.py +16 -20
- flwr/server/strategy/dp_fixed_clipping.py +12 -17
- flwr/server/strategy/dpfedavg_adaptive.py +3 -4
- flwr/server/strategy/dpfedavg_fixed.py +6 -10
- flwr/server/strategy/fault_tolerant_fedavg.py +14 -13
- flwr/server/strategy/fedadagrad.py +18 -14
- flwr/server/strategy/fedadam.py +16 -14
- flwr/server/strategy/fedavg.py +16 -17
- flwr/server/strategy/fedavg_android.py +15 -15
- flwr/server/strategy/fedavgm.py +21 -18
- flwr/server/strategy/fedmedian.py +2 -3
- flwr/server/strategy/fedopt.py +11 -10
- flwr/server/strategy/fedprox.py +10 -9
- flwr/server/strategy/fedtrimmedavg.py +12 -11
- flwr/server/strategy/fedxgb_bagging.py +13 -11
- flwr/server/strategy/fedxgb_cyclic.py +6 -6
- flwr/server/strategy/fedxgb_nn_avg.py +4 -4
- flwr/server/strategy/fedyogi.py +16 -14
- flwr/server/strategy/krum.py +12 -11
- flwr/server/strategy/qfedavg.py +16 -15
- flwr/server/strategy/strategy.py +6 -9
- flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +2 -1
- flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -2
- flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +3 -4
- flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +10 -12
- flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +1 -3
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +4 -4
- flwr/server/superlink/fleet/grpc_rere/node_auth_server_interceptor.py +3 -2
- flwr/server/superlink/fleet/message_handler/message_handler.py +34 -28
- flwr/server/superlink/fleet/rest_rere/rest_api.py +2 -2
- flwr/server/superlink/fleet/vce/backend/backend.py +1 -1
- flwr/server/superlink/fleet/vce/backend/raybackend.py +5 -5
- flwr/server/superlink/fleet/vce/vce_api.py +15 -9
- flwr/server/superlink/linkstate/in_memory_linkstate.py +115 -150
- flwr/server/superlink/linkstate/linkstate.py +59 -43
- flwr/server/superlink/linkstate/linkstate_factory.py +22 -5
- flwr/server/superlink/linkstate/sqlite_linkstate.py +447 -438
- flwr/server/superlink/linkstate/utils.py +6 -6
- flwr/server/superlink/serverappio/serverappio_grpc.py +1 -2
- flwr/server/superlink/serverappio/serverappio_servicer.py +26 -21
- flwr/server/superlink/simulation/simulationio_grpc.py +1 -2
- flwr/server/superlink/simulation/simulationio_servicer.py +18 -13
- flwr/server/superlink/utils.py +4 -6
- flwr/server/typing.py +1 -1
- flwr/server/utils/tensorboard.py +15 -8
- flwr/server/workflow/default_workflows.py +5 -5
- flwr/server/workflow/secure_aggregation/secagg_workflow.py +2 -4
- flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +8 -8
- flwr/serverapp/strategy/bulyan.py +16 -15
- flwr/serverapp/strategy/dp_adaptive_clipping.py +12 -11
- flwr/serverapp/strategy/dp_fixed_clipping.py +11 -14
- flwr/serverapp/strategy/fedadagrad.py +10 -11
- flwr/serverapp/strategy/fedadam.py +10 -11
- flwr/serverapp/strategy/fedavg.py +9 -10
- flwr/serverapp/strategy/fedavgm.py +17 -16
- flwr/serverapp/strategy/fedmedian.py +2 -2
- flwr/serverapp/strategy/fedopt.py +10 -11
- flwr/serverapp/strategy/fedprox.py +7 -8
- flwr/serverapp/strategy/fedtrimmedavg.py +9 -9
- flwr/serverapp/strategy/fedxgb_bagging.py +3 -3
- flwr/serverapp/strategy/fedxgb_cyclic.py +9 -9
- flwr/serverapp/strategy/fedyogi.py +9 -11
- flwr/serverapp/strategy/krum.py +7 -7
- flwr/serverapp/strategy/multikrum.py +9 -9
- flwr/serverapp/strategy/qfedavg.py +17 -16
- flwr/serverapp/strategy/strategy.py +6 -9
- flwr/serverapp/strategy/strategy_utils.py +7 -8
- flwr/simulation/app.py +46 -42
- flwr/simulation/legacy_app.py +12 -12
- flwr/simulation/ray_transport/ray_actor.py +10 -11
- flwr/simulation/ray_transport/ray_client_proxy.py +11 -12
- flwr/simulation/run_simulation.py +43 -43
- flwr/simulation/simulationio_connection.py +4 -4
- flwr/supercore/cli/flower_superexec.py +3 -4
- flwr/supercore/constant.py +31 -1
- flwr/supercore/corestate/corestate.py +24 -3
- flwr/supercore/corestate/in_memory_corestate.py +138 -0
- flwr/supercore/corestate/sqlite_corestate.py +157 -0
- flwr/supercore/ffs/disk_ffs.py +1 -2
- flwr/supercore/ffs/ffs.py +1 -2
- flwr/supercore/ffs/ffs_factory.py +1 -2
- flwr/{common → supercore}/heartbeat.py +20 -25
- flwr/supercore/object_store/in_memory_object_store.py +1 -2
- flwr/supercore/object_store/object_store.py +1 -2
- flwr/supercore/object_store/object_store_factory.py +1 -2
- flwr/supercore/object_store/sqlite_object_store.py +8 -7
- flwr/supercore/primitives/asymmetric.py +1 -1
- flwr/supercore/primitives/asymmetric_ed25519.py +11 -1
- flwr/supercore/sqlite_mixin.py +37 -34
- flwr/supercore/superexec/plugin/base_exec_plugin.py +1 -2
- flwr/supercore/superexec/plugin/exec_plugin.py +3 -3
- flwr/supercore/superexec/run_superexec.py +9 -13
- flwr/superlink/artifact_provider/artifact_provider.py +1 -2
- flwr/superlink/auth_plugin/auth_plugin.py +6 -9
- flwr/superlink/auth_plugin/noop_auth_plugin.py +6 -9
- flwr/superlink/federation/__init__.py +24 -0
- flwr/superlink/federation/federation_manager.py +64 -0
- flwr/superlink/federation/noop_federation_manager.py +71 -0
- flwr/superlink/servicer/control/control_account_auth_interceptor.py +22 -13
- flwr/superlink/servicer/control/control_event_log_interceptor.py +7 -7
- flwr/superlink/servicer/control/control_grpc.py +5 -6
- flwr/superlink/servicer/control/control_license_interceptor.py +3 -3
- flwr/superlink/servicer/control/control_servicer.py +102 -18
- flwr/supernode/cli/flower_supernode.py +58 -3
- flwr/supernode/nodestate/in_memory_nodestate.py +60 -49
- flwr/supernode/nodestate/nodestate.py +7 -8
- flwr/supernode/nodestate/nodestate_factory.py +7 -4
- flwr/supernode/runtime/run_clientapp.py +41 -22
- flwr/supernode/servicer/clientappio/clientappio_servicer.py +40 -10
- flwr/supernode/start_client_internal.py +158 -42
- {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/METADATA +8 -8
- flwr-1.24.0.dist-info/RECORD +454 -0
- flwr/supercore/object_store/utils.py +0 -43
- flwr-1.23.0.dist-info/RECORD +0 -439
- {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/WHEEL +0 -0
- {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/entry_points.txt +0 -0
flwr/proto/control_pb2.pyi
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
"""
|
|
2
2
|
@generated by mypy-protobuf. Do not edit manually!
|
|
3
3
|
isort:skip_file
|
|
4
|
+
Copyright 2024 Flower Labs GmbH. All Rights Reserved.
|
|
5
|
+
|
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
you may not use this file except in compliance with the License.
|
|
8
|
+
You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
See the License for the specific language governing permissions and
|
|
16
|
+
limitations under the License.
|
|
17
|
+
==============================================================================
|
|
4
18
|
"""
|
|
19
|
+
|
|
5
20
|
import builtins
|
|
21
|
+
import collections.abc
|
|
6
22
|
import flwr.proto.fab_pb2
|
|
23
|
+
import flwr.proto.federation_pb2
|
|
7
24
|
import flwr.proto.node_pb2
|
|
8
25
|
import flwr.proto.recorddict_pb2
|
|
9
26
|
import flwr.proto.run_pb2
|
|
@@ -12,291 +29,440 @@ import google.protobuf.descriptor
|
|
|
12
29
|
import google.protobuf.internal.containers
|
|
13
30
|
import google.protobuf.message
|
|
14
31
|
import typing
|
|
15
|
-
import typing_extensions
|
|
16
32
|
|
|
17
33
|
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
18
34
|
|
|
35
|
+
@typing.final
|
|
19
36
|
class StartRunRequest(google.protobuf.message.Message):
|
|
20
37
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
38
|
+
|
|
39
|
+
@typing.final
|
|
21
40
|
class OverrideConfigEntry(google.protobuf.message.Message):
|
|
22
41
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
42
|
+
|
|
23
43
|
KEY_FIELD_NUMBER: builtins.int
|
|
24
44
|
VALUE_FIELD_NUMBER: builtins.int
|
|
25
|
-
key:
|
|
45
|
+
key: builtins.str
|
|
26
46
|
@property
|
|
27
47
|
def value(self) -> flwr.proto.transport_pb2.Scalar: ...
|
|
28
|
-
def __init__(
|
|
48
|
+
def __init__(
|
|
49
|
+
self,
|
|
29
50
|
*,
|
|
30
|
-
key:
|
|
31
|
-
value:
|
|
32
|
-
|
|
33
|
-
def HasField(self, field_name:
|
|
34
|
-
def ClearField(self, field_name:
|
|
51
|
+
key: builtins.str = ...,
|
|
52
|
+
value: flwr.proto.transport_pb2.Scalar | None = ...,
|
|
53
|
+
) -> None: ...
|
|
54
|
+
def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
|
|
55
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
35
56
|
|
|
36
57
|
FAB_FIELD_NUMBER: builtins.int
|
|
37
58
|
OVERRIDE_CONFIG_FIELD_NUMBER: builtins.int
|
|
38
59
|
FEDERATION_OPTIONS_FIELD_NUMBER: builtins.int
|
|
39
|
-
|
|
60
|
+
APP_SPEC_FIELD_NUMBER: builtins.int
|
|
61
|
+
FEDERATION_FIELD_NUMBER: builtins.int
|
|
62
|
+
app_spec: builtins.str
|
|
63
|
+
federation: builtins.str
|
|
40
64
|
@property
|
|
41
65
|
def fab(self) -> flwr.proto.fab_pb2.Fab: ...
|
|
42
66
|
@property
|
|
43
|
-
def override_config(self) -> google.protobuf.internal.containers.MessageMap[
|
|
67
|
+
def override_config(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, flwr.proto.transport_pb2.Scalar]: ...
|
|
44
68
|
@property
|
|
45
69
|
def federation_options(self) -> flwr.proto.recorddict_pb2.ConfigRecord: ...
|
|
46
|
-
|
|
47
|
-
|
|
70
|
+
def __init__(
|
|
71
|
+
self,
|
|
48
72
|
*,
|
|
49
|
-
fab:
|
|
50
|
-
override_config:
|
|
51
|
-
federation_options:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
def
|
|
73
|
+
fab: flwr.proto.fab_pb2.Fab | None = ...,
|
|
74
|
+
override_config: collections.abc.Mapping[builtins.str, flwr.proto.transport_pb2.Scalar] | None = ...,
|
|
75
|
+
federation_options: flwr.proto.recorddict_pb2.ConfigRecord | None = ...,
|
|
76
|
+
app_spec: builtins.str = ...,
|
|
77
|
+
federation: builtins.str = ...,
|
|
78
|
+
) -> None: ...
|
|
79
|
+
def HasField(self, field_name: typing.Literal["fab", b"fab", "federation_options", b"federation_options"]) -> builtins.bool: ...
|
|
80
|
+
def ClearField(self, field_name: typing.Literal["app_spec", b"app_spec", "fab", b"fab", "federation", b"federation", "federation_options", b"federation_options", "override_config", b"override_config"]) -> None: ...
|
|
81
|
+
|
|
56
82
|
global___StartRunRequest = StartRunRequest
|
|
57
83
|
|
|
84
|
+
@typing.final
|
|
58
85
|
class StartRunResponse(google.protobuf.message.Message):
|
|
59
86
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
87
|
+
|
|
60
88
|
RUN_ID_FIELD_NUMBER: builtins.int
|
|
61
89
|
run_id: builtins.int
|
|
62
|
-
def __init__(
|
|
90
|
+
def __init__(
|
|
91
|
+
self,
|
|
63
92
|
*,
|
|
64
|
-
run_id:
|
|
65
|
-
|
|
66
|
-
def HasField(self, field_name:
|
|
67
|
-
def ClearField(self, field_name:
|
|
68
|
-
def WhichOneof(self, oneof_group:
|
|
93
|
+
run_id: builtins.int | None = ...,
|
|
94
|
+
) -> None: ...
|
|
95
|
+
def HasField(self, field_name: typing.Literal["_run_id", b"_run_id", "run_id", b"run_id"]) -> builtins.bool: ...
|
|
96
|
+
def ClearField(self, field_name: typing.Literal["_run_id", b"_run_id", "run_id", b"run_id"]) -> None: ...
|
|
97
|
+
def WhichOneof(self, oneof_group: typing.Literal["_run_id", b"_run_id"]) -> typing.Literal["run_id"] | None: ...
|
|
98
|
+
|
|
69
99
|
global___StartRunResponse = StartRunResponse
|
|
70
100
|
|
|
101
|
+
@typing.final
|
|
71
102
|
class StreamLogsRequest(google.protobuf.message.Message):
|
|
72
103
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
104
|
+
|
|
73
105
|
RUN_ID_FIELD_NUMBER: builtins.int
|
|
74
106
|
AFTER_TIMESTAMP_FIELD_NUMBER: builtins.int
|
|
75
107
|
run_id: builtins.int
|
|
76
108
|
after_timestamp: builtins.float
|
|
77
|
-
def __init__(
|
|
109
|
+
def __init__(
|
|
110
|
+
self,
|
|
78
111
|
*,
|
|
79
112
|
run_id: builtins.int = ...,
|
|
80
113
|
after_timestamp: builtins.float = ...,
|
|
81
|
-
|
|
82
|
-
def ClearField(self, field_name:
|
|
114
|
+
) -> None: ...
|
|
115
|
+
def ClearField(self, field_name: typing.Literal["after_timestamp", b"after_timestamp", "run_id", b"run_id"]) -> None: ...
|
|
116
|
+
|
|
83
117
|
global___StreamLogsRequest = StreamLogsRequest
|
|
84
118
|
|
|
119
|
+
@typing.final
|
|
85
120
|
class StreamLogsResponse(google.protobuf.message.Message):
|
|
86
121
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
122
|
+
|
|
87
123
|
LOG_OUTPUT_FIELD_NUMBER: builtins.int
|
|
88
124
|
LATEST_TIMESTAMP_FIELD_NUMBER: builtins.int
|
|
89
|
-
log_output:
|
|
125
|
+
log_output: builtins.str
|
|
90
126
|
latest_timestamp: builtins.float
|
|
91
|
-
def __init__(
|
|
127
|
+
def __init__(
|
|
128
|
+
self,
|
|
92
129
|
*,
|
|
93
|
-
log_output:
|
|
130
|
+
log_output: builtins.str = ...,
|
|
94
131
|
latest_timestamp: builtins.float = ...,
|
|
95
|
-
|
|
96
|
-
def ClearField(self, field_name:
|
|
132
|
+
) -> None: ...
|
|
133
|
+
def ClearField(self, field_name: typing.Literal["latest_timestamp", b"latest_timestamp", "log_output", b"log_output"]) -> None: ...
|
|
134
|
+
|
|
97
135
|
global___StreamLogsResponse = StreamLogsResponse
|
|
98
136
|
|
|
137
|
+
@typing.final
|
|
99
138
|
class ListRunsRequest(google.protobuf.message.Message):
|
|
100
139
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
140
|
+
|
|
101
141
|
RUN_ID_FIELD_NUMBER: builtins.int
|
|
102
142
|
run_id: builtins.int
|
|
103
|
-
def __init__(
|
|
143
|
+
def __init__(
|
|
144
|
+
self,
|
|
104
145
|
*,
|
|
105
|
-
run_id:
|
|
106
|
-
|
|
107
|
-
def HasField(self, field_name:
|
|
108
|
-
def ClearField(self, field_name:
|
|
109
|
-
def WhichOneof(self, oneof_group:
|
|
146
|
+
run_id: builtins.int | None = ...,
|
|
147
|
+
) -> None: ...
|
|
148
|
+
def HasField(self, field_name: typing.Literal["_run_id", b"_run_id", "run_id", b"run_id"]) -> builtins.bool: ...
|
|
149
|
+
def ClearField(self, field_name: typing.Literal["_run_id", b"_run_id", "run_id", b"run_id"]) -> None: ...
|
|
150
|
+
def WhichOneof(self, oneof_group: typing.Literal["_run_id", b"_run_id"]) -> typing.Literal["run_id"] | None: ...
|
|
151
|
+
|
|
110
152
|
global___ListRunsRequest = ListRunsRequest
|
|
111
153
|
|
|
154
|
+
@typing.final
|
|
112
155
|
class ListRunsResponse(google.protobuf.message.Message):
|
|
113
156
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
157
|
+
|
|
158
|
+
@typing.final
|
|
114
159
|
class RunDictEntry(google.protobuf.message.Message):
|
|
115
160
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
161
|
+
|
|
116
162
|
KEY_FIELD_NUMBER: builtins.int
|
|
117
163
|
VALUE_FIELD_NUMBER: builtins.int
|
|
118
164
|
key: builtins.int
|
|
119
165
|
@property
|
|
120
166
|
def value(self) -> flwr.proto.run_pb2.Run: ...
|
|
121
|
-
def __init__(
|
|
167
|
+
def __init__(
|
|
168
|
+
self,
|
|
122
169
|
*,
|
|
123
170
|
key: builtins.int = ...,
|
|
124
|
-
value:
|
|
125
|
-
|
|
126
|
-
def HasField(self, field_name:
|
|
127
|
-
def ClearField(self, field_name:
|
|
171
|
+
value: flwr.proto.run_pb2.Run | None = ...,
|
|
172
|
+
) -> None: ...
|
|
173
|
+
def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
|
|
174
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
128
175
|
|
|
129
176
|
RUN_DICT_FIELD_NUMBER: builtins.int
|
|
130
177
|
NOW_FIELD_NUMBER: builtins.int
|
|
178
|
+
now: builtins.str
|
|
131
179
|
@property
|
|
132
180
|
def run_dict(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, flwr.proto.run_pb2.Run]: ...
|
|
133
|
-
|
|
134
|
-
|
|
181
|
+
def __init__(
|
|
182
|
+
self,
|
|
135
183
|
*,
|
|
136
|
-
run_dict:
|
|
137
|
-
now:
|
|
138
|
-
|
|
139
|
-
def ClearField(self, field_name:
|
|
184
|
+
run_dict: collections.abc.Mapping[builtins.int, flwr.proto.run_pb2.Run] | None = ...,
|
|
185
|
+
now: builtins.str = ...,
|
|
186
|
+
) -> None: ...
|
|
187
|
+
def ClearField(self, field_name: typing.Literal["now", b"now", "run_dict", b"run_dict"]) -> None: ...
|
|
188
|
+
|
|
140
189
|
global___ListRunsResponse = ListRunsResponse
|
|
141
190
|
|
|
191
|
+
@typing.final
|
|
142
192
|
class GetLoginDetailsRequest(google.protobuf.message.Message):
|
|
143
193
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
144
|
-
|
|
145
|
-
|
|
194
|
+
|
|
195
|
+
def __init__(
|
|
196
|
+
self,
|
|
197
|
+
) -> None: ...
|
|
198
|
+
|
|
146
199
|
global___GetLoginDetailsRequest = GetLoginDetailsRequest
|
|
147
200
|
|
|
201
|
+
@typing.final
|
|
148
202
|
class GetLoginDetailsResponse(google.protobuf.message.Message):
|
|
149
203
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
204
|
+
|
|
150
205
|
AUTHN_TYPE_FIELD_NUMBER: builtins.int
|
|
151
206
|
DEVICE_CODE_FIELD_NUMBER: builtins.int
|
|
152
207
|
VERIFICATION_URI_COMPLETE_FIELD_NUMBER: builtins.int
|
|
153
208
|
EXPIRES_IN_FIELD_NUMBER: builtins.int
|
|
154
209
|
INTERVAL_FIELD_NUMBER: builtins.int
|
|
155
|
-
authn_type:
|
|
156
|
-
device_code:
|
|
157
|
-
verification_uri_complete:
|
|
210
|
+
authn_type: builtins.str
|
|
211
|
+
device_code: builtins.str
|
|
212
|
+
verification_uri_complete: builtins.str
|
|
158
213
|
expires_in: builtins.int
|
|
159
214
|
interval: builtins.int
|
|
160
|
-
def __init__(
|
|
215
|
+
def __init__(
|
|
216
|
+
self,
|
|
161
217
|
*,
|
|
162
|
-
authn_type:
|
|
163
|
-
device_code:
|
|
164
|
-
verification_uri_complete:
|
|
218
|
+
authn_type: builtins.str = ...,
|
|
219
|
+
device_code: builtins.str = ...,
|
|
220
|
+
verification_uri_complete: builtins.str = ...,
|
|
165
221
|
expires_in: builtins.int = ...,
|
|
166
222
|
interval: builtins.int = ...,
|
|
167
|
-
|
|
168
|
-
def ClearField(self, field_name:
|
|
223
|
+
) -> None: ...
|
|
224
|
+
def ClearField(self, field_name: typing.Literal["authn_type", b"authn_type", "device_code", b"device_code", "expires_in", b"expires_in", "interval", b"interval", "verification_uri_complete", b"verification_uri_complete"]) -> None: ...
|
|
225
|
+
|
|
169
226
|
global___GetLoginDetailsResponse = GetLoginDetailsResponse
|
|
170
227
|
|
|
228
|
+
@typing.final
|
|
171
229
|
class GetAuthTokensRequest(google.protobuf.message.Message):
|
|
172
230
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
231
|
+
|
|
173
232
|
DEVICE_CODE_FIELD_NUMBER: builtins.int
|
|
174
|
-
device_code:
|
|
175
|
-
def __init__(
|
|
233
|
+
device_code: builtins.str
|
|
234
|
+
def __init__(
|
|
235
|
+
self,
|
|
176
236
|
*,
|
|
177
|
-
device_code:
|
|
178
|
-
|
|
179
|
-
def ClearField(self, field_name:
|
|
237
|
+
device_code: builtins.str = ...,
|
|
238
|
+
) -> None: ...
|
|
239
|
+
def ClearField(self, field_name: typing.Literal["device_code", b"device_code"]) -> None: ...
|
|
240
|
+
|
|
180
241
|
global___GetAuthTokensRequest = GetAuthTokensRequest
|
|
181
242
|
|
|
243
|
+
@typing.final
|
|
182
244
|
class GetAuthTokensResponse(google.protobuf.message.Message):
|
|
183
245
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
246
|
+
|
|
184
247
|
ACCESS_TOKEN_FIELD_NUMBER: builtins.int
|
|
185
248
|
REFRESH_TOKEN_FIELD_NUMBER: builtins.int
|
|
186
|
-
access_token:
|
|
187
|
-
refresh_token:
|
|
188
|
-
def __init__(
|
|
249
|
+
access_token: builtins.str
|
|
250
|
+
refresh_token: builtins.str
|
|
251
|
+
def __init__(
|
|
252
|
+
self,
|
|
189
253
|
*,
|
|
190
|
-
access_token:
|
|
191
|
-
refresh_token:
|
|
192
|
-
|
|
193
|
-
def ClearField(self, field_name:
|
|
254
|
+
access_token: builtins.str = ...,
|
|
255
|
+
refresh_token: builtins.str = ...,
|
|
256
|
+
) -> None: ...
|
|
257
|
+
def ClearField(self, field_name: typing.Literal["access_token", b"access_token", "refresh_token", b"refresh_token"]) -> None: ...
|
|
258
|
+
|
|
194
259
|
global___GetAuthTokensResponse = GetAuthTokensResponse
|
|
195
260
|
|
|
261
|
+
@typing.final
|
|
196
262
|
class StopRunRequest(google.protobuf.message.Message):
|
|
197
263
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
264
|
+
|
|
198
265
|
RUN_ID_FIELD_NUMBER: builtins.int
|
|
199
266
|
run_id: builtins.int
|
|
200
|
-
def __init__(
|
|
267
|
+
def __init__(
|
|
268
|
+
self,
|
|
201
269
|
*,
|
|
202
270
|
run_id: builtins.int = ...,
|
|
203
|
-
|
|
204
|
-
def ClearField(self, field_name:
|
|
271
|
+
) -> None: ...
|
|
272
|
+
def ClearField(self, field_name: typing.Literal["run_id", b"run_id"]) -> None: ...
|
|
273
|
+
|
|
205
274
|
global___StopRunRequest = StopRunRequest
|
|
206
275
|
|
|
276
|
+
@typing.final
|
|
207
277
|
class StopRunResponse(google.protobuf.message.Message):
|
|
208
278
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
279
|
+
|
|
209
280
|
SUCCESS_FIELD_NUMBER: builtins.int
|
|
210
281
|
success: builtins.bool
|
|
211
|
-
def __init__(
|
|
282
|
+
def __init__(
|
|
283
|
+
self,
|
|
212
284
|
*,
|
|
213
285
|
success: builtins.bool = ...,
|
|
214
|
-
|
|
215
|
-
def ClearField(self, field_name:
|
|
286
|
+
) -> None: ...
|
|
287
|
+
def ClearField(self, field_name: typing.Literal["success", b"success"]) -> None: ...
|
|
288
|
+
|
|
216
289
|
global___StopRunResponse = StopRunResponse
|
|
217
290
|
|
|
291
|
+
@typing.final
|
|
218
292
|
class PullArtifactsRequest(google.protobuf.message.Message):
|
|
219
293
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
294
|
+
|
|
220
295
|
RUN_ID_FIELD_NUMBER: builtins.int
|
|
221
296
|
run_id: builtins.int
|
|
222
|
-
def __init__(
|
|
297
|
+
def __init__(
|
|
298
|
+
self,
|
|
223
299
|
*,
|
|
224
300
|
run_id: builtins.int = ...,
|
|
225
|
-
|
|
226
|
-
def ClearField(self, field_name:
|
|
301
|
+
) -> None: ...
|
|
302
|
+
def ClearField(self, field_name: typing.Literal["run_id", b"run_id"]) -> None: ...
|
|
303
|
+
|
|
227
304
|
global___PullArtifactsRequest = PullArtifactsRequest
|
|
228
305
|
|
|
306
|
+
@typing.final
|
|
229
307
|
class PullArtifactsResponse(google.protobuf.message.Message):
|
|
230
308
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
309
|
+
|
|
231
310
|
URL_FIELD_NUMBER: builtins.int
|
|
232
|
-
url:
|
|
233
|
-
def __init__(
|
|
311
|
+
url: builtins.str
|
|
312
|
+
def __init__(
|
|
313
|
+
self,
|
|
234
314
|
*,
|
|
235
|
-
url:
|
|
236
|
-
|
|
237
|
-
def HasField(self, field_name:
|
|
238
|
-
def ClearField(self, field_name:
|
|
239
|
-
def WhichOneof(self, oneof_group:
|
|
315
|
+
url: builtins.str | None = ...,
|
|
316
|
+
) -> None: ...
|
|
317
|
+
def HasField(self, field_name: typing.Literal["_url", b"_url", "url", b"url"]) -> builtins.bool: ...
|
|
318
|
+
def ClearField(self, field_name: typing.Literal["_url", b"_url", "url", b"url"]) -> None: ...
|
|
319
|
+
def WhichOneof(self, oneof_group: typing.Literal["_url", b"_url"]) -> typing.Literal["url"] | None: ...
|
|
320
|
+
|
|
240
321
|
global___PullArtifactsResponse = PullArtifactsResponse
|
|
241
322
|
|
|
323
|
+
@typing.final
|
|
242
324
|
class RegisterNodeRequest(google.protobuf.message.Message):
|
|
243
325
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
326
|
+
|
|
244
327
|
PUBLIC_KEY_FIELD_NUMBER: builtins.int
|
|
245
328
|
public_key: builtins.bytes
|
|
246
|
-
def __init__(
|
|
329
|
+
def __init__(
|
|
330
|
+
self,
|
|
247
331
|
*,
|
|
248
332
|
public_key: builtins.bytes = ...,
|
|
249
|
-
|
|
250
|
-
def ClearField(self, field_name:
|
|
333
|
+
) -> None: ...
|
|
334
|
+
def ClearField(self, field_name: typing.Literal["public_key", b"public_key"]) -> None: ...
|
|
335
|
+
|
|
251
336
|
global___RegisterNodeRequest = RegisterNodeRequest
|
|
252
337
|
|
|
338
|
+
@typing.final
|
|
253
339
|
class RegisterNodeResponse(google.protobuf.message.Message):
|
|
254
340
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
341
|
+
|
|
255
342
|
NODE_ID_FIELD_NUMBER: builtins.int
|
|
256
343
|
node_id: builtins.int
|
|
257
|
-
def __init__(
|
|
344
|
+
def __init__(
|
|
345
|
+
self,
|
|
258
346
|
*,
|
|
259
|
-
node_id:
|
|
260
|
-
|
|
261
|
-
def HasField(self, field_name:
|
|
262
|
-
def ClearField(self, field_name:
|
|
263
|
-
def WhichOneof(self, oneof_group:
|
|
347
|
+
node_id: builtins.int | None = ...,
|
|
348
|
+
) -> None: ...
|
|
349
|
+
def HasField(self, field_name: typing.Literal["_node_id", b"_node_id", "node_id", b"node_id"]) -> builtins.bool: ...
|
|
350
|
+
def ClearField(self, field_name: typing.Literal["_node_id", b"_node_id", "node_id", b"node_id"]) -> None: ...
|
|
351
|
+
def WhichOneof(self, oneof_group: typing.Literal["_node_id", b"_node_id"]) -> typing.Literal["node_id"] | None: ...
|
|
352
|
+
|
|
264
353
|
global___RegisterNodeResponse = RegisterNodeResponse
|
|
265
354
|
|
|
355
|
+
@typing.final
|
|
266
356
|
class UnregisterNodeRequest(google.protobuf.message.Message):
|
|
267
357
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
358
|
+
|
|
268
359
|
NODE_ID_FIELD_NUMBER: builtins.int
|
|
269
360
|
node_id: builtins.int
|
|
270
|
-
def __init__(
|
|
361
|
+
def __init__(
|
|
362
|
+
self,
|
|
271
363
|
*,
|
|
272
364
|
node_id: builtins.int = ...,
|
|
273
|
-
|
|
274
|
-
def ClearField(self, field_name:
|
|
365
|
+
) -> None: ...
|
|
366
|
+
def ClearField(self, field_name: typing.Literal["node_id", b"node_id"]) -> None: ...
|
|
367
|
+
|
|
275
368
|
global___UnregisterNodeRequest = UnregisterNodeRequest
|
|
276
369
|
|
|
370
|
+
@typing.final
|
|
277
371
|
class UnregisterNodeResponse(google.protobuf.message.Message):
|
|
278
372
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
279
|
-
|
|
280
|
-
|
|
373
|
+
|
|
374
|
+
def __init__(
|
|
375
|
+
self,
|
|
376
|
+
) -> None: ...
|
|
377
|
+
|
|
281
378
|
global___UnregisterNodeResponse = UnregisterNodeResponse
|
|
282
379
|
|
|
380
|
+
@typing.final
|
|
283
381
|
class ListNodesRequest(google.protobuf.message.Message):
|
|
284
382
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
285
|
-
|
|
286
|
-
|
|
383
|
+
|
|
384
|
+
def __init__(
|
|
385
|
+
self,
|
|
386
|
+
) -> None: ...
|
|
387
|
+
|
|
287
388
|
global___ListNodesRequest = ListNodesRequest
|
|
288
389
|
|
|
390
|
+
@typing.final
|
|
289
391
|
class ListNodesResponse(google.protobuf.message.Message):
|
|
290
392
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
393
|
+
|
|
291
394
|
NODES_INFO_FIELD_NUMBER: builtins.int
|
|
292
395
|
NOW_FIELD_NUMBER: builtins.int
|
|
396
|
+
now: builtins.str
|
|
293
397
|
@property
|
|
294
398
|
def nodes_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.node_pb2.NodeInfo]: ...
|
|
295
|
-
|
|
296
|
-
|
|
399
|
+
def __init__(
|
|
400
|
+
self,
|
|
297
401
|
*,
|
|
298
|
-
nodes_info:
|
|
299
|
-
now:
|
|
300
|
-
|
|
301
|
-
def ClearField(self, field_name:
|
|
402
|
+
nodes_info: collections.abc.Iterable[flwr.proto.node_pb2.NodeInfo] | None = ...,
|
|
403
|
+
now: builtins.str = ...,
|
|
404
|
+
) -> None: ...
|
|
405
|
+
def ClearField(self, field_name: typing.Literal["nodes_info", b"nodes_info", "now", b"now"]) -> None: ...
|
|
406
|
+
|
|
302
407
|
global___ListNodesResponse = ListNodesResponse
|
|
408
|
+
|
|
409
|
+
@typing.final
|
|
410
|
+
class ListFederationsRequest(google.protobuf.message.Message):
|
|
411
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
412
|
+
|
|
413
|
+
def __init__(
|
|
414
|
+
self,
|
|
415
|
+
) -> None: ...
|
|
416
|
+
|
|
417
|
+
global___ListFederationsRequest = ListFederationsRequest
|
|
418
|
+
|
|
419
|
+
@typing.final
|
|
420
|
+
class ListFederationsResponse(google.protobuf.message.Message):
|
|
421
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
422
|
+
|
|
423
|
+
FEDERATIONS_FIELD_NUMBER: builtins.int
|
|
424
|
+
@property
|
|
425
|
+
def federations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.federation_pb2.Federation]: ...
|
|
426
|
+
def __init__(
|
|
427
|
+
self,
|
|
428
|
+
*,
|
|
429
|
+
federations: collections.abc.Iterable[flwr.proto.federation_pb2.Federation] | None = ...,
|
|
430
|
+
) -> None: ...
|
|
431
|
+
def ClearField(self, field_name: typing.Literal["federations", b"federations"]) -> None: ...
|
|
432
|
+
|
|
433
|
+
global___ListFederationsResponse = ListFederationsResponse
|
|
434
|
+
|
|
435
|
+
@typing.final
|
|
436
|
+
class ShowFederationRequest(google.protobuf.message.Message):
|
|
437
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
438
|
+
|
|
439
|
+
FEDERATION_NAME_FIELD_NUMBER: builtins.int
|
|
440
|
+
federation_name: builtins.str
|
|
441
|
+
def __init__(
|
|
442
|
+
self,
|
|
443
|
+
*,
|
|
444
|
+
federation_name: builtins.str = ...,
|
|
445
|
+
) -> None: ...
|
|
446
|
+
def ClearField(self, field_name: typing.Literal["federation_name", b"federation_name"]) -> None: ...
|
|
447
|
+
|
|
448
|
+
global___ShowFederationRequest = ShowFederationRequest
|
|
449
|
+
|
|
450
|
+
@typing.final
|
|
451
|
+
class ShowFederationResponse(google.protobuf.message.Message):
|
|
452
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
453
|
+
|
|
454
|
+
FEDERATION_FIELD_NUMBER: builtins.int
|
|
455
|
+
NOW_FIELD_NUMBER: builtins.int
|
|
456
|
+
now: builtins.str
|
|
457
|
+
@property
|
|
458
|
+
def federation(self) -> flwr.proto.federation_pb2.Federation: ...
|
|
459
|
+
def __init__(
|
|
460
|
+
self,
|
|
461
|
+
*,
|
|
462
|
+
federation: flwr.proto.federation_pb2.Federation | None = ...,
|
|
463
|
+
now: builtins.str = ...,
|
|
464
|
+
) -> None: ...
|
|
465
|
+
def HasField(self, field_name: typing.Literal["federation", b"federation"]) -> builtins.bool: ...
|
|
466
|
+
def ClearField(self, field_name: typing.Literal["federation", b"federation", "now", b"now"]) -> None: ...
|
|
467
|
+
|
|
468
|
+
global___ShowFederationResponse = ShowFederationResponse
|