flwr 1.22.0__py3-none-any.whl → 1.24.0__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/__init__.py +16 -5
- flwr/app/error.py +2 -2
- flwr/app/exception.py +3 -3
- flwr/cli/app.py +34 -1
- flwr/cli/app_cmd/__init__.py +23 -0
- flwr/cli/app_cmd/publish.py +285 -0
- flwr/cli/app_cmd/review.py +252 -0
- flwr/cli/auth_plugin/__init__.py +15 -6
- flwr/cli/auth_plugin/auth_plugin.py +94 -0
- flwr/cli/auth_plugin/noop_auth_plugin.py +101 -0
- flwr/cli/auth_plugin/oidc_cli_plugin.py +46 -32
- flwr/cli/build.py +166 -53
- flwr/cli/{cli_user_auth_interceptor.py → cli_account_auth_interceptor.py} +29 -11
- flwr/cli/config_utils.py +101 -13
- flwr/cli/federation/__init__.py +24 -0
- flwr/cli/federation/ls.py +140 -0
- flwr/cli/federation/show.py +317 -0
- flwr/cli/install.py +91 -13
- flwr/cli/log.py +54 -11
- flwr/cli/login/login.py +41 -27
- flwr/cli/ls.py +177 -133
- flwr/cli/new/new.py +175 -40
- flwr/cli/new/templates/app/code/task.pytorch.py.tpl +1 -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 +3 -3
- flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +1 -1
- flwr/cli/pull.py +12 -7
- flwr/cli/run/run.py +82 -31
- flwr/cli/run_utils.py +130 -0
- flwr/cli/stop.py +27 -9
- flwr/cli/supernode/__init__.py +25 -0
- flwr/cli/supernode/ls.py +268 -0
- flwr/cli/supernode/register.py +190 -0
- flwr/cli/supernode/unregister.py +140 -0
- flwr/cli/utils.py +464 -81
- flwr/client/__init__.py +2 -1
- flwr/client/dpfedavg_numpy_client.py +4 -1
- flwr/client/grpc_adapter_client/connection.py +12 -15
- flwr/client/grpc_rere_client/connection.py +68 -41
- flwr/client/grpc_rere_client/grpc_adapter.py +34 -14
- flwr/client/grpc_rere_client/{client_interceptor.py → node_auth_client_interceptor.py} +5 -7
- flwr/client/message_handler/message_handler.py +2 -2
- flwr/client/mod/secure_aggregation/secaggplus_mod.py +10 -8
- flwr/client/numpy_client.py +1 -1
- flwr/client/rest_client/connection.py +94 -51
- flwr/client/run_info_store.py +4 -5
- flwr/client/typing.py +1 -1
- flwr/clientapp/__init__.py +1 -2
- flwr/{client → clientapp}/client_app.py +9 -10
- flwr/clientapp/mod/centraldp_mods.py +16 -17
- flwr/clientapp/mod/localdp_mod.py +8 -9
- flwr/clientapp/typing.py +1 -1
- flwr/{client/clientapp → clientapp}/utils.py +4 -4
- flwr/common/address.py +1 -2
- flwr/common/args.py +3 -4
- flwr/common/config.py +13 -16
- flwr/common/constant.py +56 -13
- flwr/common/differential_privacy.py +3 -4
- flwr/common/event_log_plugin/event_log_plugin.py +3 -4
- flwr/common/exit/exit.py +15 -2
- flwr/common/exit/exit_code.py +39 -10
- flwr/common/exit/exit_handler.py +6 -2
- flwr/common/exit/signal_handler.py +5 -5
- flwr/common/grpc.py +6 -6
- flwr/common/inflatable_protobuf_utils.py +1 -1
- flwr/common/inflatable_utils.py +48 -31
- flwr/common/logger.py +19 -19
- flwr/common/message.py +4 -4
- flwr/common/object_ref.py +7 -7
- flwr/common/record/array.py +6 -6
- flwr/common/record/arrayrecord.py +18 -21
- flwr/common/record/configrecord.py +3 -3
- flwr/common/record/recorddict.py +5 -5
- flwr/common/record/typeddict.py +9 -2
- flwr/common/recorddict_compat.py +7 -10
- flwr/common/retry_invoker.py +20 -20
- flwr/common/secure_aggregation/crypto/symmetric_encryption.py +1 -89
- flwr/common/secure_aggregation/ndarrays_arithmetic.py +3 -3
- flwr/common/serde.py +9 -6
- flwr/common/serde_utils.py +2 -2
- flwr/common/telemetry.py +9 -5
- flwr/common/typing.py +59 -43
- flwr/compat/client/app.py +39 -38
- flwr/compat/client/grpc_client/connection.py +13 -13
- flwr/compat/server/app.py +5 -6
- flwr/proto/appio_pb2.py +13 -3
- flwr/proto/appio_pb2.pyi +134 -65
- flwr/proto/appio_pb2_grpc.py +20 -0
- flwr/proto/appio_pb2_grpc.pyi +27 -0
- flwr/proto/clientappio_pb2.py +17 -7
- flwr/proto/clientappio_pb2.pyi +15 -0
- flwr/proto/clientappio_pb2_grpc.py +206 -40
- flwr/proto/clientappio_pb2_grpc.pyi +168 -53
- flwr/proto/control_pb2.py +72 -40
- flwr/proto/control_pb2.pyi +319 -87
- flwr/proto/control_pb2_grpc.py +339 -28
- flwr/proto/control_pb2_grpc.pyi +209 -37
- flwr/proto/error_pb2.py +13 -3
- flwr/proto/error_pb2.pyi +24 -6
- flwr/proto/error_pb2_grpc.py +20 -0
- flwr/proto/error_pb2_grpc.pyi +27 -0
- flwr/proto/fab_pb2.py +24 -10
- flwr/proto/fab_pb2.pyi +68 -20
- flwr/proto/fab_pb2_grpc.py +20 -0
- flwr/proto/fab_pb2_grpc.pyi +27 -0
- flwr/proto/federation_pb2.py +38 -0
- flwr/proto/federation_pb2.pyi +56 -0
- flwr/proto/federation_pb2_grpc.py +24 -0
- flwr/proto/federation_pb2_grpc.pyi +31 -0
- flwr/proto/fleet_pb2.py +45 -27
- flwr/proto/fleet_pb2.pyi +186 -70
- flwr/proto/fleet_pb2_grpc.py +277 -66
- flwr/proto/fleet_pb2_grpc.pyi +201 -55
- flwr/proto/grpcadapter_pb2.py +14 -4
- flwr/proto/grpcadapter_pb2.pyi +38 -16
- flwr/proto/grpcadapter_pb2_grpc.py +35 -4
- flwr/proto/grpcadapter_pb2_grpc.pyi +38 -7
- flwr/proto/heartbeat_pb2.py +17 -7
- flwr/proto/heartbeat_pb2.pyi +51 -22
- flwr/proto/heartbeat_pb2_grpc.py +20 -0
- flwr/proto/heartbeat_pb2_grpc.pyi +27 -0
- flwr/proto/log_pb2.py +13 -3
- flwr/proto/log_pb2.pyi +34 -11
- flwr/proto/log_pb2_grpc.py +20 -0
- flwr/proto/log_pb2_grpc.pyi +27 -0
- flwr/proto/message_pb2.py +15 -5
- flwr/proto/message_pb2.pyi +154 -86
- flwr/proto/message_pb2_grpc.py +20 -0
- flwr/proto/message_pb2_grpc.pyi +27 -0
- flwr/proto/node_pb2.py +16 -4
- flwr/proto/node_pb2.pyi +77 -4
- flwr/proto/node_pb2_grpc.py +20 -0
- flwr/proto/node_pb2_grpc.pyi +27 -0
- flwr/proto/recorddict_pb2.py +13 -3
- flwr/proto/recorddict_pb2.pyi +184 -107
- flwr/proto/recorddict_pb2_grpc.py +20 -0
- flwr/proto/recorddict_pb2_grpc.pyi +27 -0
- flwr/proto/run_pb2.py +40 -31
- flwr/proto/run_pb2.pyi +149 -84
- flwr/proto/run_pb2_grpc.py +20 -0
- flwr/proto/run_pb2_grpc.pyi +27 -0
- flwr/proto/serverappio_pb2.py +13 -3
- flwr/proto/serverappio_pb2.pyi +32 -8
- flwr/proto/serverappio_pb2_grpc.py +246 -65
- flwr/proto/serverappio_pb2_grpc.pyi +221 -85
- flwr/proto/simulationio_pb2.py +16 -8
- flwr/proto/simulationio_pb2.pyi +15 -0
- flwr/proto/simulationio_pb2_grpc.py +162 -41
- flwr/proto/simulationio_pb2_grpc.pyi +149 -55
- flwr/proto/transport_pb2.py +20 -10
- flwr/proto/transport_pb2.pyi +249 -160
- flwr/proto/transport_pb2_grpc.py +35 -4
- flwr/proto/transport_pb2_grpc.pyi +38 -8
- flwr/server/app.py +173 -127
- flwr/server/client_manager.py +4 -5
- flwr/server/client_proxy.py +10 -11
- flwr/server/compat/app.py +4 -5
- flwr/server/compat/app_utils.py +2 -1
- flwr/server/compat/grid_client_proxy.py +10 -12
- flwr/server/compat/legacy_context.py +3 -4
- flwr/server/fleet_event_log_interceptor.py +2 -1
- flwr/server/grid/grid.py +2 -3
- flwr/server/grid/grpc_grid.py +10 -8
- flwr/server/grid/inmemory_grid.py +4 -4
- flwr/server/run_serverapp.py +2 -3
- flwr/server/server.py +34 -39
- flwr/server/server_app.py +7 -8
- flwr/server/server_config.py +1 -2
- flwr/server/serverapp/app.py +34 -28
- flwr/server/serverapp_components.py +4 -5
- flwr/server/strategy/aggregate.py +9 -8
- flwr/server/strategy/bulyan.py +13 -11
- flwr/server/strategy/dp_adaptive_clipping.py +16 -20
- flwr/server/strategy/dp_fixed_clipping.py +12 -17
- flwr/server/strategy/dpfedavg_adaptive.py +3 -4
- flwr/server/strategy/dpfedavg_fixed.py +6 -10
- flwr/server/strategy/fault_tolerant_fedavg.py +14 -13
- flwr/server/strategy/fedadagrad.py +18 -14
- flwr/server/strategy/fedadam.py +16 -14
- flwr/server/strategy/fedavg.py +16 -17
- flwr/server/strategy/fedavg_android.py +15 -15
- flwr/server/strategy/fedavgm.py +21 -18
- flwr/server/strategy/fedmedian.py +2 -3
- flwr/server/strategy/fedopt.py +11 -10
- flwr/server/strategy/fedprox.py +10 -9
- flwr/server/strategy/fedtrimmedavg.py +12 -11
- flwr/server/strategy/fedxgb_bagging.py +13 -11
- flwr/server/strategy/fedxgb_cyclic.py +6 -6
- flwr/server/strategy/fedxgb_nn_avg.py +4 -4
- flwr/server/strategy/fedyogi.py +16 -14
- flwr/server/strategy/krum.py +12 -11
- flwr/server/strategy/qfedavg.py +16 -15
- flwr/server/strategy/strategy.py +6 -9
- flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +19 -8
- flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -2
- flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +3 -4
- flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +10 -12
- flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +1 -3
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +136 -42
- flwr/server/superlink/fleet/grpc_rere/{server_interceptor.py → node_auth_server_interceptor.py} +28 -51
- flwr/server/superlink/fleet/message_handler/message_handler.py +100 -49
- flwr/server/superlink/fleet/rest_rere/rest_api.py +54 -33
- flwr/server/superlink/fleet/vce/backend/backend.py +2 -2
- flwr/server/superlink/fleet/vce/backend/raybackend.py +6 -6
- flwr/server/superlink/fleet/vce/vce_api.py +32 -13
- flwr/server/superlink/linkstate/in_memory_linkstate.py +266 -207
- flwr/server/superlink/linkstate/linkstate.py +161 -62
- flwr/server/superlink/linkstate/linkstate_factory.py +24 -6
- flwr/server/superlink/linkstate/sqlite_linkstate.py +698 -638
- flwr/server/superlink/linkstate/utils.py +9 -60
- flwr/server/superlink/serverappio/serverappio_grpc.py +1 -2
- flwr/server/superlink/serverappio/serverappio_servicer.py +28 -23
- flwr/server/superlink/simulation/simulationio_grpc.py +1 -2
- flwr/server/superlink/simulation/simulationio_servicer.py +19 -14
- flwr/server/superlink/utils.py +4 -6
- flwr/server/typing.py +1 -1
- flwr/server/utils/tensorboard.py +15 -8
- flwr/server/utils/validator.py +2 -3
- flwr/server/workflow/default_workflows.py +5 -5
- flwr/server/workflow/secure_aggregation/secagg_workflow.py +2 -4
- flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +12 -10
- flwr/serverapp/strategy/bulyan.py +16 -15
- flwr/serverapp/strategy/dp_adaptive_clipping.py +12 -11
- flwr/serverapp/strategy/dp_fixed_clipping.py +11 -14
- flwr/serverapp/strategy/fedadagrad.py +10 -11
- flwr/serverapp/strategy/fedadam.py +10 -11
- flwr/serverapp/strategy/fedavg.py +9 -10
- flwr/serverapp/strategy/fedavgm.py +17 -16
- flwr/serverapp/strategy/fedmedian.py +2 -2
- flwr/serverapp/strategy/fedopt.py +10 -11
- flwr/serverapp/strategy/fedprox.py +7 -8
- flwr/serverapp/strategy/fedtrimmedavg.py +9 -9
- flwr/serverapp/strategy/fedxgb_bagging.py +3 -3
- flwr/serverapp/strategy/fedxgb_cyclic.py +9 -9
- flwr/serverapp/strategy/fedyogi.py +9 -11
- flwr/serverapp/strategy/krum.py +7 -7
- flwr/serverapp/strategy/multikrum.py +9 -9
- flwr/serverapp/strategy/qfedavg.py +17 -16
- flwr/serverapp/strategy/strategy.py +6 -9
- flwr/serverapp/strategy/strategy_utils.py +7 -8
- flwr/simulation/app.py +46 -42
- flwr/simulation/legacy_app.py +12 -12
- flwr/simulation/ray_transport/ray_actor.py +11 -12
- flwr/simulation/ray_transport/ray_client_proxy.py +12 -13
- flwr/simulation/run_simulation.py +44 -43
- flwr/simulation/simulationio_connection.py +4 -4
- flwr/supercore/cli/flower_superexec.py +3 -4
- flwr/supercore/constant.py +52 -0
- flwr/supercore/corestate/corestate.py +24 -3
- flwr/supercore/corestate/in_memory_corestate.py +138 -0
- flwr/supercore/corestate/sqlite_corestate.py +157 -0
- flwr/supercore/ffs/disk_ffs.py +1 -2
- flwr/supercore/ffs/ffs.py +1 -2
- flwr/supercore/ffs/ffs_factory.py +1 -2
- flwr/{common → supercore}/heartbeat.py +20 -25
- flwr/supercore/object_store/in_memory_object_store.py +1 -6
- flwr/supercore/object_store/object_store.py +1 -2
- flwr/supercore/object_store/object_store_factory.py +27 -8
- flwr/supercore/object_store/sqlite_object_store.py +253 -0
- flwr/{client/clientapp → supercore/primitives}/__init__.py +1 -1
- flwr/supercore/primitives/asymmetric.py +117 -0
- flwr/supercore/primitives/asymmetric_ed25519.py +175 -0
- flwr/supercore/sqlite_mixin.py +159 -0
- flwr/supercore/superexec/plugin/base_exec_plugin.py +1 -2
- flwr/supercore/superexec/plugin/exec_plugin.py +3 -3
- flwr/supercore/superexec/run_superexec.py +9 -13
- flwr/supercore/utils.py +20 -0
- flwr/superlink/artifact_provider/artifact_provider.py +1 -2
- flwr/{common → superlink}/auth_plugin/__init__.py +6 -6
- flwr/superlink/auth_plugin/auth_plugin.py +88 -0
- flwr/superlink/auth_plugin/noop_auth_plugin.py +84 -0
- flwr/superlink/federation/__init__.py +24 -0
- flwr/superlink/federation/federation_manager.py +64 -0
- flwr/superlink/federation/noop_federation_manager.py +71 -0
- flwr/superlink/servicer/control/{control_user_auth_interceptor.py → control_account_auth_interceptor.py} +41 -32
- flwr/superlink/servicer/control/control_event_log_interceptor.py +7 -7
- flwr/superlink/servicer/control/control_grpc.py +18 -17
- flwr/superlink/servicer/control/control_license_interceptor.py +3 -3
- flwr/superlink/servicer/control/control_servicer.py +239 -63
- flwr/supernode/cli/flower_supernode.py +74 -26
- flwr/supernode/nodestate/in_memory_nodestate.py +60 -49
- flwr/supernode/nodestate/nodestate.py +7 -8
- flwr/supernode/nodestate/nodestate_factory.py +7 -4
- flwr/supernode/runtime/run_clientapp.py +43 -24
- flwr/supernode/servicer/clientappio/clientappio_servicer.py +40 -10
- flwr/supernode/start_client_internal.py +175 -51
- {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/METADATA +8 -8
- flwr-1.24.0.dist-info/RECORD +454 -0
- flwr/common/auth_plugin/auth_plugin.py +0 -149
- flwr/supercore/object_store/utils.py +0 -43
- flwr-1.22.0.dist-info/RECORD +0 -428
- {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/WHEEL +0 -0
- {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
flwr/__init__.py,sha256=qWcOJi_qjNUCo-63r8MwgeZmHt_LhbXWgGyXIcIqGw4,1333
|
|
2
|
+
flwr/app/__init__.py,sha256=Pqg1iWx_TiBuGYeGJnS1QgYYWcAnPnZ2h4Y5iacNSls,1195
|
|
3
|
+
flwr/app/error.py,sha256=Kpn6-JZCq8V3Ff-tNaJ4mnv30KEgqGTqrosfX9dLOak,2329
|
|
4
|
+
flwr/app/exception.py,sha256=k-OOZDZihv20mcZleY0CA4pBGJryTWZlrTgnweZVE3A,1267
|
|
5
|
+
flwr/app/metadata.py,sha256=rdMBn0zhIOYmCvmGENQWSQqDwcxwsMJzCle4PQdlc_Y,7331
|
|
6
|
+
flwr/cli/__init__.py,sha256=EfMGmHoobET6P2blBt_eOByXL8299MgFfB7XNdaPQ6I,720
|
|
7
|
+
flwr/cli/app.py,sha256=4qmEhpM5tuc77CNkE7CUPXr8d13S_A6Vau91GUTelGw,3167
|
|
8
|
+
flwr/cli/app_cmd/__init__.py,sha256=O_vTzS2u-n27fBYnDbjTMMKQQ2Bz80Y4JqGBHSAnK40,856
|
|
9
|
+
flwr/cli/app_cmd/publish.py,sha256=nnXU3rlh15dZ1Vn0LKZsOZcMvQ6ESN1GGWw9bqRhjBA,9688
|
|
10
|
+
flwr/cli/app_cmd/review.py,sha256=eiyKtAkydbs75Puxm0hVBvecV30hNt1toauZSOP_KI0,8504
|
|
11
|
+
flwr/cli/auth_plugin/__init__.py,sha256=qpebWV9uLpx72_J8yTVgT1DlH2Y9MK_RraDoTYEqv-w,1359
|
|
12
|
+
flwr/cli/auth_plugin/auth_plugin.py,sha256=H3y8oErskZxp5WdDCkFuj4B7C2ql6NLCqXns7T1YDtw,2994
|
|
13
|
+
flwr/cli/auth_plugin/noop_auth_plugin.py,sha256=jxCKUKs5yFb3W2p2ZUN9b7k9otVDk56Uzohr3n9Jwek,3242
|
|
14
|
+
flwr/cli/auth_plugin/oidc_cli_plugin.py,sha256=vEBe_a1KWdV0USAurw-LjAwVzB_TuN3lsMTA4lKN6ok,5722
|
|
15
|
+
flwr/cli/build.py,sha256=A9lzUNuGqLNId6PQppSWSlbMACl_LeW5Ispp9DuuX6k,10383
|
|
16
|
+
flwr/cli/cli_account_auth_interceptor.py,sha256=mXgxThpZjU_2Xlae9xT8ewOw60GeE64comDd57asLIY,3680
|
|
17
|
+
flwr/cli/config_utils.py,sha256=Yt7Y9dHSNULrRjrmNgUFuzx9ehdPj7wVokj3QcjzxFI,11155
|
|
18
|
+
flwr/cli/constant.py,sha256=LtxufmhkEqNWQ9doWbbbkUKa12vN_RK_Of5u0So-GHA,1729
|
|
19
|
+
flwr/cli/example.py,sha256=SNTorkKPrx1rOryGREUyZu8TcOc1-vFv1zEddaysdY0,2216
|
|
20
|
+
flwr/cli/federation/__init__.py,sha256=Nx1muSlCUZkUCBLFH-nkdx1ku-LtnKsEJ2PmnMwpGn4,836
|
|
21
|
+
flwr/cli/federation/ls.py,sha256=56Rk81YDfeeAdeca3o5cUmp0a6ntkLNK9f_CRD-4ZtU,4939
|
|
22
|
+
flwr/cli/federation/show.py,sha256=qwcubck0YcUpxuTRyAJF2YPVSlMiMJN500Wf3DB-MAk,10002
|
|
23
|
+
flwr/cli/install.py,sha256=yhgUWd_Psyc18DaoQHEQ5Ji45ZQ-3LclueM9uRxUEPw,10063
|
|
24
|
+
flwr/cli/log.py,sha256=ZWveENLdDC0Dm10YIMcc3qdGV1aO-2YZXyHBhnB6ofI,7848
|
|
25
|
+
flwr/cli/login/__init__.py,sha256=B1SXKU3HCQhWfFDMJhlC7FOl8UsvH4mxysxeBnrfyUE,800
|
|
26
|
+
flwr/cli/login/login.py,sha256=_nJKmDNVUkWRW6GnzTTNm3BmwCVjSxswtngHQfcDmZ4,4623
|
|
27
|
+
flwr/cli/ls.py,sha256=IReCUJLBofsroCSq2kJo2EOkipiOgz81lo1-HlYPjL4,11889
|
|
28
|
+
flwr/cli/new/__init__.py,sha256=QA1E2QtzPvFCjLTUHnFnJbufuFiGyT_0Y53Wpbvg1F0,790
|
|
29
|
+
flwr/cli/new/new.py,sha256=Q2fv9aspTeGDKHZt3EwZK7eFqyjBvUNxX-CMRUpwcDU,14619
|
|
30
|
+
flwr/cli/new/templates/__init__.py,sha256=FpjWCfIySU2DB4kh0HOXLAjlZNNFDTVU4w3HoE2TzcI,725
|
|
31
|
+
flwr/cli/new/templates/app/.gitignore.tpl,sha256=HZJcGQoxp7aUzaPg8Uqch3kNrIESwr9yjimDxJYgXVY,3104
|
|
32
|
+
flwr/cli/new/templates/app/LICENSE.tpl,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
33
|
+
flwr/cli/new/templates/app/README.baseline.md.tpl,sha256=oClo5eR0iLuPzBT7uS3ikhNRAnySz_lhkHFElixKyJM,9640
|
|
34
|
+
flwr/cli/new/templates/app/README.flowertune.md.tpl,sha256=2-W0HAseLWOe1JJU0TsNocp63D14N7jLwWhtYjxlfxs,3494
|
|
35
|
+
flwr/cli/new/templates/app/README.md.tpl,sha256=uI8vUMCEGA1-WJ8-9EUFCnNtofWFkJNOxaR1V6r_Su4,1908
|
|
36
|
+
flwr/cli/new/templates/app/__init__.py,sha256=LbR0ksGiF566JcHM_H5m1Tc4-oYUEilWFlcXR-Oe6bI,729
|
|
37
|
+
flwr/cli/new/templates/app/code/__init__.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
|
|
38
|
+
flwr/cli/new/templates/app/code/__init__.py,sha256=zXa2YU1swzHxOKDQbwlDMEwVPOUswVeosjkiXNMTgFo,736
|
|
39
|
+
flwr/cli/new/templates/app/code/__init__.py.tpl,sha256=J0Gn74E7khpLyKJVNqOPu7ev93vkcu1PZugsbxtABMw,52
|
|
40
|
+
flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl,sha256=mKIS8MK_X8T9NlmcX1-_c9Bbexc-ueqDIBI7uN6c4dE,45
|
|
41
|
+
flwr/cli/new/templates/app/code/client.baseline.py.tpl,sha256=w8xYWhVAb5AFDLj206Nxz5U-xbzDBv0px2FFvE5wRTM,2438
|
|
42
|
+
flwr/cli/new/templates/app/code/client.huggingface.py.tpl,sha256=SIZZ3s-6u8IU8cFfsqu6ZU8zjhfI1m1SWauOSUcW8TA,3015
|
|
43
|
+
flwr/cli/new/templates/app/code/client.jax.py.tpl,sha256=uFCIPwAHYiRAgh2W3nRni_Oig02ZzRF-ofUG5O19zcE,2125
|
|
44
|
+
flwr/cli/new/templates/app/code/client.mlx.py.tpl,sha256=CHU2IBIzI2YENZZuvTsAlSdL94DK19wMYMIhr-JgwZ8,3422
|
|
45
|
+
flwr/cli/new/templates/app/code/client.numpy.py.tpl,sha256=1_WEoOPe9jJeK-7FZgYuDUqY8mC0vxgqA83d-h201Gk,1381
|
|
46
|
+
flwr/cli/new/templates/app/code/client.pytorch.py.tpl,sha256=fYoh-dTu07LkqNYvwcxQnbgVvH4Yo4eiGEcyHECbsnU,2473
|
|
47
|
+
flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl,sha256=fuxVmZpjHIueNy_aHWF81531vmi8DGu4CYjYDqmUwWo,1705
|
|
48
|
+
flwr/cli/new/templates/app/code/client.sklearn.py.tpl,sha256=0qqEe-RRjkHGOH8gsD9e83ae-kyyYixhyBgzVHjYpzk,3500
|
|
49
|
+
flwr/cli/new/templates/app/code/client.tensorflow.py.tpl,sha256=8o55KXpsbF_rv6o98ZNYJDCazjwMp_RPTaSzDfT7Qlw,2682
|
|
50
|
+
flwr/cli/new/templates/app/code/client.xgboost.py.tpl,sha256=-ipRV8gqpbEg7Mht77Yyqs1viL-3JYSVZR47I7xeG4c,3493
|
|
51
|
+
flwr/cli/new/templates/app/code/dataset.baseline.py.tpl,sha256=jbd_exHAk2-Blu_kVutjPO6a_dkJQWb232zxSeXIZ1k,1453
|
|
52
|
+
flwr/cli/new/templates/app/code/flwr_tune/__init__.py,sha256=Xq5fEn5yZkw6HAJi10T_3HRBoqN5_5pNqJHY4wXvD5k,748
|
|
53
|
+
flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl,sha256=p6BzTbP-mXkFANiVC7iz3YlskOidWaLC341IJyrUotQ,2951
|
|
54
|
+
flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl,sha256=1NA2Sf-EviNtOaYN4dnFk6v2tcZVsY3-eXY84wOXVng,3059
|
|
55
|
+
flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl,sha256=UCLEKUpXarkz9tMFtDrxmLv6QuKe5zCimTuoopQedUM,1717
|
|
56
|
+
flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl,sha256=qe9Om3P2ERvvSj2NN5RSEKgNgztWatCpWtC8SkS_T_M,2420
|
|
57
|
+
flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl,sha256=M6CzBY-gtIqLOu2xTtABXOVgBnqKOu7d6Vn2sazmYuI,2444
|
|
58
|
+
flwr/cli/new/templates/app/code/model.baseline.py.tpl,sha256=P6jTuN9reJfdthiN3mOUHiA4xrtDh5TTUcAV6210-hU,2104
|
|
59
|
+
flwr/cli/new/templates/app/code/server.baseline.py.tpl,sha256=hliBSfHSzg4bi6PxMlj4oGFfvzvi-4DzoaI67VZbJeQ,1111
|
|
60
|
+
flwr/cli/new/templates/app/code/server.huggingface.py.tpl,sha256=_2Mv-SqGSMf7sMdbMEmvROzedvNaVHvhIIO3eYAhVYU,1252
|
|
61
|
+
flwr/cli/new/templates/app/code/server.jax.py.tpl,sha256=RW-rh7ogcJ3_BD66bJxTw-ZoP7c-4SK8hVHc-e0SSVY,1029
|
|
62
|
+
flwr/cli/new/templates/app/code/server.mlx.py.tpl,sha256=J8rIe6RL2ndODVJD79xShRKBH70HljFSCi4s_RJ-xLQ,1200
|
|
63
|
+
flwr/cli/new/templates/app/code/server.numpy.py.tpl,sha256=T3hcKbPw3uL5lXEP-MuVJXIBXjzva5sWJXfpQqarUwA,955
|
|
64
|
+
flwr/cli/new/templates/app/code/server.pytorch.py.tpl,sha256=epARqfcQ-EQsdZwaaaUp5y4OSTBT6CiFGlNRocw-23A,1158
|
|
65
|
+
flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl,sha256=gvBsGA_Jg9kAH8xTxjzTjMcvBtciuccOwQFbO7ey8tU,916
|
|
66
|
+
flwr/cli/new/templates/app/code/server.sklearn.py.tpl,sha256=ehQ5VRgBn92WeFl6kupwJnuxSNkKvE-EvKde6A9mNQo,1377
|
|
67
|
+
flwr/cli/new/templates/app/code/server.tensorflow.py.tpl,sha256=2-WTOPd-ewdLd9QmSlflIH7ix7zxAzPEOZoyiPBOy8c,1010
|
|
68
|
+
flwr/cli/new/templates/app/code/server.xgboost.py.tpl,sha256=fwtCRyCG2hDSH1zVMyZv7zA7wsdKNPfpugDSZjxCs5Q,1746
|
|
69
|
+
flwr/cli/new/templates/app/code/strategy.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
|
|
70
|
+
flwr/cli/new/templates/app/code/task.huggingface.py.tpl,sha256=piBbY3Dg60bQnCg15uzMw0QiL5SDOYX4YhQouy-X2zI,3164
|
|
71
|
+
flwr/cli/new/templates/app/code/task.jax.py.tpl,sha256=Fb0XgdTAQplM-ZCusI081XA9asO3gHptH772S-Xcyy8,1525
|
|
72
|
+
flwr/cli/new/templates/app/code/task.mlx.py.tpl,sha256=YxH5z4s5kOh5_9DIY9pvzqURckLDfgdanTA68_iM_Wo,2946
|
|
73
|
+
flwr/cli/new/templates/app/code/task.numpy.py.tpl,sha256=CwUJPnN3z6GjP8-KVGWzx7RYRJsl0wLFZ72xscvl3RM,126
|
|
74
|
+
flwr/cli/new/templates/app/code/task.pytorch.py.tpl,sha256=Mc-O7kLdBYSz4dLtrJGFh8_Is5agq7hMfHH8G5So9fM,3461
|
|
75
|
+
flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl,sha256=XlJqA4Ix_PloO_zJLhjiN5vDj16w3I4CPVGdmbe8asE,3800
|
|
76
|
+
flwr/cli/new/templates/app/code/task.sklearn.py.tpl,sha256=vHdhtMp0FHxbYafXyhDT9aKmmmA0Jvpx5Oum1Yu9lWY,1850
|
|
77
|
+
flwr/cli/new/templates/app/code/task.tensorflow.py.tpl,sha256=impgWN7MfztmcWF4xh1llcZGsgTvrb1HD5ZE0t-8U08,1731
|
|
78
|
+
flwr/cli/new/templates/app/code/task.xgboost.py.tpl,sha256=0xO8jQvrHuB1llVDopQPOmt5Hn6rBw8umzoNwiZZs-o,2135
|
|
79
|
+
flwr/cli/new/templates/app/code/utils.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
|
|
80
|
+
flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=yj8Hwa6TCk_p4LzGLICfan0kr9XY84GUAYKsnBrp9po,3182
|
|
81
|
+
flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=I1kerPViFarJCJy9bMJ8iUzyjjyN8YuCr4NKIOQOOlU,2501
|
|
82
|
+
flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=sp1cCcsZMyPPfM_2TOCHdnEUSEEVMIyDJIUp3u9Y5HI,2020
|
|
83
|
+
flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=Q96m1Taa1G1yvQAmc0JXqo1zBxK6ZbyTlChxUSjJN_0,1471
|
|
84
|
+
flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=LSO9_NWq-awCnDlRc2p-q82QqJtGUETHDOt_yF7mvSM,1542
|
|
85
|
+
flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=W0S-ICbndTu5WpvuPQPH4ipR4va76Acv9sRz7P460C8,1409
|
|
86
|
+
flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=MsoW2HVqVcdfa7hGahnV87Ee198GsxB48_b6WGXkP4E,1490
|
|
87
|
+
flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl,sha256=WID8ekdB7wlPYryrlcCPM0xw2kzubwqFc6_yiIeoY74,1508
|
|
88
|
+
flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=8yQeX0yvLLpqjm6TOksrL9JmqaZE3WWs7nJrlO7Ssas,1484
|
|
89
|
+
flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=0EOfQ24SXAiWd-z-1r3Ad9vscCrjKfe5-tgev55XURs,1500
|
|
90
|
+
flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl,sha256=YwgeVboJ8Q9xqCoEa-fUa8-rWZltBe0u_KyfEzn8n-c,1661
|
|
91
|
+
flwr/cli/pull.py,sha256=WRQOVxovWNX0kRnjUwCyFwyVmAEQY54EpQKFGEGUVUk,3530
|
|
92
|
+
flwr/cli/run/__init__.py,sha256=RPyB7KbYTFl6YRiilCch6oezxrLQrl1kijV7BMGkLbA,790
|
|
93
|
+
flwr/cli/run/run.py,sha256=mL97D-4EbRlqVdB83oUPYyj_ZSiQuJ1k7zy8jQGLkQA,10018
|
|
94
|
+
flwr/cli/run_utils.py,sha256=m1qgQdUZptL3ejIOHI0RF_-_3PxhiebEQh1DkG60xl4,4164
|
|
95
|
+
flwr/cli/stop.py,sha256=g5Tnkf-Xl0VYafvALtI7Zl4kRSc9Vg4DckaWj4sXsjE,5477
|
|
96
|
+
flwr/cli/supernode/__init__.py,sha256=DBkjoPo2hS2Y-ghJxwLbrAbCQFBgD82_Itl2_892UBo,917
|
|
97
|
+
flwr/cli/supernode/ls.py,sha256=8wxiwizKq_xXsDk2be6zYpeN-Giz6rO02s4l2y41R0k,8834
|
|
98
|
+
flwr/cli/supernode/register.py,sha256=2aQTT2wEp2pxxuIacC6FQkN8q_QKifZhWjD7LNw1R2A,6527
|
|
99
|
+
flwr/cli/supernode/unregister.py,sha256=PXugcJJrM7cP3HbULjgcO22DciDP2uWN7YNgce4hv5E,4632
|
|
100
|
+
flwr/cli/utils.py,sha256=OREEBMdKL2xWolhePtp_z_aQ7n5tHKQH9vr55XLv56E,24527
|
|
101
|
+
flwr/client/__init__.py,sha256=xwkPJfdeWxIIfmiPE5vnmnY_JbTlErP0Qs9eBP6qRFg,1252
|
|
102
|
+
flwr/client/client.py,sha256=3HAchxvknKG9jYbB7swNyDj-e5vUWDuMKoLvbT7jCVM,7895
|
|
103
|
+
flwr/client/dpfedavg_numpy_client.py,sha256=ELDHyEJcTB-FlLhHC-JXy8HuB3ZFHfT0HL3g1VSWY5w,7451
|
|
104
|
+
flwr/client/grpc_adapter_client/__init__.py,sha256=RQWP5mFPROLHKgombiRvPXVWSoVrQ81wvZm0-lOuuBA,742
|
|
105
|
+
flwr/client/grpc_adapter_client/connection.py,sha256=2EqYS2srRVFWRKcLVjM4nnSnEglbXb_SrY8HOrIvhY4,4228
|
|
106
|
+
flwr/client/grpc_rere_client/__init__.py,sha256=i7iS0Lt8B7q0E2L72e4F_YrKm6ClRKnd71PNA6PW2O0,752
|
|
107
|
+
flwr/client/grpc_rere_client/connection.py,sha256=3iaO4ouFt3H-ql2GyqoMqVa-wHMtjejIv6vDoeIYMeo,13711
|
|
108
|
+
flwr/client/grpc_rere_client/grpc_adapter.py,sha256=NlYVdKSyZ2hrKdYgIsz3-kmMaQI3Nj2fe3gXeTMyZjM,7565
|
|
109
|
+
flwr/client/grpc_rere_client/node_auth_client_interceptor.py,sha256=rIUo64KOSYMC-GlfTvIYgeouAX8i6eOd5Rq2Yi9UFMY,2437
|
|
110
|
+
flwr/client/message_handler/__init__.py,sha256=0lyljDVqre3WljiZbPcwCCf8GiIaSVI_yo_ylEyPwSE,719
|
|
111
|
+
flwr/client/message_handler/message_handler.py,sha256=GL-h_kxlh88RlZhnDEiSRH5sifZ42zLCJL9MbcW-YMg,6528
|
|
112
|
+
flwr/client/mod/__init__.py,sha256=AtV4Y5UGuYqJdTg7bJ--KtfOZUYLGDPMy616LvtP5W4,1151
|
|
113
|
+
flwr/client/mod/centraldp_mods.py,sha256=ha5j0vDT7Mi8Ke5iz-hMn3H_H1jnXW10EswoyKYrRag,5422
|
|
114
|
+
flwr/client/mod/comms_mods.py,sha256=ehp0AF-nGXxQOtm4G5Ts_7RTP04x5Y8PmA1Myfrjuro,3479
|
|
115
|
+
flwr/client/mod/localdp_mod.py,sha256=GzVQrydejUfFDgnIIEIwrUU2DgvhN990LUnoydm9Tpo,5008
|
|
116
|
+
flwr/client/mod/secure_aggregation/__init__.py,sha256=k8HYXvqu3pd_V3eZ0_5wwH52o-C6XJCPbT4n4anYyWY,849
|
|
117
|
+
flwr/client/mod/secure_aggregation/secagg_mod.py,sha256=y54DvpM2-DWUiEYqgwZ0DssC1VVRCJEfGgST7O3OcwM,1095
|
|
118
|
+
flwr/client/mod/secure_aggregation/secaggplus_mod.py,sha256=8dK3v58tZztbdxzWW6VCFm06mIJwXVeIqxQmpIT7ZR0,19753
|
|
119
|
+
flwr/client/mod/utils.py,sha256=FUgD2TfcWqSeF6jUKZ4i6Ke56U4Nrv85AeVb93s6R9g,1201
|
|
120
|
+
flwr/client/numpy_client.py,sha256=0RqxyVRAo_6oc8eZqSPC10chJk8hjz-8aUpgxCre950,9590
|
|
121
|
+
flwr/client/rest_client/__init__.py,sha256=MBiuK62hj439m9rtwSwI184Hth6Tt5GbmpNMyl3zkZY,735
|
|
122
|
+
flwr/client/rest_client/connection.py,sha256=BNMS0DU2sl5M1651Nh-re1iiuR4hDvIetd2s-cOyETM,17416
|
|
123
|
+
flwr/client/run_info_store.py,sha256=3lINm9f7f6tgZJ3Dx-e9E9DrVhrrjXNYii0RnBDS79w,4002
|
|
124
|
+
flwr/client/typing.py,sha256=SfM-8BWSQww_PSU-B1ScRDDWCyjgI0QF8WGRpfPBUYs,1057
|
|
125
|
+
flwr/clientapp/__init__.py,sha256=dsXH29kvCk1meJj9UYMCIak8zehuuhVp0uDJ2COU_1c,829
|
|
126
|
+
flwr/clientapp/client_app.py,sha256=0izMnoamP6zVienJixN2qKzwt_WYm9vC22ekzrpYZ6Q,16870
|
|
127
|
+
flwr/clientapp/mod/__init__.py,sha256=w18mDPUmjlm5P_er2GJ7l6Zbh8qyiHfMKoVqXxaTxdE,1024
|
|
128
|
+
flwr/clientapp/mod/centraldp_mods.py,sha256=a40NONArH35n6WXC14eMejEsPzrZICnAF3Ct4bF-C2A,8900
|
|
129
|
+
flwr/clientapp/mod/localdp_mod.py,sha256=CHh0SJOSWSD6In9p9yOFbE7S4eH1m-aQcStT8ZIXeuI,5597
|
|
130
|
+
flwr/clientapp/typing.py,sha256=Ld2rsD40SvIRD1Z_IdAGaYSbRtkgXZ5CPFIkJJ3Ao-A,862
|
|
131
|
+
flwr/clientapp/utils.py,sha256=UEb3DFpAsAaG1ARU34D3L8njn4k1iPg-qpHl_Hyo8zA,4340
|
|
132
|
+
flwr/common/__init__.py,sha256=5GCLVk399Az_rTJHNticRlL0Sl_oPw_j5_LuFKfX7-M,4171
|
|
133
|
+
flwr/common/address.py,sha256=AEy6G8dSADGGRMrLqqC_eAM_3Kwn9DzcStIVU_fHzIg,4085
|
|
134
|
+
flwr/common/args.py,sha256=1ehgieKUQ9AtNcu2S5y501jB_mJ8mPA7GXiS3imGdgM,5799
|
|
135
|
+
flwr/common/config.py,sha256=H0MxI_gpNVhzKvgIZKrYEVevk3NScQgcFSXeTRryBS8,13908
|
|
136
|
+
flwr/common/constant.py,sha256=FXrYiMbQMCO0a-5ek0_tsUBg5KMQXxgavvVzowyN5dQ,10358
|
|
137
|
+
flwr/common/context.py,sha256=Be8obQR_OvEDy1OmshuUKxGRQ7Qx89mf5F4xlhkR10s,2407
|
|
138
|
+
flwr/common/date.py,sha256=1ZT2cRSpC2DJqprOVTLXYCR_O2_OZR0zXO_brJ3LqWc,1554
|
|
139
|
+
flwr/common/differential_privacy.py,sha256=HiW2qQa5mCQfE0oePapFp3q0uZzjoHKthp5UrkRFtY8,6143
|
|
140
|
+
flwr/common/differential_privacy_constants.py,sha256=ruEjH4qF_S2bgxRI6brWCGWQPxFk-P7pviFguy9KvQ0,1074
|
|
141
|
+
flwr/common/dp.py,sha256=ftqWheOICK5N_zPaofnbFb474lMb5w9lclwxf5DKY0w,1978
|
|
142
|
+
flwr/common/event_log_plugin/__init__.py,sha256=ts3VAL3Fk6Grp1EK_1Qg_V-BfOof9F86iBx4rbrEkyo,838
|
|
143
|
+
flwr/common/event_log_plugin/event_log_plugin.py,sha256=uJYR363nVzjfJePay3UHwaifwgBx2rAbKHHAuQC10VU,2014
|
|
144
|
+
flwr/common/exit/__init__.py,sha256=8W7xaO1iw0vacgmQW7FTFbSh7csNv6XfsgIlnIbNF6U,978
|
|
145
|
+
flwr/common/exit/exit.py,sha256=L0_FicBMm5VhLBBV-qZUn8TJy1rXDPSx-6OTuzbP_1Y,4015
|
|
146
|
+
flwr/common/exit/exit_code.py,sha256=1S_LJNdo2lai3tjAYgZgNjN5jcIyU60Y1a-IDfUZVAM,6702
|
|
147
|
+
flwr/common/exit/exit_handler.py,sha256=zUAXHtp4rYK_sbkgsqS5zrVAzJUiSBrB-a4Ay3vSPE8,2302
|
|
148
|
+
flwr/common/exit/signal_handler.py,sha256=o_e33v9kP0jz13q-8BZDrKF7vNCzOApvDPZ3-nTXfIc,3697
|
|
149
|
+
flwr/common/grpc.py,sha256=ZTA3jol8iQTaUXPspJXrdOTkRMc6q2oS-Sa7jcDMCtM,9784
|
|
150
|
+
flwr/common/inflatable.py,sha256=GDL9oBKs16_yyVdlH6kBf493O5xll_h9V7XB5Mpx1Hc,9524
|
|
151
|
+
flwr/common/inflatable_protobuf_utils.py,sha256=GTX9yoEAXhKPwcKc4ltmJHUvARFsC4qvkoNCMHqpVtc,5065
|
|
152
|
+
flwr/common/inflatable_utils.py,sha256=nooSMLLiOcHGqFx9n1Il_dAp76JIKyc36ibnkijwELE,19540
|
|
153
|
+
flwr/common/logger.py,sha256=nAfGWqT6b39tzEPe74L7qCgyPmxeJNYwVvTyHi5Tb-4,12981
|
|
154
|
+
flwr/common/message.py,sha256=TGQE_sDvWQNlRTmBoFPIb6KzKgGq0v0J3aQiGhdsZqA,19912
|
|
155
|
+
flwr/common/object_ref.py,sha256=aw6BLQlZRVqcfuyX2bScc71ZTRZtrBIAHyxYfplTkNE,9081
|
|
156
|
+
flwr/common/parameter.py,sha256=UVw6sOgehEFhFs4uUCMl2kfVq1PD6ncmWgPLMsZPKPE,2095
|
|
157
|
+
flwr/common/pyproject.py,sha256=2SU6yJW7059SbMXgzjOdK1GZRWO6AixDH7BmdxbMvHI,1386
|
|
158
|
+
flwr/common/record/__init__.py,sha256=cNGccdDoxttqgnUgyKRIqLWULjW-NaSmOufVxtXq-sw,1197
|
|
159
|
+
flwr/common/record/array.py,sha256=muWtpy5hj8eqwKVz1rANdPV2gWBjFmkQYyl0XTPfBnc,15035
|
|
160
|
+
flwr/common/record/arraychunk.py,sha256=gU5h6uP7H_06Z14wNixtwH2FvepQkl9FpALXg9qcbhM,1936
|
|
161
|
+
flwr/common/record/arrayrecord.py,sha256=WovAEEX215EOlrbbNZ1aIqvvtsQ3YUet1mKMBrHmyGk,17908
|
|
162
|
+
flwr/common/record/configrecord.py,sha256=cDIM-AnTSo716JLPzYuFEczREtnx2bfF9uSxau4IWwc,9766
|
|
163
|
+
flwr/common/record/conversion_utils.py,sha256=wbNCzy7oAqaA3-arhls_EqRZYXRC4YrWIoE-Gy82fJ0,1191
|
|
164
|
+
flwr/common/record/metricrecord.py,sha256=KOyJjJbvFV6IwBPbgm92FZ_0_hXpMHuwfCi1rh5Zddk,8954
|
|
165
|
+
flwr/common/record/recorddict.py,sha256=OEXv_zzlteeAULR5bE152x2DxRQsbIy8XBHJhlnjYxg,14980
|
|
166
|
+
flwr/common/record/typeddict.py,sha256=fFoVhD_ERqSoHP6iJ7GpLTzbv7QFw_YT3vsm_ZkXwV4,4131
|
|
167
|
+
flwr/common/recorddict_compat.py,sha256=1M7M9tm_wSUyHRxeZVEELp1c9nlWPySc6GQECBFdrpQ,14024
|
|
168
|
+
flwr/common/retry_invoker.py,sha256=VkT91iOhSHu4Ioc2fhxeHP4AhwzIvZYeIsnpqKYGoqw,15217
|
|
169
|
+
flwr/common/secure_aggregation/__init__.py,sha256=MgW6uHGhyFLBAYQqa1Vzs5n2Gc0d4yEw1_NmerFir70,731
|
|
170
|
+
flwr/common/secure_aggregation/crypto/__init__.py,sha256=5E4q4-Fw0CNz4tLah_QHj7m_rDeM4ucHcFlPWB_Na3Q,738
|
|
171
|
+
flwr/common/secure_aggregation/crypto/shamir.py,sha256=N8pPa5cEksowNoAqfFm5SP3IuxuVi9GGMa3JOtPniQY,3954
|
|
172
|
+
flwr/common/secure_aggregation/crypto/symmetric_encryption.py,sha256=fc8h7ST3mSq4d0u89vAdcxSsfspdsmOpQRba0VBn3zg,2718
|
|
173
|
+
flwr/common/secure_aggregation/ndarrays_arithmetic.py,sha256=Of0Y3A_pG5jzO4WUH_87frYT2Wgfj1D2PVzs0XHdwO0,2994
|
|
174
|
+
flwr/common/secure_aggregation/quantization.py,sha256=ssFZpiRyj9ltIh0Ai3vGkDqWFO4SoqgoD1mDU9XqMEM,2400
|
|
175
|
+
flwr/common/secure_aggregation/secaggplus_constants.py,sha256=dGYhWOBMMDJcQH4_tQNC8-Efqm-ecEUNN9ANz59UnCk,2182
|
|
176
|
+
flwr/common/secure_aggregation/secaggplus_utils.py,sha256=E_xU-Zd45daO1em7M6C2wOjFXVtJf-6tl7fp-7xq1wo,3214
|
|
177
|
+
flwr/common/serde.py,sha256=b3myxiIvKtpsuvBYoiNa5ywFFfKgL5ESNVehRiEl_yk,22059
|
|
178
|
+
flwr/common/serde_utils.py,sha256=Vk49PnZWRgo0NrvBhFqH-Li7sMFVVgyrs3Ck7kHB-ZE,5820
|
|
179
|
+
flwr/common/telemetry.py,sha256=H05fpO7nOvvb2FSGOsGIIwMbBaQo59FBgwqk0YafW9M,8921
|
|
180
|
+
flwr/common/typing.py,sha256=MX0vtznZfRRU0FPQQtbS_xkzaUbOhK2kD9pbDMAcNIs,7178
|
|
181
|
+
flwr/common/version.py,sha256=7GAGzPn73Mkh09qhrjbmjZQtcqVhBuzhFBaK4Mk4VRk,1325
|
|
182
|
+
flwr/compat/__init__.py,sha256=gbfDQKKKMZzi3GswyVRgyLdDlHiWj3wU6dg7y6m5O_s,752
|
|
183
|
+
flwr/compat/client/__init__.py,sha256=qpbo0lcxdNL4qy5KHqiGm8OLxSxkYgI_-dLh5rwhtcI,746
|
|
184
|
+
flwr/compat/client/app.py,sha256=g73kBoqNmaPXWl-5omH65qwst-R09GuyVlwAAvEUW64,27111
|
|
185
|
+
flwr/compat/client/grpc_client/__init__.py,sha256=MDOckOODn-FJnkkFEfb2JO-2G97wrBr_TTqht-LhOcY,735
|
|
186
|
+
flwr/compat/client/grpc_client/connection.py,sha256=HSf_Jc-3oWpdYcNxBnu52uFUJSRPJZrbdlCkhDV5gUk,9115
|
|
187
|
+
flwr/compat/common/__init__.py,sha256=OMnKw4ad0qYMSIA9LZRa2gOkhSOXwAZCpAHnBQE_hFc,746
|
|
188
|
+
flwr/compat/server/__init__.py,sha256=TGVSoOTuf5T5JHUVrK5wuorQF7L6Wvdem8B4uufvMJY,746
|
|
189
|
+
flwr/compat/server/app.py,sha256=T-Huxf2RZ6pOB3BJY3kZHKIEjRmNrIrYXMZrGPOBCBc,6442
|
|
190
|
+
flwr/compat/simulation/__init__.py,sha256=MApGa-tysDDw34iSdxZ7TWOKtGJM-z3i8fIRJa0qbZ8,750
|
|
191
|
+
flwr/proto/__init__.py,sha256=S3VbQzVwNC1P-3_9EdrXuwgptO-BVuuAe20Z_OUc1cQ,683
|
|
192
|
+
flwr/proto/appio_pb2.py,sha256=GhleCmuqLiDqvumA0qgVl37NTwuan_K_XpUKStXZxwU,4274
|
|
193
|
+
flwr/proto/appio_pb2.pyi,sha256=pbrd1mRg0q7mbGqkJYYX1-GwzhiSnuZpjrAJU5im0Og,9512
|
|
194
|
+
flwr/proto/appio_pb2_grpc.py,sha256=f8jZU97X0SNIz4PQ9qj43yAhgVzmaGInItUCOAGZ7tU,897
|
|
195
|
+
flwr/proto/appio_pb2_grpc.pyi,sha256=M-7_sdP1mjiKKC4o13hXUx5sEnX3BXSIXgovr9tNVCg,1071
|
|
196
|
+
flwr/proto/clientappio_pb2.py,sha256=7-BA0kgQtCGskopHdqc5QbPx7gMBp0g_bT-CykD-klc,2920
|
|
197
|
+
flwr/proto/clientappio_pb2.pyi,sha256=OsUGEduv1iJCew8C4cMz87Y5uQAhHDmxNyVfwA4kXd8,824
|
|
198
|
+
flwr/proto/clientappio_pb2_grpc.py,sha256=lPU9DN2yCVoiKpzGIjQMonNQacKL1skmQRtOqiBUjR8,22011
|
|
199
|
+
flwr/proto/clientappio_pb2_grpc.pyi,sha256=3vOOTv4v66HtiZ1t5xUpBqjsBdFzZ7lLGMR4e5eHlUg,9403
|
|
200
|
+
flwr/proto/control_pb2.py,sha256=RSrFkLnCxmrW9HXv8Qj2H7_34568HU9uKe9D23uPnBE,9231
|
|
201
|
+
flwr/proto/control_pb2.pyi,sha256=tTdf9mOD_rrN96l9uh8rBPc1-sTGHOdiAhtIY9mGtZc,16528
|
|
202
|
+
flwr/proto/control_pb2_grpc.py,sha256=XDGrK2tIT_AcopBnygjddXZRdBTtxP29q-9mK63PsP4,23321
|
|
203
|
+
flwr/proto/control_pb2_grpc.pyi,sha256=BewVuWjGRp4_x5h-ikQBo13OO2-t8LALPNEE5CdfkiU,10110
|
|
204
|
+
flwr/proto/error_pb2.py,sha256=yU22xOnidohZg2dAI4RPdCb04UVu-3B4NfujLPCRauA,1329
|
|
205
|
+
flwr/proto/error_pb2.pyi,sha256=Tu-keFBb_RNNefd4BAyXmiGxZjxmsbM31K6VeGEuMDE,1383
|
|
206
|
+
flwr/proto/error_pb2_grpc.py,sha256=7yWEIZXS_2itZjlZvUJI8qyYvKu51fhdUGHtzhd7S_s,897
|
|
207
|
+
flwr/proto/error_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
|
|
208
|
+
flwr/proto/fab_pb2.py,sha256=QDkVHGRGmugjQQUiN8A_okppZ5e2pJi5KipjnWmF6e4,2320
|
|
209
|
+
flwr/proto/fab_pb2.pyi,sha256=PUUZ1FHeTwXxjVmTX14Vx5gmgRSFvoW_e5v_Z5qkT54,3948
|
|
210
|
+
flwr/proto/fab_pb2_grpc.py,sha256=jmhCnnwSqBpZ0329XGUGARbcz5sHrr0WrXwccqzc3Vs,895
|
|
211
|
+
flwr/proto/fab_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
|
|
212
|
+
flwr/proto/federation_pb2.py,sha256=x8hwIFsw87e7STmvq5qL90RmcImCGw5oOqbke7xaykA,1670
|
|
213
|
+
flwr/proto/federation_pb2.pyi,sha256=_At18SzwJjlf3k3FXjVi3Op59rs2i5XcIeBSPlvfXr0,2215
|
|
214
|
+
flwr/proto/federation_pb2_grpc.py,sha256=HPErt9uXJPbY8jLtTNFr941z82uMm7cOx10hTHgcwZM,902
|
|
215
|
+
flwr/proto/federation_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
|
|
216
|
+
flwr/proto/fleet_pb2.py,sha256=5uzFvGiLkuR2VMuT6QKR4lxRC7K27G09wTbwxchbsYU,6486
|
|
217
|
+
flwr/proto/fleet_pb2.pyi,sha256=5_yam3FKsjqMgYKbRWxAZhlEk6SsslOh5TBiLisn8Mk,10163
|
|
218
|
+
flwr/proto/fleet_pb2_grpc.py,sha256=oR-Tw12sQiAQ_jhqGsGASPG6jdMg0Rgwb7_z_NknOOk,23702
|
|
219
|
+
flwr/proto/fleet_pb2_grpc.pyi,sha256=k3C0pxqvparcfrFoCWkb0gVhVeDLh4y8dH2zUa7GbQE,10227
|
|
220
|
+
flwr/proto/grpcadapter_pb2.py,sha256=sPB1FbcNIjw5plvQqhd_vynO0-59n9U7G882l6o1z6Y,2101
|
|
221
|
+
flwr/proto/grpcadapter_pb2.pyi,sha256=NjfvCSu8_sG3zqbHUvZFJR5G5Z9AzwUVvUWbaqWe9ao,2417
|
|
222
|
+
flwr/proto/grpcadapter_pb2_grpc.py,sha256=iM2tGp_qw7j97vkF4-hiWgmwEA9qzEn_roSkkTeePa0,3636
|
|
223
|
+
flwr/proto/grpcadapter_pb2_grpc.pyi,sha256=Aw4PA1BEPCD97MvQLjih80Yxu2sYyubd9400irYBL1I,2057
|
|
224
|
+
flwr/proto/heartbeat_pb2.py,sha256=a_mbIgR5eWS6CIOJQkp0b99emeUAGafsGcBq-syNtR8,2110
|
|
225
|
+
flwr/proto/heartbeat_pb2.pyi,sha256=v89OLfQuvgGORIXnc-WNhrXWJjrpCtxi29t7mT6Lg3E,3096
|
|
226
|
+
flwr/proto/heartbeat_pb2_grpc.py,sha256=9vqnvsBXCm6NhVQOb0vxEnNKzM2TZ3g8Cnjj7ukY-x4,901
|
|
227
|
+
flwr/proto/heartbeat_pb2_grpc.pyi,sha256=M-7_sdP1mjiKKC4o13hXUx5sEnX3BXSIXgovr9tNVCg,1071
|
|
228
|
+
flwr/proto/log_pb2.py,sha256=Zwxi_yx3brrbsPKUpBtktlx97qFi76pFUp5w7vm6_Ok,1636
|
|
229
|
+
flwr/proto/log_pb2.pyi,sha256=T8iHTtwfdZBmKK7kEW_Xw5KZzLmHSMOk54lxu8Kk1ow,2122
|
|
230
|
+
flwr/proto/log_pb2_grpc.py,sha256=qTM9EcJDpwR2IQZ85u1S08Tfw1aYKqDWgDmCG_TJbEw,895
|
|
231
|
+
flwr/proto/log_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
|
|
232
|
+
flwr/proto/message_pb2.py,sha256=Dx0BQdHq3q0IKEbo-g-byx3cDhuZJ-a7ewzrNDO1Awk,5459
|
|
233
|
+
flwr/proto/message_pb2.pyi,sha256=DkASBfAdGsZASSfLDS9C7Mu9riCq0NF-LLmvEzE55AM,12005
|
|
234
|
+
flwr/proto/message_pb2_grpc.py,sha256=-9qS3bR2BKoiN9A1HmYimZWHfnH5my8-Mm2WqFZGxrI,899
|
|
235
|
+
flwr/proto/message_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
|
|
236
|
+
flwr/proto/node_pb2.py,sha256=bT1dLQe2E4ThxJAugxEIFlnHpUcQc2exJthjLveSpZ8,2038
|
|
237
|
+
flwr/proto/node_pb2.pyi,sha256=pm0wAjrmnNE1r3u2OIuGKeoczfUOWr6_y7omyOWVcjs,4506
|
|
238
|
+
flwr/proto/node_pb2_grpc.py,sha256=Nzgzrw-b47rEO3isovapKbBRG5FtTpJBfLSOX_y3ARg,896
|
|
239
|
+
flwr/proto/node_pb2_grpc.pyi,sha256=vDzlebnigJ9ZwoTU7_WLohHn20x9U2h4AOXCi0ryLW0,1071
|
|
240
|
+
flwr/proto/recorddict_pb2.py,sha256=L2mNSyIVWA2dcI1xWI3gj0nktuDHYgxbbLuVRQKVU74,5540
|
|
241
|
+
flwr/proto/recorddict_pb2.pyi,sha256=BYgVNk985Ww4dCXCjDGg1YU6q7MuMqbDa0usGVH3ktg,15208
|
|
242
|
+
flwr/proto/recorddict_pb2_grpc.py,sha256=kw9_kXNcRe3y6j6HquG1P1MqccFFAogfi48djxbOLDE,902
|
|
243
|
+
flwr/proto/recorddict_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
|
|
244
|
+
flwr/proto/run_pb2.py,sha256=k7sHGZl1Z8C1IQ7paVHYWR_T3pEhFwf2RR6VBVbD6-M,4970
|
|
245
|
+
flwr/proto/run_pb2.pyi,sha256=w0f2rg3EA0XsQEvMMA25gH8rKJbVunlgSeC1DewbUmQ,10393
|
|
246
|
+
flwr/proto/run_pb2_grpc.py,sha256=l5u1Ww6JxVLVN784Z2OQbkQ-tAf5yYGh6QbNDc4F5II,895
|
|
247
|
+
flwr/proto/run_pb2_grpc.pyi,sha256=fMwjLr-QCljWBa8uk0fvMCytnrF1-IzFLCbezqEmvdU,1071
|
|
248
|
+
flwr/proto/serverappio_pb2.py,sha256=fqZA5baD7lerWBn1Pb9PWhXlDvsb8pLOJ99DV4cYh-4,4045
|
|
249
|
+
flwr/proto/serverappio_pb2.pyi,sha256=KpVM8B_O0M3RFJ-DtnNlQapJs4V-7pHcdEb2G3ECbhE,1998
|
|
250
|
+
flwr/proto/serverappio_pb2_grpc.py,sha256=fKBfYvUzGj1GUWg2XAmecMI8uRkPeXwXBI4u5KMCXXE,30987
|
|
251
|
+
flwr/proto/serverappio_pb2_grpc.pyi,sha256=2YmbFoWfgvdH6nKxHcPVwpfy3yBsJIvlXOd1V9nE2vc,12927
|
|
252
|
+
flwr/proto/simulationio_pb2.py,sha256=wlgTZYceR_LMOmbWpXQSU5yF3IksrxfrTz1WoiHNo9w,2787
|
|
253
|
+
flwr/proto/simulationio_pb2.pyi,sha256=OsUGEduv1iJCew8C4cMz87Y5uQAhHDmxNyVfwA4kXd8,824
|
|
254
|
+
flwr/proto/simulationio_pb2_grpc.py,sha256=whIX3jigGIUm_RnbFsEfphLD0kI82dpT1jIimGm-Foc,20091
|
|
255
|
+
flwr/proto/simulationio_pb2_grpc.pyi,sha256=20ZjvlsLohqxIrtsMhml5jMlmDJjle_-PGuvLE1v568,8639
|
|
256
|
+
flwr/proto/transport_pb2.py,sha256=xqDF2oI0PzAndH17O80SQkyOT_QF9m7CQ0166He7UDQ,10122
|
|
257
|
+
flwr/proto/transport_pb2.pyi,sha256=A-AzbyDAyp4hzJCuC6MOA1NewkFmtuhPwFCjPKqQP0Q,22450
|
|
258
|
+
flwr/proto/transport_pb2_grpc.py,sha256=jYsbV3KYdp4TaNfWxv3ljFEvB-Yjsa8MIPtTH-vVPPk,3600
|
|
259
|
+
flwr/proto/transport_pb2_grpc.pyi,sha256=qd2cOXq6HBZtwRfPpKuni27NGMJCAxyP5R95Vk8WWDU,2073
|
|
260
|
+
flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
261
|
+
flwr/server/__init__.py,sha256=LQQHiuL2jy7TpNaKastRdGsexlxSt5ZWAQNVqitDnrY,1598
|
|
262
|
+
flwr/server/app.py,sha256=4jU7qSA-Oa1miBZuFK08-5fMGbi2KofybAnts4kTrzI,31777
|
|
263
|
+
flwr/server/client_manager.py,sha256=3WOqNWh5dlqPRG-DMGwXiyvGNEYS_jKqXKkFIkMqWLQ,6187
|
|
264
|
+
flwr/server/client_proxy.py,sha256=QS_RGgjSZ8V4StAHH8zc7W9_os2FyO4wNqkbylQMBTY,2341
|
|
265
|
+
flwr/server/compat/__init__.py,sha256=0IsttWvY15qO98_1GyzVC-vR1e_ZPXOdu2qUlOkYMPE,886
|
|
266
|
+
flwr/server/compat/app.py,sha256=gCQF6yFX4T95BRU5TWFxKnscRFjdvx4H5VFoG-4IudU,3283
|
|
267
|
+
flwr/server/compat/app_utils.py,sha256=YtJ8U86DIspODFyXjMRvQtcjlGbA5TvOLLadlzu-8ik,4618
|
|
268
|
+
flwr/server/compat/grid_client_proxy.py,sha256=uotPC-tZnHVBtV1QD049Zl142Gx-kmd9FkGSuHU4r34,4891
|
|
269
|
+
flwr/server/compat/legacy_context.py,sha256=uT1XAX6Jqxza7IpDLg8bUnGhYCAWqnTPLi1rZTMh1J0,1767
|
|
270
|
+
flwr/server/criterion.py,sha256=G4e-6B48Pc7d5rmGVUpIzNKb6UF88O3VmTRuUltgjzM,1061
|
|
271
|
+
flwr/server/fleet_event_log_interceptor.py,sha256=SfJ6J4K_8ZQtGQaNUqmcemdS4dTsWwiSMhoM62SmvlQ,3977
|
|
272
|
+
flwr/server/grid/__init__.py,sha256=aWZHezoR2UGMJISB_gPMCm2N_2GSbm97A3lAp7ruhRQ,888
|
|
273
|
+
flwr/server/grid/grid.py,sha256=OeP1Kz0lhCZbKh2foZziADmc4fwhJ3e12etSpqYJWnk,6591
|
|
274
|
+
flwr/server/grid/grpc_grid.py,sha256=ShrGOol6qkjjfDziuLFQUapIEOZF4oaS3XmTHbB0AmM,15390
|
|
275
|
+
flwr/server/grid/inmemory_grid.py,sha256=Zw-OaTRqcqNiTnF1E7tqimtLF4I1m9kdbl-CgNxPDJQ,6170
|
|
276
|
+
flwr/server/history.py,sha256=cCkFhBN4GoHsYYNk5GG1Y089eKJh2DH_ZJbYPwLaGyk,5026
|
|
277
|
+
flwr/server/run_serverapp.py,sha256=9CJzb7QiF9K8ubu79whVwyoMLzYdrwtu18LOsOECL6A,2029
|
|
278
|
+
flwr/server/server.py,sha256=Oqv3WZ92KN9XTS6vqcYFTEvJM0sHZfkUmNM8xgbhZBE,17698
|
|
279
|
+
flwr/server/server_app.py,sha256=udSNhp5Syg0XJj-AnfqPGkBkg9zuPaSgm1LCL_4PYkc,9469
|
|
280
|
+
flwr/server/server_config.py,sha256=anmj2Rf18kM1chyl-9myRLDS77YVKTS6MpsDh2nIFOY,1318
|
|
281
|
+
flwr/server/serverapp/__init__.py,sha256=xcC0T_MQSMS9cicUzUUpMNCOsF2d8Oh_8jvnoBLuZvo,800
|
|
282
|
+
flwr/server/serverapp/app.py,sha256=pVbVwskQHULC5lvL-uDbKK67LVbYoJpT-H_e-w89qFU,9975
|
|
283
|
+
flwr/server/serverapp_components.py,sha256=b8GbqXkiEsiOw61gGITVj6eFpl66upEf7eMjDu1Oo-M,2078
|
|
284
|
+
flwr/server/strategy/__init__.py,sha256=HhsSWMWaC7oCb2g7Kqn1MBKdrfvgi8VxACy9ZL706Q0,2836
|
|
285
|
+
flwr/server/strategy/aggregate.py,sha256=ebIKolvRzSGwVKbxSZtofGSQAIT8LRddMW2c33mXQ2w,14070
|
|
286
|
+
flwr/server/strategy/bulyan.py,sha256=LqwImM22hfb4U22mJX4_t2Jj1cUEY2W8pYqmbk9lDKA,6499
|
|
287
|
+
flwr/server/strategy/dp_adaptive_clipping.py,sha256=_QwaXBzsZhwHtk-wvbNszOUfai1dKVGDjRtCD2pvoNY,17365
|
|
288
|
+
flwr/server/strategy/dp_fixed_clipping.py,sha256=zlnylug4L8S2YaR4OwTdqE-CXl3W7WZw1IegVeUdcec,12729
|
|
289
|
+
flwr/server/strategy/dpfedavg_adaptive.py,sha256=IZ2XdH3-fZDxS-0vFxCsgCk7iN0BQ8uWgO_UrJFh94k,4841
|
|
290
|
+
flwr/server/strategy/dpfedavg_fixed.py,sha256=hUyhv5x41p5lRIwefoUJNDUGqYR-__Fu_-VMdAY0luY,7157
|
|
291
|
+
flwr/server/strategy/fault_tolerant_fedavg.py,sha256=4_gHDackYuqa9vv-xJcVgIM6SDlUfi-KVDS8IOjPMn0,5848
|
|
292
|
+
flwr/server/strategy/fedadagrad.py,sha256=itF4KKoLeyX_Jwke_3vIeitB-60zh9xrDn--2CEf3Ok,6551
|
|
293
|
+
flwr/server/strategy/fedadam.py,sha256=8GF1bnSwAY4mjUArk7Zfw3k1YYTD_e3B9xNjgXF1YnI,7301
|
|
294
|
+
flwr/server/strategy/fedavg.py,sha256=Amn82nT80rWoNfg_6rsbKHNQgbcyxxQbwtG_QPHIlys,11727
|
|
295
|
+
flwr/server/strategy/fedavg_android.py,sha256=eHUBDSLir1pLN_77PQcqiQJ5UZtdVuutzXRe0T2704M,9736
|
|
296
|
+
flwr/server/strategy/fedavgm.py,sha256=uqR2rnfcMlCeLN0JMa53THVB-dIymEN9qTJMlE_uVaI,8203
|
|
297
|
+
flwr/server/strategy/fedmedian.py,sha256=P6pCn1plJTsQaJuom0DAUV0i4vfY6OfcXaU_YoBDIr0,2641
|
|
298
|
+
flwr/server/strategy/fedopt.py,sha256=ElvCwQsdEN7Kj5pj3fiXJ_XJrKuyJ1lPyD5Zwq5COA8,5218
|
|
299
|
+
flwr/server/strategy/fedprox.py,sha256=gr4JKaoCVyKfBZYtngh3Pg6ik72bX4dj3HH_fxOO6yQ,6835
|
|
300
|
+
flwr/server/strategy/fedtrimmedavg.py,sha256=iebHu_-FX2MNCheAHXkoRUYEcP127_AJq_p5zEHhTuA,5847
|
|
301
|
+
flwr/server/strategy/fedxgb_bagging.py,sha256=yZybB-vHQ12kexLfar_uTrYfPsNwibDF8OjO82ejdNM,6052
|
|
302
|
+
flwr/server/strategy/fedxgb_cyclic.py,sha256=1_bAioq6QP5tGZO7E2JR0k1fcOYWGljm5avklukrH0A,5550
|
|
303
|
+
flwr/server/strategy/fedxgb_nn_avg.py,sha256=n_LGcnFbg0qd58nK0ahaF3TyYk4jIdDGmFBJxIdVGmY,4007
|
|
304
|
+
flwr/server/strategy/fedyogi.py,sha256=Qz7CqxyH4q3i1R41eM9dvp26mUfV9tqZJoMYX0-9J-A,6825
|
|
305
|
+
flwr/server/strategy/krum.py,sha256=zuIdVx-0yBSlSwCktixE47hzeM0FFDhc7Wg9dxwA07Q,6242
|
|
306
|
+
flwr/server/strategy/qfedavg.py,sha256=GTWhAIiZZay48WlNIkzeliAjx-luvMG_9tPlgrhG_OU,10108
|
|
307
|
+
flwr/server/strategy/strategy.py,sha256=Ni737DYbjxe-iC_VWZA91GEHi1h-n6kmccMmFdsSF18,7451
|
|
308
|
+
flwr/server/superlink/__init__.py,sha256=GNSuJ4-N6Z8wun2iZNlXqENt5beUyzC0Gi_tN396bbM,707
|
|
309
|
+
flwr/server/superlink/fleet/__init__.py,sha256=Uiwr33yfW_eL-pEfj80c_JUhIKRkCPsN1JSs2v4aglU,711
|
|
310
|
+
flwr/server/superlink/fleet/grpc_adapter/__init__.py,sha256=fUu1V63YrzjxAOZnBJx99WjuD4Mro7dJIFH-1V4NLV8,742
|
|
311
|
+
flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py,sha256=sbZ0J_a7FinqlKILjAY6f7qlPE8zt696K22C2NCkKS4,5554
|
|
312
|
+
flwr/server/superlink/fleet/grpc_bidi/__init__.py,sha256=dOM49q1b9MrtUr5jldjEnQ38NhcUyYs-zC3gsJb1TtI,735
|
|
313
|
+
flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py,sha256=fUumpuU-n1PVH-BEcPA-VMXAzyXh1u10vZriB6vx3V8,6003
|
|
314
|
+
flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py,sha256=cKb4bHfvoku34sfWmcVzJ04MQ49bIcTQ0GeH6TmVVCE,6448
|
|
315
|
+
flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=01p58US63-eMmKm_KHeFQqbCHBjeL9pEfgqGI-r3Dw8,4828
|
|
316
|
+
flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=6uraD1bcZGYs9uXWUa46THUKUBnAknIxckiGAt036kc,5142
|
|
317
|
+
flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=ahDJJ1e-lDxBpeBMgPk7YZt2wB38_QltcpOC0gLbpFs,758
|
|
318
|
+
flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=DtHuDP7fvgO-iamI48ACr0TQcD20eBYwMicHKIjhmXQ,12583
|
|
319
|
+
flwr/server/superlink/fleet/grpc_rere/node_auth_server_interceptor.py,sha256=h3pPs--wdiomaCuGOg5fr3wwYVfwi-PK-tVArrr_bg8,5669
|
|
320
|
+
flwr/server/superlink/fleet/message_handler/__init__.py,sha256=fHsRV0KvJ8HtgSA4_YBsEzuhJLjO8p6xx4aCY2oE1p4,731
|
|
321
|
+
flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=XZSrjTB_7J_dL5PEPjQ9T2abxTJJZ_aBlPE-tUHGrVc,10703
|
|
322
|
+
flwr/server/superlink/fleet/rest_rere/__init__.py,sha256=Lzc93nA7tDqoy-zRUaPG316oqFiZX1HUCL5ELaXY_xw,735
|
|
323
|
+
flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=cDWDQBf79F9tZ1mXOErc-nsnY4zFP9Tcv7Fs-bQIdiU,9616
|
|
324
|
+
flwr/server/superlink/fleet/vce/__init__.py,sha256=XOKbAWOzlCqEOQ3M2cBYkH7HKA7PxlbCJMunt-ty-DY,784
|
|
325
|
+
flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=PPH89Yqd1XKm-sRJN6R0WQlKT_b4v54Kzl2yzHAFzM8,1437
|
|
326
|
+
flwr/server/superlink/fleet/vce/backend/backend.py,sha256=HPOXhT40bFwCA9pz8w2sATdamgNVotXNO8p1ZRCOg7M,2205
|
|
327
|
+
flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=LhVmM2Mi6kOskOyDFnbIb7AH304J0eUU1r2B32bzUFc,7193
|
|
328
|
+
flwr/server/superlink/fleet/vce/vce_api.py,sha256=A62Vx3r71bNI-v10IUen_27fDJoYXsOyvBM3JrkTvho,13609
|
|
329
|
+
flwr/server/superlink/linkstate/__init__.py,sha256=OtsgvDTnZLU3k0sUbkHbqoVwW6ql2FDmb6uT6DbNkZo,1064
|
|
330
|
+
flwr/server/superlink/linkstate/in_memory_linkstate.py,sha256=tPpet43VBXOeHK0VUXeNXEM7CtQ6lDSja5PG9PGb17M,30649
|
|
331
|
+
flwr/server/superlink/linkstate/linkstate.py,sha256=NfPD0_IElqxq9c3DuEzMFxdIERMocupSwY_aYI5mGeg,16079
|
|
332
|
+
flwr/server/superlink/linkstate/linkstate_factory.py,sha256=dtn3xvp4uGek_vtbHyLnn0OZNOcQn6_dpNNX-r8lwAc,2866
|
|
333
|
+
flwr/server/superlink/linkstate/sqlite_linkstate.py,sha256=4j4rM7lA6FGFUMlhRGT_OKDPEQDZITjj9uAuxYeDsZQ,48816
|
|
334
|
+
flwr/server/superlink/linkstate/utils.py,sha256=ZKaunvXhzb4eqxy91zH3xlF22cpNimeRzTJCNdoZ57s,14019
|
|
335
|
+
flwr/server/superlink/serverappio/__init__.py,sha256=Fy4zJuoccZe5mZSEIpOmQvU6YeXFBa1M4eZuXXmJcn8,717
|
|
336
|
+
flwr/server/superlink/serverappio/serverappio_grpc.py,sha256=2NFPynJMpYpT9C98Fr4n0QrTTjWBWbeUzlHcc6pg2kY,2279
|
|
337
|
+
flwr/server/superlink/serverappio/serverappio_servicer.py,sha256=EF306zWTfb-h4bie9ZKTZSRdgfLdJQVZ0Vbj5fw4keM,20252
|
|
338
|
+
flwr/server/superlink/simulation/__init__.py,sha256=Ry8DrNaZCMcQXvUc4FoCN2m3dvUQgWjasfp015o3Ec4,718
|
|
339
|
+
flwr/server/superlink/simulation/simulationio_grpc.py,sha256=fHFW8SOR4iyfBxQeYOXWwqUStGsv0P4EAIVkBk69BN4,2174
|
|
340
|
+
flwr/server/superlink/simulation/simulationio_servicer.py,sha256=140iEJZ0lCw0bWNI4B6VSvMXGz0bVUeaCnDW-372_zw,10161
|
|
341
|
+
flwr/server/superlink/utils.py,sha256=pdeB9dm21e5D2Vuymme8069VWW5XuWZfi1LAm7nKjeQ,2400
|
|
342
|
+
flwr/server/typing.py,sha256=qr04ihK3cARvw2Cz64axwzbdCbLtK8R5DDtlh5kWXEU,1020
|
|
343
|
+
flwr/server/utils/__init__.py,sha256=U4gM84-uUFddarODDQkO6SjNUuGhFcsHJZMjSEbezkU,884
|
|
344
|
+
flwr/server/utils/tensorboard.py,sha256=Troy_uoxLPyydVsQQuIAFoAn17MHwMXyERy7CeFjJAk,5750
|
|
345
|
+
flwr/server/utils/validator.py,sha256=ZDHWtDa2yFzicfUStIIzno8AZEeTCwERjBbuv_StAMs,3638
|
|
346
|
+
flwr/server/workflow/__init__.py,sha256=N8G_xCBVrlV39Eov56bwImKMUTsqsaEoTCFYIQ0q8Bg,902
|
|
347
|
+
flwr/server/workflow/constant.py,sha256=4t2MTvOJUlByJfuD9yZjl8Xn5SwBJQDBi15DphztXe8,1082
|
|
348
|
+
flwr/server/workflow/default_workflows.py,sha256=m3BnXUVjxUc4tU1pE-7Gf224l8dffnRQGSyPwLX_1Xg,13865
|
|
349
|
+
flwr/server/workflow/secure_aggregation/__init__.py,sha256=vGkycLb65CxdaMkKsANxQE6AS4urfZKvwcS3r1Vln_c,880
|
|
350
|
+
flwr/server/workflow/secure_aggregation/secagg_workflow.py,sha256=oHNhvHiu1ZxoU31HdVjvhT1uDz-Q5E2HiTbyG34foQk,5794
|
|
351
|
+
flwr/server/workflow/secure_aggregation/secaggplus_workflow.py,sha256=4tc7PoFmIN1rilIbelXTbIyd1PWXE1UDEoFQ3qvMpKE,29509
|
|
352
|
+
flwr/serverapp/__init__.py,sha256=ZujKNXULwhWYQhFnxOOT5Wi9MRq2JCWFhAAj7ouiQ78,884
|
|
353
|
+
flwr/serverapp/exception.py,sha256=5cuH-2AafvihzosWDdDjuMmHdDqZ1XxHvCqZXNBVklw,1334
|
|
354
|
+
flwr/serverapp/strategy/__init__.py,sha256=dezK2TKSffjjBVXW18ATRxJLTuQ7I2M1dPuNi5y-_6c,1968
|
|
355
|
+
flwr/serverapp/strategy/bulyan.py,sha256=disdrk0vCUPWlDvBlVMvHaral9v_hikxpQetVZV5a_Q,9292
|
|
356
|
+
flwr/serverapp/strategy/dp_adaptive_clipping.py,sha256=iddSwnw1qxNmtYtckvcfGsnVZ_bmyMMYd6biYmIZ_8s,13599
|
|
357
|
+
flwr/serverapp/strategy/dp_fixed_clipping.py,sha256=1zJOxJhNFPIJRXneelCsTlx6La7BQAlquWuofa-oHtc,12696
|
|
358
|
+
flwr/serverapp/strategy/fedadagrad.py,sha256=oewW2lxZ3YEo8lAI4KtjU-yp4r3bOFTybq4XjwlXYRg,6185
|
|
359
|
+
flwr/serverapp/strategy/fedadam.py,sha256=jIUytggs5CUxOZ6ZUnt_ajDxHIa1dwrLbdX-3zQ1oHM,6980
|
|
360
|
+
flwr/serverapp/strategy/fedavg.py,sha256=Lm0VCj2P97-LOT7gw4EtdXXBwfkG3hxF5CAcJsTALiQ,11996
|
|
361
|
+
flwr/serverapp/strategy/fedavgm.py,sha256=cynjt6sEnqKIegOQAgWcgoVktCbVbrzxSyJdewEe1qM,8370
|
|
362
|
+
flwr/serverapp/strategy/fedmedian.py,sha256=qkf1kzTs6eSC2lZhXDLGR9M5NAKy01sSvnBQffvMmWQ,4482
|
|
363
|
+
flwr/serverapp/strategy/fedopt.py,sha256=pJ8SYeS1pgnRbv95NT7kN3gAJ3SVI6XAKppTDOvPdkI,8438
|
|
364
|
+
flwr/serverapp/strategy/fedprox.py,sha256=aKOze73dOSyfbkmHSk4tv44TQkPrlmEKaP8V6z7zO5s,6998
|
|
365
|
+
flwr/serverapp/strategy/fedtrimmedavg.py,sha256=Qvt0r1RjLrCa5Y-p6Xbj0rPtBjzPqoO5x1wLp4zEv1o,7150
|
|
366
|
+
flwr/serverapp/strategy/fedxgb_bagging.py,sha256=7eWYGjrFpxfvDFjHsqSmJ8FxYiaE7aJ2ZKSShzLRen4,5170
|
|
367
|
+
flwr/serverapp/strategy/fedxgb_cyclic.py,sha256=YeSp6iFbaCFM8P43dxuWR2XVtnWUpWPwYtEWO0aEZDg,8734
|
|
368
|
+
flwr/serverapp/strategy/fedyogi.py,sha256=7WvtD5XULRr-tlCd7QoLRss2ThlljXOv3SNc5U2f-OU,6494
|
|
369
|
+
flwr/serverapp/strategy/krum.py,sha256=3q8Y0SmrAEz0PnLVjm3iMTsK9Gb0PWav2JujR_GmAwk,4845
|
|
370
|
+
flwr/serverapp/strategy/multikrum.py,sha256=UvOyvp6Za8DWz5IK-yuV7Ur1UGq2bGqH_Gp-8M6W2Go,9847
|
|
371
|
+
flwr/serverapp/strategy/qfedavg.py,sha256=Pa12mDicCYYwZGsNKlW_aBESOmWSQXbClNjvq6VlHIo,10212
|
|
372
|
+
flwr/serverapp/strategy/result.py,sha256=E0Hl2VLnZAgQJjE2GDoKsK7JX-kPPU2KXc47Axt6hGw,4295
|
|
373
|
+
flwr/serverapp/strategy/strategy.py,sha256=ofnwlYt_XBtO6rhVbU9NpWPa9v1gLasp9HUAN9EFKsw,10718
|
|
374
|
+
flwr/serverapp/strategy/strategy_utils.py,sha256=xF8h_udVgWoHwa3C1DIeyb8XlrowDHRcptPrUJGZmhc,10825
|
|
375
|
+
flwr/simulation/__init__.py,sha256=Gg6OsP1Z-ixc3-xxzvl7j7rz2Fijy9rzyEPpxgAQCeM,1556
|
|
376
|
+
flwr/simulation/app.py,sha256=m1dujMWWHsUukD_hzlvvrjOJ2QM1f8-Y03EvfF2pD2Y,10403
|
|
377
|
+
flwr/simulation/legacy_app.py,sha256=JDGL6cAitI9HdnQkCG7_Lsd96LMesSrFlegEZ_hDGKY,15808
|
|
378
|
+
flwr/simulation/ray_transport/__init__.py,sha256=ogd-0AMv2U-wBZ1r3sHWaDIOIrVqr88Xi6C8o4Dviy0,734
|
|
379
|
+
flwr/simulation/ray_transport/ray_actor.py,sha256=HTX-Vj6z_FjMWyk1Fvbi25MRblfougW_2AM4Po4DXk4,19099
|
|
380
|
+
flwr/simulation/ray_transport/ray_client_proxy.py,sha256=fxLnkLythTP6LnR8IqNqu-7odcPDqk34pjzXQBWjElw,7442
|
|
381
|
+
flwr/simulation/ray_transport/utils.py,sha256=KrexpWYCF-dAF3UHc9yDbPQWO-ahMT-BbD8nURLgiHk,2393
|
|
382
|
+
flwr/simulation/run_simulation.py,sha256=UjA_XnEhqt5cun1HlygiyRrd4HVJd-w5lhBLzEA4dmk,20766
|
|
383
|
+
flwr/simulation/simulationio_connection.py,sha256=cS7yTOa5yeK-bQ2YjS9eJCXL8SOItEkiJD5sN5mBb_Y,3475
|
|
384
|
+
flwr/supercore/__init__.py,sha256=pqkFoow_E6UhbBlhmoD1gmTH-33yJRhBsIZqxRPFZ7U,755
|
|
385
|
+
flwr/supercore/app_utils.py,sha256=K76Zt6R670b1hUmxOsNc1WUCVYvF7lejXPcCO9K0Q0g,1753
|
|
386
|
+
flwr/supercore/cli/__init__.py,sha256=EDl2aO-fuQfxSbL-T1W9RAfA2N0hpWHmqX_GSwblJbQ,845
|
|
387
|
+
flwr/supercore/cli/flower_superexec.py,sha256=IQIGzxgaeLNMNzGXGemfYK3lp8God5bTkXpVkbeP_ig,6109
|
|
388
|
+
flwr/supercore/constant.py,sha256=me9ymgv1FoccFQpsQcQBECHv8A5Gdf_bnx8rtJQ_o5s,2201
|
|
389
|
+
flwr/supercore/corestate/__init__.py,sha256=Vau6-L_JG5QzNqtCTa9xCKGGljc09wY8avZmIjSJemg,774
|
|
390
|
+
flwr/supercore/corestate/corestate.py,sha256=EZg4gPXqVOXwS7t0tlPfedajoWj5T80oeDBNxpV2y2I,2874
|
|
391
|
+
flwr/supercore/corestate/in_memory_corestate.py,sha256=9qa6RuRZfCp6vs-ARYdiZjCL31VOAAxw0a_VkBXR5zY,5116
|
|
392
|
+
flwr/supercore/corestate/sqlite_corestate.py,sha256=2SAikyNG0dgxOUtQsy9WS5XCDibndw6y4xPGK61seWE,5740
|
|
393
|
+
flwr/supercore/ffs/__init__.py,sha256=U3KXwG_SplEvchat27K0LYPoPHzh-cwwT_NHsGlYMt8,908
|
|
394
|
+
flwr/supercore/ffs/disk_ffs.py,sha256=IWFjikDs8BOfHIgFgOGI6p4Xl7U3n8lGbocmIibepcg,3241
|
|
395
|
+
flwr/supercore/ffs/ffs.py,sha256=Q71OLKYIuuhe_XDTqku03qozUfDBQ5Lxg-MbpGDPHlk,2364
|
|
396
|
+
flwr/supercore/ffs/ffs_factory.py,sha256=tPwVDWMddgo45X8tk1lBCTkmJenWBbRagjWfx7UsYuE,1459
|
|
397
|
+
flwr/supercore/grpc_health/__init__.py,sha256=rCPZ7ucPY9NXBWuhb9iKs2D-yZ0rQ5YkJ7LlOeahN9A,948
|
|
398
|
+
flwr/supercore/grpc_health/health_server.py,sha256=bwNzQ1eQJWmzeSJwqa0zrD5s_Cut00vKdSSk8NhPI2c,1808
|
|
399
|
+
flwr/supercore/grpc_health/simple_health_servicer.py,sha256=C5QN_cR_VBqbhva1eP8zyZ6YwS5Q9APKl6WgM03jAC0,1531
|
|
400
|
+
flwr/supercore/heartbeat.py,sha256=S4lEJYH058UOUZto13mr5gI5ah-J7FMgtwMzLerOHNI,5655
|
|
401
|
+
flwr/supercore/license_plugin/__init__.py,sha256=d8OgHTn2BwjoNSPy8jQQxTC_iT3-ENLwKM8yhHKvCRM,820
|
|
402
|
+
flwr/supercore/license_plugin/license_plugin.py,sha256=BFhlCH5v9KKuY7crVCsi8fuYe98SJfnGxRS0CVc_Y5I,948
|
|
403
|
+
flwr/supercore/object_store/__init__.py,sha256=cdfPAmjINY6iOp8oI_LdcVh2simg469Mkdl4LLV4kHI,911
|
|
404
|
+
flwr/supercore/object_store/in_memory_object_store.py,sha256=-DU6n1Ef3EmllHY9SzeXw57ftoU0mR_6or4NIDSZlcs,9322
|
|
405
|
+
flwr/supercore/object_store/object_store.py,sha256=XLo-xe258TmCel9dNLCJepFjXaQtEi0wBqzU9YsyJVg,5221
|
|
406
|
+
flwr/supercore/object_store/object_store_factory.py,sha256=vcLJP7nVuIoRuGNImePA-MK8QvH18FtThSZSniA3k6Y,2323
|
|
407
|
+
flwr/supercore/object_store/sqlite_object_store.py,sha256=oDfqGe6TEr1HT6_ZoxLoi7T1qEF2_GBKmfKh3yKux_Y,10251
|
|
408
|
+
flwr/supercore/primitives/__init__.py,sha256=Tx8GOjnmMo8Y74RsDGrMpfr-E0Nl8dcUDF784_ge6F8,745
|
|
409
|
+
flwr/supercore/primitives/asymmetric.py,sha256=1643niHYj3uEbfPd06VuMHwN3tKVwg0uVyR3RhTdWIU,3778
|
|
410
|
+
flwr/supercore/primitives/asymmetric_ed25519.py,sha256=eIhOTMibQW0FJX4MXdplHdL3HcfCiKuFu2mQ8GQTUz8,5025
|
|
411
|
+
flwr/supercore/sqlite_mixin.py,sha256=ZvtqDLRwCMzyrPsOTpAwJeHSpthrrtvEfUmWZmss6OA,5317
|
|
412
|
+
flwr/supercore/superexec/__init__.py,sha256=XKX208hZ6a9gZ4KT9kMqfpCtp_8VGxekzKFfHSu2esQ,707
|
|
413
|
+
flwr/supercore/superexec/plugin/__init__.py,sha256=GNwq8uNdE8RB7ywEFRAvKjLFzgS3YXgz39-HBGsemWw,1035
|
|
414
|
+
flwr/supercore/superexec/plugin/base_exec_plugin.py,sha256=QmTr7AJTZO1cfmoVRjZUEhSlxNCou-XotGFAXkCqwWQ,2043
|
|
415
|
+
flwr/supercore/superexec/plugin/clientapp_exec_plugin.py,sha256=9FT6ufEqV5K9g4FaAB9lVDbIv-VCH5LcxT4YKy23roE,1035
|
|
416
|
+
flwr/supercore/superexec/plugin/exec_plugin.py,sha256=iRRZcnTcM3wMwkkUElmfFka31aJrZgtoQEf0E7dPp9Q,2751
|
|
417
|
+
flwr/supercore/superexec/plugin/serverapp_exec_plugin.py,sha256=IwRzdPV-cSKwrP2krGh0De4IkAuxsmgK0WU6J-2GXqM,1035
|
|
418
|
+
flwr/supercore/superexec/plugin/simulation_exec_plugin.py,sha256=upn5zE-YKkl_jTw8RzmeyQ58PU_UAlQ7CqnBXXdng8I,1060
|
|
419
|
+
flwr/supercore/superexec/run_superexec.py,sha256=yeV6_eI0XFfPyNwnlgqchR9jI80FzSI80oyekrIlO2M,7144
|
|
420
|
+
flwr/supercore/utils.py,sha256=KOvqGhRZ1if9AEg_eb0klwp7_smXkTwwGhAUpeGORWA,1841
|
|
421
|
+
flwr/superlink/__init__.py,sha256=GNSuJ4-N6Z8wun2iZNlXqENt5beUyzC0Gi_tN396bbM,707
|
|
422
|
+
flwr/superlink/artifact_provider/__init__.py,sha256=pgZEcVPKRE874LSu3cgy0HbwSJBIpVy_HxQOmne4PAs,810
|
|
423
|
+
flwr/superlink/artifact_provider/artifact_provider.py,sha256=Gt1UUojVOa4WDgv8unU20MoETSMd5rSPF9eIITBNJY0,1236
|
|
424
|
+
flwr/superlink/auth_plugin/__init__.py,sha256=ApYBHnDmtv5gVrnxdFq97zC58O1icqHogK2Dz6o8DVI,1000
|
|
425
|
+
flwr/superlink/auth_plugin/auth_plugin.py,sha256=xLqAYFG7sjAhYgyeTvvEY6fSMjPRq0offmTDRYpIs78,2956
|
|
426
|
+
flwr/superlink/auth_plugin/noop_auth_plugin.py,sha256=0MWjNXZdz6zGRfitlnZfVKu4sKVn0HhJvnp09c3xVUA,2962
|
|
427
|
+
flwr/superlink/federation/__init__.py,sha256=A1pFFvkEQrHzvRAOstr2o7nphx3JbuJgkNRFKJ9qD3M,890
|
|
428
|
+
flwr/superlink/federation/federation_manager.py,sha256=-Vu1v_WWhWK7wgKEQua24lw9a6iPxG89VI-jqLO5E4g,2322
|
|
429
|
+
flwr/superlink/federation/noop_federation_manager.py,sha256=Hc6_YVlMZZkdElS8bawi85eCTHOzVPUZVe9Dmrl2DW8,2881
|
|
430
|
+
flwr/superlink/servicer/__init__.py,sha256=ZC-kILcUGeh6IxJsfu24cTzUqIGXmQfEKsGfhsnhBpM,717
|
|
431
|
+
flwr/superlink/servicer/control/__init__.py,sha256=qhUTMt_Mg4lxslCJYn5hDSrA-lXf5ya3617BT8kR-2Y,803
|
|
432
|
+
flwr/superlink/servicer/control/control_account_auth_interceptor.py,sha256=AJs7GE-fyUBLcUEUzB058TpFzC7gyDOL17THvYkJTn8,6529
|
|
433
|
+
flwr/superlink/servicer/control/control_event_log_interceptor.py,sha256=r9LjF5VkrE1sZIcml-sO2uOPAwpvr6dj4tFchqoDcR4,5965
|
|
434
|
+
flwr/superlink/servicer/control/control_grpc.py,sha256=Hkkse7BAZ6dHJTfc1bO_zQI3Qd67fQMO0-bjf4fs6X0,4140
|
|
435
|
+
flwr/superlink/servicer/control/control_license_interceptor.py,sha256=8d28soJ0mLLhpSGCpuY2YzgbX0vVO7Sqe2DcApEgILc,3336
|
|
436
|
+
flwr/superlink/servicer/control/control_servicer.py,sha256=YRceYBgxIhLvvSK7QriFCVHMgl61pdxXWTa-GA4dVnM,22773
|
|
437
|
+
flwr/supernode/__init__.py,sha256=KgeCaVvXWrU3rptNR1y0oBp4YtXbAcrnCcJAiOoWkI4,707
|
|
438
|
+
flwr/supernode/cli/__init__.py,sha256=JuEMr0-s9zv-PEWKuLB9tj1ocNfroSyNJ-oyv7ati9A,887
|
|
439
|
+
flwr/supernode/cli/flower_supernode.py,sha256=1HdhlGaVo51_7w3AL1hE5zfIVJMow0Ngi_F3Js01djs,10815
|
|
440
|
+
flwr/supernode/cli/flwr_clientapp.py,sha256=W3tAyqSfeHbPhqBC4Pfo9bsyFdkBKPqdKlhGmeUKwKg,3173
|
|
441
|
+
flwr/supernode/nodestate/__init__.py,sha256=CyLLObbmmVgfRO88UCM0VMait1dL57mUauUDfuSHsbU,976
|
|
442
|
+
flwr/supernode/nodestate/in_memory_nodestate.py,sha256=_SDshB4JebO5pWScdrkF4xdxw1kMH_BH9scvyg385_M,7987
|
|
443
|
+
flwr/supernode/nodestate/nodestate.py,sha256=NwnORCF3xBpIf996tq2h9v4vtVpJZsIHkXxUc2NnGzs,4998
|
|
444
|
+
flwr/supernode/nodestate/nodestate_factory.py,sha256=i-1cv42R9LBM1nyasTHuTHSqlyJxVSRtUK2BMzqT-Ss,1631
|
|
445
|
+
flwr/supernode/runtime/__init__.py,sha256=JQdqd2EMTn-ORMeTvewYYh52ls0YKP68jrps1qioxu4,718
|
|
446
|
+
flwr/supernode/runtime/run_clientapp.py,sha256=-JsN3h7jQC12vzDBmImzYmyccI3LveIu-Z7eE-QNF-Y,9461
|
|
447
|
+
flwr/supernode/servicer/__init__.py,sha256=lucTzre5WPK7G1YLCfaqg3rbFWdNSb7ZTt-ca8gxdEo,717
|
|
448
|
+
flwr/supernode/servicer/clientappio/__init__.py,sha256=7Oy62Y_oijqF7Dxi6tpcUQyOpLc_QpIRZ83NvwmB0Yg,813
|
|
449
|
+
flwr/supernode/servicer/clientappio/clientappio_servicer.py,sha256=beWxBHsOKyDRwSldSYac5ZF7oueCrZXC2j_qve3-tQ4,11327
|
|
450
|
+
flwr/supernode/start_client_internal.py,sha256=kY_i6JJlD8VzuGtk4AzfM5La-3GQg4lpyuwQUh1pFCM,25930
|
|
451
|
+
flwr-1.24.0.dist-info/METADATA,sha256=vvDO-VQc7CUw_ObmirfE5wxVIA3LNtz_fjB3L1DzhNg,14593
|
|
452
|
+
flwr-1.24.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
453
|
+
flwr-1.24.0.dist-info/entry_points.txt,sha256=hxHD2ixb_vJFDOlZV-zB4Ao32_BQlL34ftsDh1GXv14,420
|
|
454
|
+
flwr-1.24.0.dist-info/RECORD,,
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
# Copyright 2025 Flower Labs GmbH. All Rights Reserved.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
# ==============================================================================
|
|
15
|
-
"""Abstract classes for Flower User Auth Plugin."""
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
from abc import ABC, abstractmethod
|
|
19
|
-
from collections.abc import Sequence
|
|
20
|
-
from pathlib import Path
|
|
21
|
-
from typing import Optional, Union
|
|
22
|
-
|
|
23
|
-
from flwr.common.typing import AccountInfo
|
|
24
|
-
from flwr.proto.control_pb2_grpc import ControlStub
|
|
25
|
-
|
|
26
|
-
from ..typing import UserAuthCredentials, UserAuthLoginDetails
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class ControlAuthPlugin(ABC):
|
|
30
|
-
"""Abstract Flower Auth Plugin class for ControlServicer.
|
|
31
|
-
|
|
32
|
-
Parameters
|
|
33
|
-
----------
|
|
34
|
-
user_auth_config_path : Path
|
|
35
|
-
Path to the YAML file containing the authentication configuration.
|
|
36
|
-
verify_tls_cert : bool
|
|
37
|
-
Boolean indicating whether to verify the TLS certificate
|
|
38
|
-
when making requests to the server.
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
@abstractmethod
|
|
42
|
-
def __init__(
|
|
43
|
-
self,
|
|
44
|
-
user_auth_config_path: Path,
|
|
45
|
-
verify_tls_cert: bool,
|
|
46
|
-
):
|
|
47
|
-
"""Abstract constructor."""
|
|
48
|
-
|
|
49
|
-
@abstractmethod
|
|
50
|
-
def get_login_details(self) -> Optional[UserAuthLoginDetails]:
|
|
51
|
-
"""Get the login details."""
|
|
52
|
-
|
|
53
|
-
@abstractmethod
|
|
54
|
-
def validate_tokens_in_metadata(
|
|
55
|
-
self, metadata: Sequence[tuple[str, Union[str, bytes]]]
|
|
56
|
-
) -> tuple[bool, Optional[AccountInfo]]:
|
|
57
|
-
"""Validate authentication tokens in the provided metadata."""
|
|
58
|
-
|
|
59
|
-
@abstractmethod
|
|
60
|
-
def get_auth_tokens(self, device_code: str) -> Optional[UserAuthCredentials]:
|
|
61
|
-
"""Get authentication tokens."""
|
|
62
|
-
|
|
63
|
-
@abstractmethod
|
|
64
|
-
def refresh_tokens(
|
|
65
|
-
self, metadata: Sequence[tuple[str, Union[str, bytes]]]
|
|
66
|
-
) -> tuple[
|
|
67
|
-
Optional[Sequence[tuple[str, Union[str, bytes]]]], Optional[AccountInfo]
|
|
68
|
-
]:
|
|
69
|
-
"""Refresh authentication tokens in the provided metadata."""
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
class ControlAuthzPlugin(ABC): # pylint: disable=too-few-public-methods
|
|
73
|
-
"""Abstract Flower Authorization Plugin class for ControlServicer.
|
|
74
|
-
|
|
75
|
-
Parameters
|
|
76
|
-
----------
|
|
77
|
-
user_auth_config_path : Path
|
|
78
|
-
Path to the YAML file containing the authorization configuration.
|
|
79
|
-
verify_tls_cert : bool
|
|
80
|
-
Boolean indicating whether to verify the TLS certificate
|
|
81
|
-
when making requests to the server.
|
|
82
|
-
"""
|
|
83
|
-
|
|
84
|
-
@abstractmethod
|
|
85
|
-
def __init__(self, user_auth_config_path: Path, verify_tls_cert: bool):
|
|
86
|
-
"""Abstract constructor."""
|
|
87
|
-
|
|
88
|
-
@abstractmethod
|
|
89
|
-
def verify_user_authorization(self, account_info: AccountInfo) -> bool:
|
|
90
|
-
"""Verify user authorization request."""
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
class CliAuthPlugin(ABC):
|
|
94
|
-
"""Abstract Flower Auth Plugin class for CLI.
|
|
95
|
-
|
|
96
|
-
Parameters
|
|
97
|
-
----------
|
|
98
|
-
credentials_path : Path
|
|
99
|
-
Path to the user's authentication credentials file.
|
|
100
|
-
"""
|
|
101
|
-
|
|
102
|
-
@staticmethod
|
|
103
|
-
@abstractmethod
|
|
104
|
-
def login(
|
|
105
|
-
login_details: UserAuthLoginDetails,
|
|
106
|
-
control_stub: ControlStub,
|
|
107
|
-
) -> UserAuthCredentials:
|
|
108
|
-
"""Authenticate the user and retrieve authentication credentials.
|
|
109
|
-
|
|
110
|
-
Parameters
|
|
111
|
-
----------
|
|
112
|
-
login_details : UserAuthLoginDetails
|
|
113
|
-
An object containing the user's login details.
|
|
114
|
-
control_stub : ControlStub
|
|
115
|
-
A stub for executing RPC calls to the server.
|
|
116
|
-
|
|
117
|
-
Returns
|
|
118
|
-
-------
|
|
119
|
-
UserAuthCredentials
|
|
120
|
-
The authentication credentials obtained after login.
|
|
121
|
-
"""
|
|
122
|
-
|
|
123
|
-
@abstractmethod
|
|
124
|
-
def __init__(self, credentials_path: Path):
|
|
125
|
-
"""Abstract constructor."""
|
|
126
|
-
|
|
127
|
-
@abstractmethod
|
|
128
|
-
def store_tokens(self, credentials: UserAuthCredentials) -> None:
|
|
129
|
-
"""Store authentication tokens to the `credentials_path`.
|
|
130
|
-
|
|
131
|
-
The credentials, including tokens, will be saved as a JSON file
|
|
132
|
-
at `credentials_path`.
|
|
133
|
-
"""
|
|
134
|
-
|
|
135
|
-
@abstractmethod
|
|
136
|
-
def load_tokens(self) -> None:
|
|
137
|
-
"""Load authentication tokens from the `credentials_path`."""
|
|
138
|
-
|
|
139
|
-
@abstractmethod
|
|
140
|
-
def write_tokens_to_metadata(
|
|
141
|
-
self, metadata: Sequence[tuple[str, Union[str, bytes]]]
|
|
142
|
-
) -> Sequence[tuple[str, Union[str, bytes]]]:
|
|
143
|
-
"""Write authentication tokens to the provided metadata."""
|
|
144
|
-
|
|
145
|
-
@abstractmethod
|
|
146
|
-
def read_tokens_from_metadata(
|
|
147
|
-
self, metadata: Sequence[tuple[str, Union[str, bytes]]]
|
|
148
|
-
) -> Optional[UserAuthCredentials]:
|
|
149
|
-
"""Read authentication tokens from the provided metadata."""
|