flwr-nightly 1.16.0.dev20250211__py3-none-any.whl → 1.16.0.dev20250217__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- flwr/cli/new/new.py +1 -1
- flwr/proto/task_pb2.py +6 -6
- flwr/proto/task_pb2.pyi +1 -4
- flwr/server/driver/inmemory_driver.py +0 -1
- flwr/server/superlink/driver/serverappio_servicer.py +8 -12
- 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.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/METADATA +2 -2
- {flwr_nightly-1.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/RECORD +14 -14
- {flwr_nightly-1.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/LICENSE +0 -0
- {flwr_nightly-1.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/WHEEL +0 -0
- {flwr_nightly-1.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/entry_points.txt +0 -0
flwr/cli/new/new.py
CHANGED
@@ -213,7 +213,7 @@ def new(
|
|
213
213
|
else:
|
214
214
|
challenge_name = "Code"
|
215
215
|
num_clients = "10"
|
216
|
-
dataset_name = "
|
216
|
+
dataset_name = "flwrlabs/code-alpaca-20k"
|
217
217
|
|
218
218
|
context["llm_challenge_str"] = llm_challenge_str
|
219
219
|
context["fraction_fit"] = fraction_fit
|
flwr/proto/task_pb2.py
CHANGED
@@ -17,7 +17,7 @@ from flwr.proto import recordset_pb2 as flwr_dot_proto_dot_recordset__pb2
|
|
17
17
|
from flwr.proto import error_pb2 as flwr_dot_proto_dot_error__pb2
|
18
18
|
|
19
19
|
|
20
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x66lwr/proto/task.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x1a\x66lwr/proto/recordset.proto\x1a\x16\x66lwr/proto/error.proto\"\
|
20
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x66lwr/proto/task.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x1a\x66lwr/proto/recordset.proto\x1a\x16\x66lwr/proto/error.proto\"\xf6\x01\n\x04Task\x12\"\n\x08producer\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\"\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x12\n\ncreated_at\x18\x03 \x01(\x01\x12\x14\n\x0c\x64\x65livered_at\x18\x04 \x01(\t\x12\x0b\n\x03ttl\x18\x06 \x01(\x01\x12\x10\n\x08\x61ncestry\x18\x07 \x03(\t\x12\x11\n\ttask_type\x18\x08 \x01(\t\x12(\n\trecordset\x18\t \x01(\x0b\x32\x15.flwr.proto.RecordSet\x12 \n\x05\x65rror\x18\n \x01(\x0b\x32\x11.flwr.proto.Error\"\\\n\x07TaskIns\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x10\n\x08group_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\x04\x12\x1e\n\x04task\x18\x04 \x01(\x0b\x32\x10.flwr.proto.Task\"\\\n\x07TaskRes\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x10\n\x08group_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\x04\x12\x1e\n\x04task\x18\x04 \x01(\x0b\x32\x10.flwr.proto.Taskb\x06proto3')
|
21
21
|
|
22
22
|
_globals = globals()
|
23
23
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -25,9 +25,9 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.task_pb2', _glob
|
|
25
25
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
26
26
|
DESCRIPTOR._options = None
|
27
27
|
_globals['_TASK']._serialized_start=113
|
28
|
-
_globals['_TASK']._serialized_end=
|
29
|
-
_globals['_TASKINS']._serialized_start=
|
30
|
-
_globals['_TASKINS']._serialized_end=
|
31
|
-
_globals['_TASKRES']._serialized_start=
|
32
|
-
_globals['_TASKRES']._serialized_end=
|
28
|
+
_globals['_TASK']._serialized_end=359
|
29
|
+
_globals['_TASKINS']._serialized_start=361
|
30
|
+
_globals['_TASKINS']._serialized_end=453
|
31
|
+
_globals['_TASKRES']._serialized_start=455
|
32
|
+
_globals['_TASKRES']._serialized_end=547
|
33
33
|
# @@protoc_insertion_point(module_scope)
|
flwr/proto/task_pb2.pyi
CHANGED
@@ -20,7 +20,6 @@ class Task(google.protobuf.message.Message):
|
|
20
20
|
CONSUMER_FIELD_NUMBER: builtins.int
|
21
21
|
CREATED_AT_FIELD_NUMBER: builtins.int
|
22
22
|
DELIVERED_AT_FIELD_NUMBER: builtins.int
|
23
|
-
PUSHED_AT_FIELD_NUMBER: builtins.int
|
24
23
|
TTL_FIELD_NUMBER: builtins.int
|
25
24
|
ANCESTRY_FIELD_NUMBER: builtins.int
|
26
25
|
TASK_TYPE_FIELD_NUMBER: builtins.int
|
@@ -32,7 +31,6 @@ class Task(google.protobuf.message.Message):
|
|
32
31
|
def consumer(self) -> flwr.proto.node_pb2.Node: ...
|
33
32
|
created_at: builtins.float
|
34
33
|
delivered_at: typing.Text
|
35
|
-
pushed_at: builtins.float
|
36
34
|
ttl: builtins.float
|
37
35
|
@property
|
38
36
|
def ancestry(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
@@ -47,7 +45,6 @@ class Task(google.protobuf.message.Message):
|
|
47
45
|
consumer: typing.Optional[flwr.proto.node_pb2.Node] = ...,
|
48
46
|
created_at: builtins.float = ...,
|
49
47
|
delivered_at: typing.Text = ...,
|
50
|
-
pushed_at: builtins.float = ...,
|
51
48
|
ttl: builtins.float = ...,
|
52
49
|
ancestry: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
53
50
|
task_type: typing.Text = ...,
|
@@ -55,7 +52,7 @@ class Task(google.protobuf.message.Message):
|
|
55
52
|
error: typing.Optional[flwr.proto.error_pb2.Error] = ...,
|
56
53
|
) -> None: ...
|
57
54
|
def HasField(self, field_name: typing_extensions.Literal["consumer",b"consumer","error",b"error","producer",b"producer","recordset",b"recordset"]) -> builtins.bool: ...
|
58
|
-
def ClearField(self, field_name: typing_extensions.Literal["ancestry",b"ancestry","consumer",b"consumer","created_at",b"created_at","delivered_at",b"delivered_at","error",b"error","producer",b"producer","
|
55
|
+
def ClearField(self, field_name: typing_extensions.Literal["ancestry",b"ancestry","consumer",b"consumer","created_at",b"created_at","delivered_at",b"delivered_at","error",b"error","producer",b"producer","recordset",b"recordset","task_type",b"task_type","ttl",b"ttl"]) -> None: ...
|
59
56
|
global___Task = Task
|
60
57
|
|
61
58
|
class TaskIns(google.protobuf.message.Message):
|
@@ -126,7 +126,6 @@ class InMemoryDriver(Driver):
|
|
126
126
|
# Convert Message to TaskIns
|
127
127
|
taskins = message_to_taskins(msg)
|
128
128
|
# Store in state
|
129
|
-
taskins.task.pushed_at = time.time()
|
130
129
|
task_id = self.state.store_task_ins(taskins)
|
131
130
|
if task_id:
|
132
131
|
task_ids.append(str(task_id))
|
@@ -22,7 +22,7 @@ from uuid import UUID
|
|
22
22
|
|
23
23
|
import grpc
|
24
24
|
|
25
|
-
from flwr.common import ConfigsRecord
|
25
|
+
from flwr.common import ConfigsRecord
|
26
26
|
from flwr.common.constant import Status
|
27
27
|
from flwr.common.logger import log
|
28
28
|
from flwr.common.serde import (
|
@@ -151,9 +151,6 @@ class ServerAppIoServicer(serverappio_pb2_grpc.ServerAppIoServicer):
|
|
151
151
|
context,
|
152
152
|
)
|
153
153
|
|
154
|
-
# Set pushed_at (timestamp in seconds)
|
155
|
-
pushed_at = now().timestamp()
|
156
|
-
|
157
154
|
# Validate request and insert in State
|
158
155
|
_raise_if(
|
159
156
|
validation_error=len(request.messages_list) == 0,
|
@@ -165,7 +162,6 @@ class ServerAppIoServicer(serverappio_pb2_grpc.ServerAppIoServicer):
|
|
165
162
|
message_proto = request.messages_list.pop(0)
|
166
163
|
message = message_from_proto(message_proto=message_proto)
|
167
164
|
task_ins = message_to_taskins(message=message)
|
168
|
-
task_ins.task.pushed_at = pushed_at
|
169
165
|
validation_errors = validate_task_ins_or_res(task_ins)
|
170
166
|
_raise_if(
|
171
167
|
validation_error=bool(validation_errors),
|
@@ -212,6 +208,13 @@ class ServerAppIoServicer(serverappio_pb2_grpc.ServerAppIoServicer):
|
|
212
208
|
# Read from state
|
213
209
|
task_res_list: list[TaskRes] = state.get_task_res(task_ids=message_ids)
|
214
210
|
|
211
|
+
# Delete the TaskIns/TaskRes pairs if TaskRes is found
|
212
|
+
task_ins_ids_to_delete = {
|
213
|
+
UUID(task_res.task.ancestry[0]) for task_res in task_res_list
|
214
|
+
}
|
215
|
+
|
216
|
+
state.delete_tasks(task_ins_ids=task_ins_ids_to_delete)
|
217
|
+
|
215
218
|
# Convert to Messages
|
216
219
|
messages_list = []
|
217
220
|
while task_res_list:
|
@@ -224,13 +227,6 @@ class ServerAppIoServicer(serverappio_pb2_grpc.ServerAppIoServicer):
|
|
224
227
|
message = message_from_taskres(taskres=task_res)
|
225
228
|
messages_list.append(message_to_proto(message))
|
226
229
|
|
227
|
-
# Delete the TaskIns/TaskRes pairs if TaskRes is found
|
228
|
-
task_ins_ids_to_delete = {
|
229
|
-
UUID(task_res.task.ancestry[0]) for task_res in task_res_list
|
230
|
-
}
|
231
|
-
|
232
|
-
state.delete_tasks(task_ins_ids=task_ins_ids_to_delete)
|
233
|
-
|
234
230
|
return PullResMessagesResponse(messages_list=messages_list)
|
235
231
|
|
236
232
|
def GetRun(
|
@@ -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.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: flwr-nightly
|
3
|
-
Version: 1.16.0.
|
3
|
+
Version: 1.16.0.dev20250217
|
4
4
|
Summary: Flower: A Friendly Federated AI Framework
|
5
5
|
Home-page: https://flower.ai
|
6
6
|
License: Apache-2.0
|
@@ -40,7 +40,7 @@ Requires-Dist: pathspec (>=0.12.1,<0.13.0)
|
|
40
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.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/RECORD
RENAMED
@@ -14,7 +14,7 @@ flwr/cli/login/__init__.py,sha256=6_9zOzbPOAH72K2wX3-9dXTAbS7Mjpa5sEn2lA6eHHI,80
|
|
14
14
|
flwr/cli/login/login.py,sha256=iNnNF1bvV0n8Z-vNc89azFNA73JqKZlO1s5OF2atsTc,3917
|
15
15
|
flwr/cli/ls.py,sha256=cm3NuY1sFq51xVRhUG0MbAfVTrRSjJ1HMIubde80LuY,11433
|
16
16
|
flwr/cli/new/__init__.py,sha256=pOQtPT9W4kCIttcKne5m-FtJbvTqdjTVJxzQ9AUYK8I,790
|
17
|
-
flwr/cli/new/new.py,sha256=
|
17
|
+
flwr/cli/new/new.py,sha256=Az-Imr_H2BqTiuGEF5spmlLeqnVb4JYIXSlkZDZ_7T8,9916
|
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
|
@@ -207,8 +207,8 @@ flwr/proto/simulationio_pb2.py,sha256=GOOmivAJPLQ6mPXrfKS8CyYeE6Kk-Q5mInLz5pyZSs
|
|
207
207
|
flwr/proto/simulationio_pb2.pyi,sha256=oXx8_FLBe5B54wduZj-f89kub73XxNtQbThuW8YfPAs,2660
|
208
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=
|
210
|
+
flwr/proto/task_pb2.py,sha256=pFKpq2QSvmFQOEpv2bgCG9jPAVauIHXQ9p5ASW-Z6lE,2322
|
211
|
+
flwr/proto/task_pb2.pyi,sha256=PZXt-QkD-hFzTlgNVVx6SGvgbTCweBfisivEi_HfDWc,4183
|
212
212
|
flwr/proto/task_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
213
213
|
flwr/proto/task_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
214
214
|
flwr/proto/transport_pb2.py,sha256=P-jX_tUyk_8xFe-vIUUSfZlHGtk2Ou3A8eXdBKkp5AY,9824
|
@@ -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=hT_fM32ya3SxZFHNmfI7u2qQ_apbNHTUZB3cw6WRsmw,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
|
@@ -282,19 +282,19 @@ flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=j2hyC342am-_Hgp1g80Y3fG
|
|
282
282
|
flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=syWWZgsU3PHvIuvSoJxUTbEdkOtyV6psXAbRowNE_yY,5533
|
283
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.16.0.
|
331
|
-
flwr_nightly-1.16.0.
|
332
|
-
flwr_nightly-1.16.0.
|
333
|
-
flwr_nightly-1.16.0.
|
334
|
-
flwr_nightly-1.16.0.
|
330
|
+
flwr_nightly-1.16.0.dev20250217.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
331
|
+
flwr_nightly-1.16.0.dev20250217.dist-info/METADATA,sha256=wA_2csr5FFwpiVqbZxeS_s5iPehA-ClzAbp-ZbAWqw8,15873
|
332
|
+
flwr_nightly-1.16.0.dev20250217.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
333
|
+
flwr_nightly-1.16.0.dev20250217.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
|
334
|
+
flwr_nightly-1.16.0.dev20250217.dist-info/RECORD,,
|
{flwr_nightly-1.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/LICENSE
RENAMED
File without changes
|
{flwr_nightly-1.16.0.dev20250211.dist-info → flwr_nightly-1.16.0.dev20250217.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|