flwr-nightly 1.15.0.dev20250129__py3-none-any.whl → 1.15.2.dev20250214__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/auth_plugin/oidc_cli_plugin.py +2 -2
- flwr/cli/ls.py +3 -2
- flwr/cli/new/templates/app/README.baseline.md.tpl +4 -4
- flwr/cli/new/templates/app/README.md.tpl +3 -2
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +4 -4
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +3 -3
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
- flwr/cli/stop.py +3 -2
- flwr/cli/utils.py +3 -3
- flwr/client/supernode/app.py +4 -28
- flwr/common/args.py +25 -47
- flwr/common/config.py +15 -2
- flwr/common/constant.py +9 -7
- flwr/common/exit_handlers.py +17 -29
- flwr/common/logger.py +10 -5
- flwr/common/object_ref.py +0 -14
- flwr/proto/clientappio_pb2.py +3 -13
- flwr/proto/clientappio_pb2_grpc.py +12 -63
- flwr/proto/error_pb2.py +3 -13
- flwr/proto/error_pb2_grpc.py +0 -20
- flwr/proto/exec_pb2.py +5 -15
- flwr/proto/exec_pb2_grpc.py +24 -105
- flwr/proto/fab_pb2.py +3 -13
- flwr/proto/fab_pb2_grpc.py +0 -20
- flwr/proto/fleet_pb2.py +4 -14
- flwr/proto/fleet_pb2_grpc.py +28 -119
- flwr/proto/grpcadapter_pb2.py +4 -14
- flwr/proto/grpcadapter_pb2_grpc.py +4 -35
- flwr/proto/log_pb2.py +3 -13
- flwr/proto/log_pb2_grpc.py +0 -20
- flwr/proto/message_pb2.py +5 -15
- flwr/proto/message_pb2_grpc.py +0 -20
- flwr/proto/node_pb2.py +3 -13
- flwr/proto/node_pb2_grpc.py +0 -20
- flwr/proto/recordset_pb2.py +8 -18
- flwr/proto/recordset_pb2_grpc.py +0 -20
- flwr/proto/run_pb2.py +6 -16
- flwr/proto/run_pb2_grpc.py +0 -20
- flwr/proto/serverappio_pb2.py +26 -45
- flwr/proto/serverappio_pb2.pyi +0 -62
- flwr/proto/serverappio_pb2_grpc.py +47 -264
- flwr/proto/serverappio_pb2_grpc.pyi +7 -27
- flwr/proto/simulationio_pb2.py +3 -13
- flwr/proto/simulationio_pb2_grpc.py +24 -105
- flwr/proto/task_pb2.py +9 -19
- flwr/proto/task_pb2.pyi +1 -4
- flwr/proto/task_pb2_grpc.py +0 -20
- flwr/proto/transport_pb2.py +10 -20
- flwr/proto/transport_pb2_grpc.py +4 -35
- flwr/server/app.py +5 -9
- flwr/server/driver/inmemory_driver.py +0 -1
- flwr/server/superlink/driver/serverappio_servicer.py +1 -99
- flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +17 -4
- flwr/server/superlink/fleet/message_handler/message_handler.py +0 -4
- flwr/server/superlink/fleet/vce/vce_api.py +0 -1
- flwr/server/superlink/linkstate/sqlite_linkstate.py +0 -6
- flwr/server/utils/validator.py +0 -3
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/METADATA +4 -4
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/RECORD +68 -68
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/LICENSE +0 -0
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/WHEEL +0 -0
- {flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/entry_points.txt +0 -0
@@ -25,6 +25,7 @@ from flwr.common import now
|
|
25
25
|
from flwr.common.constant import (
|
26
26
|
PUBLIC_KEY_HEADER,
|
27
27
|
SIGNATURE_HEADER,
|
28
|
+
SYSTEM_TIME_TOLERANCE,
|
28
29
|
TIMESTAMP_HEADER,
|
29
30
|
TIMESTAMP_TOLERANCE,
|
30
31
|
)
|
@@ -38,10 +39,15 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
|
|
38
39
|
)
|
39
40
|
from flwr.server.superlink.linkstate import LinkStateFactory
|
40
41
|
|
42
|
+
MIN_TIMESTAMP_DIFF = -SYSTEM_TIME_TOLERANCE
|
43
|
+
MAX_TIMESTAMP_DIFF = TIMESTAMP_TOLERANCE + SYSTEM_TIME_TOLERANCE
|
41
44
|
|
42
|
-
|
45
|
+
|
46
|
+
def _unary_unary_rpc_terminator(
|
47
|
+
message: str, code: Any = grpc.StatusCode.UNAUTHENTICATED
|
48
|
+
) -> grpc.RpcMethodHandler:
|
43
49
|
def terminate(_request: GrpcMessage, context: grpc.ServicerContext) -> GrpcMessage:
|
44
|
-
context.abort(
|
50
|
+
context.abort(code, message)
|
45
51
|
raise RuntimeError("Should not reach this point") # Make mypy happy
|
46
52
|
|
47
53
|
return grpc.unary_unary_rpc_method_handler(terminate)
|
@@ -64,7 +70,7 @@ class AuthenticateServerInterceptor(grpc.ServerInterceptor): # type: ignore
|
|
64
70
|
self.state_factory = state_factory
|
65
71
|
self.auto_auth = auto_auth
|
66
72
|
|
67
|
-
def intercept_service(
|
73
|
+
def intercept_service( # pylint: disable=too-many-return-statements
|
68
74
|
self,
|
69
75
|
continuation: Callable[[Any], Any],
|
70
76
|
handler_call_details: grpc.HandlerCallDetails,
|
@@ -75,6 +81,13 @@ class AuthenticateServerInterceptor(grpc.ServerInterceptor): # type: ignore
|
|
75
81
|
metadata sent by the node. Continue RPC call if node is authenticated, else,
|
76
82
|
terminate RPC call by setting context to abort.
|
77
83
|
"""
|
84
|
+
# Filter out non-Fleet service calls
|
85
|
+
if not handler_call_details.method.startswith("/flwr.proto.Fleet/"):
|
86
|
+
return _unary_unary_rpc_terminator(
|
87
|
+
"This request should be sent to a different service.",
|
88
|
+
grpc.StatusCode.FAILED_PRECONDITION,
|
89
|
+
)
|
90
|
+
|
78
91
|
state = self.state_factory.state()
|
79
92
|
metadata_dict = dict(handler_call_details.invocation_metadata)
|
80
93
|
|
@@ -100,7 +113,7 @@ class AuthenticateServerInterceptor(grpc.ServerInterceptor): # type: ignore
|
|
100
113
|
current = now()
|
101
114
|
time_diff = current - datetime.datetime.fromisoformat(timestamp_iso)
|
102
115
|
# Abort the RPC call if the timestamp is too old or in the future
|
103
|
-
if not
|
116
|
+
if not MIN_TIMESTAMP_DIFF < time_diff.total_seconds() < MAX_TIMESTAMP_DIFF:
|
104
117
|
return _unary_unary_rpc_terminator("Invalid timestamp")
|
105
118
|
|
106
119
|
# Continue the RPC call
|
@@ -15,7 +15,6 @@
|
|
15
15
|
"""Fleet API message handlers."""
|
16
16
|
|
17
17
|
|
18
|
-
import time
|
19
18
|
from typing import Optional
|
20
19
|
from uuid import UUID
|
21
20
|
|
@@ -122,9 +121,6 @@ def push_messages(
|
|
122
121
|
if abort_msg:
|
123
122
|
raise InvalidRunStatusException(abort_msg)
|
124
123
|
|
125
|
-
# Set pushed_at (timestamp in seconds)
|
126
|
-
task_res.task.pushed_at = time.time()
|
127
|
-
|
128
124
|
# Store TaskRes in State
|
129
125
|
message_id: Optional[UUID] = state.store_task_res(task_res=task_res)
|
130
126
|
|
@@ -126,7 +126,6 @@ CREATE TABLE IF NOT EXISTS task_ins(
|
|
126
126
|
consumer_node_id INTEGER,
|
127
127
|
created_at REAL,
|
128
128
|
delivered_at TEXT,
|
129
|
-
pushed_at REAL,
|
130
129
|
ttl REAL,
|
131
130
|
ancestry TEXT,
|
132
131
|
task_type TEXT,
|
@@ -144,7 +143,6 @@ CREATE TABLE IF NOT EXISTS task_res(
|
|
144
143
|
consumer_node_id INTEGER,
|
145
144
|
created_at REAL,
|
146
145
|
delivered_at TEXT,
|
147
|
-
pushed_at REAL,
|
148
146
|
ttl REAL,
|
149
147
|
ancestry TEXT,
|
150
148
|
task_type TEXT,
|
@@ -1053,7 +1051,6 @@ def task_ins_to_dict(task_msg: TaskIns) -> dict[str, Any]:
|
|
1053
1051
|
"consumer_node_id": task_msg.task.consumer.node_id,
|
1054
1052
|
"created_at": task_msg.task.created_at,
|
1055
1053
|
"delivered_at": task_msg.task.delivered_at,
|
1056
|
-
"pushed_at": task_msg.task.pushed_at,
|
1057
1054
|
"ttl": task_msg.task.ttl,
|
1058
1055
|
"ancestry": ",".join(task_msg.task.ancestry),
|
1059
1056
|
"task_type": task_msg.task.task_type,
|
@@ -1072,7 +1069,6 @@ def task_res_to_dict(task_msg: TaskRes) -> dict[str, Any]:
|
|
1072
1069
|
"consumer_node_id": task_msg.task.consumer.node_id,
|
1073
1070
|
"created_at": task_msg.task.created_at,
|
1074
1071
|
"delivered_at": task_msg.task.delivered_at,
|
1075
|
-
"pushed_at": task_msg.task.pushed_at,
|
1076
1072
|
"ttl": task_msg.task.ttl,
|
1077
1073
|
"ancestry": ",".join(task_msg.task.ancestry),
|
1078
1074
|
"task_type": task_msg.task.task_type,
|
@@ -1099,7 +1095,6 @@ def dict_to_task_ins(task_dict: dict[str, Any]) -> TaskIns:
|
|
1099
1095
|
),
|
1100
1096
|
created_at=task_dict["created_at"],
|
1101
1097
|
delivered_at=task_dict["delivered_at"],
|
1102
|
-
pushed_at=task_dict["pushed_at"],
|
1103
1098
|
ttl=task_dict["ttl"],
|
1104
1099
|
ancestry=task_dict["ancestry"].split(","),
|
1105
1100
|
task_type=task_dict["task_type"],
|
@@ -1127,7 +1122,6 @@ def dict_to_task_res(task_dict: dict[str, Any]) -> TaskRes:
|
|
1127
1122
|
),
|
1128
1123
|
created_at=task_dict["created_at"],
|
1129
1124
|
delivered_at=task_dict["delivered_at"],
|
1130
|
-
pushed_at=task_dict["pushed_at"],
|
1131
1125
|
ttl=task_dict["ttl"],
|
1132
1126
|
ancestry=task_dict["ancestry"].split(","),
|
1133
1127
|
task_type=task_dict["task_type"],
|
flwr/server/utils/validator.py
CHANGED
@@ -45,9 +45,6 @@ def validate_task_ins_or_res(tasks_ins_res: Union[TaskIns, TaskRes]) -> list[str
|
|
45
45
|
validation_errors.append("`delivered_at` must be an empty str")
|
46
46
|
if tasks_ins_res.task.ttl <= 0:
|
47
47
|
validation_errors.append("`ttl` must be higher than zero")
|
48
|
-
if tasks_ins_res.task.pushed_at < 1711497600.0:
|
49
|
-
# unix timestamp of 27 March 2024 00h:00m:00s UTC
|
50
|
-
validation_errors.append("`pushed_at` is not a recent timestamp")
|
51
48
|
|
52
49
|
# Verify TTL and created_at time
|
53
50
|
current_time = time.time()
|
{flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: flwr-nightly
|
3
|
-
Version: 1.15.
|
3
|
+
Version: 1.15.2.dev20250214
|
4
4
|
Summary: Flower: A Friendly Federated AI Framework
|
5
5
|
Home-page: https://flower.ai
|
6
6
|
License: Apache-2.0
|
@@ -33,14 +33,14 @@ Classifier: Typing :: Typed
|
|
33
33
|
Provides-Extra: rest
|
34
34
|
Provides-Extra: simulation
|
35
35
|
Requires-Dist: cryptography (>=43.0.1,<44.0.0)
|
36
|
-
Requires-Dist: grpcio (>=1.
|
36
|
+
Requires-Dist: grpcio (>=1.62.3,<2.0.0,!=1.65.0)
|
37
37
|
Requires-Dist: iterators (>=0.0.2,<0.0.3)
|
38
38
|
Requires-Dist: numpy (>=1.26.0,<3.0.0)
|
39
39
|
Requires-Dist: pathspec (>=0.12.1,<0.13.0)
|
40
|
-
Requires-Dist: protobuf (>=
|
40
|
+
Requires-Dist: protobuf (>=4.21.6,<5.0.0)
|
41
41
|
Requires-Dist: pycryptodome (>=3.18.0,<4.0.0)
|
42
42
|
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
43
|
-
Requires-Dist: ray (==2.
|
43
|
+
Requires-Dist: ray (==2.31.0) ; (python_version >= "3.9" and python_version < "3.13") and (extra == "simulation")
|
44
44
|
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
45
45
|
Requires-Dist: rich (>=13.5.0,<14.0.0)
|
46
46
|
Requires-Dist: starlette (>=0.45.2,<0.46.0) ; extra == "rest"
|
{flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/RECORD
RENAMED
@@ -2,7 +2,7 @@ flwr/__init__.py,sha256=VmBWedrCxqmt4QvUHBLqyVEH6p7zaFMD_oCHerXHSVw,937
|
|
2
2
|
flwr/cli/__init__.py,sha256=cZJVgozlkC6Ni2Hd_FAIrqefrkCGOV18fikToq-6iLw,720
|
3
3
|
flwr/cli/app.py,sha256=UeXrW5gxrUnFViDjAMIxGNZZKwu3a1oAj83v53IWIWM,1382
|
4
4
|
flwr/cli/auth_plugin/__init__.py,sha256=FyaoqPzcxlBTFfJ2sBRC5USwQLmAhFr5KuBwfMO4bmo,1052
|
5
|
-
flwr/cli/auth_plugin/oidc_cli_plugin.py,sha256=
|
5
|
+
flwr/cli/auth_plugin/oidc_cli_plugin.py,sha256=gIhW6Jg9QAo-jL43LYPpw_kn7pdUZZae0s0H8dEgjLM,5384
|
6
6
|
flwr/cli/build.py,sha256=4P70i_FnUs0P21aTwjTXtFQSAfY-C04hUDF-2npfJdo,6345
|
7
7
|
flwr/cli/cli_user_auth_interceptor.py,sha256=aZepPA298s-HjGmkJGMvI_uZe72O5aLC3jri-ilG53o,3126
|
8
8
|
flwr/cli/config_utils.py,sha256=LelRR960I36n1IPw7BIu79fKoOh0JePA58kAtoXSTH0,7518
|
@@ -12,15 +12,15 @@ flwr/cli/install.py,sha256=-RnrYGejN_zyXXp_CoddSQwoQfRTWWyt9WYlxphJzyU,8180
|
|
12
12
|
flwr/cli/log.py,sha256=vcO-r5EIc127mOQ26uxKVITX-w_Zib7AxSVuuN70_JY,6671
|
13
13
|
flwr/cli/login/__init__.py,sha256=6_9zOzbPOAH72K2wX3-9dXTAbS7Mjpa5sEn2lA6eHHI,800
|
14
14
|
flwr/cli/login/login.py,sha256=iNnNF1bvV0n8Z-vNc89azFNA73JqKZlO1s5OF2atsTc,3917
|
15
|
-
flwr/cli/ls.py,sha256=
|
15
|
+
flwr/cli/ls.py,sha256=cm3NuY1sFq51xVRhUG0MbAfVTrRSjJ1HMIubde80LuY,11433
|
16
16
|
flwr/cli/new/__init__.py,sha256=pOQtPT9W4kCIttcKne5m-FtJbvTqdjTVJxzQ9AUYK8I,790
|
17
17
|
flwr/cli/new/new.py,sha256=scyyKt8mzkc3El1bypgkHjKwVQEc2-q4I50PxriPFdI,9922
|
18
18
|
flwr/cli/new/templates/__init__.py,sha256=4luU8RL-CK8JJCstQ_ON809W9bNTkY1l9zSaPKBkgwY,725
|
19
19
|
flwr/cli/new/templates/app/.gitignore.tpl,sha256=HZJcGQoxp7aUzaPg8Uqch3kNrIESwr9yjimDxJYgXVY,3104
|
20
20
|
flwr/cli/new/templates/app/LICENSE.tpl,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
21
|
-
flwr/cli/new/templates/app/README.baseline.md.tpl,sha256=
|
21
|
+
flwr/cli/new/templates/app/README.baseline.md.tpl,sha256=oClo5eR0iLuPzBT7uS3ikhNRAnySz_lhkHFElixKyJM,9640
|
22
22
|
flwr/cli/new/templates/app/README.flowertune.md.tpl,sha256=QSG51uifue2KVZz2ZNw8kmOStS7svC2AQ2gTa5E7Bhs,3326
|
23
|
-
flwr/cli/new/templates/app/README.md.tpl,sha256=
|
23
|
+
flwr/cli/new/templates/app/README.md.tpl,sha256=qZ6XHeCdSoDwtJqgcyi-ChgOCLMwQ3E42rcY-9qhlUY,1392
|
24
24
|
flwr/cli/new/templates/app/__init__.py,sha256=DU7QMY7IhMQyuwm_tja66xU0KXTWQFqzfTqwg-_NJdE,729
|
25
25
|
flwr/cli/new/templates/app/code/__init__.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
|
26
26
|
flwr/cli/new/templates/app/code/__init__.py,sha256=EM6vfvgAILKPaPn7H1wMV1Wi01WyZCP_Eg6NxD6oWg8,736
|
@@ -58,19 +58,19 @@ flwr/cli/new/templates/app/code/task.pytorch.py.tpl,sha256=XlJqA4Ix_PloO_zJLhjiN
|
|
58
58
|
flwr/cli/new/templates/app/code/task.sklearn.py.tpl,sha256=SeIIo0rr_6ffn4Qx2xELD18jYXCkcW__NWtYEDXCICM,1843
|
59
59
|
flwr/cli/new/templates/app/code/task.tensorflow.py.tpl,sha256=SKXAZdgBnPpbAbJ90Rb7oQ5ilnopBx_j_JNFoUDeEAI,1732
|
60
60
|
flwr/cli/new/templates/app/code/utils.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
|
61
|
-
flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=
|
62
|
-
flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256
|
63
|
-
flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256
|
64
|
-
flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=
|
65
|
-
flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=
|
66
|
-
flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=
|
67
|
-
flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=
|
68
|
-
flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=
|
69
|
-
flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=
|
61
|
+
flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=KaRdKS6Um_7_BwaC2JyPVssvO0XoqugXr3uScQW_gmQ,2666
|
62
|
+
flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=V0ARllDsjHQU7PkgsPk2wQKmcWkbiTYNnDzrQaH8PX8,1873
|
63
|
+
flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=-br1AywMPM2TdOKwooz_jotI4iUoqLMmDkdVIV5txYM,1143
|
64
|
+
flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=p8v65ymJtY50uh8kSyzAOYN34mvf2oQti2yN8d4T_gM,673
|
65
|
+
flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=faz_lde3WU4HAJK_3h2SDR8Kejsv9P1jUHQQKyKdyZM,744
|
66
|
+
flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=xP-U8w8_qim3BS5pTa9QYj38H2DfdcY24mKOdZRqkus,611
|
67
|
+
flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=wLYfJlglT6k3Q5t3PGC43H5eVNouDnEqwK19KHUEj8o,710
|
68
|
+
flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=9p0NzvIHoM0ZvlDUpa1lBMwIY_kpigmNCM7-5r3xWcg,686
|
69
|
+
flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=C_kmVlZ-kqzcBJfMzsimE0voz1UbJMQqO_hfZQjMmg0,710
|
70
70
|
flwr/cli/run/__init__.py,sha256=cCsKVB0SFzh2b3QmGba6BHckB85xlhjh3mh4pBpACtY,790
|
71
71
|
flwr/cli/run/run.py,sha256=kEOYKin9qPJy8SODxcAvIWk-OskKPsxvcbvhDhf2VD4,8299
|
72
|
-
flwr/cli/stop.py,sha256=
|
73
|
-
flwr/cli/utils.py,sha256=
|
72
|
+
flwr/cli/stop.py,sha256=E4TGynmYQss5iWJ_fjSdYIW8nrNta2KOiK4sfvHKO_g,4976
|
73
|
+
flwr/cli/utils.py,sha256=D9XcpxzwkGPNdwX16o0kI-sYnRDMlWYyKNIpz6npRhQ,11236
|
74
74
|
flwr/client/__init__.py,sha256=DGDoO0AEAfz-0CUFmLdyUUweAS64-07AOnmDfWUefK4,1192
|
75
75
|
flwr/client/app.py,sha256=tNnef5wGVfqMiiGiWzAuULyy1QpvCKukiRmNi_a2cQc,34261
|
76
76
|
flwr/client/client.py,sha256=8o58nd9o6ZFcMIaVYPGcV4MSjBG4H0oFgWiv8ZEO3oA,7895
|
@@ -109,15 +109,15 @@ flwr/client/rest_client/__init__.py,sha256=5KGlp7pjc1dhNRkKlaNtUfQmg8wrRFh9lS3P3
|
|
109
109
|
flwr/client/rest_client/connection.py,sha256=9_JDGHkmaiPgk6CmcQId56Ia1ucQfrqcpNOUObdZaZU,13008
|
110
110
|
flwr/client/run_info_store.py,sha256=ZN2Phi4DSLbSyzg8RmzJcVYh1g6eurHOmWRCT7GMtw4,4040
|
111
111
|
flwr/client/supernode/__init__.py,sha256=SUhWOzcgXRNXk1V9UgB5-FaWukqqrOEajVUHEcPkwyQ,865
|
112
|
-
flwr/client/supernode/app.py,sha256=
|
112
|
+
flwr/client/supernode/app.py,sha256=oBbggh56HoieksBkTdDHAJC8VUFbrmGOP0-D9wdcZek,9265
|
113
113
|
flwr/client/typing.py,sha256=dxoTBnTMfqXr5J7G3y-uNjqxYCddvxhu89spfj4Lm2U,1048
|
114
114
|
flwr/common/__init__.py,sha256=TVaoFEJE158aui1TPZQiJCDZX4RNHRyI8I55VC80HhI,3901
|
115
115
|
flwr/common/address.py,sha256=9KNYE69WW_QVcyumsux3Qn1wmn4J7f13Y9nHASpvzbA,3018
|
116
|
-
flwr/common/args.py,sha256=
|
116
|
+
flwr/common/args.py,sha256=MgkTUXACuySHyNdxrb7-pK0_R-S2Q7W5MnE3onYUf5I,5183
|
117
117
|
flwr/common/auth_plugin/__init__.py,sha256=1Y8Oj3iB49IHDu9tvDih1J74Ygu7k85V9s2A4WORPyA,887
|
118
118
|
flwr/common/auth_plugin/auth_plugin.py,sha256=wgDorBUB4IkK6twQ8vNawRVz7BDPmKdXZBNLqhU9RSs,3871
|
119
|
-
flwr/common/config.py,sha256=
|
120
|
-
flwr/common/constant.py,sha256=
|
119
|
+
flwr/common/config.py,sha256=SAkG3BztnA6iupXxF3GAIpGmWVVCH0ptyMpC9yjr_14,13965
|
120
|
+
flwr/common/constant.py,sha256=AdNCrHi4sgMCecdX7hHWxMFz3y9pWsjSGU25mA4OJyE,6619
|
121
121
|
flwr/common/context.py,sha256=uJ-mnoC_8y_udEb3kAX-r8CPphNTWM72z1AlsvQEu54,2403
|
122
122
|
flwr/common/date.py,sha256=NHHpESce5wYqEwoDXf09gp9U9l_5Bmlh2BsOcwS-kDM,1554
|
123
123
|
flwr/common/differential_privacy.py,sha256=YA01NqjddKNAEVmf7hXmOVxOjhekgzvJudk3mBGq-2k,6148
|
@@ -126,11 +126,11 @@ flwr/common/dp.py,sha256=vddkvyjV2FhRoN4VuU2LeAM1UBn7dQB8_W-Qdiveal8,1978
|
|
126
126
|
flwr/common/exit/__init__.py,sha256=-ZOJYLaNnR729a7VzZiFsLiqngzKQh3xc27svYStZ_Q,826
|
127
127
|
flwr/common/exit/exit.py,sha256=DmZFyksp-w1sFDQekq5Z-qfnr-ivCAv78aQkqj-TDps,3458
|
128
128
|
flwr/common/exit/exit_code.py,sha256=PNEnCrZfOILjfDAFu5m-2YWEJBrk97xglq4zCUlqV7E,3470
|
129
|
-
flwr/common/exit_handlers.py,sha256=
|
129
|
+
flwr/common/exit_handlers.py,sha256=yclujry30954o0lI7vtknTajskPCvK8TXw2V3RdldXU,3174
|
130
130
|
flwr/common/grpc.py,sha256=K60AIvIqH0CvkkiqBfw5HoxQfbFOL2DrhKPjbZ8raIE,9786
|
131
|
-
flwr/common/logger.py,sha256=
|
131
|
+
flwr/common/logger.py,sha256=Hund1C6bEhMw3GemlzuFK22tXZ27YeHLrFB0b4LP5f8,13041
|
132
132
|
flwr/common/message.py,sha256=Zv4ID2BLQsbff0F03DI_MeFoHbSqVZAdDD9NcKYv6Zo,13832
|
133
|
-
flwr/common/object_ref.py,sha256=
|
133
|
+
flwr/common/object_ref.py,sha256=Mv8OE6f9wmLs_KQWt8aPV5aw-g6fgWDfj28L2b8Jl-Y,9514
|
134
134
|
flwr/common/parameter.py,sha256=-bFAUayToYDF50FZGrBC1hQYJCQDtB2bbr3ZuVLMtdE,2095
|
135
135
|
flwr/common/pyproject.py,sha256=vEAxl800XiJ1JNJDui8vuVV-08msnB6hLt7o95viZl0,1386
|
136
136
|
flwr/common/record/__init__.py,sha256=LUixpq0Z-lMJwCIu1-4u5HfvRPjRMRgoAc6YJQ6UEOs,1055
|
@@ -155,69 +155,69 @@ flwr/common/telemetry.py,sha256=APKVubU_zJNrE-M_rip6S6Fsu41DxY3tAjFWNOgTmC0,9086
|
|
155
155
|
flwr/common/typing.py,sha256=IMgs_7nDJWn8Eb7y16Hl4HC3imQV7_Hdla1IFs3B5u8,6382
|
156
156
|
flwr/common/version.py,sha256=aNSxLL49RKeLz8sPcZrsTEWtrAeQ0uxu6tjmfba4O60,1325
|
157
157
|
flwr/proto/__init__.py,sha256=hbY7JYakwZwCkYgCNlmHdc8rtvfoJbAZLalMdc--CGc,683
|
158
|
-
flwr/proto/clientappio_pb2.py,sha256=
|
158
|
+
flwr/proto/clientappio_pb2.py,sha256=aroQDv0D2GquQ5Ujqml7n7l6ObZoXqMvDa0XVO-_8Cc,3703
|
159
159
|
flwr/proto/clientappio_pb2.pyi,sha256=iL6pOPmnot5wP3aXGiDfiUpp-eJIkysyju0ebPehS8Y,5670
|
160
|
-
flwr/proto/clientappio_pb2_grpc.py,sha256=
|
160
|
+
flwr/proto/clientappio_pb2_grpc.py,sha256=G35GhZ3iEOL8N6tu7Kn_ip4QUx4O2HveXngHAuU2YEM,6112
|
161
161
|
flwr/proto/clientappio_pb2_grpc.pyi,sha256=cybktpMPaIMwrItd8hQaQDnRv4zNu_wgRddSqR9REyI,1822
|
162
|
-
flwr/proto/error_pb2.py,sha256=
|
162
|
+
flwr/proto/error_pb2.py,sha256=PQVWrfjVPo88ql_KgV9nCxyQNCcV9PVfmcw7sOzTMro,1084
|
163
163
|
flwr/proto/error_pb2.pyi,sha256=ZNH4HhJTU_KfMXlyCeg8FwU-fcUYxTqEmoJPtWtHikc,734
|
164
|
-
flwr/proto/error_pb2_grpc.py,sha256=
|
164
|
+
flwr/proto/error_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
165
165
|
flwr/proto/error_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
166
|
-
flwr/proto/exec_pb2.py,sha256=
|
166
|
+
flwr/proto/exec_pb2.py,sha256=HYvEJ1LtRMpEtUFoo4cgl33QQ8fNisOOEZQlJbTrvTk,5664
|
167
167
|
flwr/proto/exec_pb2.pyi,sha256=2vbzq2OOYM5GI-Tug4eVM5J6xvNvSFtR8m3MsP-i-Q4,9477
|
168
|
-
flwr/proto/exec_pb2_grpc.py,sha256
|
168
|
+
flwr/proto/exec_pb2_grpc.py,sha256=-bdLqjsqQxK9R8LIiZaKlLKH2NmjR50EaGKTPPTwFhI,10445
|
169
169
|
flwr/proto/exec_pb2_grpc.pyi,sha256=M5k-FzeLWxal7zt28LJfzMWWRxmNknTC2BzHRRMa1sQ,2914
|
170
|
-
flwr/proto/fab_pb2.py,sha256=
|
170
|
+
flwr/proto/fab_pb2.py,sha256=2Nu0WaWxDZ8TbutMtctjdcGM7OtXiyP4kmCgg5o7Jjw,1627
|
171
171
|
flwr/proto/fab_pb2.pyi,sha256=AMXpiDK0fo3nZWjxsC2E4otSaVjyQbU7iiWKrsSZavs,2395
|
172
|
-
flwr/proto/fab_pb2_grpc.py,sha256=
|
172
|
+
flwr/proto/fab_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
173
173
|
flwr/proto/fab_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
174
|
-
flwr/proto/fleet_pb2.py,sha256=
|
174
|
+
flwr/proto/fleet_pb2.py,sha256=mICXsWQuShwkN-9PcksCINE0HwiqZ2343h5_tL6V6A4,4818
|
175
175
|
flwr/proto/fleet_pb2.pyi,sha256=wmDweUv8CLErbPXXrvhUAbUH9JBR9z39y7hOSplXAD4,7895
|
176
|
-
flwr/proto/fleet_pb2_grpc.py,sha256=
|
176
|
+
flwr/proto/fleet_pb2_grpc.py,sha256=7YoeSCjEfZ-sIVs9CMduH55IaCHin2VZBaxJt9n7acY,12260
|
177
177
|
flwr/proto/fleet_pb2_grpc.pyi,sha256=y9XDpCUW626CnNvAjwzeorEN2thVlJ7OF1LeUnUPIwo,3240
|
178
|
-
flwr/proto/grpcadapter_pb2.py,sha256=
|
178
|
+
flwr/proto/grpcadapter_pb2.py,sha256=PJ8DtfeV29g_y4Z3aNZlSZocLqSxeLmTsYCdOZDYCiE,1843
|
179
179
|
flwr/proto/grpcadapter_pb2.pyi,sha256=AR77gDsF6f8zqSIQp3877DUd7S8lP95lFak5Ir_WPkw,1716
|
180
|
-
flwr/proto/grpcadapter_pb2_grpc.py,sha256=
|
180
|
+
flwr/proto/grpcadapter_pb2_grpc.py,sha256=rRNuNES5nBugUZWfeA8oAy8dMHgzqU_PF1srTseo3b8,2634
|
181
181
|
flwr/proto/grpcadapter_pb2_grpc.pyi,sha256=AgA9Qo_lnANb9SNuPzbZGAxupau-xcqYawZz6vqf-24,735
|
182
|
-
flwr/proto/log_pb2.py,sha256=
|
182
|
+
flwr/proto/log_pb2.py,sha256=iKaS3MVn1BS4xHu8uGPFCOi1KWtvVx-H9V4jCUIJghs,1393
|
183
183
|
flwr/proto/log_pb2.pyi,sha256=ipuhgo40sAHTcRzCsGI1HwIstr5q0THPNk_cf62YyME,1448
|
184
|
-
flwr/proto/log_pb2_grpc.py,sha256=
|
184
|
+
flwr/proto/log_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
185
185
|
flwr/proto/log_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
186
|
-
flwr/proto/message_pb2.py,sha256=
|
186
|
+
flwr/proto/message_pb2.py,sha256=QpHsdMqMUTj30jdLARagAc90UvqpRI7xbtXVE_nw9RM,3189
|
187
187
|
flwr/proto/message_pb2.pyi,sha256=kAFVgSi8j6ZYzkCQ9MkbrpUtVKgZsTYVIoQmcMB6BX0,5735
|
188
|
-
flwr/proto/message_pb2_grpc.py,sha256=
|
188
|
+
flwr/proto/message_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
189
189
|
flwr/proto/message_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
190
|
-
flwr/proto/node_pb2.py,sha256=
|
190
|
+
flwr/proto/node_pb2.py,sha256=BzZfAWIX7lV62bZr9f7x16lUZcpg-EImxnwxQXgCbYg,1045
|
191
191
|
flwr/proto/node_pb2.pyi,sha256=CPMeIPzUeI5-Csw9sHktV9UBH4GbqiGuYzGQQKftm6Q,616
|
192
|
-
flwr/proto/node_pb2_grpc.py,sha256=
|
192
|
+
flwr/proto/node_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
193
193
|
flwr/proto/node_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
194
|
-
flwr/proto/recordset_pb2.py,sha256=
|
194
|
+
flwr/proto/recordset_pb2.py,sha256=DndSkDNEYjdoOaHopgohRGP8lQtmal8yx_Re1wXfuOM,6367
|
195
195
|
flwr/proto/recordset_pb2.pyi,sha256=ypFNvroU4aIlnN0D6W4XAsOfm0UzTfXhxxL1v7u__Ac,15370
|
196
|
-
flwr/proto/recordset_pb2_grpc.py,sha256=
|
196
|
+
flwr/proto/recordset_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
197
197
|
flwr/proto/recordset_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
198
|
-
flwr/proto/run_pb2.py,sha256=
|
198
|
+
flwr/proto/run_pb2.py,sha256=_IvmIi3uttPIALjMYExAoUXw7P_rt3I-at_s0yNTIJY,5743
|
199
199
|
flwr/proto/run_pb2.pyi,sha256=i6TEwphuFH94_kT2hZWb_RjndLuphkPrT3C2VP-NnVs,11739
|
200
|
-
flwr/proto/run_pb2_grpc.py,sha256=
|
200
|
+
flwr/proto/run_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
201
201
|
flwr/proto/run_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
202
|
-
flwr/proto/serverappio_pb2.py,sha256=
|
203
|
-
flwr/proto/serverappio_pb2.pyi,sha256=
|
204
|
-
flwr/proto/serverappio_pb2_grpc.py,sha256=
|
205
|
-
flwr/proto/serverappio_pb2_grpc.pyi,sha256=
|
206
|
-
flwr/proto/simulationio_pb2.py,sha256=
|
202
|
+
flwr/proto/serverappio_pb2.py,sha256=WijK7rejbb7h6GVK0pTf81Ey5Ltf7A_S7aKlUJWlny4,4908
|
203
|
+
flwr/proto/serverappio_pb2.pyi,sha256=8Q81UXbBCArSXnma6-rXUE_vKneCowZjY4W4JmLaH0c,6450
|
204
|
+
flwr/proto/serverappio_pb2_grpc.py,sha256=gwc2TbZShtSnR6RYu8d-3UtS6KecwnThYpO2JA4YZ6M,19130
|
205
|
+
flwr/proto/serverappio_pb2_grpc.pyi,sha256=_pxplIFYZcuLTs9oA1RcZrCFEsh-33f4yBfhp8UL6f0,5268
|
206
|
+
flwr/proto/simulationio_pb2.py,sha256=GOOmivAJPLQ6mPXrfKS8CyYeE6Kk-Q5mInLz5pyZSsU,3117
|
207
207
|
flwr/proto/simulationio_pb2.pyi,sha256=oXx8_FLBe5B54wduZj-f89kub73XxNtQbThuW8YfPAs,2660
|
208
|
-
flwr/proto/simulationio_pb2_grpc.py,sha256=
|
208
|
+
flwr/proto/simulationio_pb2_grpc.py,sha256=9I3yAfJaeMuG-qH_5Ge45eFOftsIOmL9b8E_xHmcvKw,11232
|
209
209
|
flwr/proto/simulationio_pb2_grpc.pyi,sha256=YHvKtyo7UdbBgdhoN0ndzZeB5vIC3JuR5PAJLrl-OKM,3206
|
210
|
-
flwr/proto/task_pb2.py,sha256=
|
211
|
-
flwr/proto/task_pb2.pyi,sha256=
|
212
|
-
flwr/proto/task_pb2_grpc.py,sha256=
|
210
|
+
flwr/proto/task_pb2.py,sha256=pFKpq2QSvmFQOEpv2bgCG9jPAVauIHXQ9p5ASW-Z6lE,2322
|
211
|
+
flwr/proto/task_pb2.pyi,sha256=PZXt-QkD-hFzTlgNVVx6SGvgbTCweBfisivEi_HfDWc,4183
|
212
|
+
flwr/proto/task_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
213
213
|
flwr/proto/task_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
214
|
-
flwr/proto/transport_pb2.py,sha256=
|
214
|
+
flwr/proto/transport_pb2.py,sha256=P-jX_tUyk_8xFe-vIUUSfZlHGtk2Ou3A8eXdBKkp5AY,9824
|
215
215
|
flwr/proto/transport_pb2.pyi,sha256=ipHQ03eFBqsxtAuAVefZ2lVr04BZ4YifJCS2eauNmy8,21627
|
216
|
-
flwr/proto/transport_pb2_grpc.py,sha256=
|
216
|
+
flwr/proto/transport_pb2_grpc.py,sha256=vLN3EHtx2aEEMCO4f1Upu-l27BPzd3-5pV-u8wPcosk,2598
|
217
217
|
flwr/proto/transport_pb2_grpc.pyi,sha256=AGXf8RiIiW2J5IKMlm_3qT3AzcDa4F3P5IqUjve_esA,766
|
218
218
|
flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
219
219
|
flwr/server/__init__.py,sha256=cEg1oecBu4cKB69iJCqWEylC8b5XW47bl7rQiJsdTvM,1528
|
220
|
-
flwr/server/app.py,sha256=
|
220
|
+
flwr/server/app.py,sha256=CVj7lDAYJ4GYnBvAIa0R3A8JV5Dt-ATxDOrLxafLFV8,30545
|
221
221
|
flwr/server/client_manager.py,sha256=7Ese0tgrH-i-ms363feYZJKwB8gWnXSmg_hYF2Bju4U,6227
|
222
222
|
flwr/server/client_proxy.py,sha256=4G-oTwhb45sfWLx2uZdcXD98IZwdTS6F88xe3akCdUg,2399
|
223
223
|
flwr/server/compat/__init__.py,sha256=VxnJtJyOjNFQXMNi9hIuzNlZM5n0Hj1p3aq_Pm2udw4,892
|
@@ -229,7 +229,7 @@ flwr/server/criterion.py,sha256=ypbAexbztzGUxNen9RCHF91QeqiEQix4t4Ih3E-42MM,1061
|
|
229
229
|
flwr/server/driver/__init__.py,sha256=bikRv6CjTwSvYh7tf10gziU5o2YotOWhhftz2tr3KDc,886
|
230
230
|
flwr/server/driver/driver.py,sha256=u_fMfqLYTroTafGCNwKPHI4lttRL-Z5CqeT3_FHSq-Q,5701
|
231
231
|
flwr/server/driver/grpc_driver.py,sha256=3mSws0l83fWD4aq9-MmHFnIfyf4REoAXUkWfyJDHros,9864
|
232
|
-
flwr/server/driver/inmemory_driver.py,sha256=
|
232
|
+
flwr/server/driver/inmemory_driver.py,sha256=7ZtWDDJa8xupPAHNaDdCE2DOIOIYgrffmJMdKjs3wdA,6616
|
233
233
|
flwr/server/history.py,sha256=qSb5_pPTrwofpSYGsZWzMPkl_4uJ4mJFWesxXDrEvDU,5026
|
234
234
|
flwr/server/run_serverapp.py,sha256=vIPhvJx0i5sEZO4IKM6ruCXmx4ncat76rh0B4KhdhhM,2446
|
235
235
|
flwr/server/server.py,sha256=1ZsFEptmAV-L2vP2etNC9Ed5CLSxpuKzUFkAPQ4l5Xc,17893
|
@@ -265,7 +265,7 @@ flwr/server/strategy/strategy.py,sha256=cXapkD5uDrt5C-RbmWDn9FLoap3Q41i7GKvbmfbC
|
|
265
265
|
flwr/server/superlink/__init__.py,sha256=8tHYCfodUlRD8PCP9fHgvu8cz5N31A2QoRVL0jDJ15E,707
|
266
266
|
flwr/server/superlink/driver/__init__.py,sha256=5soEK5QSvxNjmJQ-CGTWROc4alSAeU0e9Ad9RDhsd3E,717
|
267
267
|
flwr/server/superlink/driver/serverappio_grpc.py,sha256=UzHwo6qYZMeOhr7nn1iZbcyDSmwvnq_kpYH0mEAndW0,2173
|
268
|
-
flwr/server/superlink/driver/serverappio_servicer.py,sha256=
|
268
|
+
flwr/server/superlink/driver/serverappio_servicer.py,sha256=Ld_d4ygbvJ7YmsIA8O9oD3E4tBKDY7MlpQzBjDUyvi0,13116
|
269
269
|
flwr/server/superlink/ffs/__init__.py,sha256=FAY-zShcfPmOxosok2QyT6hTNMNctG8cH9s_nIl8jkI,840
|
270
270
|
flwr/server/superlink/ffs/disk_ffs.py,sha256=n_Ah0sQwXGVQ9wj5965nLjdkQQbpoHCljjXKFnwftsU,3297
|
271
271
|
flwr/server/superlink/ffs/ffs.py,sha256=qLI1UfosJugu2BKOJWqHIhafTm-YiuKqGf3OGWPH0NM,2395
|
@@ -280,21 +280,21 @@ flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=h3EhqgelegVC4E
|
|
280
280
|
flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=mxPxyEF0IW0vV41Bqk1zfKOdRDEvXPwzJyMiRMg7nTI,5173
|
281
281
|
flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=j2hyC342am-_Hgp1g80Y3fGDzfTI6n8QOOn2PyWf4eg,758
|
282
282
|
flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=syWWZgsU3PHvIuvSoJxUTbEdkOtyV6psXAbRowNE_yY,5533
|
283
|
-
flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=
|
283
|
+
flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=KPgAcnYsKPPI7_iYNSnqGbyv4tsqZuBqrTiREwVBJiM,6984
|
284
284
|
flwr/server/superlink/fleet/message_handler/__init__.py,sha256=h8oLD7uo5lKICPy0rRdKRjTYe62u8PKkT_fA4xF5JPA,731
|
285
|
-
flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=
|
285
|
+
flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=QpLo3E-viPQ1Ia4isRM21htCfU3QH0P4wqMfXAtX8Hk,5412
|
286
286
|
flwr/server/superlink/fleet/rest_rere/__init__.py,sha256=5jbYbAn75sGv-gBwOPDySE0kz96F6dTYLeMrGqNi4lM,735
|
287
287
|
flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=L7sg9Uyp7l1bViYNWjnpaDvcG_j7FYKWC1XL-8bMpsg,6710
|
288
288
|
flwr/server/superlink/fleet/vce/__init__.py,sha256=TZJsKTpYO_djv2EXx9Ji62I8TA0JiZF8jvRyJRZkAes,784
|
289
289
|
flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=cGgal5qpd0_MwEdIqjJbHHSIgGa6GSPoI5_byUwtG_k,1437
|
290
290
|
flwr/server/superlink/fleet/vce/backend/backend.py,sha256=LBAQxnbfPAphVOVIvYMj0QIvVP5O-RQxKQlUGNUj974,2194
|
291
291
|
flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=jsUkFEVQTnrucK1jNQ_cUM8YwL7W4MQNA1GAf8ibRdg,7156
|
292
|
-
flwr/server/superlink/fleet/vce/vce_api.py,sha256=
|
292
|
+
flwr/server/superlink/fleet/vce/vce_api.py,sha256=iXNSAJ7f8Sg1hOrVuRTGRkLdSWeFIpNWbusoOTc4I8I,12971
|
293
293
|
flwr/server/superlink/linkstate/__init__.py,sha256=v-2JyJlCB3qyhMNwMjmcNVOq4rkooqFU0LHH8Zo1jls,1064
|
294
294
|
flwr/server/superlink/linkstate/in_memory_linkstate.py,sha256=4ahMj7TLe-GO2ctyeZ2BBRkviGv27s6x1NS_ETRJHP8,20514
|
295
295
|
flwr/server/superlink/linkstate/linkstate.py,sha256=LWA5zRwN829GDAeSo5kmkzsMu0SkXa9qg4aG_0QN0uk,12159
|
296
296
|
flwr/server/superlink/linkstate/linkstate_factory.py,sha256=ISSMjDlwuN7swxjOeYlTNpI_kuZ8PGkMcJnf1dbhUSE,2069
|
297
|
-
flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=
|
297
|
+
flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=YEXk_3avSF9T9sk5xxYwNeljLZ-qzg1zIAJOlkkmsX0,40146
|
298
298
|
flwr/server/superlink/linkstate/utils.py,sha256=EpRehwI4NeEW3oINICPWP9STK49N0aszd5s5jtle7DQ,13602
|
299
299
|
flwr/server/superlink/simulation/__init__.py,sha256=mg-oapC9dkzEfjXPQFior5lpWj4g9kwbLovptyYM_g0,718
|
300
300
|
flwr/server/superlink/simulation/simulationio_grpc.py,sha256=8aUrZZLdvprKUfLLqFID4aItus9beU6m1qLQYIPB7k0,2224
|
@@ -303,7 +303,7 @@ flwr/server/superlink/utils.py,sha256=KVb3K_g2vYfu9TnftcN0ewmev133WZcjuEePMm8d7G
|
|
303
303
|
flwr/server/typing.py,sha256=5kaRLZuxTEse9A0g7aVna2VhYxU3wTq1f3d3mtw7kXs,1019
|
304
304
|
flwr/server/utils/__init__.py,sha256=pltsPHJoXmUIr3utjwwYxu7_ZAGy5u4MVHzv9iA5Un8,908
|
305
305
|
flwr/server/utils/tensorboard.py,sha256=gEBD8w_5uaIfp5aw5RYH66lYZpd_SfkObHQ7eDd9MUk,5466
|
306
|
-
flwr/server/utils/validator.py,sha256=
|
306
|
+
flwr/server/utils/validator.py,sha256=BQ56tDrrOOG52q3RVeeCODz-oEBxu4L19wbfkBPdCqw,4419
|
307
307
|
flwr/server/workflow/__init__.py,sha256=SXY0XkwbkezFBxxrFB5hKUtmtAgnYISBkPouR1V71ss,902
|
308
308
|
flwr/server/workflow/constant.py,sha256=q4DLdR8Krlxuewq2AQjwTL75hphxE5ODNz4AhViHMXk,1082
|
309
309
|
flwr/server/workflow/default_workflows.py,sha256=UMC9JgdomKwxql5G0OV4AeRXWI-bMClaLAOn5OrZMnw,14073
|
@@ -327,8 +327,8 @@ flwr/superexec/exec_servicer.py,sha256=X10ILT-AoGMrB3IgI2mBe9i-QcIVUAl9bucuqVOPY
|
|
327
327
|
flwr/superexec/exec_user_auth_interceptor.py,sha256=K06OU-l4LnYhTDg071hGJuOaQWEJbZsYi5qxUmmtiG0,3704
|
328
328
|
flwr/superexec/executor.py,sha256=_B55WW2TD1fBINpabSSDRenVHXYmvlfhv-k8hJKU4lQ,3115
|
329
329
|
flwr/superexec/simulation.py,sha256=WQDon15oqpMopAZnwRZoTICYCfHqtkvFSqiTQ2hLD_g,4088
|
330
|
-
flwr_nightly-1.15.
|
331
|
-
flwr_nightly-1.15.
|
332
|
-
flwr_nightly-1.15.
|
333
|
-
flwr_nightly-1.15.
|
334
|
-
flwr_nightly-1.15.
|
330
|
+
flwr_nightly-1.15.2.dev20250214.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
331
|
+
flwr_nightly-1.15.2.dev20250214.dist-info/METADATA,sha256=wzTSnImyVoIq3yRELxxOkJoOzNAAIt1v9sqfR0Os_7k,15873
|
332
|
+
flwr_nightly-1.15.2.dev20250214.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
333
|
+
flwr_nightly-1.15.2.dev20250214.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
|
334
|
+
flwr_nightly-1.15.2.dev20250214.dist-info/RECORD,,
|
{flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/LICENSE
RENAMED
File without changes
|
{flwr_nightly-1.15.0.dev20250129.dist-info → flwr_nightly-1.15.2.dev20250214.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|