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 CHANGED
@@ -213,7 +213,7 @@ def new(
213
213
  else:
214
214
  challenge_name = "Code"
215
215
  num_clients = "10"
216
- dataset_name = "lucasmccabe-lmi/CodeAlpaca-20k"
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\"\x89\x02\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\x11\n\tpushed_at\x18\x05 \x01(\x01\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')
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=378
29
- _globals['_TASKINS']._serialized_start=380
30
- _globals['_TASKINS']._serialized_end=472
31
- _globals['_TASKRES']._serialized_start=474
32
- _globals['_TASKRES']._serialized_end=566
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","pushed_at",b"pushed_at","recordset",b"recordset","task_type",b"task_type","ttl",b"ttl"]) -> None: ...
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, now
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
 
@@ -140,7 +140,6 @@ def worker(
140
140
  # Convert to TaskRes
141
141
  task_res = message_to_taskres(out_mssg)
142
142
  # Store TaskRes in state
143
- task_res.task.pushed_at = time.time()
144
143
  taskres_queue.put(task_res)
145
144
 
146
145
 
@@ -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"],
@@ -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()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.16.0.dev20250211
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.10.0) ; (python_version >= "3.9" and python_version < "3.12") and (extra == "simulation")
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"
@@ -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=scyyKt8mzkc3El1bypgkHjKwVQEc2-q4I50PxriPFdI,9922
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=LbKBPk0iy4I_HvxRI1xMqE-vW_CZmAiaCgKt0wI_zy4,2361
211
- flwr/proto/task_pb2.pyi,sha256=KJVsLm-THY5QjHreHDm_-OS1tyZyD61mx6BzOpoeMjw,4320
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=b1U1PrB_Vpn--vav8SX-sn0THD9BTlV9UFIpuWTWLro,6665
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=xbmjm5A6PclNqzkJf3VNBCULY7mnj6ij4rWDqAM-G0A,13255
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=DM53K4yLOmzXikTe6i6KJ0v8IvlJKDifvFEV09GFKhI,5510
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=WTnUILr1OHS8LfjXQUA3FyWJYdJgdqpFAybyJUD-1Xo,13025
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=E07w0_eCoOnZOBbdh3I3PN5k5tqt4LrEnYAuiMOF0I0,40398
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=SpoKWDlVfFI5aJr2jXWfwJjBc5OZUMMacQbOxj6wPdI,4603
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.dev20250211.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
331
- flwr_nightly-1.16.0.dev20250211.dist-info/METADATA,sha256=OXmCNwrVFZa1psnMAh9no5fMXkFRXhl1eXd_2BZT-4U,15873
332
- flwr_nightly-1.16.0.dev20250211.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
333
- flwr_nightly-1.16.0.dev20250211.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
334
- flwr_nightly-1.16.0.dev20250211.dist-info/RECORD,,
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,,