flwr-nightly 1.12.0.dev20241010__py3-none-any.whl → 1.13.0.dev20241016__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.

Potentially problematic release.


This version of flwr-nightly might be problematic. Click here for more details.

Files changed (37) hide show
  1. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +1 -1
  2. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -1
  3. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +1 -1
  4. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
  5. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +1 -1
  6. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
  7. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +1 -1
  8. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
  9. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +1 -1
  10. flwr/client/clientapp/app.py +4 -5
  11. flwr/client/grpc_adapter_client/connection.py +1 -1
  12. flwr/client/grpc_client/connection.py +1 -1
  13. flwr/client/grpc_rere_client/connection.py +1 -1
  14. flwr/client/node_state.py +1 -1
  15. flwr/client/rest_client/connection.py +1 -1
  16. flwr/client/supernode/app.py +12 -5
  17. flwr/common/config.py +1 -0
  18. flwr/common/logger.py +1 -1
  19. flwr/common/message.py +1 -1
  20. flwr/common/record/configsrecord.py +6 -0
  21. flwr/server/app.py +3 -2
  22. flwr/server/driver/driver.py +1 -1
  23. flwr/server/driver/grpc_driver.py +1 -1
  24. flwr/server/driver/inmemory_driver.py +1 -1
  25. flwr/server/server_app.py +1 -1
  26. flwr/server/strategy/dp_adaptive_clipping.py +2 -2
  27. flwr/server/strategy/dpfedavg_adaptive.py +1 -1
  28. flwr/server/strategy/dpfedavg_fixed.py +1 -1
  29. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +2 -2
  30. flwr/server/superlink/fleet/vce/vce_api.py +8 -5
  31. flwr/simulation/ray_transport/ray_client_proxy.py +1 -1
  32. flwr/simulation/run_simulation.py +4 -4
  33. {flwr_nightly-1.12.0.dev20241010.dist-info → flwr_nightly-1.13.0.dev20241016.dist-info}/METADATA +1 -1
  34. {flwr_nightly-1.12.0.dev20241010.dist-info → flwr_nightly-1.13.0.dev20241016.dist-info}/RECORD +37 -37
  35. {flwr_nightly-1.12.0.dev20241010.dist-info → flwr_nightly-1.13.0.dev20241016.dist-info}/LICENSE +0 -0
  36. {flwr_nightly-1.12.0.dev20241010.dist-info → flwr_nightly-1.13.0.dev20241016.dist-info}/WHEEL +0 -0
  37. {flwr_nightly-1.12.0.dev20241010.dist-info → flwr_nightly-1.13.0.dev20241016.dist-info}/entry_points.txt +0 -0
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.11.0",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "flwr-datasets[vision]>=0.3.0",
13
13
  "torch==2.2.1",
14
14
  "torchvision==0.17.1",
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.11.1",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "flwr-datasets>=0.3.0",
13
13
  "trl==0.8.1",
14
14
  "bitsandbytes==0.43.0",
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.11.0",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "flwr-datasets>=0.3.0",
13
13
  "torch==2.2.1",
14
14
  "transformers>=4.30.0,<5.0",
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.10.0",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "jax==0.4.30",
13
13
  "jaxlib==0.4.30",
14
14
  "scikit-learn==1.3.2",
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.10.0",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "flwr-datasets[vision]>=0.3.0",
13
13
  "mlx==0.16.1",
14
14
  "numpy==1.24.4",
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.10.0",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "numpy>=1.21.0",
13
13
  ]
14
14
 
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.10.0",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "flwr-datasets[vision]>=0.3.0",
13
13
  "torch==2.2.1",
14
14
  "torchvision==0.17.1",
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.10.0",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "flwr-datasets[vision]>=0.3.0",
13
13
  "scikit-learn>=1.1.1",
14
14
  ]
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.10.0",
11
+ "flwr[simulation]>=1.12.0",
12
12
  "flwr-datasets[vision]>=0.3.0",
13
13
  "tensorflow>=2.11.1",
14
14
  ]
@@ -132,11 +132,10 @@ def run_clientapp( # pylint: disable=R0914
132
132
  )
133
133
 
134
134
  try:
135
- if fab:
136
- # Load ClientApp
137
- client_app: ClientApp = load_client_app_fn(
138
- run.fab_id, run.fab_version, fab.hash_str
139
- )
135
+ # Load ClientApp
136
+ client_app: ClientApp = load_client_app_fn(
137
+ run.fab_id, run.fab_version, fab.hash_str if fab else ""
138
+ )
140
139
 
141
140
  # Execute ClientApp
142
141
  reply_message = client_app(message=message, context=context)
@@ -32,7 +32,7 @@ from flwr.common.typing import Fab, Run
32
32
 
33
33
 
34
34
  @contextmanager
35
- def grpc_adapter( # pylint: disable=R0913
35
+ def grpc_adapter( # pylint: disable=R0913,too-many-positional-arguments
36
36
  server_address: str,
37
37
  insecure: bool,
38
38
  retry_invoker: RetryInvoker,
@@ -60,7 +60,7 @@ def on_channel_state_change(channel_connectivity: str) -> None:
60
60
 
61
61
 
62
62
  @contextmanager
63
- def grpc_connection( # pylint: disable=R0913, R0915
63
+ def grpc_connection( # pylint: disable=R0913,R0915,too-many-positional-arguments
64
64
  server_address: str,
65
65
  insecure: bool,
66
66
  retry_invoker: RetryInvoker, # pylint: disable=unused-argument
@@ -71,7 +71,7 @@ def on_channel_state_change(channel_connectivity: str) -> None:
71
71
 
72
72
 
73
73
  @contextmanager
74
- def grpc_request_response( # pylint: disable=R0913, R0914, R0915
74
+ def grpc_request_response( # pylint: disable=R0913,R0914,R0915,R0917
75
75
  server_address: str,
76
76
  insecure: bool,
77
77
  retry_invoker: RetryInvoker,
flwr/client/node_state.py CHANGED
@@ -48,7 +48,7 @@ class NodeState:
48
48
  self.node_config = node_config
49
49
  self.run_infos: dict[int, RunInfo] = {}
50
50
 
51
- # pylint: disable=too-many-arguments
51
+ # pylint: disable=too-many-arguments,too-many-positional-arguments
52
52
  def register_context(
53
53
  self,
54
54
  run_id: int,
@@ -82,7 +82,7 @@ T = TypeVar("T", bound=GrpcMessage)
82
82
 
83
83
 
84
84
  @contextmanager
85
- def http_request_response( # pylint: disable=,R0913, R0914, R0915
85
+ def http_request_response( # pylint: disable=R0913,R0914,R0915,R0917
86
86
  server_address: str,
87
87
  insecure: bool, # pylint: disable=unused-argument
88
88
  retry_invoker: RetryInvoker,
@@ -48,13 +48,20 @@ from ..clientapp.utils import get_load_client_app_fn
48
48
 
49
49
  def run_supernode() -> None:
50
50
  """Run Flower SuperNode."""
51
+ args = _parse_args_run_supernode().parse_args()
52
+ _warn_deprecated_server_arg(args)
53
+
51
54
  log(INFO, "Starting Flower SuperNode")
52
55
 
53
56
  event(EventType.RUN_SUPERNODE_ENTER)
54
57
 
55
- args = _parse_args_run_supernode().parse_args()
56
-
57
- _warn_deprecated_server_arg(args)
58
+ # Check if both `--flwr-dir` and `--isolation` were set
59
+ if args.flwr_dir is not None and args.isolation is not None:
60
+ log(
61
+ WARN,
62
+ "Both `--flwr-dir` and `--isolation` were specified. "
63
+ "Ignoring `--flwr-dir`.",
64
+ )
58
65
 
59
66
  root_certificates = _get_certificates(args)
60
67
  load_fn = get_load_client_app_fn(
@@ -178,12 +185,12 @@ def _parse_args_run_supernode() -> argparse.ArgumentParser:
178
185
  "--flwr-dir",
179
186
  default=None,
180
187
  help="""The path containing installed Flower Apps.
181
- By default, this value is equal to:
188
+ The default directory is:
182
189
 
183
190
  - `$FLWR_HOME/` if `$FLWR_HOME` is defined
184
191
  - `$XDG_DATA_HOME/.flwr/` if `$XDG_DATA_HOME` is defined
185
192
  - `$HOME/.flwr/` in all other cases
186
- """,
193
+ """,
187
194
  )
188
195
  parser.add_argument(
189
196
  "--isolation",
flwr/common/config.py CHANGED
@@ -206,6 +206,7 @@ def parse_config_args(
206
206
  # Regular expression to capture key-value pairs with possible quoted values
207
207
  pattern = re.compile(r"(\S+?)=(\'[^\']*\'|\"[^\"]*\"|\S+)")
208
208
 
209
+ flat_overrides = {}
209
210
  for config_line in config:
210
211
  if config_line:
211
212
  # .toml files aren't allowed alongside other configs
flwr/common/logger.py CHANGED
@@ -111,7 +111,7 @@ FLOWER_LOGGER.addHandler(console_handler)
111
111
  class CustomHTTPHandler(HTTPHandler):
112
112
  """Custom HTTPHandler which overrides the mapLogRecords method."""
113
113
 
114
- # pylint: disable=too-many-arguments,bad-option-value,R1725
114
+ # pylint: disable=too-many-arguments,bad-option-value,R1725,R0917
115
115
  def __init__(
116
116
  self,
117
117
  identifier: str,
flwr/common/message.py CHANGED
@@ -52,7 +52,7 @@ class Metadata: # pylint: disable=too-many-instance-attributes
52
52
  the receiving end.
53
53
  """
54
54
 
55
- def __init__( # pylint: disable=too-many-arguments
55
+ def __init__( # pylint: disable=too-many-arguments,too-many-positional-arguments
56
56
  self,
57
57
  run_id: int,
58
58
  message_id: str,
@@ -128,6 +128,7 @@ class ConfigsRecord(TypedDict[str, ConfigsRecordValues]):
128
128
 
129
129
  def get_var_bytes(value: ConfigsScalar) -> int:
130
130
  """Return Bytes of value passed."""
131
+ var_bytes = 0
131
132
  if isinstance(value, bool):
132
133
  var_bytes = 1
133
134
  elif isinstance(value, (int, float)):
@@ -136,6 +137,11 @@ class ConfigsRecord(TypedDict[str, ConfigsRecordValues]):
136
137
  )
137
138
  if isinstance(value, (str, bytes)):
138
139
  var_bytes = len(value)
140
+ if var_bytes == 0:
141
+ raise ValueError(
142
+ "Config values must be either `bool`, `int`, `float`, "
143
+ "`str`, or `bytes`"
144
+ )
139
145
  return var_bytes
140
146
 
141
147
  num_bytes = 0
flwr/server/app.py CHANGED
@@ -199,12 +199,12 @@ def start_server( # pylint: disable=too-many-arguments,too-many-locals
199
199
  # pylint: disable=too-many-branches, too-many-locals, too-many-statements
200
200
  def run_superlink() -> None:
201
201
  """Run Flower SuperLink (Driver API and Fleet API)."""
202
+ args = _parse_args_run_superlink().parse_args()
203
+
202
204
  log(INFO, "Starting Flower SuperLink")
203
205
 
204
206
  event(EventType.RUN_SUPERLINK_ENTER)
205
207
 
206
- args = _parse_args_run_superlink().parse_args()
207
-
208
208
  # Parse IP address
209
209
  driver_address, _, _ = _format_address(args.driver_api_address)
210
210
 
@@ -542,6 +542,7 @@ def _run_fleet_api_grpc_adapter(
542
542
 
543
543
 
544
544
  # pylint: disable=import-outside-toplevel,too-many-arguments
545
+ # pylint: disable=too-many-positional-arguments
545
546
  def _run_fleet_api_rest(
546
547
  host: str,
547
548
  port: int,
@@ -32,7 +32,7 @@ class Driver(ABC):
32
32
  """Run information."""
33
33
 
34
34
  @abstractmethod
35
- def create_message( # pylint: disable=too-many-arguments
35
+ def create_message( # pylint: disable=too-many-arguments,R0917
36
36
  self,
37
37
  content: RecordSet,
38
38
  message_type: str,
@@ -158,7 +158,7 @@ class GrpcDriver(Driver):
158
158
  ):
159
159
  raise ValueError(f"Invalid message: {message}")
160
160
 
161
- def create_message( # pylint: disable=too-many-arguments
161
+ def create_message( # pylint: disable=too-many-arguments,R0917
162
162
  self,
163
163
  content: RecordSet,
164
164
  message_type: str,
@@ -82,7 +82,7 @@ class InMemoryDriver(Driver):
82
82
  self._init_run()
83
83
  return Run(**vars(cast(Run, self._run)))
84
84
 
85
- def create_message( # pylint: disable=too-many-arguments
85
+ def create_message( # pylint: disable=too-many-arguments,R0917
86
86
  self,
87
87
  content: RecordSet,
88
88
  message_type: str,
flwr/server/server_app.py CHANGED
@@ -71,7 +71,7 @@ class ServerApp:
71
71
  >>> print("ServerApp running")
72
72
  """
73
73
 
74
- # pylint: disable=too-many-arguments
74
+ # pylint: disable=too-many-arguments,too-many-positional-arguments
75
75
  def __init__(
76
76
  self,
77
77
  server: Optional[Server] = None,
@@ -88,7 +88,7 @@ class DifferentialPrivacyServerSideAdaptiveClipping(Strategy):
88
88
  >>> )
89
89
  """
90
90
 
91
- # pylint: disable=too-many-arguments,too-many-instance-attributes
91
+ # pylint: disable=too-many-arguments,too-many-instance-attributes,too-many-positional-arguments
92
92
  def __init__(
93
93
  self,
94
94
  strategy: Strategy,
@@ -307,7 +307,7 @@ class DifferentialPrivacyClientSideAdaptiveClipping(Strategy):
307
307
  >>> )
308
308
  """
309
309
 
310
- # pylint: disable=too-many-arguments,too-many-instance-attributes
310
+ # pylint: disable=too-many-arguments,too-many-instance-attributes,too-many-positional-arguments
311
311
  def __init__(
312
312
  self,
313
313
  strategy: Strategy,
@@ -39,7 +39,7 @@ class DPFedAvgAdaptive(DPFedAvgFixed):
39
39
  This class is deprecated and will be removed in a future release.
40
40
  """
41
41
 
42
- # pylint: disable=too-many-arguments,too-many-instance-attributes
42
+ # pylint: disable=too-many-arguments,too-many-instance-attributes,too-many-positional-arguments
43
43
  def __init__(
44
44
  self,
45
45
  strategy: Strategy,
@@ -36,7 +36,7 @@ class DPFedAvgFixed(Strategy):
36
36
  This class is deprecated and will be removed in a future release.
37
37
  """
38
38
 
39
- # pylint: disable=too-many-arguments,too-many-instance-attributes
39
+ # pylint: disable=too-many-arguments,too-many-instance-attributes,too-many-positional-arguments
40
40
  def __init__(
41
41
  self,
42
42
  strategy: Strategy,
@@ -60,7 +60,7 @@ def valid_certificates(certificates: tuple[bytes, bytes, bytes]) -> bool:
60
60
  return is_valid
61
61
 
62
62
 
63
- def start_grpc_server( # pylint: disable=too-many-arguments
63
+ def start_grpc_server( # pylint: disable=too-many-arguments,R0917
64
64
  client_manager: ClientManager,
65
65
  server_address: str,
66
66
  max_concurrent_workers: int = 1000,
@@ -156,7 +156,7 @@ def start_grpc_server( # pylint: disable=too-many-arguments
156
156
  return server
157
157
 
158
158
 
159
- def generic_create_grpc_server( # pylint: disable=too-many-arguments
159
+ def generic_create_grpc_server( # pylint: disable=too-many-arguments,R0917
160
160
  servicer_and_add_fn: Union[
161
161
  tuple[FleetServicer, AddServicerToServerFn],
162
162
  tuple[GrpcAdapterServicer, AddServicerToServerFn],
@@ -172,6 +172,7 @@ def put_taskres_into_state(
172
172
  pass
173
173
 
174
174
 
175
+ # pylint: disable=too-many-positional-arguments
175
176
  def run_api(
176
177
  app_fn: Callable[[], ClientApp],
177
178
  backend_fn: Callable[[], Backend],
@@ -251,7 +252,7 @@ def run_api(
251
252
 
252
253
 
253
254
  # pylint: disable=too-many-arguments,unused-argument,too-many-locals,too-many-branches
254
- # pylint: disable=too-many-statements
255
+ # pylint: disable=too-many-statements,too-many-positional-arguments
255
256
  def start_vce(
256
257
  backend_name: str,
257
258
  backend_config_json_stream: str,
@@ -267,6 +268,8 @@ def start_vce(
267
268
  existing_nodes_mapping: Optional[NodeToPartitionMapping] = None,
268
269
  ) -> None:
269
270
  """Start Fleet API with the Simulation Engine."""
271
+ nodes_mapping = {}
272
+
270
273
  if client_app_attr is not None and client_app is not None:
271
274
  raise ValueError(
272
275
  "Both `client_app_attr` and `client_app` are provided, "
@@ -340,17 +343,17 @@ def start_vce(
340
343
  # Load ClientApp if needed
341
344
  def _load() -> ClientApp:
342
345
 
346
+ if client_app:
347
+ return client_app
343
348
  if client_app_attr:
344
- app = get_load_client_app_fn(
349
+ return get_load_client_app_fn(
345
350
  default_app_ref=client_app_attr,
346
351
  app_path=app_dir,
347
352
  flwr_dir=flwr_dir,
348
353
  multi_app=False,
349
354
  )(run.fab_id, run.fab_version, run.fab_hash)
350
355
 
351
- if client_app:
352
- app = client_app
353
- return app
356
+ raise ValueError("Either `client_app_attr` or `client_app` must be provided")
354
357
 
355
358
  app_fn = _load
356
359
 
@@ -48,7 +48,7 @@ from flwr.simulation.ray_transport.ray_actor import VirtualClientEngineActorPool
48
48
  class RayActorClientProxy(ClientProxy):
49
49
  """Flower client proxy which delegates work using Ray."""
50
50
 
51
- def __init__( # pylint: disable=too-many-arguments
51
+ def __init__( # pylint: disable=too-many-arguments,too-many-positional-arguments
52
52
  self,
53
53
  client_fn: ClientFnExt,
54
54
  node_id: int,
@@ -225,7 +225,7 @@ def run_simulation_from_cli() -> None:
225
225
 
226
226
 
227
227
  # Entry point from Python session (script or notebook)
228
- # pylint: disable=too-many-arguments
228
+ # pylint: disable=too-many-arguments,too-many-positional-arguments
229
229
  def run_simulation(
230
230
  server_app: ServerApp,
231
231
  client_app: ClientApp,
@@ -300,7 +300,7 @@ def run_simulation(
300
300
  )
301
301
 
302
302
 
303
- # pylint: disable=too-many-arguments
303
+ # pylint: disable=too-many-arguments,too-many-positional-arguments
304
304
  def run_serverapp_th(
305
305
  server_app_attr: Optional[str],
306
306
  server_app: Optional[ServerApp],
@@ -369,7 +369,7 @@ def run_serverapp_th(
369
369
  return serverapp_th
370
370
 
371
371
 
372
- # pylint: disable=too-many-locals
372
+ # pylint: disable=too-many-locals,too-many-positional-arguments
373
373
  def _main_loop(
374
374
  num_supernodes: int,
375
375
  backend_name: str,
@@ -455,7 +455,7 @@ def _main_loop(
455
455
  log(DEBUG, "Stopping Simulation Engine now.")
456
456
 
457
457
 
458
- # pylint: disable=too-many-arguments,too-many-locals
458
+ # pylint: disable=too-many-arguments,too-many-locals,too-many-positional-arguments
459
459
  def _run_simulation(
460
460
  num_supernodes: int,
461
461
  exit_event: EventType,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.12.0.dev20241010
3
+ Version: 1.13.0.dev20241016
4
4
  Summary: Flower: A Friendly Federated Learning Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -51,15 +51,15 @@ flwr/cli/new/templates/app/code/task.pytorch.py.tpl,sha256=XlJqA4Ix_PloO_zJLhjiN
51
51
  flwr/cli/new/templates/app/code/task.sklearn.py.tpl,sha256=SeIIo0rr_6ffn4Qx2xELD18jYXCkcW__NWtYEDXCICM,1843
52
52
  flwr/cli/new/templates/app/code/task.tensorflow.py.tpl,sha256=SKXAZdgBnPpbAbJ90Rb7oQ5ilnopBx_j_JNFoUDeEAI,1732
53
53
  flwr/cli/new/templates/app/code/utils.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
54
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=4gi90W9_B1kj6rYkpvVJxhNX9Yctsv9OH6CzXP-dcE4,2666
55
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=z02u1QgZ9qZ5_3Q1TKCIRgnnMufbPaKUfsacUuTou4I,1853
56
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=CHJgkPNkJfzJhEbTe15uiV3AhOtIddQi-yofPZsCk3E,1143
57
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=v1DVriLky0ow9yc0NK91_6VkxkzpPsheIxbb2c0LcYQ,673
58
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=S4QDy7UXboJt60R3LE7z97_QU1idb0ob8A_N7O3cifo,765
59
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=-FCi64ygMgQke3zApUt0XtkIBo3WtQoPAPhtp_FqkPE,612
60
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=vIO1ArukTC76ogYLNmJIl25MOE_nEELj3IcTZZJjohU,710
61
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=fdlIN_sip1mrbOtqpeag60Kj56aYrA-0HEq9lYZLNnM,686
62
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=bRIvPCPvTTI4Eo5b61Rmw8WdDw3sjcohciTXgULN5l8,702
54
+ flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=8zSefvfRhuVo_ZLEDbIlLMQJa-dr2iIRhAgqwaaKMYk,2666
55
+ flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=-oYa_Zgf9LEnyrxzSI6pL78rn2iWzYd6iJCtACU25CE,1853
56
+ flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=foFjtZ8lI67RLAMxShdoph29i9IAT4jS0lW1wH3sWFQ,1143
57
+ flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=hna-BiIVZvUtTb8-ptaGAHBXJrvVPqnh44NYt4dA_hk,673
58
+ flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=GiRhllAQnMfH3mP4Cr9qpa1qvGwzbcULCa-QDVEbLOY,765
59
+ flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=89B4qMlOI4MrRyzKRzB2ORHJIkyvGx7IeoFnY_TAfVc,612
60
+ flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=LUsQsEVhCgGzKEBB5IewKjZOKtcsq9fUQW-7_NJpgwk,710
61
+ flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=BiZPOKEoGiZOuxSHQY_nQHj3KH7wH7QAiVmpxGutOgk,686
62
+ flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=Nl8CiFr_38lG5-XIXjs7tntfZlujTB4WMMIwm8clOmI,702
63
63
  flwr/cli/run/__init__.py,sha256=oCd6HmQDx-sqver1gecgx-uMA38BLTSiiKpl7RGNceg,789
64
64
  flwr/cli/run/run.py,sha256=NMCeDfImxta1VEeBqqkP05xsuBK6YWFTd7Qj_bIEA2Y,8394
65
65
  flwr/cli/utils.py,sha256=emMUdthvoHBTB0iGQp-oFBmA5wV46lw3y3FmfXQPCsc,4500
@@ -68,17 +68,17 @@ flwr/client/app.py,sha256=q-hExXwM3lru1TdYVE6HA3hKgwjhmbO_6Iq6oifVGpk,32712
68
68
  flwr/client/client.py,sha256=gy6WVlMUFAp8oevN4xpQPX30vPOIYGVqdbuFlTWkyG4,9080
69
69
  flwr/client/client_app.py,sha256=cTig-N00YzTucbo9zNi6I21J8PlbflU_8J_f5CI-Wpw,10390
70
70
  flwr/client/clientapp/__init__.py,sha256=kZqChGnTChQ1WGSUkIlW2S5bc0d0mzDubCAmZUGRpEY,800
71
- flwr/client/clientapp/app.py,sha256=ddPi3jPYO7-uGZBZ0O91NbP2x-HVOiqFGEkprdsMAUU,7882
71
+ flwr/client/clientapp/app.py,sha256=h8Shr3zCJrM6zepuD1ddNxN9rXBjnqohMSSErlHo-ro,7857
72
72
  flwr/client/clientapp/clientappio_servicer.py,sha256=5L6bjw_j3Mnx9kRFwYwxDNABKurBO5q1jZOWE_X11wQ,8522
73
73
  flwr/client/clientapp/utils.py,sha256=Xg23Q7g7r9jrxXEbvJ9wXal_uAqYK3mi087u0QER6-I,4343
74
74
  flwr/client/dpfedavg_numpy_client.py,sha256=4KsEvzavDKyVDU1V0kMqffTwu1lNdUCYQN-i0DTYVN8,7404
75
75
  flwr/client/grpc_adapter_client/__init__.py,sha256=QyNWIbsq9DpyMk7oemiO1P3TBFfkfkctnJ1JoAkTl3s,742
76
- flwr/client/grpc_adapter_client/connection.py,sha256=50LlADsrvvo_kYoGRXOph3ICAmcaQcPDEYuBmA6l5PI,3971
76
+ flwr/client/grpc_adapter_client/connection.py,sha256=icI-q_FhL6rXKCyT8x7J_R45Z67dBq-EWXREGhRcIT8,4001
77
77
  flwr/client/grpc_client/__init__.py,sha256=LsnbqXiJhgQcB0XzAlUQgPx011Uf7Y7yabIC1HxivJ8,735
78
- flwr/client/grpc_client/connection.py,sha256=WX0cKlV_S19bYYp52z3PYRrtOdGb52ovvFFVWIz6Uyw,9382
78
+ flwr/client/grpc_client/connection.py,sha256=Y9yJkRvGypulerX9fviP4axF5XBTBnvYrsp2mv5OS9E,9411
79
79
  flwr/client/grpc_rere_client/__init__.py,sha256=MK-oSoV3kwUEQnIwl0GN4OpiHR7eLOrMA8ikunET130,752
80
80
  flwr/client/grpc_rere_client/client_interceptor.py,sha256=q08lIEeJLvvonNOiejNXvmySbPObteGnbDHhEKDmWzE,5380
81
- flwr/client/grpc_rere_client/connection.py,sha256=OgDQ9TFVrPV-X4UgduduxOICRvz834zd8zG7QrYvgM0,11152
81
+ flwr/client/grpc_rere_client/connection.py,sha256=RALwGBVQGudzNhQvLaaTNrwxABWeghzQO7FpFmUM9is,11156
82
82
  flwr/client/grpc_rere_client/grpc_adapter.py,sha256=sQo0I9T65t97LFGoW_PrmgaTbd18GFgi2DoAI5wQJ4k,5589
83
83
  flwr/client/heartbeat.py,sha256=cx37mJBH8LyoIN4Lks85wtqT1mnU5GulQnr4pGCvAq0,2404
84
84
  flwr/client/message_handler/__init__.py,sha256=QxxQuBNpFPTHx3KiUNvQSlqMKlEnbRR1kFfc1KVje08,719
@@ -92,17 +92,17 @@ flwr/client/mod/secure_aggregation/__init__.py,sha256=A7DzZ3uvXTUkuHBzrxJMWQQD4R
92
92
  flwr/client/mod/secure_aggregation/secagg_mod.py,sha256=wI9tuIEvMUETz-wVIEbPYvh-1nK9CEylBLGoVpNhL94,1095
93
93
  flwr/client/mod/secure_aggregation/secaggplus_mod.py,sha256=7cNXsY07ZA0M5_9VSc52F8JUoAoGaraNDA2rgaLvvFo,19680
94
94
  flwr/client/mod/utils.py,sha256=dFcTHOjUuuiw34fcQlvyzytYD0sCv1w9x8fQX1Yo8Oc,1201
95
- flwr/client/node_state.py,sha256=HRKqkgTVGcZXL7nQSQ1nLxNx22eLyaCCIieZ5NZXgnA,3947
95
+ flwr/client/node_state.py,sha256=-AROBfIepxS-lsQd9BuyDwhkzkriYyo5B5VpaS5bP2k,3977
96
96
  flwr/client/node_state_tests.py,sha256=-4fVsn7y-z9NYBuhq-cjepgxgVuPqqQgDOL4SofrdIo,2239
97
97
  flwr/client/numpy_client.py,sha256=tqGyhIkeeZQGr65BR03B7TWgx4rW3FA7G2874D8z_VU,11167
98
98
  flwr/client/rest_client/__init__.py,sha256=5KGlp7pjc1dhNRkKlaNtUfQmg8wrRFh9lS3P3uRS-7Q,735
99
- flwr/client/rest_client/connection.py,sha256=icPDYPaTMWn3bQ9g42VUHEppcIVcBJFGuV3leo7mMpo,12814
99
+ flwr/client/rest_client/connection.py,sha256=k-RqgUFqidACAGlMFPIUM8aawXI5h2LvKUri2OAK7Bg,12817
100
100
  flwr/client/supernode/__init__.py,sha256=SUhWOzcgXRNXk1V9UgB5-FaWukqqrOEajVUHEcPkwyQ,865
101
- flwr/client/supernode/app.py,sha256=it4jm9GATntwmRJNXfIIfsS8bTIRwba94B1uNy0I2TM,11973
101
+ flwr/client/supernode/app.py,sha256=came3AQMOs4VBQ0yGc2Jn3Kgb5BEiP_Nno-3Sj9_0V4,12242
102
102
  flwr/client/typing.py,sha256=dxoTBnTMfqXr5J7G3y-uNjqxYCddvxhu89spfj4Lm2U,1048
103
103
  flwr/common/__init__.py,sha256=TVaoFEJE158aui1TPZQiJCDZX4RNHRyI8I55VC80HhI,3901
104
104
  flwr/common/address.py,sha256=7kM2Rqjw86-c8aKwAvrXerWqznnVv4TFJ62aSAeTn10,3017
105
- flwr/common/config.py,sha256=hlj3Div9D53cIg7ur-d1xr6sAHM0shAR3aQyOsOxZuE,7779
105
+ flwr/common/config.py,sha256=nYA1vjiiqSWx5JjSdlQd1i_0N_Dh9kEGUse1Qze3JMs,7803
106
106
  flwr/common/constant.py,sha256=cUP0lErfb0s1ACnErm_T5kIks0xnEi2X5UNnzmXRSW4,3757
107
107
  flwr/common/context.py,sha256=5Bd9RCrhLkYZOVR7vr97OVhzVBHQkS1fUsYiIKTwpxU,2239
108
108
  flwr/common/date.py,sha256=OcQuwpb2HxcblTqYm6H223ufop5UZw5N_fzalbpOVzY,891
@@ -111,13 +111,13 @@ flwr/common/differential_privacy_constants.py,sha256=c7b7tqgvT7yMK0XN9ndiTBs4mQf
111
111
  flwr/common/dp.py,sha256=vddkvyjV2FhRoN4VuU2LeAM1UBn7dQB8_W-Qdiveal8,1978
112
112
  flwr/common/exit_handlers.py,sha256=MracJaBeoCOC7TaXK9zCJQxhrMSx9ZtczK237qvhBpU,2806
113
113
  flwr/common/grpc.py,sha256=6Yi28JjAll19nxYJlOT9B03RN8dvJZP9zUoR3RSmxoY,2487
114
- flwr/common/logger.py,sha256=zAjaGrr_UWMkIdi1xG9tY764qJHIYM8LsPgMfBsyp64,8117
115
- flwr/common/message.py,sha256=OpVvfWDHBVwcW-P_xToxSyo77cPFoCn_1cFwV2bfr4A,13801
114
+ flwr/common/logger.py,sha256=PnO5x79HDZBwpzo2z70DBF3BrPuQasWfcmvbwCFunsI,8123
115
+ flwr/common/message.py,sha256=4O1m0OWXBAYZz05gKgEtnoJ94J1gjo7hCNHyUXThxRo,13831
116
116
  flwr/common/object_ref.py,sha256=5lgWqYaJR28UdFc-iirWw9YqFXMfgkOOAdfJc1AVibE,8711
117
117
  flwr/common/parameter.py,sha256=-bFAUayToYDF50FZGrBC1hQYJCQDtB2bbr3ZuVLMtdE,2095
118
118
  flwr/common/pyproject.py,sha256=EI_ovbCHGmhYrdPx0RSDi5EkFZFof-8m1PA54c0ZTjc,1385
119
119
  flwr/common/record/__init__.py,sha256=ejDBQOIA0OkwZAC5cK_tTPHA4oAM0Ju7Oi13-NneMlE,1054
120
- flwr/common/record/configsrecord.py,sha256=GH3EQeHboRH-5gFFpZCXTrGGYo5ZLKaIFkgNbDIDb60,6261
120
+ flwr/common/record/configsrecord.py,sha256=i40jOzBx04ysZKECwaw4FdUXMdY9HgdY8GAqKdTO1Lw,6486
121
121
  flwr/common/record/conversion_utils.py,sha256=n3I3SI2P6hUjyxbWNc0QAch-SEhfMK6Hm-UUaplAlUc,1393
122
122
  flwr/common/record/metricsrecord.py,sha256=UywkEPbifiu_IyPUFoDJCi8WEVLujlqZERUWAWpc3vs,5752
123
123
  flwr/common/record/parametersrecord.py,sha256=IjnewX8Ea6JXLRWcPMVole2sNjwzRVjBVvzoey5gqtw,7747
@@ -200,7 +200,7 @@ flwr/proto/transport_pb2_grpc.py,sha256=vLN3EHtx2aEEMCO4f1Upu-l27BPzd3-5pV-u8wPc
200
200
  flwr/proto/transport_pb2_grpc.pyi,sha256=AGXf8RiIiW2J5IKMlm_3qT3AzcDa4F3P5IqUjve_esA,766
201
201
  flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
202
  flwr/server/__init__.py,sha256=cEg1oecBu4cKB69iJCqWEylC8b5XW47bl7rQiJsdTvM,1528
203
- flwr/server/app.py,sha256=aPl20uTV7jKz5RbjLE2saYIMm5GUJ-wHI_J4AMhi1xg,24423
203
+ flwr/server/app.py,sha256=T65THzt0VwIo3B4pF1ipiQVl0H8F3IG8bdYhHoLFbDI,24471
204
204
  flwr/server/client_manager.py,sha256=7Ese0tgrH-i-ms363feYZJKwB8gWnXSmg_hYF2Bju4U,6227
205
205
  flwr/server/client_proxy.py,sha256=4G-oTwhb45sfWLx2uZdcXD98IZwdTS6F88xe3akCdUg,2399
206
206
  flwr/server/compat/__init__.py,sha256=VxnJtJyOjNFQXMNi9hIuzNlZM5n0Hj1p3aq_Pm2udw4,892
@@ -210,22 +210,22 @@ flwr/server/compat/driver_client_proxy.py,sha256=Af0bRUEVZNcCYRxt3DjpLPdvVYpTgz6
210
210
  flwr/server/compat/legacy_context.py,sha256=wBzBcfV6YO6IQGriM_FdJ5XZfiBBEEJdS_OdAiF47dY,1804
211
211
  flwr/server/criterion.py,sha256=ypbAexbztzGUxNen9RCHF91QeqiEQix4t4Ih3E-42MM,1061
212
212
  flwr/server/driver/__init__.py,sha256=bikRv6CjTwSvYh7tf10gziU5o2YotOWhhftz2tr3KDc,886
213
- flwr/server/driver/driver.py,sha256=rGLbOfLhBOn74mUHi_0CMbXqZLX8q_lXqEkcUXoL_wI,5238
214
- flwr/server/driver/grpc_driver.py,sha256=xd1mxRexeiIJrZw9l-urj2zEIncLT8KtNn0l8hIDYZs,9681
215
- flwr/server/driver/inmemory_driver.py,sha256=QsYY4-aUVgLl7gVly8EW4D-NZzsCB58MhYkYUrFTEIw,6638
213
+ flwr/server/driver/driver.py,sha256=KpLrWeF0zP9HBdo_mucPlNVj5eS0K8DDHRRY_58E1BM,5244
214
+ flwr/server/driver/grpc_driver.py,sha256=AhkqfXBSv8TnqBGxqj1nhkOxp6HVU0WaJq4YlqIz8Hw,9687
215
+ flwr/server/driver/inmemory_driver.py,sha256=JhUPoVDeg_icVYmEgnnaQn0ZaY0VXECxrL6y_rkSeX8,6644
216
216
  flwr/server/history.py,sha256=qSb5_pPTrwofpSYGsZWzMPkl_4uJ4mJFWesxXDrEvDU,5026
217
217
  flwr/server/run_serverapp.py,sha256=5zoXSzLWKAuhK33cLYN-y5LzTgKqIyioNmzs7MIrDOA,10498
218
218
  flwr/server/server.py,sha256=1ZsFEptmAV-L2vP2etNC9Ed5CLSxpuKzUFkAPQ4l5Xc,17893
219
- flwr/server/server_app.py,sha256=1hul76ospG8L_KooK_ewn1sWPNTNYLTtZMeGNOBNruA,6267
219
+ flwr/server/server_app.py,sha256=RsgS6PRS5Z74cMUAHzsm8r3LWddwn00MjRs6rlacHt8,6297
220
220
  flwr/server/server_config.py,sha256=CZaHVAsMvGLjpWVcLPkiYxgJN4xfIyAiUrCI3fETKY4,1349
221
221
  flwr/server/serverapp_components.py,sha256=-IV_CitOfrJclJj2jNdbN1Q65PyFmtKtrTIg1hc6WQw,2118
222
222
  flwr/server/strategy/__init__.py,sha256=tQer2SwjDnvgFFuJMZM-S01Z615N5XK6MaCvpm4BMU0,2836
223
223
  flwr/server/strategy/aggregate.py,sha256=iFZ8lp7PV_a2m9kywV-FK0iM33ofxavOs5TIaEQY8nU,13961
224
224
  flwr/server/strategy/bulyan.py,sha256=DDNLLlTJCHgBtij7EpDsa852GHEYjjDB1iORACZO2KE,6513
225
- flwr/server/strategy/dp_adaptive_clipping.py,sha256=OoGnSavjfIP6IUkt6z2t62CR3qItgrowtBy27TEdz2s,17387
225
+ flwr/server/strategy/dp_adaptive_clipping.py,sha256=zrqA9OfQu4gwUkLCXbh59sPsDd_x2IhNs-BER_ITzNE,17447
226
226
  flwr/server/strategy/dp_fixed_clipping.py,sha256=ILmO_AsoMpstOAYK9L6hJpqf7zE6erdMj_SD_-hHAFk,12834
227
- flwr/server/strategy/dpfedavg_adaptive.py,sha256=hF3j5F-nX7yXB0RSMyPBw0gJMEaUMxMpBurnEudSCxo,4858
228
- flwr/server/strategy/dpfedavg_fixed.py,sha256=VQSIDH-2iLw0_zaShgxribyMzaeh1pijX72dXM2rX5c,7200
227
+ flwr/server/strategy/dpfedavg_adaptive.py,sha256=8_C0H99xztzzKLL_Gu6Pcuiv8yjs3EUJZyxYuZEBA2Y,4888
228
+ flwr/server/strategy/dpfedavg_fixed.py,sha256=DqYeduIgqmqjuJG9X3exoX-3SlPEb4ojCL9tlNMG5_A,7230
229
229
  flwr/server/strategy/fault_tolerant_fedavg.py,sha256=VJkDxEIKycF3Ds-ia0lVVFZKM6_M5lG2EGSaTAUq1wM,5881
230
230
  flwr/server/strategy/fedadagrad.py,sha256=0RwvPdv-mY6UJO16BAMb43NHqq4c4lr5iPAxzi_A8w8,6486
231
231
  flwr/server/strategy/fedadam.py,sha256=V9FD3sHhOYk6kgrIzRnTG8g5FqsICX6xN8j_1pSHPc8,6744
@@ -258,7 +258,7 @@ flwr/server/superlink/fleet/grpc_bidi/__init__.py,sha256=dkSKQMuMTYh1qSnuN87cAPv
258
258
  flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py,sha256=xbvorZhCHBj0CvFWB7oUeHoY0o750hUkiS0DiTCGHDs,6020
259
259
  flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py,sha256=JkAH_nIZaqe_9kntrg26od_jaz5XdLFuvNMgGu8xk9Q,6485
260
260
  flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=h3EhqgelegVC4EjOXH5birmAnMoCBJcP7jpHYCnHZPk,4887
261
- flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=01eorJIL7LVTRkxAnJjZp3HLlJzWZzg2cVOGAWxF0Ag,12427
261
+ flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=R_479Hz2Drahu1BBOFzkZWwjY9H_7nXnM6HJJeEsibQ,12439
262
262
  flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=j2hyC342am-_Hgp1g80Y3fGDzfTI6n8QOOn2PyWf4eg,758
263
263
  flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=bgoLQEhahVHjdlRDk_58zyKFeMOziiPUXSbYMhOxybY,4757
264
264
  flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=pgSiH-qrTgDxu4M_jJu-8gvEQnxTdR-qIAawKgxjQ6M,8157
@@ -270,7 +270,7 @@ flwr/server/superlink/fleet/vce/__init__.py,sha256=36MHKiefnJeyjwMQzVUK4m06Ojon3
270
270
  flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=Onq16E2M2Wha2K1zvhcquT1jOveQL2cgIrgqWvAPH9Y,1436
271
271
  flwr/server/superlink/fleet/vce/backend/backend.py,sha256=LBAQxnbfPAphVOVIvYMj0QIvVP5O-RQxKQlUGNUj974,2194
272
272
  flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=7kB3re3mR53b7E6L6DPSioTSKD3YGtS3uJsPD7Hn2Fw,7155
273
- flwr/server/superlink/fleet/vce/vce_api.py,sha256=4f4xEcTKXkj6Wc9jg30hzJR1RX7ECxkfsCj0CKfC9xE,12661
273
+ flwr/server/superlink/fleet/vce/vce_api.py,sha256=I8cukkP9P88aKoQfhqgv8r023vwrgUImrETY0MJKPRs,12832
274
274
  flwr/server/superlink/state/__init__.py,sha256=Gj2OTFLXvA-mAjBvwuKDM3rDrVaQPcIoybSa2uskMTE,1003
275
275
  flwr/server/superlink/state/in_memory_state.py,sha256=yuyk8R9veNxaSFFhWQg9odUBYPO-1EzcKiulqcXRc1M,15668
276
276
  flwr/server/superlink/state/sqlite_state.py,sha256=HJwiD3SMp7yVqcyer-nJbdQ5uS06Cs5qjuN79dSTJWM,35614
@@ -291,9 +291,9 @@ flwr/simulation/__init__.py,sha256=ybVBW3xT6cg_IasJV4_ymI3bVrCbFhw1mmcfrdfl3q0,1
291
291
  flwr/simulation/app.py,sha256=EAMHVPKBAxiC2oMcxqS0zkO3FgQe-YRnaE74yJy6Was,15145
292
292
  flwr/simulation/ray_transport/__init__.py,sha256=wzcEEwUUlulnXsg6raCA1nGpP3LlAQDtJ8zNkCXcVbA,734
293
293
  flwr/simulation/ray_transport/ray_actor.py,sha256=9-XBguAm5IFqm2ddPFsQtnuuFN6lzqdb00SnCxGUGBo,18996
294
- flwr/simulation/ray_transport/ray_client_proxy.py,sha256=0abIsU0VBk9rNJZOKHIyzYGy3ZnWBgqYocX_oct1EP0,7307
294
+ flwr/simulation/ray_transport/ray_client_proxy.py,sha256=G6XLDoicZBnch1OXJ9VXFkd0bCTAgaZ3xlIeGdumbgk,7337
295
295
  flwr/simulation/ray_transport/utils.py,sha256=TYdtfg1P9VfTdLMOJlifInGpxWHYs9UfUqIv2wfkRLA,2392
296
- flwr/simulation/run_simulation.py,sha256=AN62VEoJhqe88VmkJ5dlJPVcDhUXGBaMKo4KjHqUu_8,22744
296
+ flwr/simulation/run_simulation.py,sha256=MQ9UCYT-cQGG6CNXDl96R7cKuUKRfMRkjZUAkAUwdsU,22864
297
297
  flwr/superexec/__init__.py,sha256=fcj366jh4RFby_vDwLroU4kepzqbnJgseZD_jUr_Mko,715
298
298
  flwr/superexec/app.py,sha256=mKwlsysbtmGPuz4CpWAPDPWAEFZH3b8u0JKRkWpfzuw,6552
299
299
  flwr/superexec/deployment.py,sha256=TbzOAAaY2sNt7O516w1GS6N5xvt0UV-dML74O6WA2O4,6344
@@ -301,8 +301,8 @@ flwr/superexec/exec_grpc.py,sha256=ZPq7EP55Vwj0kRcLVuTCokFqfIgBk-7YmDykZoMKi-c,1
301
301
  flwr/superexec/exec_servicer.py,sha256=TRpwPVl7eI0Y_xlCY6DmVpAo0yFU1gLwzyIeqFw9pyk,4746
302
302
  flwr/superexec/executor.py,sha256=-5J-ZLs-uArro3T2pCq0YQRC65cs18M888nufzdYE4E,2375
303
303
  flwr/superexec/simulation.py,sha256=J6pw-RqCSiUed8I_3MasZH4tl57ZmDebPAHNnbb0-vE,7420
304
- flwr_nightly-1.12.0.dev20241010.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
305
- flwr_nightly-1.12.0.dev20241010.dist-info/METADATA,sha256=5IR5Je6HzFFGIR62wjqICS5QuSKMugIizNgcJJ3_8iE,15618
306
- flwr_nightly-1.12.0.dev20241010.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
307
- flwr_nightly-1.12.0.dev20241010.dist-info/entry_points.txt,sha256=WUCbqhLEOzjx_lyATIM0-f0e8kOVaQjzwOvyOxHrMhs,434
308
- flwr_nightly-1.12.0.dev20241010.dist-info/RECORD,,
304
+ flwr_nightly-1.13.0.dev20241016.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
305
+ flwr_nightly-1.13.0.dev20241016.dist-info/METADATA,sha256=RoOY4BVs0m8OoowuReA8kkHEvyIm2DiNMWeQE29wOjg,15618
306
+ flwr_nightly-1.13.0.dev20241016.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
307
+ flwr_nightly-1.13.0.dev20241016.dist-info/entry_points.txt,sha256=WUCbqhLEOzjx_lyATIM0-f0e8kOVaQjzwOvyOxHrMhs,434
308
+ flwr_nightly-1.13.0.dev20241016.dist-info/RECORD,,