flwr-nightly 1.16.0.dev20250310__py3-none-any.whl → 1.17.0.dev20250311__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.
@@ -8,7 +8,7 @@ version = "1.0.0"
8
8
  description = ""
9
9
  license = "Apache-2.0"
10
10
  dependencies = [
11
- "flwr[simulation]>=1.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "flwr-datasets[vision]>=0.5.0",
13
13
  "torch==2.5.1",
14
14
  "torchvision==0.20.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.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "flwr-datasets>=0.5.0",
13
13
  "torch==2.3.1",
14
14
  "trl==0.8.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.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "flwr-datasets>=0.5.0",
13
13
  "torch==2.5.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.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "jax==0.4.30",
13
13
  "jaxlib==0.4.30",
14
14
  "scikit-learn==1.6.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.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "flwr-datasets[vision]>=0.5.0",
13
13
  "mlx==0.21.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.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "numpy>=2.0.2",
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.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "flwr-datasets[vision]>=0.5.0",
13
13
  "torch==2.5.1",
14
14
  "torchvision==0.20.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.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "flwr-datasets[vision]>=0.5.0",
13
13
  "scikit-learn>=1.6.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.16.0",
11
+ "flwr[simulation]>=1.17.0",
12
12
  "flwr-datasets[vision]>=0.5.0",
13
13
  "tensorflow>=2.11.1,<2.18.0",
14
14
  ]
flwr/client/client_app.py CHANGED
@@ -102,15 +102,6 @@ class ClientApp:
102
102
  >>> return FlowerClient().to_client()
103
103
  >>>
104
104
  >>> app = ClientApp(client_fn)
105
-
106
- If the above code is in a Python module called `client`, it can be started as
107
- follows:
108
-
109
- >>> flower-client-app client:app --insecure
110
-
111
- In this `client:app` example, `client` refers to the Python module `client.py` in
112
- which the previous code lives in and `app` refers to the global attribute `app` that
113
- points to an object of type `ClientApp`.
114
105
  """
115
106
 
116
107
  def __init__(
@@ -16,6 +16,7 @@
16
16
 
17
17
 
18
18
  import argparse
19
+ import gc
19
20
  import time
20
21
  from logging import DEBUG, ERROR, INFO
21
22
  from typing import Optional
@@ -160,6 +161,9 @@ def run_clientapp( # pylint: disable=R0914
160
161
  stub=stub, token=token, message=reply_message, context=context
161
162
  )
162
163
 
164
+ del client_app, message, context, run, fab, reply_message
165
+ gc.collect()
166
+
163
167
  # Reset token to `None` to prevent flwr-clientapp from trying to pull the
164
168
  # same inputs again
165
169
  token = None
@@ -15,10 +15,8 @@
15
15
  """Flower SuperNode."""
16
16
 
17
17
 
18
- from .app import run_client_app as run_client_app
19
18
  from .app import run_supernode as run_supernode
20
19
 
21
20
  __all__ = [
22
- "run_client_app",
23
21
  "run_supernode",
24
22
  ]
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
  import argparse
19
- from logging import DEBUG, ERROR, INFO, WARN
19
+ from logging import DEBUG, INFO, WARN
20
20
  from pathlib import Path
21
21
  from typing import Optional
22
22
 
@@ -98,16 +98,6 @@ def run_supernode() -> None:
98
98
  )
99
99
 
100
100
 
101
- def run_client_app() -> None:
102
- """Run Flower client app."""
103
- event(EventType.RUN_CLIENT_APP_ENTER)
104
- log(
105
- ERROR,
106
- "The command `flower-client-app` has been replaced by `flwr run`.",
107
- )
108
- register_exit_handlers(event_type=EventType.RUN_CLIENT_APP_LEAVE)
109
-
110
-
111
101
  def _parse_args_run_supernode() -> argparse.ArgumentParser:
112
102
  """Parse flower-supernode command line arguments."""
113
103
  parser = argparse.ArgumentParser(
flwr/common/telemetry.py CHANGED
@@ -181,16 +181,6 @@ class EventType(str, Enum):
181
181
  RUN_SUPERNODE_ENTER = auto()
182
182
  RUN_SUPERNODE_LEAVE = auto()
183
183
 
184
- # --- DEPRECATED -------------------------------------------------------------------
185
-
186
- # [DEPRECATED] CLI: `flower-server-app`
187
- RUN_SERVER_APP_ENTER = auto()
188
- RUN_SERVER_APP_LEAVE = auto()
189
-
190
- # [DEPRECATED] CLI: `flower-client-app`
191
- RUN_CLIENT_APP_ENTER = auto()
192
- RUN_CLIENT_APP_LEAVE = auto()
193
-
194
184
 
195
185
  # Use the ThreadPoolExecutor with max_workers=1 to have a queue
196
186
  # and also ensure that telemetry calls are not blocking.
@@ -15,11 +15,10 @@
15
15
  """Run ServerApp."""
16
16
 
17
17
 
18
- from logging import DEBUG, ERROR
18
+ from logging import DEBUG
19
19
  from typing import Optional
20
20
 
21
- from flwr.common import Context, EventType, event
22
- from flwr.common.exit_handlers import register_exit_handlers
21
+ from flwr.common import Context
23
22
  from flwr.common.logger import log
24
23
  from flwr.common.object_ref import load_app
25
24
 
@@ -64,13 +63,3 @@ def run(
64
63
 
65
64
  log(DEBUG, "ServerApp finished running.")
66
65
  return context
67
-
68
-
69
- def run_server_app() -> None:
70
- """Run Flower server app."""
71
- event(EventType.RUN_SERVER_APP_ENTER)
72
- log(
73
- ERROR,
74
- "The command `flower-server-app` has been replaced by `flwr run`.",
75
- )
76
- register_exit_handlers(event_type=EventType.RUN_SERVER_APP_LEAVE)
flwr/superexec/app.py CHANGED
@@ -16,26 +16,12 @@
16
16
 
17
17
 
18
18
  import argparse
19
- import sys
20
- from logging import INFO
21
19
 
22
- from flwr.common import log
23
20
  from flwr.common.object_ref import load_app, validate
24
21
 
25
22
  from .executor import Executor
26
23
 
27
24
 
28
- def run_superexec() -> None:
29
- """Run Flower SuperExec."""
30
- log(INFO, "Starting Flower SuperExec")
31
-
32
- sys.exit(
33
- "Manually launching the SuperExec is deprecated. Since `flwr 1.13.0` "
34
- "the executor service runs in the SuperLink. Launching it manually is not "
35
- "recommended."
36
- )
37
-
38
-
39
25
  def load_executor(
40
26
  args: argparse.Namespace,
41
27
  ) -> Executor:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.16.0.dev20250310
3
+ Version: 1.17.0.dev20250311
4
4
  Summary: Flower: A Friendly Federated AI Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -58,15 +58,15 @@ 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=66VcEv65u2o9P0N8Ys2DLA1C7hoviC7ItjRJGGXHYfk,2666
62
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=aMGH_6H4Ki8bCTyfB2tlChCe-_LUPIVqgrRYvPXMGok,1873
63
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=A5NfTb5imtwdAxIg5Og-cZnM8tPpFLqeI_LVJxu49pE,1143
64
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=Sq6WZ2rSVaCh0jVxKekPTTZAhBKhGi-SHELyFwe-Z4E,673
65
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=qDRaAmfibfIhbf43-j1kjJwpVAb-nd9o9N6KfWsyFZw,744
66
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=_gOb3yv8XuiYNaOVY0uEO6KNoshFE8ZLvlDgbPxkqS4,611
67
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=TNfLYgCA5vVNcmqbV2G2dsHeNjx4dXiDIcD8mNoxUMI,710
68
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=hVII9kdYRx_sbKhQC5WHDvhPhOdO5JW-JO9CNQc-hr0,686
69
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=ctdB84ZADY3LH6f88SX-iCSzRTDh_1vjSv-v2Oa5cgo,710
61
+ flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=yJRlxNVsQNponM6WhpgZ0WlOS2QtiR-U00fvQBqhrmg,2666
62
+ flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=VkLWj_38YTnaCVWUoqg7q6Aaa3LECOnqi5aA2M2c_QE,1873
63
+ flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=8vW9CjTWAZ7iXH4G4sgViwJBCVCOPlirP7v8EFsghYU,1143
64
+ flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=juNBqFEcD8pbq3GQrigwNTTLa98V6yxWHXASnR60QtA,673
65
+ flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=CSGq5wen4BpbftVDz43mZr9WFE7ffsP_T5etKWehsu8,744
66
+ flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=ParO1hGe_65VJYAHYXdzUgXW3Wv-IWuCq6981sT2E7E,611
67
+ flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=7qIeXECaC8lTlyKgSnE5qZGmVwxC75zRMOfX0OOtFsY,710
68
+ flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=ds40KOWf1RnkJ-_uQCp3QzdIYMMbDsvXhHMboZGlL_o,686
69
+ flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=_q5F8w-oOC-oDIpPTd7ejMhfGtAffKMiXlE5H6B_3KQ,710
70
70
  flwr/cli/run/__init__.py,sha256=cCsKVB0SFzh2b3QmGba6BHckB85xlhjh3mh4pBpACtY,790
71
71
  flwr/cli/run/run.py,sha256=kEOYKin9qPJy8SODxcAvIWk-OskKPsxvcbvhDhf2VD4,8299
72
72
  flwr/cli/stop.py,sha256=E4TGynmYQss5iWJ_fjSdYIW8nrNta2KOiK4sfvHKO_g,4976
@@ -74,9 +74,9 @@ 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
77
- flwr/client/client_app.py,sha256=glgQOWgFB_6NQ3YAzekXJDoy8R5T1JPhOSiFem1-fS8,14847
77
+ flwr/client/client_app.py,sha256=mRj5AXokCV9WYivgkNEdBPUHXjNr_ZOQ50Dou0REhkw,14481
78
78
  flwr/client/clientapp/__init__.py,sha256=kZqChGnTChQ1WGSUkIlW2S5bc0d0mzDubCAmZUGRpEY,800
79
- flwr/client/clientapp/app.py,sha256=Us5Mw3wvGd_6P1zHOf3TNcRGBBulVZDo3LuZOs17WgM,8963
79
+ flwr/client/clientapp/app.py,sha256=B3GrIMP8BMvltYf4n4xbtlRR1jEPT5-F93KnBCPuPJM,9069
80
80
  flwr/client/clientapp/clientappio_servicer.py,sha256=5L6bjw_j3Mnx9kRFwYwxDNABKurBO5q1jZOWE_X11wQ,8522
81
81
  flwr/client/clientapp/utils.py,sha256=qqTw9PKPCldGnnbAbMhtS-Qs_GcqADE1eOtVPXeKYAo,4344
82
82
  flwr/client/dpfedavg_numpy_client.py,sha256=4KsEvzavDKyVDU1V0kMqffTwu1lNdUCYQN-i0DTYVN8,7404
@@ -107,8 +107,8 @@ flwr/client/numpy_client.py,sha256=chTkL9dOtK_wgUoYtzp5mfDOC1k8xPAd1qPIsB3hcjA,9
107
107
  flwr/client/rest_client/__init__.py,sha256=5KGlp7pjc1dhNRkKlaNtUfQmg8wrRFh9lS3P3uRS-7Q,735
108
108
  flwr/client/rest_client/connection.py,sha256=c0mHsNXHAsbX4zNelbGd2qrV3vj90FfNE6FsiD6JzuY,12904
109
109
  flwr/client/run_info_store.py,sha256=ZN2Phi4DSLbSyzg8RmzJcVYh1g6eurHOmWRCT7GMtw4,4040
110
- flwr/client/supernode/__init__.py,sha256=SUhWOzcgXRNXk1V9UgB5-FaWukqqrOEajVUHEcPkwyQ,865
111
- flwr/client/supernode/app.py,sha256=oBbggh56HoieksBkTdDHAJC8VUFbrmGOP0-D9wdcZek,9265
110
+ flwr/client/supernode/__init__.py,sha256=D5swXxemuRbA2rB_T9B8LwJW-_PucXwmlFQQerwIUv0,793
111
+ flwr/client/supernode/app.py,sha256=W1VAgvjdSgrKKgjyM04Hx5XIUGxK2Oouuh0LjavZB9E,8975
112
112
  flwr/client/typing.py,sha256=dxoTBnTMfqXr5J7G3y-uNjqxYCddvxhu89spfj4Lm2U,1048
113
113
  flwr/common/__init__.py,sha256=TVaoFEJE158aui1TPZQiJCDZX4RNHRyI8I55VC80HhI,3901
114
114
  flwr/common/address.py,sha256=rRaN1JpiCJnit7ImEqZVxURQ69dPihRoyyWn_3I2wh4,4119
@@ -152,7 +152,7 @@ flwr/common/secure_aggregation/quantization.py,sha256=NE_ltC3Fx5Z3bMKqJHA95wQf2t
152
152
  flwr/common/secure_aggregation/secaggplus_constants.py,sha256=9MF-oQh62uD7rt9VeNB-rHf2gBLd5GL3S9OejCxmILY,2183
153
153
  flwr/common/secure_aggregation/secaggplus_utils.py,sha256=OgYd68YBRaHQYLc-YdExj9CSpwL58bVTaPrdHoAj2AE,3214
154
154
  flwr/common/serde.py,sha256=dgPUMPoKh8r09NERMgfnZKmEiGuKVBje7bSVFwJVZyk,27340
155
- flwr/common/telemetry.py,sha256=APKVubU_zJNrE-M_rip6S6Fsu41DxY3tAjFWNOgTmC0,9086
155
+ flwr/common/telemetry.py,sha256=k4JVXNEZSyYF2BuKk10iH70D8RYmQEtFlVr42Ve6lls,8770
156
156
  flwr/common/typing.py,sha256=Prl8_4tKnIl_Kh5UjJGbw1tnld543EkXrX0RWffJpiA,6900
157
157
  flwr/common/version.py,sha256=aNSxLL49RKeLz8sPcZrsTEWtrAeQ0uxu6tjmfba4O60,1325
158
158
  flwr/proto/__init__.py,sha256=hbY7JYakwZwCkYgCNlmHdc8rtvfoJbAZLalMdc--CGc,683
@@ -228,7 +228,7 @@ flwr/server/driver/driver.py,sha256=X072eFWl8Kx-aZbahTkpAc1wwoojr8A4uO2yozwwSbE,
228
228
  flwr/server/driver/grpc_driver.py,sha256=u3kj9Ej5vErlRcdeF_8giqVXWLP0obT405Kjv6vC-Vw,10298
229
229
  flwr/server/driver/inmemory_driver.py,sha256=p6p9RykDfoty94izzD4i11Xp7A8t1KUaHpbKbbVZAdU,6407
230
230
  flwr/server/history.py,sha256=qSb5_pPTrwofpSYGsZWzMPkl_4uJ4mJFWesxXDrEvDU,5026
231
- flwr/server/run_serverapp.py,sha256=vIPhvJx0i5sEZO4IKM6ruCXmx4ncat76rh0B4KhdhhM,2446
231
+ flwr/server/run_serverapp.py,sha256=tyAYB5UEiUd63VG4XiYBUUiivh77SpIol1cGS4xtYdk,2077
232
232
  flwr/server/server.py,sha256=1ZsFEptmAV-L2vP2etNC9Ed5CLSxpuKzUFkAPQ4l5Xc,17893
233
233
  flwr/server/server_app.py,sha256=Kb0ayKy19awnkslwN9Jx3eBWZJvDeA8VfFBvImmMf_E,9035
234
234
  flwr/server/server_config.py,sha256=CZaHVAsMvGLjpWVcLPkiYxgJN4xfIyAiUrCI3fETKY4,1349
@@ -317,15 +317,15 @@ flwr/simulation/ray_transport/utils.py,sha256=wtbQhKQ4jGoiQDLJNQP17m1DSfL22ERhDB
317
317
  flwr/simulation/run_simulation.py,sha256=KFpdL_RxE8NHZ68ZdghmFS6rccmWkO_iQ-kLLE1WUn8,20336
318
318
  flwr/simulation/simulationio_connection.py,sha256=lcbEmdjb9RVEF2W5vSbf_J1zlTuv_ZAT_HLox1mqcfY,3494
319
319
  flwr/superexec/__init__.py,sha256=fcj366jh4RFby_vDwLroU4kepzqbnJgseZD_jUr_Mko,715
320
- flwr/superexec/app.py,sha256=Z6kYHWd62YL0Q4YKyCAbt_BcefNfbKH6V-jCC-1NkZM,1842
320
+ flwr/superexec/app.py,sha256=C0T2LMjuyF__I5V1FKfjtWtbsQPxK_EgL4vuhWIwG8s,1465
321
321
  flwr/superexec/deployment.py,sha256=wZ9G42gGS91knfplswh95MnQ83Fzu-rs6wcuNgDmmvY,6735
322
322
  flwr/superexec/exec_grpc.py,sha256=ttA9qoZzSLF0Mfk1L4hzOkMSNuj5rR58_kKBYwcyrAg,2864
323
323
  flwr/superexec/exec_servicer.py,sha256=4UpzJqPUHkBG2PZNe2lrX7XFVDOL6yw_HcoBHxuXE9A,8349
324
324
  flwr/superexec/exec_user_auth_interceptor.py,sha256=YtvcjrD2hMVmZ3y9wHuGI6FwmG_Y__q112t4fFnypy0,3793
325
325
  flwr/superexec/executor.py,sha256=_B55WW2TD1fBINpabSSDRenVHXYmvlfhv-k8hJKU4lQ,3115
326
326
  flwr/superexec/simulation.py,sha256=WQDon15oqpMopAZnwRZoTICYCfHqtkvFSqiTQ2hLD_g,4088
327
- flwr_nightly-1.16.0.dev20250310.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
328
- flwr_nightly-1.16.0.dev20250310.dist-info/METADATA,sha256=JXB5f0sOFb-mzfNwywkCH8IYbGNt4g9Fpe5XUDmFB8c,15877
329
- flwr_nightly-1.16.0.dev20250310.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
330
- flwr_nightly-1.16.0.dev20250310.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
331
- flwr_nightly-1.16.0.dev20250310.dist-info/RECORD,,
327
+ flwr_nightly-1.17.0.dev20250311.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
328
+ flwr_nightly-1.17.0.dev20250311.dist-info/METADATA,sha256=M4N9VKRlrUXFQAfvVh0EiUex2xAtt0reR7k8Um00mQA,15877
329
+ flwr_nightly-1.17.0.dev20250311.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
330
+ flwr_nightly-1.17.0.dev20250311.dist-info/entry_points.txt,sha256=2-1L-GNKhwGw2_7_RoH55vHw2SIHjdAQy3HAVAWl9PY,374
331
+ flwr_nightly-1.17.0.dev20250311.dist-info/RECORD,,
@@ -1,8 +1,5 @@
1
1
  [console_scripts]
2
- flower-client-app=flwr.client.supernode:run_client_app
3
- flower-server-app=flwr.server.run_serverapp:run_server_app
4
2
  flower-simulation=flwr.simulation.run_simulation:run_simulation_from_cli
5
- flower-superexec=flwr.superexec.app:run_superexec
6
3
  flower-superlink=flwr.server.app:run_superlink
7
4
  flower-supernode=flwr.client.supernode.app:run_supernode
8
5
  flwr=flwr.cli.app:app