flwr-nightly 1.13.0.dev20241111__py3-none-any.whl → 1.14.0.dev20241126__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.
- flwr/cli/app.py +2 -0
- flwr/cli/install.py +0 -16
- flwr/cli/ls.py +228 -0
- flwr/cli/new/new.py +23 -13
- flwr/cli/new/templates/app/README.md.tpl +11 -0
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +1 -1
- flwr/cli/run/run.py +4 -2
- flwr/client/app.py +50 -14
- flwr/client/clientapp/app.py +40 -23
- flwr/client/grpc_rere_client/connection.py +7 -12
- flwr/client/rest_client/connection.py +4 -14
- flwr/client/supernode/app.py +31 -53
- flwr/common/args.py +85 -16
- flwr/common/constant.py +24 -6
- flwr/common/date.py +18 -0
- flwr/common/grpc.py +4 -1
- flwr/common/serde.py +10 -0
- flwr/common/typing.py +31 -10
- flwr/proto/exec_pb2.py +22 -13
- flwr/proto/exec_pb2.pyi +44 -0
- flwr/proto/exec_pb2_grpc.py +34 -0
- flwr/proto/exec_pb2_grpc.pyi +13 -0
- flwr/proto/run_pb2.py +30 -30
- flwr/proto/run_pb2.pyi +18 -1
- flwr/server/app.py +47 -77
- flwr/server/driver/grpc_driver.py +66 -16
- flwr/server/run_serverapp.py +8 -238
- flwr/server/serverapp/app.py +49 -29
- flwr/server/superlink/fleet/rest_rere/rest_api.py +10 -9
- flwr/server/superlink/linkstate/in_memory_linkstate.py +71 -46
- flwr/server/superlink/linkstate/linkstate.py +19 -5
- flwr/server/superlink/linkstate/sqlite_linkstate.py +81 -113
- flwr/server/superlink/linkstate/utils.py +193 -3
- flwr/simulation/app.py +52 -91
- flwr/simulation/legacy_app.py +21 -1
- flwr/simulation/run_simulation.py +7 -18
- flwr/simulation/simulationio_connection.py +2 -2
- flwr/superexec/deployment.py +12 -6
- flwr/superexec/exec_servicer.py +31 -2
- flwr/superexec/simulation.py +11 -46
- {flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/METADATA +5 -4
- {flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/RECORD +53 -52
- {flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/LICENSE +0 -0
- {flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/WHEEL +0 -0
- {flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/entry_points.txt +0 -0
flwr/superexec/simulation.py
CHANGED
|
@@ -21,6 +21,7 @@ from typing import Optional
|
|
|
21
21
|
|
|
22
22
|
from typing_extensions import override
|
|
23
23
|
|
|
24
|
+
from flwr.cli.config_utils import get_fab_metadata
|
|
24
25
|
from flwr.common import ConfigsRecord, Context, RecordSet
|
|
25
26
|
from flwr.common.logger import log
|
|
26
27
|
from flwr.common.typing import Fab, UserConfig
|
|
@@ -32,21 +33,11 @@ from .executor import Executor
|
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
class SimulationEngine(Executor):
|
|
35
|
-
"""Simulation engine executor.
|
|
36
|
-
|
|
37
|
-
Parameters
|
|
38
|
-
----------
|
|
39
|
-
num_supernodes: Opitonal[str] (default: None)
|
|
40
|
-
Total number of nodes to involve in the simulation.
|
|
41
|
-
"""
|
|
36
|
+
"""Simulation engine executor."""
|
|
42
37
|
|
|
43
38
|
def __init__(
|
|
44
39
|
self,
|
|
45
|
-
num_supernodes: Optional[int] = None,
|
|
46
|
-
verbose: Optional[bool] = False,
|
|
47
40
|
) -> None:
|
|
48
|
-
self.num_supernodes = num_supernodes
|
|
49
|
-
self.verbose = verbose
|
|
50
41
|
self.linkstate_factory: Optional[LinkStateFactory] = None
|
|
51
42
|
self.ffs_factory: Optional[FfsFactory] = None
|
|
52
43
|
|
|
@@ -77,40 +68,7 @@ class SimulationEngine(Executor):
|
|
|
77
68
|
self,
|
|
78
69
|
config: UserConfig,
|
|
79
70
|
) -> None:
|
|
80
|
-
"""Set executor config arguments.
|
|
81
|
-
|
|
82
|
-
Parameters
|
|
83
|
-
----------
|
|
84
|
-
config : UserConfig
|
|
85
|
-
A dictionary for configuration values.
|
|
86
|
-
Supported configuration key/value pairs:
|
|
87
|
-
- "num-supernodes": int
|
|
88
|
-
Number of nodes to register for the simulation.
|
|
89
|
-
- "verbose": bool
|
|
90
|
-
Set verbosity of logs.
|
|
91
|
-
"""
|
|
92
|
-
if num_supernodes := config.get("num-supernodes"):
|
|
93
|
-
if not isinstance(num_supernodes, int):
|
|
94
|
-
raise ValueError("The `num-supernodes` value should be of type `int`.")
|
|
95
|
-
self.num_supernodes = num_supernodes
|
|
96
|
-
elif self.num_supernodes is None:
|
|
97
|
-
log(
|
|
98
|
-
ERROR,
|
|
99
|
-
"To start a run with the simulation plugin, please specify "
|
|
100
|
-
"the number of SuperNodes. This can be done by using the "
|
|
101
|
-
"`--executor-config` argument when launching the SuperExec.",
|
|
102
|
-
)
|
|
103
|
-
raise ValueError(
|
|
104
|
-
"`num-supernodes` must not be `None`, it must be a valid "
|
|
105
|
-
"positive integer."
|
|
106
|
-
)
|
|
107
|
-
|
|
108
|
-
if verbose := config.get("verbose"):
|
|
109
|
-
if not isinstance(verbose, bool):
|
|
110
|
-
raise ValueError(
|
|
111
|
-
"The `verbose` value must be a string `true` or `false`."
|
|
112
|
-
)
|
|
113
|
-
self.verbose = verbose
|
|
71
|
+
"""Set executor config arguments."""
|
|
114
72
|
|
|
115
73
|
# pylint: disable=too-many-locals
|
|
116
74
|
@override
|
|
@@ -122,6 +80,12 @@ class SimulationEngine(Executor):
|
|
|
122
80
|
) -> Optional[int]:
|
|
123
81
|
"""Start run using the Flower Simulation Engine."""
|
|
124
82
|
try:
|
|
83
|
+
# Check that num-supernodes is set
|
|
84
|
+
if "num-supernodes" not in federation_options:
|
|
85
|
+
raise ValueError(
|
|
86
|
+
"Federation options doesn't contain key `num-supernodes`."
|
|
87
|
+
)
|
|
88
|
+
|
|
125
89
|
# Create run
|
|
126
90
|
fab = Fab(hashlib.sha256(fab_file).hexdigest(), fab_file)
|
|
127
91
|
fab_hash = self.ffs.put(fab.content, {})
|
|
@@ -129,9 +93,10 @@ class SimulationEngine(Executor):
|
|
|
129
93
|
raise RuntimeError(
|
|
130
94
|
f"FAB ({fab.hash_str}) hash from request doesn't match contents"
|
|
131
95
|
)
|
|
96
|
+
fab_id, fab_version = get_fab_metadata(fab.content)
|
|
132
97
|
|
|
133
98
|
run_id = self.linkstate.create_run(
|
|
134
|
-
|
|
99
|
+
fab_id, fab_version, fab_hash, override_config, federation_options
|
|
135
100
|
)
|
|
136
101
|
|
|
137
102
|
# Create an empty context for the Run
|
{flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/METADATA
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flwr-nightly
|
|
3
|
-
Version: 1.
|
|
4
|
-
Summary: Flower: A Friendly Federated
|
|
3
|
+
Version: 1.14.0.dev20241126
|
|
4
|
+
Summary: Flower: A Friendly Federated AI Framework
|
|
5
5
|
Home-page: https://flower.ai
|
|
6
6
|
License: Apache-2.0
|
|
7
7
|
Keywords: Artificial Intelligence,Federated AI,Federated Analytics,Federated Evaluation,Federated Learning,Flower,Machine Learning
|
|
@@ -41,6 +41,7 @@ Requires-Dist: protobuf (>=4.25.2,<5.0.0)
|
|
|
41
41
|
Requires-Dist: pycryptodome (>=3.18.0,<4.0.0)
|
|
42
42
|
Requires-Dist: ray (==2.10.0) ; (python_version >= "3.9" and python_version < "3.12") and (extra == "simulation")
|
|
43
43
|
Requires-Dist: requests (>=2.31.0,<3.0.0) ; extra == "rest"
|
|
44
|
+
Requires-Dist: rich (>=13.5.0,<14.0.0)
|
|
44
45
|
Requires-Dist: starlette (>=0.31.0,<0.32.0) ; extra == "rest"
|
|
45
46
|
Requires-Dist: tomli (>=2.0.1,<3.0.0)
|
|
46
47
|
Requires-Dist: tomli-w (>=1.0.0,<2.0.0)
|
|
@@ -50,7 +51,7 @@ Project-URL: Documentation, https://flower.ai
|
|
|
50
51
|
Project-URL: Repository, https://github.com/adap/flower
|
|
51
52
|
Description-Content-Type: text/markdown
|
|
52
53
|
|
|
53
|
-
# Flower: A Friendly Federated
|
|
54
|
+
# Flower: A Friendly Federated AI Framework
|
|
54
55
|
|
|
55
56
|
<p align="center">
|
|
56
57
|
<a href="https://flower.ai/">
|
|
@@ -73,7 +74,7 @@ Description-Content-Type: text/markdown
|
|
|
73
74
|
[](https://hub.docker.com/u/flwr)
|
|
74
75
|
[](https://flower.ai/join-slack)
|
|
75
76
|
|
|
76
|
-
Flower (`flwr`) is a framework for building federated
|
|
77
|
+
Flower (`flwr`) is a framework for building federated AI systems. The
|
|
77
78
|
design of Flower is based on a few guiding principles:
|
|
78
79
|
|
|
79
80
|
- **Customizable**: Federated learning systems vary wildly from one use case to
|
{flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/RECORD
RENAMED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
flwr/__init__.py,sha256=VmBWedrCxqmt4QvUHBLqyVEH6p7zaFMD_oCHerXHSVw,937
|
|
2
2
|
flwr/cli/__init__.py,sha256=cZJVgozlkC6Ni2Hd_FAIrqefrkCGOV18fikToq-6iLw,720
|
|
3
|
-
flwr/cli/app.py,sha256=
|
|
3
|
+
flwr/cli/app.py,sha256=h1RCGBUtiL1JTC6yoihlOlB-k4imJ0ToS8uG4haFiyU,1292
|
|
4
4
|
flwr/cli/build.py,sha256=k2M0aIY2q5WB_yXQ22Woxt1zb6m-Z1wNwmhWMxEm5Dw,6344
|
|
5
5
|
flwr/cli/config_utils.py,sha256=n-xNkQG_0POz5UUHyE00lthNaOjuS6IYU9Thzb_BThs,11431
|
|
6
6
|
flwr/cli/example.py,sha256=1bGDYll3BXQY2kRqSN-oICqS5n1b9m0g0RvXTopXHl4,2215
|
|
7
|
-
flwr/cli/install.py,sha256=
|
|
7
|
+
flwr/cli/install.py,sha256=kmD2dW-9B7645GAQx5es1o2W11gRHQ2Fg2E31SLomrg,8179
|
|
8
8
|
flwr/cli/log.py,sha256=WlAuxZdTUYZ5bRKkm0jLWrOxHTS0TlSA5BeDtO9xF3k,6659
|
|
9
|
+
flwr/cli/ls.py,sha256=aOQTDaRMYuh8O7Wm1CjbSvEXhwq-25QRRDbq-v5UaXY,7703
|
|
9
10
|
flwr/cli/new/__init__.py,sha256=cQzK1WH4JP2awef1t2UQ2xjl1agVEz9rwutV18SWV1k,789
|
|
10
|
-
flwr/cli/new/new.py,sha256=
|
|
11
|
+
flwr/cli/new/new.py,sha256=xgzObnhNpnGvjVs6wTj6BlJ9X-avPhRX3DuwWnk9ED0,9903
|
|
11
12
|
flwr/cli/new/templates/__init__.py,sha256=4luU8RL-CK8JJCstQ_ON809W9bNTkY1l9zSaPKBkgwY,725
|
|
12
13
|
flwr/cli/new/templates/app/.gitignore.tpl,sha256=XixnHdyeMB2vwkGtGnwHqoWpH-9WChdyG0GXe57duhc,3078
|
|
13
14
|
flwr/cli/new/templates/app/LICENSE.tpl,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
14
15
|
flwr/cli/new/templates/app/README.baseline.md.tpl,sha256=4dg2aBS-NIleVyDlxsG8m65Af6LIJ-pZA5ICjGFU5XA,9641
|
|
15
16
|
flwr/cli/new/templates/app/README.flowertune.md.tpl,sha256=QSG51uifue2KVZz2ZNw8kmOStS7svC2AQ2gTa5E7Bhs,3326
|
|
16
|
-
flwr/cli/new/templates/app/README.md.tpl,sha256=
|
|
17
|
+
flwr/cli/new/templates/app/README.md.tpl,sha256=6HBXeD0PBLAnx1IYWGsXzLmDn52jPEk0SF24omhhczE,949
|
|
17
18
|
flwr/cli/new/templates/app/__init__.py,sha256=DU7QMY7IhMQyuwm_tja66xU0KXTWQFqzfTqwg-_NJdE,729
|
|
18
19
|
flwr/cli/new/templates/app/code/__init__.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
|
|
19
20
|
flwr/cli/new/templates/app/code/__init__.py,sha256=EM6vfvgAILKPaPn7H1wMV1Wi01WyZCP_Eg6NxD6oWg8,736
|
|
@@ -51,24 +52,24 @@ flwr/cli/new/templates/app/code/task.pytorch.py.tpl,sha256=XlJqA4Ix_PloO_zJLhjiN
|
|
|
51
52
|
flwr/cli/new/templates/app/code/task.sklearn.py.tpl,sha256=SeIIo0rr_6ffn4Qx2xELD18jYXCkcW__NWtYEDXCICM,1843
|
|
52
53
|
flwr/cli/new/templates/app/code/task.tensorflow.py.tpl,sha256=SKXAZdgBnPpbAbJ90Rb7oQ5ilnopBx_j_JNFoUDeEAI,1732
|
|
53
54
|
flwr/cli/new/templates/app/code/utils.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
|
|
54
|
-
flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=
|
|
55
|
-
flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=
|
|
56
|
-
flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=
|
|
57
|
-
flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=
|
|
58
|
-
flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=
|
|
59
|
-
flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=
|
|
60
|
-
flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=
|
|
61
|
-
flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=
|
|
62
|
-
flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=
|
|
55
|
+
flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=su1WcJ0KkWar8op-6QB03gw4NVu6AxTcjAR2PdbPGiw,2666
|
|
56
|
+
flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=TkzINYGgDHi-hJJKF8XGGIOUcFaxj09LEEsibLKs0jY,1873
|
|
57
|
+
flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=GndNKPk2j63HmcoDb0PkUuLWajMHw5fD28q18a7EtiU,1143
|
|
58
|
+
flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=1kauOcIjXJWZT0ONXYxPZpO1qdnjK_2c1S-Fymxzy54,673
|
|
59
|
+
flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=pzsL4mG5WxbgHa5JZgJN_ty3MkWb4OZBs7qTr1xmMgw,765
|
|
60
|
+
flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=qMu1YXahxEqslcGyiGoG6uSzBX8XkH4Vp36cg4-K8aA,612
|
|
61
|
+
flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=Fgw-KjFS7F9y9YDzrfXrx5gyp8_2t_TlaThT3Ug9ow4,710
|
|
62
|
+
flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=TcaTNCrJY98V-CcgzHiN_Wx4FeleV24Idh0AeJrM7ec,686
|
|
63
|
+
flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=ObRYYJhgeOWMmBasda1x0UOIhwZKpTtaNon9jazmgOI,710
|
|
63
64
|
flwr/cli/run/__init__.py,sha256=oCd6HmQDx-sqver1gecgx-uMA38BLTSiiKpl7RGNceg,789
|
|
64
|
-
flwr/cli/run/run.py,sha256=
|
|
65
|
+
flwr/cli/run/run.py,sha256=t4fBBc3Fq_-Ay5KA8zfkil5NVQOOJOMIN1Nto7Suwy4,6284
|
|
65
66
|
flwr/cli/utils.py,sha256=emMUdthvoHBTB0iGQp-oFBmA5wV46lw3y3FmfXQPCsc,4500
|
|
66
67
|
flwr/client/__init__.py,sha256=DGDoO0AEAfz-0CUFmLdyUUweAS64-07AOnmDfWUefK4,1192
|
|
67
|
-
flwr/client/app.py,sha256=
|
|
68
|
+
flwr/client/app.py,sha256=3AKrJduvki_1ATvKCQV4T9_1qZuarVVTtpnsq6_cWw0,34384
|
|
68
69
|
flwr/client/client.py,sha256=gy6WVlMUFAp8oevN4xpQPX30vPOIYGVqdbuFlTWkyG4,9080
|
|
69
70
|
flwr/client/client_app.py,sha256=cTig-N00YzTucbo9zNi6I21J8PlbflU_8J_f5CI-Wpw,10390
|
|
70
71
|
flwr/client/clientapp/__init__.py,sha256=kZqChGnTChQ1WGSUkIlW2S5bc0d0mzDubCAmZUGRpEY,800
|
|
71
|
-
flwr/client/clientapp/app.py,sha256=
|
|
72
|
+
flwr/client/clientapp/app.py,sha256=BQJMhCgkj72bfzpinJjJGRlFlZKYuIcZEGrtkfU_os0,8806
|
|
72
73
|
flwr/client/clientapp/clientappio_servicer.py,sha256=5L6bjw_j3Mnx9kRFwYwxDNABKurBO5q1jZOWE_X11wQ,8522
|
|
73
74
|
flwr/client/clientapp/utils.py,sha256=Xg23Q7g7r9jrxXEbvJ9wXal_uAqYK3mi087u0QER6-I,4343
|
|
74
75
|
flwr/client/dpfedavg_numpy_client.py,sha256=4KsEvzavDKyVDU1V0kMqffTwu1lNdUCYQN-i0DTYVN8,7404
|
|
@@ -78,7 +79,7 @@ flwr/client/grpc_client/__init__.py,sha256=LsnbqXiJhgQcB0XzAlUQgPx011Uf7Y7yabIC1
|
|
|
78
79
|
flwr/client/grpc_client/connection.py,sha256=Y9yJkRvGypulerX9fviP4axF5XBTBnvYrsp2mv5OS9E,9411
|
|
79
80
|
flwr/client/grpc_rere_client/__init__.py,sha256=MK-oSoV3kwUEQnIwl0GN4OpiHR7eLOrMA8ikunET130,752
|
|
80
81
|
flwr/client/grpc_rere_client/client_interceptor.py,sha256=q08lIEeJLvvonNOiejNXvmySbPObteGnbDHhEKDmWzE,5380
|
|
81
|
-
flwr/client/grpc_rere_client/connection.py,sha256=
|
|
82
|
+
flwr/client/grpc_rere_client/connection.py,sha256=1qJB9XAlOl8m2MrvujAjo8y6WGu10IK2rkLXg_sj7BQ,11115
|
|
82
83
|
flwr/client/grpc_rere_client/grpc_adapter.py,sha256=sQo0I9T65t97LFGoW_PrmgaTbd18GFgi2DoAI5wQJ4k,5589
|
|
83
84
|
flwr/client/heartbeat.py,sha256=cx37mJBH8LyoIN4Lks85wtqT1mnU5GulQnr4pGCvAq0,2404
|
|
84
85
|
flwr/client/message_handler/__init__.py,sha256=QxxQuBNpFPTHx3KiUNvQSlqMKlEnbRR1kFfc1KVje08,719
|
|
@@ -98,23 +99,23 @@ flwr/client/nodestate/nodestate.py,sha256=2sSziyHK65ygayLcEoR78erqyrRe10tZ2tB-QI
|
|
|
98
99
|
flwr/client/nodestate/nodestate_factory.py,sha256=LipmYzjYlN2U-CYN20d8Kk0PXyCAJq3L3VQFc6QscJc,1429
|
|
99
100
|
flwr/client/numpy_client.py,sha256=tqGyhIkeeZQGr65BR03B7TWgx4rW3FA7G2874D8z_VU,11167
|
|
100
101
|
flwr/client/rest_client/__init__.py,sha256=5KGlp7pjc1dhNRkKlaNtUfQmg8wrRFh9lS3P3uRS-7Q,735
|
|
101
|
-
flwr/client/rest_client/connection.py,sha256=
|
|
102
|
+
flwr/client/rest_client/connection.py,sha256=cBLtI-nUTELn5zpS42sbnc--0wxc1DdHkVGAlfRSc2Y,12626
|
|
102
103
|
flwr/client/run_info_store.py,sha256=ZN2Phi4DSLbSyzg8RmzJcVYh1g6eurHOmWRCT7GMtw4,4040
|
|
103
104
|
flwr/client/supernode/__init__.py,sha256=SUhWOzcgXRNXk1V9UgB5-FaWukqqrOEajVUHEcPkwyQ,865
|
|
104
|
-
flwr/client/supernode/app.py,sha256=
|
|
105
|
+
flwr/client/supernode/app.py,sha256=CWVSrrZ6YbQ1PcoXQqWZiYKjKcwcE3bB-4Wl-oIG5co,11482
|
|
105
106
|
flwr/client/typing.py,sha256=dxoTBnTMfqXr5J7G3y-uNjqxYCddvxhu89spfj4Lm2U,1048
|
|
106
107
|
flwr/common/__init__.py,sha256=TVaoFEJE158aui1TPZQiJCDZX4RNHRyI8I55VC80HhI,3901
|
|
107
108
|
flwr/common/address.py,sha256=7kM2Rqjw86-c8aKwAvrXerWqznnVv4TFJ62aSAeTn10,3017
|
|
108
|
-
flwr/common/args.py,sha256
|
|
109
|
+
flwr/common/args.py,sha256=-KeQ6AZw1-G4Ifhsg4qlRnWhGH1m_OzUgxH7Z4j_0ns,6222
|
|
109
110
|
flwr/common/config.py,sha256=qC1QvGAGr4faBtg3Y5dWhfyK5FggyWUMjPqg-Rx_FW4,8083
|
|
110
|
-
flwr/common/constant.py,sha256=
|
|
111
|
+
flwr/common/constant.py,sha256=f8P1oB5VqqvV14ymdlOFDhPNuuy6TWtiG0CI7lFw-F8,5522
|
|
111
112
|
flwr/common/context.py,sha256=uJ-mnoC_8y_udEb3kAX-r8CPphNTWM72z1AlsvQEu54,2403
|
|
112
|
-
flwr/common/date.py,sha256=
|
|
113
|
+
flwr/common/date.py,sha256=NHHpESce5wYqEwoDXf09gp9U9l_5Bmlh2BsOcwS-kDM,1554
|
|
113
114
|
flwr/common/differential_privacy.py,sha256=XwcJ3rWr8S8BZUocc76vLSJAXIf6OHnWkBV6-xlIRuw,6106
|
|
114
115
|
flwr/common/differential_privacy_constants.py,sha256=c7b7tqgvT7yMK0XN9ndiTBs4mQf6d3qk6K7KBZGlV4Q,1074
|
|
115
116
|
flwr/common/dp.py,sha256=vddkvyjV2FhRoN4VuU2LeAM1UBn7dQB8_W-Qdiveal8,1978
|
|
116
117
|
flwr/common/exit_handlers.py,sha256=MracJaBeoCOC7TaXK9zCJQxhrMSx9ZtczK237qvhBpU,2806
|
|
117
|
-
flwr/common/grpc.py,sha256=
|
|
118
|
+
flwr/common/grpc.py,sha256=AIPMAHsvcTlduaYKCgnoBnst1A7RZEgGqh0Ulm7qfJ0,2621
|
|
118
119
|
flwr/common/logger.py,sha256=q_PKjfgUEH-yrjPSIvzzaKocWBqEOaILAmfKOOyEcDE,11197
|
|
119
120
|
flwr/common/message.py,sha256=4O1m0OWXBAYZz05gKgEtnoJ94J1gjo7hCNHyUXThxRo,13831
|
|
120
121
|
flwr/common/object_ref.py,sha256=DavEkh-IJv_s0VeLsJvSZS5k-Ix_k1UcNXbldfNFXxM,9859
|
|
@@ -137,9 +138,9 @@ flwr/common/secure_aggregation/ndarrays_arithmetic.py,sha256=zvVAIrIyI6OSzGhpCi8
|
|
|
137
138
|
flwr/common/secure_aggregation/quantization.py,sha256=mC4uLf05zeONo8Ke-BY0Tj8UCMOS7VD93zHCzuv3MHU,2304
|
|
138
139
|
flwr/common/secure_aggregation/secaggplus_constants.py,sha256=9MF-oQh62uD7rt9VeNB-rHf2gBLd5GL3S9OejCxmILY,2183
|
|
139
140
|
flwr/common/secure_aggregation/secaggplus_utils.py,sha256=o7IhHH6J9xqinhQy3TdPgQpoj1XyEpyv3OQFyx81RVQ,3193
|
|
140
|
-
flwr/common/serde.py,sha256=
|
|
141
|
+
flwr/common/serde.py,sha256=K9ExsqcTPETESkt2HMaNtIQAIAfwmuwtJFlG-59I7Sw,31046
|
|
141
142
|
flwr/common/telemetry.py,sha256=20AYNaePOBaSEh99PIuBrxRxtY53-kZ5-2Ej0JWUJmc,8731
|
|
142
|
-
flwr/common/typing.py,sha256=
|
|
143
|
+
flwr/common/typing.py,sha256=RLq2f9jhE_Nndtk023cPMG0LpoQHaacEsww-3j0xs4Q,5710
|
|
143
144
|
flwr/common/version.py,sha256=tCcl_FvxVK206C1dxIJCs4TjL06WmyaODBP19FRHE1c,1324
|
|
144
145
|
flwr/proto/__init__.py,sha256=hbY7JYakwZwCkYgCNlmHdc8rtvfoJbAZLalMdc--CGc,683
|
|
145
146
|
flwr/proto/clientappio_pb2.py,sha256=Y3PMv-JMaBGehpslgbvGY6l2u5vNpfCTFWu-fmAmBJ4,3703
|
|
@@ -158,10 +159,10 @@ flwr/proto/error_pb2.py,sha256=LarjKL90LbwkXKlhzNrDssgl4DXcvIPve8NVCXHpsKA,1084
|
|
|
158
159
|
flwr/proto/error_pb2.pyi,sha256=ZNH4HhJTU_KfMXlyCeg8FwU-fcUYxTqEmoJPtWtHikc,734
|
|
159
160
|
flwr/proto/error_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
160
161
|
flwr/proto/error_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
|
161
|
-
flwr/proto/exec_pb2.py,sha256=
|
|
162
|
-
flwr/proto/exec_pb2.pyi,sha256=
|
|
163
|
-
flwr/proto/exec_pb2_grpc.py,sha256=
|
|
164
|
-
flwr/proto/exec_pb2_grpc.pyi,sha256=
|
|
162
|
+
flwr/proto/exec_pb2.py,sha256=uKvQah9kbPj9PpduEFqpxYX0t_yWjHDMa5IBwl7vqKA,4022
|
|
163
|
+
flwr/proto/exec_pb2.pyi,sha256=RJUqVsDKDZAxRSypeM4rhg4PCYsal_iVomps3GA_T_Y,6016
|
|
164
|
+
flwr/proto/exec_pb2_grpc.py,sha256=kPXb_vp2Swl-1nkQEHJaqXKXi9P8pauBFemboGFgI9Q,5621
|
|
165
|
+
flwr/proto/exec_pb2_grpc.pyi,sha256=qnefAjYPdWs-yYTPIfsbecoKWbVKjp6IFZHwN82ZGUo,1601
|
|
165
166
|
flwr/proto/fab_pb2.py,sha256=3QSDq9pjbZoqVxsmCRDwHO5PrSjzn2vixjYxE-qPmb0,1589
|
|
166
167
|
flwr/proto/fab_pb2.pyi,sha256=fXI108QaFtbl1WWTyslPbIx9c_19D0aYCoFn0xYtL4U,2277
|
|
167
168
|
flwr/proto/fab_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
@@ -190,8 +191,8 @@ flwr/proto/recordset_pb2.py,sha256=XjEIDU-YlKSY59qNd0qXTFB4COvMHGiszQ5O1krJ1Ks,6
|
|
|
190
191
|
flwr/proto/recordset_pb2.pyi,sha256=ypFNvroU4aIlnN0D6W4XAsOfm0UzTfXhxxL1v7u__Ac,15370
|
|
191
192
|
flwr/proto/recordset_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
192
193
|
flwr/proto/recordset_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
|
193
|
-
flwr/proto/run_pb2.py,sha256=
|
|
194
|
-
flwr/proto/run_pb2.pyi,sha256=
|
|
194
|
+
flwr/proto/run_pb2.py,sha256=J2TQwf-S0o9ImGuQLrczw99S0GSXm6hk-npJ8rXAC0Y,5743
|
|
195
|
+
flwr/proto/run_pb2.pyi,sha256=i6TEwphuFH94_kT2hZWb_RjndLuphkPrT3C2VP-NnVs,11739
|
|
195
196
|
flwr/proto/run_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
196
197
|
flwr/proto/run_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
|
197
198
|
flwr/proto/serverappio_pb2.py,sha256=zWnODeaj26oSx98-BFvwtWM_fYvsw9OeSIuV7JnKVvw,4822
|
|
@@ -212,7 +213,7 @@ flwr/proto/transport_pb2_grpc.py,sha256=vLN3EHtx2aEEMCO4f1Upu-l27BPzd3-5pV-u8wPc
|
|
|
212
213
|
flwr/proto/transport_pb2_grpc.pyi,sha256=AGXf8RiIiW2J5IKMlm_3qT3AzcDa4F3P5IqUjve_esA,766
|
|
213
214
|
flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
214
215
|
flwr/server/__init__.py,sha256=cEg1oecBu4cKB69iJCqWEylC8b5XW47bl7rQiJsdTvM,1528
|
|
215
|
-
flwr/server/app.py,sha256=
|
|
216
|
+
flwr/server/app.py,sha256=Ah9tYbRIPI88xim29LS7F_PkrUNgRKx4v6Mggy50dE4,28905
|
|
216
217
|
flwr/server/client_manager.py,sha256=7Ese0tgrH-i-ms363feYZJKwB8gWnXSmg_hYF2Bju4U,6227
|
|
217
218
|
flwr/server/client_proxy.py,sha256=4G-oTwhb45sfWLx2uZdcXD98IZwdTS6F88xe3akCdUg,2399
|
|
218
219
|
flwr/server/compat/__init__.py,sha256=VxnJtJyOjNFQXMNi9hIuzNlZM5n0Hj1p3aq_Pm2udw4,892
|
|
@@ -223,15 +224,15 @@ flwr/server/compat/legacy_context.py,sha256=wBzBcfV6YO6IQGriM_FdJ5XZfiBBEEJdS_Od
|
|
|
223
224
|
flwr/server/criterion.py,sha256=ypbAexbztzGUxNen9RCHF91QeqiEQix4t4Ih3E-42MM,1061
|
|
224
225
|
flwr/server/driver/__init__.py,sha256=bikRv6CjTwSvYh7tf10gziU5o2YotOWhhftz2tr3KDc,886
|
|
225
226
|
flwr/server/driver/driver.py,sha256=u_fMfqLYTroTafGCNwKPHI4lttRL-Z5CqeT3_FHSq-Q,5701
|
|
226
|
-
flwr/server/driver/grpc_driver.py,sha256=
|
|
227
|
+
flwr/server/driver/grpc_driver.py,sha256=aTeQVYjyp19LGUa-a5iKdQRFijLzut2bXj1h8YovdIM,11397
|
|
227
228
|
flwr/server/driver/inmemory_driver.py,sha256=gfB4jmkk1indhRa9XCdKCXghVcWBF1qBD-tAxMUyQm0,6404
|
|
228
229
|
flwr/server/history.py,sha256=qSb5_pPTrwofpSYGsZWzMPkl_4uJ4mJFWesxXDrEvDU,5026
|
|
229
|
-
flwr/server/run_serverapp.py,sha256=
|
|
230
|
+
flwr/server/run_serverapp.py,sha256=oDfHaHyVT5BRcckFFQKg8AVPCWR1ek7OhNceTC8qq9g,2493
|
|
230
231
|
flwr/server/server.py,sha256=1ZsFEptmAV-L2vP2etNC9Ed5CLSxpuKzUFkAPQ4l5Xc,17893
|
|
231
232
|
flwr/server/server_app.py,sha256=RsgS6PRS5Z74cMUAHzsm8r3LWddwn00MjRs6rlacHt8,6297
|
|
232
233
|
flwr/server/server_config.py,sha256=CZaHVAsMvGLjpWVcLPkiYxgJN4xfIyAiUrCI3fETKY4,1349
|
|
233
234
|
flwr/server/serverapp/__init__.py,sha256=L0K-94UDdTyEZ8LDtYybGIIIv3HW6AhSVjXMUfYJQnQ,800
|
|
234
|
-
flwr/server/serverapp/app.py,sha256=
|
|
235
|
+
flwr/server/serverapp/app.py,sha256=wYs5H8TU7egSB32DzDnJCUHmcli201e7MlWmhkOgn30,7693
|
|
235
236
|
flwr/server/serverapp_components.py,sha256=-IV_CitOfrJclJj2jNdbN1Q65PyFmtKtrTIg1hc6WQw,2118
|
|
236
237
|
flwr/server/strategy/__init__.py,sha256=tQer2SwjDnvgFFuJMZM-S01Z615N5XK6MaCvpm4BMU0,2836
|
|
237
238
|
flwr/server/strategy/aggregate.py,sha256=PDvekufza13s9AsVmz9WASunaBs3yCtl8JVliFx9j6Q,13978
|
|
@@ -279,18 +280,18 @@ flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=iZlgW7L5oVG_0
|
|
|
279
280
|
flwr/server/superlink/fleet/message_handler/__init__.py,sha256=h8oLD7uo5lKICPy0rRdKRjTYe62u8PKkT_fA4xF5JPA,731
|
|
280
281
|
flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=WAis2WPj0L91HSfOZqX-k0n9Rs3igdARKRMsV1VlTnY,4465
|
|
281
282
|
flwr/server/superlink/fleet/rest_rere/__init__.py,sha256=5jbYbAn75sGv-gBwOPDySE0kz96F6dTYLeMrGqNi4lM,735
|
|
282
|
-
flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=
|
|
283
|
+
flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=WX-CiZVa4ntzMlZfBzKJtOsliP1Sm7GyHhPMqVXaehg,6605
|
|
283
284
|
flwr/server/superlink/fleet/vce/__init__.py,sha256=36MHKiefnJeyjwMQzVUK4m06Ojon3WDcwZGQsAcyVhQ,783
|
|
284
285
|
flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=Onq16E2M2Wha2K1zvhcquT1jOveQL2cgIrgqWvAPH9Y,1436
|
|
285
286
|
flwr/server/superlink/fleet/vce/backend/backend.py,sha256=LBAQxnbfPAphVOVIvYMj0QIvVP5O-RQxKQlUGNUj974,2194
|
|
286
287
|
flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=7kB3re3mR53b7E6L6DPSioTSKD3YGtS3uJsPD7Hn2Fw,7155
|
|
287
288
|
flwr/server/superlink/fleet/vce/vce_api.py,sha256=VL6e_Jwf4uxA-X1EelxJZMv6Eji-_p2J9D0MdHG10a4,13029
|
|
288
289
|
flwr/server/superlink/linkstate/__init__.py,sha256=v-2JyJlCB3qyhMNwMjmcNVOq4rkooqFU0LHH8Zo1jls,1064
|
|
289
|
-
flwr/server/superlink/linkstate/in_memory_linkstate.py,sha256=
|
|
290
|
-
flwr/server/superlink/linkstate/linkstate.py,sha256=
|
|
290
|
+
flwr/server/superlink/linkstate/in_memory_linkstate.py,sha256=TRayqT_pKB0JfdsAYXwtuXyG4d3vYD_vhvYixhTlAec,22327
|
|
291
|
+
flwr/server/superlink/linkstate/linkstate.py,sha256=9tb80YM1XhVSuiE32PVqdG7fBulqtSGM3Hv01WaFLcQ,12548
|
|
291
292
|
flwr/server/superlink/linkstate/linkstate_factory.py,sha256=ISSMjDlwuN7swxjOeYlTNpI_kuZ8PGkMcJnf1dbhUSE,2069
|
|
292
|
-
flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=
|
|
293
|
-
flwr/server/superlink/linkstate/utils.py,sha256=
|
|
293
|
+
flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=iha2p7hxGRvyl1Fc9fMjfW_nvbibstTDuHgMREsY8HA,43445
|
|
294
|
+
flwr/server/superlink/linkstate/utils.py,sha256=d5uqqIOCKfd54X8CFNfUr3AWqPLpgmzsC_RagRwFugM,13321
|
|
294
295
|
flwr/server/superlink/simulation/__init__.py,sha256=mg-oapC9dkzEfjXPQFior5lpWj4g9kwbLovptyYM_g0,718
|
|
295
296
|
flwr/server/superlink/simulation/simulationio_grpc.py,sha256=5wflYW_TS0mjmPG6OYuHMJwXD2_cYmUNhFkdOU0jMWQ,2237
|
|
296
297
|
flwr/server/superlink/simulation/simulationio_servicer.py,sha256=LsW6Cl8qH_vq04F6CeOp3vBtjTGQn4tATKHfirDmJZQ,5942
|
|
@@ -305,23 +306,23 @@ flwr/server/workflow/secure_aggregation/__init__.py,sha256=3XlgDOjD_hcukTGl6Bc1B
|
|
|
305
306
|
flwr/server/workflow/secure_aggregation/secagg_workflow.py,sha256=l2IdMdJjs1bgHs5vQgLSOVzar7v2oxUn46oCrnVE1rM,5839
|
|
306
307
|
flwr/server/workflow/secure_aggregation/secaggplus_workflow.py,sha256=rfn2etO1nb7u-1oRl-H9q3enJZz3shMINZaBB7rPsC4,29671
|
|
307
308
|
flwr/simulation/__init__.py,sha256=5UcDVJNjFoSwWqHbGM1hKfTTUUNdwAtuoNvNrfvdkUY,1556
|
|
308
|
-
flwr/simulation/app.py,sha256=
|
|
309
|
-
flwr/simulation/legacy_app.py,sha256=
|
|
309
|
+
flwr/simulation/app.py,sha256=IKUVaO3hQf6KOfvxCXKRNYJIF_Pwz2YPF2jzyMS_zcU,9379
|
|
310
|
+
flwr/simulation/legacy_app.py,sha256=ySggtKEtXe8L77n8qyGXDA7UPv840MXh-QoalzoGiLU,15780
|
|
310
311
|
flwr/simulation/ray_transport/__init__.py,sha256=wzcEEwUUlulnXsg6raCA1nGpP3LlAQDtJ8zNkCXcVbA,734
|
|
311
312
|
flwr/simulation/ray_transport/ray_actor.py,sha256=9-XBguAm5IFqm2ddPFsQtnuuFN6lzqdb00SnCxGUGBo,18996
|
|
312
313
|
flwr/simulation/ray_transport/ray_client_proxy.py,sha256=2vjOKoom3B74C6XU-jC3N6DwYmsLdB-lmkHZ_Xrv96o,7367
|
|
313
314
|
flwr/simulation/ray_transport/utils.py,sha256=TYdtfg1P9VfTdLMOJlifInGpxWHYs9UfUqIv2wfkRLA,2392
|
|
314
|
-
flwr/simulation/run_simulation.py,sha256=
|
|
315
|
-
flwr/simulation/simulationio_connection.py,sha256=
|
|
315
|
+
flwr/simulation/run_simulation.py,sha256=2EWlyoswFUpa-IV_vPu4FFfDbUZS4ADR77M3bXV91xM,20022
|
|
316
|
+
flwr/simulation/simulationio_connection.py,sha256=m31L9Iej-61va48E5x-wJypA6p5s82WM4PKIAmKizQA,3209
|
|
316
317
|
flwr/superexec/__init__.py,sha256=fcj366jh4RFby_vDwLroU4kepzqbnJgseZD_jUr_Mko,715
|
|
317
318
|
flwr/superexec/app.py,sha256=Tt3GonnTwHrMmicwx9XaP-crP78-bf4DUWl-N5cG6zY,1841
|
|
318
|
-
flwr/superexec/deployment.py,sha256=
|
|
319
|
+
flwr/superexec/deployment.py,sha256=7VYmmI12zEaTHp_cQtU1GLikmqhctUHhEdshBPRFHMs,6734
|
|
319
320
|
flwr/superexec/exec_grpc.py,sha256=OuhBAk7hiky9rjGceinLGIXqchtzGPQThZnwyYv6Ei0,2241
|
|
320
|
-
flwr/superexec/exec_servicer.py,sha256=
|
|
321
|
+
flwr/superexec/exec_servicer.py,sha256=M3R3q5rg2kYz-gFN-nmiXkvjels4QbieEA0K5wks0kQ,4972
|
|
321
322
|
flwr/superexec/executor.py,sha256=zH3_53il6Jh0ZscIVEB9f4GNnXMeBbCGyCoBCxLgiG0,3114
|
|
322
|
-
flwr/superexec/simulation.py,sha256=
|
|
323
|
-
flwr_nightly-1.
|
|
324
|
-
flwr_nightly-1.
|
|
325
|
-
flwr_nightly-1.
|
|
326
|
-
flwr_nightly-1.
|
|
327
|
-
flwr_nightly-1.
|
|
323
|
+
flwr/superexec/simulation.py,sha256=WQDon15oqpMopAZnwRZoTICYCfHqtkvFSqiTQ2hLD_g,4088
|
|
324
|
+
flwr_nightly-1.14.0.dev20241126.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
325
|
+
flwr_nightly-1.14.0.dev20241126.dist-info/METADATA,sha256=W12Hf5W8vZkLN1Ss9yckjRrIDXRTfxaBlUxaR_0O8_s,15679
|
|
326
|
+
flwr_nightly-1.14.0.dev20241126.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
327
|
+
flwr_nightly-1.14.0.dev20241126.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
|
|
328
|
+
flwr_nightly-1.14.0.dev20241126.dist-info/RECORD,,
|
{flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/LICENSE
RENAMED
|
File without changes
|
{flwr_nightly-1.13.0.dev20241111.dist-info → flwr_nightly-1.14.0.dev20241126.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|