flwr-nightly 1.16.0.dev20250303__py3-none-any.whl → 1.16.0.dev20250304__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/common/message.py CHANGED
@@ -126,6 +126,16 @@ class Metadata: # pylint: disable=too-many-instance-attributes
126
126
  """Set creation timestamp for this message."""
127
127
  self.__dict__["_created_at"] = value
128
128
 
129
+ @property
130
+ def delivered_at(self) -> str:
131
+ """Unix timestamp when the message was delivered."""
132
+ return cast(str, self.__dict__["_delivered_at"])
133
+
134
+ @delivered_at.setter
135
+ def delivered_at(self, value: str) -> None:
136
+ """Set delivery timestamp of this message."""
137
+ self.__dict__["_delivered_at"] = value
138
+
129
139
  @property
130
140
  def ttl(self) -> float:
131
141
  """Time-to-live for this message."""
@@ -223,6 +233,7 @@ class Message:
223
233
  raise ValueError("Either `content` or `error` must be set, but not both.")
224
234
 
225
235
  metadata.created_at = time.time() # Set the message creation timestamp
236
+ metadata.delivered_at = ""
226
237
  var_dict = {
227
238
  "_metadata": metadata,
228
239
  "_content": content,
@@ -126,6 +126,8 @@ def validate_message(message: Message, is_reply_message: bool) -> list[str]:
126
126
  "`metadata.created_at` must be a float that records the unix timestamp "
127
127
  "in seconds when the message was created."
128
128
  )
129
+ if metadata.delivered_at != "":
130
+ validation_errors.append("`metadata.delivered_at` must be an empty str")
129
131
  if metadata.ttl <= 0:
130
132
  validation_errors.append("`metadata.ttl` must be higher than zero")
131
133
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.16.0.dev20250303
3
+ Version: 1.16.0.dev20250304
4
4
  Summary: Flower: A Friendly Federated AI Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -131,7 +131,7 @@ flwr/common/exit/exit_code.py,sha256=PNEnCrZfOILjfDAFu5m-2YWEJBrk97xglq4zCUlqV7E
131
131
  flwr/common/exit_handlers.py,sha256=yclujry30954o0lI7vtknTajskPCvK8TXw2V3RdldXU,3174
132
132
  flwr/common/grpc.py,sha256=K60AIvIqH0CvkkiqBfw5HoxQfbFOL2DrhKPjbZ8raIE,9786
133
133
  flwr/common/logger.py,sha256=Hund1C6bEhMw3GemlzuFK22tXZ27YeHLrFB0b4LP5f8,13041
134
- flwr/common/message.py,sha256=Zv4ID2BLQsbff0F03DI_MeFoHbSqVZAdDD9NcKYv6Zo,13832
134
+ flwr/common/message.py,sha256=VcGIBkb0te_OIKy22k4oHiOVrx0B2-8S1Gxmq0QLzTg,14210
135
135
  flwr/common/object_ref.py,sha256=DXL8NtbN17DSYaR-Zc8WYhaG8rv0_D_cclvP7Sa66So,9134
136
136
  flwr/common/parameter.py,sha256=-bFAUayToYDF50FZGrBC1hQYJCQDtB2bbr3ZuVLMtdE,2095
137
137
  flwr/common/pyproject.py,sha256=vEAxl800XiJ1JNJDui8vuVV-08msnB6hLt7o95viZl0,1386
@@ -305,7 +305,7 @@ flwr/server/superlink/utils.py,sha256=KVb3K_g2vYfu9TnftcN0ewmev133WZcjuEePMm8d7G
305
305
  flwr/server/typing.py,sha256=5kaRLZuxTEse9A0g7aVna2VhYxU3wTq1f3d3mtw7kXs,1019
306
306
  flwr/server/utils/__init__.py,sha256=myLB6L0ycQ0rd_nnL1pI-NLdFoOfXcj_z4gIqqj8Ye4,992
307
307
  flwr/server/utils/tensorboard.py,sha256=gEBD8w_5uaIfp5aw5RYH66lYZpd_SfkObHQ7eDd9MUk,5466
308
- flwr/server/utils/validator.py,sha256=G5l9v_1hNDV6t2Q2xqNAmrg6UuXtw8JE74xzf3-kvao,7139
308
+ flwr/server/utils/validator.py,sha256=UzYFMIyXyORXYRYXbFhOk6q6GDpOE-eIqLhlNFnR__0,7256
309
309
  flwr/server/workflow/__init__.py,sha256=SXY0XkwbkezFBxxrFB5hKUtmtAgnYISBkPouR1V71ss,902
310
310
  flwr/server/workflow/constant.py,sha256=q4DLdR8Krlxuewq2AQjwTL75hphxE5ODNz4AhViHMXk,1082
311
311
  flwr/server/workflow/default_workflows.py,sha256=UMC9JgdomKwxql5G0OV4AeRXWI-bMClaLAOn5OrZMnw,14073
@@ -329,8 +329,8 @@ flwr/superexec/exec_servicer.py,sha256=72AL60LBbWD-OTxTvtPBrnb_M5rccMtU_JAYcEVQV
329
329
  flwr/superexec/exec_user_auth_interceptor.py,sha256=YtvcjrD2hMVmZ3y9wHuGI6FwmG_Y__q112t4fFnypy0,3793
330
330
  flwr/superexec/executor.py,sha256=_B55WW2TD1fBINpabSSDRenVHXYmvlfhv-k8hJKU4lQ,3115
331
331
  flwr/superexec/simulation.py,sha256=WQDon15oqpMopAZnwRZoTICYCfHqtkvFSqiTQ2hLD_g,4088
332
- flwr_nightly-1.16.0.dev20250303.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
333
- flwr_nightly-1.16.0.dev20250303.dist-info/METADATA,sha256=i43BozJ1cgF5yLrg9INuDSDe0kGuso5_USwV_N-Z_rI,15877
334
- flwr_nightly-1.16.0.dev20250303.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
335
- flwr_nightly-1.16.0.dev20250303.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
336
- flwr_nightly-1.16.0.dev20250303.dist-info/RECORD,,
332
+ flwr_nightly-1.16.0.dev20250304.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
333
+ flwr_nightly-1.16.0.dev20250304.dist-info/METADATA,sha256=9UmUVO9D8c2kO1ENirbWqVGKtkre0B99yYfu3kfqLvs,15877
334
+ flwr_nightly-1.16.0.dev20250304.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
335
+ flwr_nightly-1.16.0.dev20250304.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
336
+ flwr_nightly-1.16.0.dev20250304.dist-info/RECORD,,