flwr 1.19.0__py3-none-any.whl → 1.21.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 +4 -1
- flwr/app/__init__.py +28 -0
- flwr/app/exception.py +31 -0
- flwr/cli/auth_plugin/oidc_cli_plugin.py +4 -4
- flwr/cli/build.py +15 -5
- flwr/cli/cli_user_auth_interceptor.py +1 -1
- flwr/cli/config_utils.py +3 -3
- flwr/cli/constant.py +25 -8
- flwr/cli/log.py +9 -9
- flwr/cli/login/login.py +3 -3
- flwr/cli/ls.py +5 -5
- flwr/cli/new/new.py +23 -4
- flwr/cli/new/templates/app/README.flowertune.md.tpl +2 -0
- flwr/cli/new/templates/app/README.md.tpl +5 -0
- flwr/cli/new/templates/app/code/__init__.pytorch_msg_api.py.tpl +1 -0
- flwr/cli/new/templates/app/code/client.pytorch_msg_api.py.tpl +80 -0
- flwr/cli/new/templates/app/code/server.pytorch_msg_api.py.tpl +41 -0
- flwr/cli/new/templates/app/code/task.pytorch_msg_api.py.tpl +98 -0
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +14 -3
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +13 -1
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +21 -2
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +18 -1
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +19 -2
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +18 -1
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +20 -3
- flwr/cli/new/templates/app/pyproject.pytorch_msg_api.toml.tpl +53 -0
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +18 -1
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +18 -1
- flwr/cli/run/run.py +53 -50
- flwr/cli/stop.py +7 -4
- flwr/cli/utils.py +29 -11
- flwr/client/grpc_adapter_client/connection.py +11 -4
- flwr/client/grpc_rere_client/connection.py +93 -129
- flwr/client/rest_client/connection.py +134 -164
- flwr/clientapp/__init__.py +10 -0
- flwr/clientapp/mod/__init__.py +26 -0
- flwr/clientapp/mod/centraldp_mods.py +132 -0
- flwr/common/args.py +20 -6
- flwr/common/auth_plugin/__init__.py +4 -4
- flwr/common/auth_plugin/auth_plugin.py +7 -7
- flwr/common/constant.py +26 -5
- flwr/common/event_log_plugin/event_log_plugin.py +1 -1
- flwr/common/exit/__init__.py +4 -0
- flwr/common/exit/exit.py +8 -1
- flwr/common/exit/exit_code.py +42 -8
- flwr/common/exit/exit_handler.py +62 -0
- flwr/common/{exit_handlers.py → exit/signal_handler.py} +20 -37
- flwr/common/grpc.py +1 -1
- flwr/common/{inflatable_grpc_utils.py → inflatable_protobuf_utils.py} +52 -10
- flwr/common/inflatable_utils.py +191 -24
- flwr/common/logger.py +1 -1
- flwr/common/record/array.py +101 -22
- flwr/common/record/arraychunk.py +59 -0
- flwr/common/retry_invoker.py +30 -11
- flwr/common/serde.py +0 -28
- flwr/common/telemetry.py +4 -0
- flwr/compat/client/app.py +14 -31
- flwr/compat/server/app.py +2 -2
- flwr/proto/appio_pb2.py +51 -0
- flwr/proto/appio_pb2.pyi +195 -0
- flwr/proto/appio_pb2_grpc.py +4 -0
- flwr/proto/appio_pb2_grpc.pyi +4 -0
- flwr/proto/clientappio_pb2.py +4 -19
- flwr/proto/clientappio_pb2.pyi +0 -125
- flwr/proto/clientappio_pb2_grpc.py +269 -29
- flwr/proto/clientappio_pb2_grpc.pyi +114 -21
- flwr/proto/control_pb2.py +62 -0
- flwr/proto/{exec_pb2_grpc.py → control_pb2_grpc.py} +54 -54
- flwr/proto/{exec_pb2_grpc.pyi → control_pb2_grpc.pyi} +28 -28
- flwr/proto/fleet_pb2.py +12 -20
- flwr/proto/fleet_pb2.pyi +6 -36
- flwr/proto/serverappio_pb2.py +8 -31
- flwr/proto/serverappio_pb2.pyi +0 -152
- flwr/proto/serverappio_pb2_grpc.py +107 -38
- flwr/proto/serverappio_pb2_grpc.pyi +47 -20
- flwr/proto/simulationio_pb2.py +4 -11
- flwr/proto/simulationio_pb2.pyi +0 -58
- flwr/proto/simulationio_pb2_grpc.py +129 -27
- flwr/proto/simulationio_pb2_grpc.pyi +52 -13
- flwr/server/app.py +130 -153
- flwr/server/fleet_event_log_interceptor.py +4 -0
- flwr/server/grid/grpc_grid.py +94 -54
- flwr/server/grid/inmemory_grid.py +1 -0
- flwr/server/serverapp/app.py +165 -144
- flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +8 -0
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +1 -1
- flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +2 -5
- flwr/server/superlink/fleet/message_handler/message_handler.py +10 -16
- flwr/server/superlink/fleet/rest_rere/rest_api.py +1 -2
- flwr/server/superlink/fleet/vce/backend/raybackend.py +3 -1
- flwr/server/superlink/fleet/vce/vce_api.py +6 -6
- flwr/server/superlink/linkstate/in_memory_linkstate.py +34 -0
- flwr/server/superlink/linkstate/linkstate.py +2 -1
- flwr/server/superlink/linkstate/sqlite_linkstate.py +45 -0
- flwr/server/superlink/serverappio/serverappio_grpc.py +2 -2
- flwr/server/superlink/serverappio/serverappio_servicer.py +95 -48
- flwr/server/superlink/simulation/simulationio_grpc.py +1 -1
- flwr/server/superlink/simulation/simulationio_servicer.py +98 -22
- flwr/server/superlink/utils.py +0 -35
- flwr/serverapp/__init__.py +12 -0
- flwr/serverapp/dp_fixed_clipping.py +352 -0
- flwr/serverapp/exception.py +38 -0
- flwr/serverapp/strategy/__init__.py +38 -0
- flwr/serverapp/strategy/dp_fixed_clipping.py +352 -0
- flwr/serverapp/strategy/fedadagrad.py +162 -0
- flwr/serverapp/strategy/fedadam.py +181 -0
- flwr/serverapp/strategy/fedavg.py +295 -0
- flwr/serverapp/strategy/fedopt.py +218 -0
- flwr/serverapp/strategy/fedyogi.py +173 -0
- flwr/serverapp/strategy/result.py +105 -0
- flwr/serverapp/strategy/strategy.py +285 -0
- flwr/serverapp/strategy/strategy_utils.py +251 -0
- flwr/serverapp/strategy/strategy_utils_tests.py +304 -0
- flwr/simulation/app.py +159 -154
- flwr/simulation/run_simulation.py +17 -0
- flwr/supercore/app_utils.py +58 -0
- flwr/supercore/cli/__init__.py +22 -0
- flwr/supercore/cli/flower_superexec.py +141 -0
- flwr/supercore/corestate/__init__.py +22 -0
- flwr/supercore/corestate/corestate.py +81 -0
- flwr/{server/superlink → supercore}/ffs/disk_ffs.py +1 -1
- flwr/supercore/grpc_health/__init__.py +25 -0
- flwr/supercore/grpc_health/health_server.py +53 -0
- flwr/supercore/grpc_health/simple_health_servicer.py +38 -0
- flwr/supercore/license_plugin/__init__.py +22 -0
- flwr/supercore/license_plugin/license_plugin.py +26 -0
- flwr/supercore/object_store/in_memory_object_store.py +31 -31
- flwr/supercore/object_store/object_store.py +20 -42
- flwr/supercore/object_store/utils.py +43 -0
- flwr/{superexec → supercore/superexec}/__init__.py +1 -1
- flwr/supercore/superexec/plugin/__init__.py +28 -0
- flwr/supercore/superexec/plugin/base_exec_plugin.py +53 -0
- flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +28 -0
- flwr/supercore/superexec/plugin/exec_plugin.py +71 -0
- flwr/supercore/superexec/plugin/serverapp_exec_plugin.py +28 -0
- flwr/supercore/superexec/plugin/simulation_exec_plugin.py +28 -0
- flwr/supercore/superexec/run_superexec.py +185 -0
- flwr/supercore/utils.py +32 -0
- flwr/superlink/servicer/__init__.py +15 -0
- flwr/superlink/servicer/control/__init__.py +22 -0
- flwr/{superexec/exec_event_log_interceptor.py → superlink/servicer/control/control_event_log_interceptor.py} +9 -5
- flwr/{superexec/exec_grpc.py → superlink/servicer/control/control_grpc.py} +39 -28
- flwr/superlink/servicer/control/control_license_interceptor.py +82 -0
- flwr/{superexec/exec_servicer.py → superlink/servicer/control/control_servicer.py} +79 -31
- flwr/{superexec/exec_user_auth_interceptor.py → superlink/servicer/control/control_user_auth_interceptor.py} +18 -10
- flwr/supernode/cli/flower_supernode.py +3 -7
- flwr/supernode/cli/flwr_clientapp.py +20 -16
- flwr/supernode/nodestate/in_memory_nodestate.py +13 -4
- flwr/supernode/nodestate/nodestate.py +3 -44
- flwr/supernode/runtime/run_clientapp.py +129 -115
- flwr/supernode/servicer/clientappio/__init__.py +1 -3
- flwr/supernode/servicer/clientappio/clientappio_servicer.py +217 -165
- flwr/supernode/start_client_internal.py +205 -148
- {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/METADATA +5 -3
- {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/RECORD +161 -117
- {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/entry_points.txt +1 -0
- flwr/common/inflatable_rest_utils.py +0 -99
- flwr/proto/exec_pb2.py +0 -62
- flwr/superexec/app.py +0 -45
- flwr/superexec/deployment.py +0 -192
- flwr/superexec/executor.py +0 -100
- flwr/superexec/simulation.py +0 -130
- /flwr/proto/{exec_pb2.pyi → control_pb2.pyi} +0 -0
- /flwr/{server/superlink → supercore}/ffs/__init__.py +0 -0
- /flwr/{server/superlink → supercore}/ffs/ffs.py +0 -0
- /flwr/{server/superlink → supercore}/ffs/ffs_factory.py +0 -0
- {flwr-1.19.0.dist-info → flwr-1.21.0.dist-info}/WHEEL +0 -0
flwr/compat/client/app.py
CHANGED
|
@@ -29,8 +29,6 @@ from flwr.cli.config_utils import get_fab_metadata
|
|
|
29
29
|
from flwr.cli.install import install_from_fab
|
|
30
30
|
from flwr.client.client import Client
|
|
31
31
|
from flwr.client.client_app import ClientApp, LoadClientAppError
|
|
32
|
-
from flwr.client.grpc_adapter_client.connection import grpc_adapter
|
|
33
|
-
from flwr.client.grpc_rere_client.connection import grpc_request_response
|
|
34
32
|
from flwr.client.message_handler.message_handler import handle_control_message
|
|
35
33
|
from flwr.client.numpy_client import NumPyClient
|
|
36
34
|
from flwr.client.run_info_store import DeprecatedRunInfoStore
|
|
@@ -39,10 +37,7 @@ from flwr.common import GRPC_MAX_MESSAGE_LENGTH, Context, EventType, Message, ev
|
|
|
39
37
|
from flwr.common.address import parse_address
|
|
40
38
|
from flwr.common.constant import (
|
|
41
39
|
MAX_RETRY_DELAY,
|
|
42
|
-
TRANSPORT_TYPE_GRPC_ADAPTER,
|
|
43
40
|
TRANSPORT_TYPE_GRPC_BIDI,
|
|
44
|
-
TRANSPORT_TYPE_GRPC_RERE,
|
|
45
|
-
TRANSPORT_TYPE_REST,
|
|
46
41
|
TRANSPORT_TYPES,
|
|
47
42
|
ErrorCode,
|
|
48
43
|
)
|
|
@@ -121,10 +116,8 @@ def start_client(
|
|
|
121
116
|
Starts an insecure gRPC connection when True. Enables HTTPS connection
|
|
122
117
|
when False, using system certificates if `root_certificates` is None.
|
|
123
118
|
transport : Optional[str] (default: None)
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
- 'grpc-rere': gRPC, request-response (experimental)
|
|
127
|
-
- 'rest': HTTP (experimental)
|
|
119
|
+
**[Deprecated]** This argument is no longer supported and will be
|
|
120
|
+
removed in a future release.
|
|
128
121
|
authentication_keys : Optional[Tuple[PrivateKey, PublicKey]] (default: None)
|
|
129
122
|
Tuple containing the elliptic curve private key and public key for
|
|
130
123
|
authentication from the cryptography library.
|
|
@@ -180,6 +173,12 @@ def start_client(
|
|
|
180
173
|
)
|
|
181
174
|
warn_deprecated_feature(name=msg)
|
|
182
175
|
|
|
176
|
+
if transport is not None and transport != "grpc-bidi":
|
|
177
|
+
raise ValueError(
|
|
178
|
+
f"Transport type {transport} is not supported. "
|
|
179
|
+
"Use 'grpc-bidi' or None (default) instead."
|
|
180
|
+
)
|
|
181
|
+
|
|
183
182
|
event(EventType.START_CLIENT_ENTER)
|
|
184
183
|
start_client_internal(
|
|
185
184
|
server_address=server_address,
|
|
@@ -429,7 +428,7 @@ def start_client_internal(
|
|
|
429
428
|
|
|
430
429
|
run: Run = runs[run_id]
|
|
431
430
|
if get_fab is not None and run.fab_hash:
|
|
432
|
-
fab = get_fab(run.fab_hash, run_id)
|
|
431
|
+
fab = get_fab(run.fab_hash, run_id) # pylint: disable=E1102
|
|
433
432
|
# If `ClientApp` runs in the same process, install the FAB
|
|
434
433
|
install_from_fab(fab.content, flwr_path, True)
|
|
435
434
|
fab_id, fab_version = get_fab_metadata(fab.content)
|
|
@@ -573,10 +572,8 @@ def start_numpy_client(
|
|
|
573
572
|
Starts an insecure gRPC connection when True. Enables HTTPS connection
|
|
574
573
|
when False, using system certificates if `root_certificates` is None.
|
|
575
574
|
transport : Optional[str] (default: None)
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
- 'grpc-rere': gRPC, request-response (experimental)
|
|
579
|
-
- 'rest': HTTP (experimental)
|
|
575
|
+
**[Deprecated]** This argument is no longer supported and will be
|
|
576
|
+
removed in a future release.
|
|
580
577
|
|
|
581
578
|
Examples
|
|
582
579
|
--------
|
|
@@ -672,23 +669,9 @@ def _init_connection(transport: Optional[str], server_address: str) -> tuple[
|
|
|
672
669
|
if transport is None:
|
|
673
670
|
transport = TRANSPORT_TYPE_GRPC_BIDI
|
|
674
671
|
|
|
675
|
-
# Use
|
|
676
|
-
if transport ==
|
|
677
|
-
|
|
678
|
-
from requests.exceptions import ConnectionError as RequestsConnectionError
|
|
679
|
-
|
|
680
|
-
from flwr.client.rest_client.connection import http_request_response
|
|
681
|
-
except ModuleNotFoundError:
|
|
682
|
-
flwr_exit(ExitCode.COMMON_MISSING_EXTRA_REST)
|
|
683
|
-
if server_address[:4] != "http":
|
|
684
|
-
flwr_exit(ExitCode.SUPERNODE_REST_ADDRESS_INVALID)
|
|
685
|
-
connection, error_type = http_request_response, RequestsConnectionError
|
|
686
|
-
elif transport == TRANSPORT_TYPE_GRPC_RERE:
|
|
687
|
-
connection, error_type = grpc_request_response, RpcError
|
|
688
|
-
elif transport == TRANSPORT_TYPE_GRPC_ADAPTER:
|
|
689
|
-
connection, error_type = grpc_adapter, RpcError
|
|
690
|
-
elif transport == TRANSPORT_TYPE_GRPC_BIDI:
|
|
691
|
-
connection, error_type = grpc_connection, RpcError # type: ignore[assignment]
|
|
672
|
+
# Use gRPC bidirectional streaming
|
|
673
|
+
if transport == TRANSPORT_TYPE_GRPC_BIDI:
|
|
674
|
+
connection, error_type = grpc_connection, RpcError
|
|
692
675
|
else:
|
|
693
676
|
raise ValueError(
|
|
694
677
|
f"Unknown transport type: {transport} (possible: {TRANSPORT_TYPES})"
|
flwr/compat/server/app.py
CHANGED
|
@@ -22,7 +22,7 @@ from typing import Optional
|
|
|
22
22
|
from flwr.common import GRPC_MAX_MESSAGE_LENGTH, EventType, event
|
|
23
23
|
from flwr.common.address import parse_address
|
|
24
24
|
from flwr.common.constant import FLEET_API_GRPC_BIDI_DEFAULT_ADDRESS
|
|
25
|
-
from flwr.common.
|
|
25
|
+
from flwr.common.exit import register_signal_handlers
|
|
26
26
|
from flwr.common.logger import log, warn_deprecated_feature
|
|
27
27
|
from flwr.server.client_manager import ClientManager
|
|
28
28
|
from flwr.server.history import History
|
|
@@ -154,7 +154,7 @@ def start_server( # pylint: disable=too-many-arguments,too-many-locals
|
|
|
154
154
|
)
|
|
155
155
|
|
|
156
156
|
# Graceful shutdown
|
|
157
|
-
|
|
157
|
+
register_signal_handlers(
|
|
158
158
|
event_type=EventType.START_SERVER_LEAVE,
|
|
159
159
|
exit_message="Flower server terminated gracefully.",
|
|
160
160
|
grpc_servers=[grpc_server],
|
flwr/proto/appio_pb2.py
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: flwr/proto/appio.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
|
+
from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
|
|
16
|
+
from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
|
|
17
|
+
from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/appio.proto\x12\nflwr.proto\x1a\x18\x66lwr/proto/message.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x14\x66lwr/proto/run.proto\"\x19\n\x17ListAppsToLaunchRequest\"+\n\x18ListAppsToLaunchResponse\x12\x0f\n\x07run_ids\x18\x01 \x03(\x04\"%\n\x13RequestTokenRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"%\n\x14RequestTokenResponse\x12\r\n\x05token\x18\x01 \x01(\t\"\x99\x01\n\x16PushAppMessagesRequest\x12\r\n\x05token\x18\x01 \x01(\t\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x0e\n\x06run_id\x18\x03 \x01(\x04\x12\x34\n\x14message_object_trees\x18\x04 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"G\n\x17PushAppMessagesResponse\x12\x13\n\x0bmessage_ids\x18\x01 \x03(\t\x12\x17\n\x0fobjects_to_push\x18\x02 \x03(\t\"L\n\x16PullAppMessagesRequest\x12\r\n\x05token\x18\x01 \x01(\t\x12\x13\n\x0bmessage_ids\x18\x02 \x03(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\x04\"{\n\x17PullAppMessagesResponse\x12*\n\rmessages_list\x18\x01 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x02 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"%\n\x14PullAppInputsRequest\x12\r\n\x05token\x18\x01 \x01(\t\"y\n\x15PullAppInputsResponse\x12$\n\x07\x63ontext\x18\x01 \x01(\x0b\x32\x13.flwr.proto.Context\x12\x1c\n\x03run\x18\x02 \x01(\x0b\x32\x0f.flwr.proto.Run\x12\x1c\n\x03\x66\x61\x62\x18\x03 \x01(\x0b\x32\x0f.flwr.proto.Fab\"\\\n\x15PushAppOutputsRequest\x12\r\n\x05token\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\x04\x12$\n\x07\x63ontext\x18\x03 \x01(\x0b\x32\x13.flwr.proto.Context\"\x18\n\x16PushAppOutputsResponseb\x06proto3')
|
|
21
|
+
|
|
22
|
+
_globals = globals()
|
|
23
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
24
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.appio_pb2', _globals)
|
|
25
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
26
|
+
DESCRIPTOR._options = None
|
|
27
|
+
_globals['_LISTAPPSTOLAUNCHREQUEST']._serialized_start=108
|
|
28
|
+
_globals['_LISTAPPSTOLAUNCHREQUEST']._serialized_end=133
|
|
29
|
+
_globals['_LISTAPPSTOLAUNCHRESPONSE']._serialized_start=135
|
|
30
|
+
_globals['_LISTAPPSTOLAUNCHRESPONSE']._serialized_end=178
|
|
31
|
+
_globals['_REQUESTTOKENREQUEST']._serialized_start=180
|
|
32
|
+
_globals['_REQUESTTOKENREQUEST']._serialized_end=217
|
|
33
|
+
_globals['_REQUESTTOKENRESPONSE']._serialized_start=219
|
|
34
|
+
_globals['_REQUESTTOKENRESPONSE']._serialized_end=256
|
|
35
|
+
_globals['_PUSHAPPMESSAGESREQUEST']._serialized_start=259
|
|
36
|
+
_globals['_PUSHAPPMESSAGESREQUEST']._serialized_end=412
|
|
37
|
+
_globals['_PUSHAPPMESSAGESRESPONSE']._serialized_start=414
|
|
38
|
+
_globals['_PUSHAPPMESSAGESRESPONSE']._serialized_end=485
|
|
39
|
+
_globals['_PULLAPPMESSAGESREQUEST']._serialized_start=487
|
|
40
|
+
_globals['_PULLAPPMESSAGESREQUEST']._serialized_end=563
|
|
41
|
+
_globals['_PULLAPPMESSAGESRESPONSE']._serialized_start=565
|
|
42
|
+
_globals['_PULLAPPMESSAGESRESPONSE']._serialized_end=688
|
|
43
|
+
_globals['_PULLAPPINPUTSREQUEST']._serialized_start=690
|
|
44
|
+
_globals['_PULLAPPINPUTSREQUEST']._serialized_end=727
|
|
45
|
+
_globals['_PULLAPPINPUTSRESPONSE']._serialized_start=729
|
|
46
|
+
_globals['_PULLAPPINPUTSRESPONSE']._serialized_end=850
|
|
47
|
+
_globals['_PUSHAPPOUTPUTSREQUEST']._serialized_start=852
|
|
48
|
+
_globals['_PUSHAPPOUTPUTSREQUEST']._serialized_end=944
|
|
49
|
+
_globals['_PUSHAPPOUTPUTSRESPONSE']._serialized_start=946
|
|
50
|
+
_globals['_PUSHAPPOUTPUTSRESPONSE']._serialized_end=970
|
|
51
|
+
# @@protoc_insertion_point(module_scope)
|
flwr/proto/appio_pb2.pyi
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
import builtins
|
|
6
|
+
import flwr.proto.fab_pb2
|
|
7
|
+
import flwr.proto.message_pb2
|
|
8
|
+
import flwr.proto.run_pb2
|
|
9
|
+
import google.protobuf.descriptor
|
|
10
|
+
import google.protobuf.internal.containers
|
|
11
|
+
import google.protobuf.message
|
|
12
|
+
import typing
|
|
13
|
+
import typing_extensions
|
|
14
|
+
|
|
15
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
16
|
+
|
|
17
|
+
class ListAppsToLaunchRequest(google.protobuf.message.Message):
|
|
18
|
+
"""These messages are used by both ServerAppIo and ClientAppIo services
|
|
19
|
+
|
|
20
|
+
ListAppsToLaunch messages
|
|
21
|
+
"""
|
|
22
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
23
|
+
def __init__(self,
|
|
24
|
+
) -> None: ...
|
|
25
|
+
global___ListAppsToLaunchRequest = ListAppsToLaunchRequest
|
|
26
|
+
|
|
27
|
+
class ListAppsToLaunchResponse(google.protobuf.message.Message):
|
|
28
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
29
|
+
RUN_IDS_FIELD_NUMBER: builtins.int
|
|
30
|
+
@property
|
|
31
|
+
def run_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
|
|
32
|
+
"""List of run IDs of the apps to launch"""
|
|
33
|
+
pass
|
|
34
|
+
def __init__(self,
|
|
35
|
+
*,
|
|
36
|
+
run_ids: typing.Optional[typing.Iterable[builtins.int]] = ...,
|
|
37
|
+
) -> None: ...
|
|
38
|
+
def ClearField(self, field_name: typing_extensions.Literal["run_ids",b"run_ids"]) -> None: ...
|
|
39
|
+
global___ListAppsToLaunchResponse = ListAppsToLaunchResponse
|
|
40
|
+
|
|
41
|
+
class RequestTokenRequest(google.protobuf.message.Message):
|
|
42
|
+
"""RequestToken messages"""
|
|
43
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
44
|
+
RUN_ID_FIELD_NUMBER: builtins.int
|
|
45
|
+
run_id: builtins.int
|
|
46
|
+
def __init__(self,
|
|
47
|
+
*,
|
|
48
|
+
run_id: builtins.int = ...,
|
|
49
|
+
) -> None: ...
|
|
50
|
+
def ClearField(self, field_name: typing_extensions.Literal["run_id",b"run_id"]) -> None: ...
|
|
51
|
+
global___RequestTokenRequest = RequestTokenRequest
|
|
52
|
+
|
|
53
|
+
class RequestTokenResponse(google.protobuf.message.Message):
|
|
54
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
55
|
+
TOKEN_FIELD_NUMBER: builtins.int
|
|
56
|
+
token: typing.Text
|
|
57
|
+
def __init__(self,
|
|
58
|
+
*,
|
|
59
|
+
token: typing.Text = ...,
|
|
60
|
+
) -> None: ...
|
|
61
|
+
def ClearField(self, field_name: typing_extensions.Literal["token",b"token"]) -> None: ...
|
|
62
|
+
global___RequestTokenResponse = RequestTokenResponse
|
|
63
|
+
|
|
64
|
+
class PushAppMessagesRequest(google.protobuf.message.Message):
|
|
65
|
+
"""PushAppMessages messages"""
|
|
66
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
67
|
+
TOKEN_FIELD_NUMBER: builtins.int
|
|
68
|
+
MESSAGES_LIST_FIELD_NUMBER: builtins.int
|
|
69
|
+
RUN_ID_FIELD_NUMBER: builtins.int
|
|
70
|
+
MESSAGE_OBJECT_TREES_FIELD_NUMBER: builtins.int
|
|
71
|
+
token: typing.Text
|
|
72
|
+
@property
|
|
73
|
+
def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
|
|
74
|
+
run_id: builtins.int
|
|
75
|
+
@property
|
|
76
|
+
def message_object_trees(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.ObjectTree]: ...
|
|
77
|
+
def __init__(self,
|
|
78
|
+
*,
|
|
79
|
+
token: typing.Text = ...,
|
|
80
|
+
messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
|
|
81
|
+
run_id: builtins.int = ...,
|
|
82
|
+
message_object_trees: typing.Optional[typing.Iterable[flwr.proto.message_pb2.ObjectTree]] = ...,
|
|
83
|
+
) -> None: ...
|
|
84
|
+
def ClearField(self, field_name: typing_extensions.Literal["message_object_trees",b"message_object_trees","messages_list",b"messages_list","run_id",b"run_id","token",b"token"]) -> None: ...
|
|
85
|
+
global___PushAppMessagesRequest = PushAppMessagesRequest
|
|
86
|
+
|
|
87
|
+
class PushAppMessagesResponse(google.protobuf.message.Message):
|
|
88
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
89
|
+
MESSAGE_IDS_FIELD_NUMBER: builtins.int
|
|
90
|
+
OBJECTS_TO_PUSH_FIELD_NUMBER: builtins.int
|
|
91
|
+
@property
|
|
92
|
+
def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
|
93
|
+
@property
|
|
94
|
+
def objects_to_push(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
|
95
|
+
def __init__(self,
|
|
96
|
+
*,
|
|
97
|
+
message_ids: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
|
98
|
+
objects_to_push: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
|
99
|
+
) -> None: ...
|
|
100
|
+
def ClearField(self, field_name: typing_extensions.Literal["message_ids",b"message_ids","objects_to_push",b"objects_to_push"]) -> None: ...
|
|
101
|
+
global___PushAppMessagesResponse = PushAppMessagesResponse
|
|
102
|
+
|
|
103
|
+
class PullAppMessagesRequest(google.protobuf.message.Message):
|
|
104
|
+
"""PullAppMessages messages"""
|
|
105
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
106
|
+
TOKEN_FIELD_NUMBER: builtins.int
|
|
107
|
+
MESSAGE_IDS_FIELD_NUMBER: builtins.int
|
|
108
|
+
RUN_ID_FIELD_NUMBER: builtins.int
|
|
109
|
+
token: typing.Text
|
|
110
|
+
@property
|
|
111
|
+
def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
|
112
|
+
run_id: builtins.int
|
|
113
|
+
def __init__(self,
|
|
114
|
+
*,
|
|
115
|
+
token: typing.Text = ...,
|
|
116
|
+
message_ids: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
|
117
|
+
run_id: builtins.int = ...,
|
|
118
|
+
) -> None: ...
|
|
119
|
+
def ClearField(self, field_name: typing_extensions.Literal["message_ids",b"message_ids","run_id",b"run_id","token",b"token"]) -> None: ...
|
|
120
|
+
global___PullAppMessagesRequest = PullAppMessagesRequest
|
|
121
|
+
|
|
122
|
+
class PullAppMessagesResponse(google.protobuf.message.Message):
|
|
123
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
124
|
+
MESSAGES_LIST_FIELD_NUMBER: builtins.int
|
|
125
|
+
MESSAGE_OBJECT_TREES_FIELD_NUMBER: builtins.int
|
|
126
|
+
@property
|
|
127
|
+
def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
|
|
128
|
+
@property
|
|
129
|
+
def message_object_trees(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.ObjectTree]: ...
|
|
130
|
+
def __init__(self,
|
|
131
|
+
*,
|
|
132
|
+
messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
|
|
133
|
+
message_object_trees: typing.Optional[typing.Iterable[flwr.proto.message_pb2.ObjectTree]] = ...,
|
|
134
|
+
) -> None: ...
|
|
135
|
+
def ClearField(self, field_name: typing_extensions.Literal["message_object_trees",b"message_object_trees","messages_list",b"messages_list"]) -> None: ...
|
|
136
|
+
global___PullAppMessagesResponse = PullAppMessagesResponse
|
|
137
|
+
|
|
138
|
+
class PullAppInputsRequest(google.protobuf.message.Message):
|
|
139
|
+
"""PullAppInputs messages"""
|
|
140
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
141
|
+
TOKEN_FIELD_NUMBER: builtins.int
|
|
142
|
+
token: typing.Text
|
|
143
|
+
def __init__(self,
|
|
144
|
+
*,
|
|
145
|
+
token: typing.Text = ...,
|
|
146
|
+
) -> None: ...
|
|
147
|
+
def ClearField(self, field_name: typing_extensions.Literal["token",b"token"]) -> None: ...
|
|
148
|
+
global___PullAppInputsRequest = PullAppInputsRequest
|
|
149
|
+
|
|
150
|
+
class PullAppInputsResponse(google.protobuf.message.Message):
|
|
151
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
152
|
+
CONTEXT_FIELD_NUMBER: builtins.int
|
|
153
|
+
RUN_FIELD_NUMBER: builtins.int
|
|
154
|
+
FAB_FIELD_NUMBER: builtins.int
|
|
155
|
+
@property
|
|
156
|
+
def context(self) -> flwr.proto.message_pb2.Context: ...
|
|
157
|
+
@property
|
|
158
|
+
def run(self) -> flwr.proto.run_pb2.Run: ...
|
|
159
|
+
@property
|
|
160
|
+
def fab(self) -> flwr.proto.fab_pb2.Fab: ...
|
|
161
|
+
def __init__(self,
|
|
162
|
+
*,
|
|
163
|
+
context: typing.Optional[flwr.proto.message_pb2.Context] = ...,
|
|
164
|
+
run: typing.Optional[flwr.proto.run_pb2.Run] = ...,
|
|
165
|
+
fab: typing.Optional[flwr.proto.fab_pb2.Fab] = ...,
|
|
166
|
+
) -> None: ...
|
|
167
|
+
def HasField(self, field_name: typing_extensions.Literal["context",b"context","fab",b"fab","run",b"run"]) -> builtins.bool: ...
|
|
168
|
+
def ClearField(self, field_name: typing_extensions.Literal["context",b"context","fab",b"fab","run",b"run"]) -> None: ...
|
|
169
|
+
global___PullAppInputsResponse = PullAppInputsResponse
|
|
170
|
+
|
|
171
|
+
class PushAppOutputsRequest(google.protobuf.message.Message):
|
|
172
|
+
"""PushAppInputs messages"""
|
|
173
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
174
|
+
TOKEN_FIELD_NUMBER: builtins.int
|
|
175
|
+
RUN_ID_FIELD_NUMBER: builtins.int
|
|
176
|
+
CONTEXT_FIELD_NUMBER: builtins.int
|
|
177
|
+
token: typing.Text
|
|
178
|
+
run_id: builtins.int
|
|
179
|
+
@property
|
|
180
|
+
def context(self) -> flwr.proto.message_pb2.Context: ...
|
|
181
|
+
def __init__(self,
|
|
182
|
+
*,
|
|
183
|
+
token: typing.Text = ...,
|
|
184
|
+
run_id: builtins.int = ...,
|
|
185
|
+
context: typing.Optional[flwr.proto.message_pb2.Context] = ...,
|
|
186
|
+
) -> None: ...
|
|
187
|
+
def HasField(self, field_name: typing_extensions.Literal["context",b"context"]) -> builtins.bool: ...
|
|
188
|
+
def ClearField(self, field_name: typing_extensions.Literal["context",b"context","run_id",b"run_id","token",b"token"]) -> None: ...
|
|
189
|
+
global___PushAppOutputsRequest = PushAppOutputsRequest
|
|
190
|
+
|
|
191
|
+
class PushAppOutputsResponse(google.protobuf.message.Message):
|
|
192
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
193
|
+
def __init__(self,
|
|
194
|
+
) -> None: ...
|
|
195
|
+
global___PushAppOutputsResponse = PushAppOutputsResponse
|
flwr/proto/clientappio_pb2.py
CHANGED
|
@@ -15,31 +15,16 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
|
|
16
16
|
from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
|
|
17
17
|
from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
|
|
18
|
+
from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
|
|
18
19
|
|
|
19
20
|
|
|
20
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lwr/proto/clientappio.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x18\x66lwr/proto/message.proto\
|
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lwr/proto/clientappio.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x18\x66lwr/proto/message.proto\x1a\x16\x66lwr/proto/appio.proto2\x8a\x07\n\x0b\x43lientAppIo\x12_\n\x10ListAppsToLaunch\x12#.flwr.proto.ListAppsToLaunchRequest\x1a$.flwr.proto.ListAppsToLaunchResponse\"\x00\x12S\n\x0cRequestToken\x12\x1f.flwr.proto.RequestTokenRequest\x1a .flwr.proto.RequestTokenResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\\\n\x13PullClientAppInputs\x12 .flwr.proto.PullAppInputsRequest\x1a!.flwr.proto.PullAppInputsResponse\"\x00\x12_\n\x14PushClientAppOutputs\x12!.flwr.proto.PushAppOutputsRequest\x1a\".flwr.proto.PushAppOutputsResponse\"\x00\x12X\n\x0bPushMessage\x12\".flwr.proto.PushAppMessagesRequest\x1a#.flwr.proto.PushAppMessagesResponse\"\x00\x12X\n\x0bPullMessage\x12\".flwr.proto.PullAppMessagesRequest\x1a#.flwr.proto.PullAppMessagesResponse\"\x00\x12M\n\nPushObject\x12\x1d.flwr.proto.PushObjectRequest\x1a\x1e.flwr.proto.PushObjectResponse\"\x00\x12M\n\nPullObject\x12\x1d.flwr.proto.PullObjectRequest\x1a\x1e.flwr.proto.PullObjectResponse\"\x00\x12q\n\x16\x43onfirmMessageReceived\x12).flwr.proto.ConfirmMessageReceivedRequest\x1a*.flwr.proto.ConfirmMessageReceivedResponse\"\x00\x62\x06proto3')
|
|
21
22
|
|
|
22
23
|
_globals = globals()
|
|
23
24
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
24
25
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.clientappio_pb2', _globals)
|
|
25
26
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
26
27
|
DESCRIPTOR._options = None
|
|
27
|
-
_globals['
|
|
28
|
-
_globals['
|
|
29
|
-
_globals['_CLIENTAPPOUTPUTSTATUS']._serialized_start=114
|
|
30
|
-
_globals['_CLIENTAPPOUTPUTSTATUS']._serialized_end=201
|
|
31
|
-
_globals['_GETTOKENREQUEST']._serialized_start=203
|
|
32
|
-
_globals['_GETTOKENREQUEST']._serialized_end=220
|
|
33
|
-
_globals['_GETTOKENRESPONSE']._serialized_start=222
|
|
34
|
-
_globals['_GETTOKENRESPONSE']._serialized_end=255
|
|
35
|
-
_globals['_PULLCLIENTAPPINPUTSREQUEST']._serialized_start=257
|
|
36
|
-
_globals['_PULLCLIENTAPPINPUTSREQUEST']._serialized_end=300
|
|
37
|
-
_globals['_PULLCLIENTAPPINPUTSRESPONSE']._serialized_start=303
|
|
38
|
-
_globals['_PULLCLIENTAPPINPUTSRESPONSE']._serialized_end=468
|
|
39
|
-
_globals['_PUSHCLIENTAPPOUTPUTSREQUEST']._serialized_start=470
|
|
40
|
-
_globals['_PUSHCLIENTAPPOUTPUTSREQUEST']._serialized_end=590
|
|
41
|
-
_globals['_PUSHCLIENTAPPOUTPUTSRESPONSE']._serialized_start=592
|
|
42
|
-
_globals['_PUSHCLIENTAPPOUTPUTSRESPONSE']._serialized_end=673
|
|
43
|
-
_globals['_CLIENTAPPIO']._serialized_start=754
|
|
44
|
-
_globals['_CLIENTAPPIO']._serialized_end=1055
|
|
28
|
+
_globals['_CLIENTAPPIO']._serialized_start=139
|
|
29
|
+
_globals['_CLIENTAPPIO']._serialized_end=1045
|
|
45
30
|
# @@protoc_insertion_point(module_scope)
|
flwr/proto/clientappio_pb2.pyi
CHANGED
|
@@ -2,131 +2,6 @@
|
|
|
2
2
|
@generated by mypy-protobuf. Do not edit manually!
|
|
3
3
|
isort:skip_file
|
|
4
4
|
"""
|
|
5
|
-
import builtins
|
|
6
|
-
import flwr.proto.fab_pb2
|
|
7
|
-
import flwr.proto.message_pb2
|
|
8
|
-
import flwr.proto.run_pb2
|
|
9
5
|
import google.protobuf.descriptor
|
|
10
|
-
import google.protobuf.internal.enum_type_wrapper
|
|
11
|
-
import google.protobuf.message
|
|
12
|
-
import typing
|
|
13
|
-
import typing_extensions
|
|
14
6
|
|
|
15
7
|
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
16
|
-
|
|
17
|
-
class _ClientAppOutputCode:
|
|
18
|
-
ValueType = typing.NewType('ValueType', builtins.int)
|
|
19
|
-
V: typing_extensions.TypeAlias = ValueType
|
|
20
|
-
class _ClientAppOutputCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ClientAppOutputCode.ValueType], builtins.type):
|
|
21
|
-
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
22
|
-
SUCCESS: _ClientAppOutputCode.ValueType # 0
|
|
23
|
-
DEADLINE_EXCEEDED: _ClientAppOutputCode.ValueType # 1
|
|
24
|
-
UNKNOWN_ERROR: _ClientAppOutputCode.ValueType # 2
|
|
25
|
-
class ClientAppOutputCode(_ClientAppOutputCode, metaclass=_ClientAppOutputCodeEnumTypeWrapper):
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
SUCCESS: ClientAppOutputCode.ValueType # 0
|
|
29
|
-
DEADLINE_EXCEEDED: ClientAppOutputCode.ValueType # 1
|
|
30
|
-
UNKNOWN_ERROR: ClientAppOutputCode.ValueType # 2
|
|
31
|
-
global___ClientAppOutputCode = ClientAppOutputCode
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class ClientAppOutputStatus(google.protobuf.message.Message):
|
|
35
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
36
|
-
CODE_FIELD_NUMBER: builtins.int
|
|
37
|
-
MESSAGE_FIELD_NUMBER: builtins.int
|
|
38
|
-
code: global___ClientAppOutputCode.ValueType
|
|
39
|
-
message: typing.Text
|
|
40
|
-
def __init__(self,
|
|
41
|
-
*,
|
|
42
|
-
code: global___ClientAppOutputCode.ValueType = ...,
|
|
43
|
-
message: typing.Text = ...,
|
|
44
|
-
) -> None: ...
|
|
45
|
-
def ClearField(self, field_name: typing_extensions.Literal["code",b"code","message",b"message"]) -> None: ...
|
|
46
|
-
global___ClientAppOutputStatus = ClientAppOutputStatus
|
|
47
|
-
|
|
48
|
-
class GetTokenRequest(google.protobuf.message.Message):
|
|
49
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
50
|
-
def __init__(self,
|
|
51
|
-
) -> None: ...
|
|
52
|
-
global___GetTokenRequest = GetTokenRequest
|
|
53
|
-
|
|
54
|
-
class GetTokenResponse(google.protobuf.message.Message):
|
|
55
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
56
|
-
TOKEN_FIELD_NUMBER: builtins.int
|
|
57
|
-
token: builtins.int
|
|
58
|
-
def __init__(self,
|
|
59
|
-
*,
|
|
60
|
-
token: builtins.int = ...,
|
|
61
|
-
) -> None: ...
|
|
62
|
-
def ClearField(self, field_name: typing_extensions.Literal["token",b"token"]) -> None: ...
|
|
63
|
-
global___GetTokenResponse = GetTokenResponse
|
|
64
|
-
|
|
65
|
-
class PullClientAppInputsRequest(google.protobuf.message.Message):
|
|
66
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
67
|
-
TOKEN_FIELD_NUMBER: builtins.int
|
|
68
|
-
token: builtins.int
|
|
69
|
-
def __init__(self,
|
|
70
|
-
*,
|
|
71
|
-
token: builtins.int = ...,
|
|
72
|
-
) -> None: ...
|
|
73
|
-
def ClearField(self, field_name: typing_extensions.Literal["token",b"token"]) -> None: ...
|
|
74
|
-
global___PullClientAppInputsRequest = PullClientAppInputsRequest
|
|
75
|
-
|
|
76
|
-
class PullClientAppInputsResponse(google.protobuf.message.Message):
|
|
77
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
78
|
-
MESSAGE_FIELD_NUMBER: builtins.int
|
|
79
|
-
CONTEXT_FIELD_NUMBER: builtins.int
|
|
80
|
-
RUN_FIELD_NUMBER: builtins.int
|
|
81
|
-
FAB_FIELD_NUMBER: builtins.int
|
|
82
|
-
@property
|
|
83
|
-
def message(self) -> flwr.proto.message_pb2.Message: ...
|
|
84
|
-
@property
|
|
85
|
-
def context(self) -> flwr.proto.message_pb2.Context: ...
|
|
86
|
-
@property
|
|
87
|
-
def run(self) -> flwr.proto.run_pb2.Run: ...
|
|
88
|
-
@property
|
|
89
|
-
def fab(self) -> flwr.proto.fab_pb2.Fab: ...
|
|
90
|
-
def __init__(self,
|
|
91
|
-
*,
|
|
92
|
-
message: typing.Optional[flwr.proto.message_pb2.Message] = ...,
|
|
93
|
-
context: typing.Optional[flwr.proto.message_pb2.Context] = ...,
|
|
94
|
-
run: typing.Optional[flwr.proto.run_pb2.Run] = ...,
|
|
95
|
-
fab: typing.Optional[flwr.proto.fab_pb2.Fab] = ...,
|
|
96
|
-
) -> None: ...
|
|
97
|
-
def HasField(self, field_name: typing_extensions.Literal["context",b"context","fab",b"fab","message",b"message","run",b"run"]) -> builtins.bool: ...
|
|
98
|
-
def ClearField(self, field_name: typing_extensions.Literal["context",b"context","fab",b"fab","message",b"message","run",b"run"]) -> None: ...
|
|
99
|
-
global___PullClientAppInputsResponse = PullClientAppInputsResponse
|
|
100
|
-
|
|
101
|
-
class PushClientAppOutputsRequest(google.protobuf.message.Message):
|
|
102
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
103
|
-
TOKEN_FIELD_NUMBER: builtins.int
|
|
104
|
-
MESSAGE_FIELD_NUMBER: builtins.int
|
|
105
|
-
CONTEXT_FIELD_NUMBER: builtins.int
|
|
106
|
-
token: builtins.int
|
|
107
|
-
@property
|
|
108
|
-
def message(self) -> flwr.proto.message_pb2.Message: ...
|
|
109
|
-
@property
|
|
110
|
-
def context(self) -> flwr.proto.message_pb2.Context: ...
|
|
111
|
-
def __init__(self,
|
|
112
|
-
*,
|
|
113
|
-
token: builtins.int = ...,
|
|
114
|
-
message: typing.Optional[flwr.proto.message_pb2.Message] = ...,
|
|
115
|
-
context: typing.Optional[flwr.proto.message_pb2.Context] = ...,
|
|
116
|
-
) -> None: ...
|
|
117
|
-
def HasField(self, field_name: typing_extensions.Literal["context",b"context","message",b"message"]) -> builtins.bool: ...
|
|
118
|
-
def ClearField(self, field_name: typing_extensions.Literal["context",b"context","message",b"message","token",b"token"]) -> None: ...
|
|
119
|
-
global___PushClientAppOutputsRequest = PushClientAppOutputsRequest
|
|
120
|
-
|
|
121
|
-
class PushClientAppOutputsResponse(google.protobuf.message.Message):
|
|
122
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
123
|
-
STATUS_FIELD_NUMBER: builtins.int
|
|
124
|
-
@property
|
|
125
|
-
def status(self) -> global___ClientAppOutputStatus: ...
|
|
126
|
-
def __init__(self,
|
|
127
|
-
*,
|
|
128
|
-
status: typing.Optional[global___ClientAppOutputStatus] = ...,
|
|
129
|
-
) -> None: ...
|
|
130
|
-
def HasField(self, field_name: typing_extensions.Literal["status",b"status"]) -> builtins.bool: ...
|
|
131
|
-
def ClearField(self, field_name: typing_extensions.Literal["status",b"status"]) -> None: ...
|
|
132
|
-
global___PushClientAppOutputsResponse = PushClientAppOutputsResponse
|