flwr-nightly 1.23.0.dev20251027__tar.gz → 1.23.0.dev20251029__tar.gz
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_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/PKG-INFO +1 -1
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/build.py +118 -47
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/run/run.py +8 -4
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_rere_client/grpc_adapter.py +32 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/constant.py +11 -1
- flwr_nightly-1.23.0.dev20251029/py/flwr/proto/fleet_pb2.py +69 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fleet_pb2.pyi +80 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fleet_pb2_grpc.py +136 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fleet_pb2_grpc.pyi +52 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +17 -1
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +52 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +48 -19
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/in_memory_linkstate.py +50 -5
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/linkstate.py +39 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/sqlite_linkstate.py +84 -19
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/pyproject.toml +1 -1
- flwr_nightly-1.23.0.dev20251027/py/flwr/proto/fleet_pb2.py +0 -53
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/README.md +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/app/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/app/error.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/app/exception.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/app/metadata.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/auth_plugin/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/auth_plugin/auth_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/auth_plugin/noop_auth_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/auth_plugin/oidc_cli_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/cli_account_auth_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/config_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/constant.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/example.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/install.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/log.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/login/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/login/login.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/ls.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/new.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/LICENSE.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/README.baseline.md.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/client.xgboost.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/server.xgboost.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/task.xgboost.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/pull.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/run/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/stop.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/supernode/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/supernode/ls.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/supernode/register.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/supernode/unregister.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/cli/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/client.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/dpfedavg_numpy_client.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_adapter_client/connection.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_rere_client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_rere_client/connection.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/grpc_rere_client/node_auth_client_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/message_handler/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/centraldp_mods.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/comms_mods.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/localdp_mod.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/mod/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/numpy_client.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/rest_client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/rest_client/connection.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/run_info_store.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/client/typing.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/client_app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/mod/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/mod/centraldp_mods.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/mod/localdp_mod.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/typing.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/clientapp/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/address.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/args.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/config.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/context.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/date.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/differential_privacy.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/differential_privacy_constants.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/dp.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/event_log_plugin/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/event_log_plugin/event_log_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/exit.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/exit_code.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/exit_handler.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/exit/signal_handler.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/heartbeat.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/inflatable.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/inflatable_protobuf_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/inflatable_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/logger.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/message.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/object_ref.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/parameter.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/pyproject.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/array.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/arraychunk.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/arrayrecord.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/configrecord.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/conversion_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/metricrecord.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/recorddict.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/record/typeddict.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/recorddict_compat.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/retry_invoker.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/quantization.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/serde.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/serde_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/telemetry.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/typing.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/version.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/client/app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/client/grpc_client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/client/grpc_client/connection.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/common/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/server/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/server/app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/compat/simulation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/appio_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/appio_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/appio_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/appio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/clientappio_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/clientappio_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/clientappio_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/clientappio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/control_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/control_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/control_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/control_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/error_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/error_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/error_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/error_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fab_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fab_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fab_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/grpcadapter_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/heartbeat_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/heartbeat_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/heartbeat_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/heartbeat_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/log_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/log_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/log_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/log_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/message_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/message_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/message_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/message_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/node_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/node_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/node_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/node_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/recorddict_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/recorddict_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/recorddict_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/recorddict_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/run_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/run_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/run_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/run_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/serverappio_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/serverappio_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/serverappio_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/serverappio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/simulationio_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/simulationio_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/simulationio_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/simulationio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/transport_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/transport_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/transport_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/py.typed +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/client_manager.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/client_proxy.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/app_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/grid_client_proxy.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/compat/legacy_context.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/criterion.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/fleet_event_log_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/grid/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/grid/grid.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/grid/grpc_grid.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/grid/inmemory_grid.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/history.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/run_serverapp.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/server.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/server_app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/server_config.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/serverapp/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/serverapp/app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/serverapp_components.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/aggregate.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/bulyan.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedadagrad.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedadam.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedavg_android.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedavgm.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedmedian.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedopt.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedprox.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/fedyogi.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/krum.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/qfedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/strategy/strategy.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/grpc_rere/node_auth_server_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/linkstate_factory.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/linkstate/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/serverappio/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/serverappio/serverappio_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/serverappio/serverappio_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/simulation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/simulation/simulationio_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/simulation/simulationio_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/superlink/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/typing.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/utils/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/utils/tensorboard.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/utils/validator.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/constant.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/default_workflows.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/exception.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/bulyan.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/dp_adaptive_clipping.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/dp_fixed_clipping.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedadagrad.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedadam.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedavgm.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedmedian.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedopt.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedprox.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedtrimmedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedxgb_bagging.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedxgb_cyclic.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/fedyogi.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/krum.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/multikrum.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/qfedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/result.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/strategy.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/serverapp/strategy/strategy_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/legacy_app.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/ray_transport/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/ray_transport/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/run_simulation.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/simulation/simulationio_connection.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/app_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/cli/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/cli/flower_superexec.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/constant.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/corestate/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/corestate/corestate.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/ffs/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/ffs/disk_ffs.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/ffs/ffs.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/ffs/ffs_factory.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/grpc_health/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/grpc_health/health_server.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/grpc_health/simple_health_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/license_plugin/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/license_plugin/license_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/in_memory_object_store.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/object_store.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/object_store_factory.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/sqlite_object_store.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/object_store/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/primitives/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/primitives/asymmetric.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/primitives/asymmetric_ed25519.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/sqlite_mixin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/base_exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/serverapp_exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/plugin/simulation_exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/superexec/run_superexec.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supercore/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/artifact_provider/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/artifact_provider/artifact_provider.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/auth_plugin/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/auth_plugin/auth_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/auth_plugin/noop_auth_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_account_auth_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_event_log_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_license_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/superlink/servicer/control/control_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/cli/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/cli/flower_supernode.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/cli/flwr_clientapp.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/nodestate/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/nodestate/in_memory_nodestate.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/nodestate/nodestate.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/nodestate/nodestate_factory.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/runtime/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/runtime/run_clientapp.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/servicer/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/servicer/clientappio/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/servicer/clientappio/clientappio_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/supernode/start_client_internal.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: flwr-nightly
|
|
3
|
-
Version: 1.23.0.
|
|
3
|
+
Version: 1.23.0.dev20251029
|
|
4
4
|
Summary: Flower: A Friendly Federated AI Framework
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: Artificial Intelligence,Federated AI,Federated Analytics,Federated Evaluation,Federated Learning,Flower,Machine Learning
|
|
@@ -17,22 +17,25 @@
|
|
|
17
17
|
|
|
18
18
|
import hashlib
|
|
19
19
|
import zipfile
|
|
20
|
+
from collections.abc import Iterable
|
|
20
21
|
from io import BytesIO
|
|
21
22
|
from pathlib import Path
|
|
22
23
|
from typing import Annotated, Any, Optional, Union
|
|
23
24
|
|
|
24
25
|
import pathspec
|
|
26
|
+
import tomli
|
|
25
27
|
import tomli_w
|
|
26
28
|
import typer
|
|
27
29
|
|
|
28
30
|
from flwr.common.constant import (
|
|
29
|
-
|
|
31
|
+
FAB_CONFIG_FILE,
|
|
30
32
|
FAB_DATE,
|
|
33
|
+
FAB_EXCLUDE_PATTERNS,
|
|
31
34
|
FAB_HASH_TRUNCATION,
|
|
35
|
+
FAB_INCLUDE_PATTERNS,
|
|
32
36
|
FAB_MAX_SIZE,
|
|
33
37
|
)
|
|
34
38
|
|
|
35
|
-
from .config_utils import load as load_toml
|
|
36
39
|
from .config_utils import load_and_validate
|
|
37
40
|
from .utils import is_valid_project_name
|
|
38
41
|
|
|
@@ -112,7 +115,10 @@ def build(
|
|
|
112
115
|
)
|
|
113
116
|
|
|
114
117
|
# Build FAB
|
|
115
|
-
fab_bytes
|
|
118
|
+
fab_bytes = build_fab_from_disk(app)
|
|
119
|
+
|
|
120
|
+
# Calculate hash for filename
|
|
121
|
+
fab_hash = hashlib.sha256(fab_bytes).hexdigest()
|
|
116
122
|
|
|
117
123
|
# Get the name of the zip file
|
|
118
124
|
fab_filename = get_fab_filename(config, fab_hash)
|
|
@@ -125,11 +131,10 @@ def build(
|
|
|
125
131
|
)
|
|
126
132
|
|
|
127
133
|
|
|
128
|
-
def
|
|
129
|
-
"""Build a FAB
|
|
134
|
+
def build_fab_from_disk(app: Path) -> bytes:
|
|
135
|
+
"""Build a FAB from files on disk and return the FAB as bytes.
|
|
130
136
|
|
|
131
|
-
This function
|
|
132
|
-
bundles it into a FAB without performing additional validation.
|
|
137
|
+
This function reads files from disk and bundles them into a FAB.
|
|
133
138
|
|
|
134
139
|
Parameters
|
|
135
140
|
----------
|
|
@@ -138,18 +143,67 @@ def build_fab(app: Path) -> tuple[bytes, str, dict[str, Any]]:
|
|
|
138
143
|
|
|
139
144
|
Returns
|
|
140
145
|
-------
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
- the FAB as bytes
|
|
144
|
-
- the SHA256 hash of the FAB
|
|
145
|
-
- the project configuration (with the 'federations' field removed)
|
|
146
|
+
bytes
|
|
147
|
+
The FAB as bytes.
|
|
146
148
|
"""
|
|
147
149
|
app = app.resolve()
|
|
148
150
|
|
|
149
|
-
#
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
# Collect all files recursively (including pyproject.toml and .gitignore)
|
|
152
|
+
all_files = [f for f in app.rglob("*") if f.is_file()]
|
|
153
|
+
|
|
154
|
+
# Create dict mapping relative paths to Path objects
|
|
155
|
+
files_dict: dict[str, Union[bytes, Path]] = {
|
|
156
|
+
# Ensure consistent path separators across platforms
|
|
157
|
+
str(file_path.relative_to(app)).replace("\\", "/"): file_path
|
|
158
|
+
for file_path in all_files
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
# Build FAB from the files dict
|
|
162
|
+
return build_fab_from_files(files_dict)
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def build_fab_from_files(files: dict[str, Union[bytes, Path]]) -> bytes:
|
|
166
|
+
r"""Build a FAB from in-memory files and return the FAB as bytes.
|
|
167
|
+
|
|
168
|
+
This is the core FAB building function that works with in-memory data.
|
|
169
|
+
It accepts either bytes or Path objects as file contents, applies filtering
|
|
170
|
+
rules (include/exclude patterns), and builds the FAB.
|
|
171
|
+
|
|
172
|
+
Parameters
|
|
173
|
+
----------
|
|
174
|
+
files : dict[str, Union[bytes, Path]]
|
|
175
|
+
Dictionary mapping relative file paths to their contents.
|
|
176
|
+
- Keys: Relative paths (strings)
|
|
177
|
+
- Values: Either bytes (file contents) or Path (will be read)
|
|
178
|
+
Must include "pyproject.toml" and optionally ".gitignore".
|
|
179
|
+
|
|
180
|
+
Returns
|
|
181
|
+
-------
|
|
182
|
+
bytes
|
|
183
|
+
The FAB as bytes.
|
|
184
|
+
|
|
185
|
+
Examples
|
|
186
|
+
--------
|
|
187
|
+
Build a FAB from in-memory files::
|
|
188
|
+
|
|
189
|
+
files = {
|
|
190
|
+
"pyproject.toml": b"[project]\nname = 'myapp'\n...",
|
|
191
|
+
".gitignore": b"*.pyc\n__pycache__/\n",
|
|
192
|
+
"src/client.py": Path("/path/to/client.py"),
|
|
193
|
+
"src/server.py": b"print('hello')",
|
|
194
|
+
"README.md": b"# My App\n",
|
|
195
|
+
}
|
|
196
|
+
fab_bytes = build_fab_from_files(files)
|
|
197
|
+
"""
|
|
198
|
+
|
|
199
|
+
def to_bytes(content: Union[bytes, Path]) -> bytes:
|
|
200
|
+
return content.read_bytes() if isinstance(content, Path) else content
|
|
201
|
+
|
|
202
|
+
# Extract, load, and parse pyproject.toml
|
|
203
|
+
if FAB_CONFIG_FILE not in files:
|
|
204
|
+
raise ValueError(f"{FAB_CONFIG_FILE} not found in files")
|
|
205
|
+
pyproject_content = to_bytes(files[FAB_CONFIG_FILE])
|
|
206
|
+
config = tomli.loads(pyproject_content.decode("utf-8"))
|
|
153
207
|
|
|
154
208
|
# Remove the 'federations' field if it exists
|
|
155
209
|
if (
|
|
@@ -159,18 +213,22 @@ def build_fab(app: Path) -> tuple[bytes, str, dict[str, Any]]:
|
|
|
159
213
|
):
|
|
160
214
|
del config["tool"]["flwr"]["federations"]
|
|
161
215
|
|
|
162
|
-
#
|
|
163
|
-
|
|
216
|
+
# Extract and load .gitignore if present
|
|
217
|
+
gitignore_content = None
|
|
218
|
+
if ".gitignore" in files:
|
|
219
|
+
gitignore_content = to_bytes(files[".gitignore"])
|
|
220
|
+
|
|
221
|
+
# Get exclude and include specs
|
|
222
|
+
exclude_spec = get_fab_exclude_pathspec(gitignore_content)
|
|
223
|
+
include_spec = get_fab_include_pathspec()
|
|
164
224
|
|
|
165
|
-
#
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
for
|
|
169
|
-
if not
|
|
170
|
-
and f.suffix in FAB_ALLOWED_EXTENSIONS
|
|
171
|
-
and f.name != "pyproject.toml" # Exclude the original pyproject.toml
|
|
225
|
+
# Filter files based on include/exclude specs
|
|
226
|
+
filtered_paths = [
|
|
227
|
+
path.replace("\\", "/") # Ensure consistent path separators across platforms
|
|
228
|
+
for path in files.keys()
|
|
229
|
+
if include_spec.match_file(path) and not exclude_spec.match_file(path)
|
|
172
230
|
]
|
|
173
|
-
|
|
231
|
+
filtered_paths.sort() # Sort for deterministic output
|
|
174
232
|
|
|
175
233
|
# Create a zip file in memory
|
|
176
234
|
list_file_content = ""
|
|
@@ -178,41 +236,54 @@ def build_fab(app: Path) -> tuple[bytes, str, dict[str, Any]]:
|
|
|
178
236
|
fab_buffer = BytesIO()
|
|
179
237
|
with zipfile.ZipFile(fab_buffer, "w", zipfile.ZIP_DEFLATED) as fab_file:
|
|
180
238
|
# Add pyproject.toml
|
|
181
|
-
write_to_zip(fab_file,
|
|
239
|
+
write_to_zip(fab_file, FAB_CONFIG_FILE, tomli_w.dumps(config))
|
|
182
240
|
|
|
183
|
-
for file_path in
|
|
184
|
-
# Read the file content manually
|
|
185
|
-
file_contents = file_path.read_bytes()
|
|
241
|
+
for file_path in filtered_paths:
|
|
186
242
|
|
|
187
|
-
|
|
188
|
-
|
|
243
|
+
# Get file contents as bytes
|
|
244
|
+
file_content = to_bytes(files[file_path])
|
|
189
245
|
|
|
190
|
-
#
|
|
191
|
-
|
|
192
|
-
file_size_bits = len(file_contents) * 8 # size in bits
|
|
193
|
-
list_file_content += f"{archive_path},{sha256_hash},{file_size_bits}\n"
|
|
246
|
+
# Write file to FAB
|
|
247
|
+
write_to_zip(fab_file, file_path, file_content)
|
|
194
248
|
|
|
195
|
-
|
|
249
|
+
# Calculate file info for CONTENT manifest
|
|
250
|
+
sha256_hash = hashlib.sha256(file_content).hexdigest()
|
|
251
|
+
file_size_bits = len(file_content) * 8 # size in bits
|
|
252
|
+
list_file_content += f"{file_path},{sha256_hash},{file_size_bits}\n"
|
|
253
|
+
|
|
254
|
+
# Add CONTENT manifest to the zip file
|
|
196
255
|
write_to_zip(fab_file, ".info/CONTENT", list_file_content)
|
|
197
256
|
|
|
198
257
|
fab_bytes = fab_buffer.getvalue()
|
|
258
|
+
|
|
259
|
+
# Validate FAB size
|
|
199
260
|
if len(fab_bytes) > FAB_MAX_SIZE:
|
|
200
261
|
raise ValueError(
|
|
201
|
-
f"FAB size exceeds maximum allowed size of {FAB_MAX_SIZE:,} bytes."
|
|
262
|
+
f"FAB size exceeds maximum allowed size of {FAB_MAX_SIZE:,} bytes. "
|
|
202
263
|
"To reduce the package size, consider ignoring unnecessary files "
|
|
203
264
|
"via your `.gitignore` file or excluding them from the build."
|
|
204
265
|
)
|
|
205
266
|
|
|
206
|
-
|
|
267
|
+
return fab_bytes
|
|
207
268
|
|
|
208
|
-
return fab_bytes, fab_hash, config
|
|
209
269
|
|
|
270
|
+
def build_pathspec(patterns: Iterable[str]) -> pathspec.PathSpec:
|
|
271
|
+
"""Build a PathSpec from a list of patterns."""
|
|
272
|
+
return pathspec.PathSpec.from_lines("gitwildmatch", patterns)
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
def get_fab_include_pathspec() -> pathspec.PathSpec:
|
|
276
|
+
"""Get the PathSpec for files to include in a FAB."""
|
|
277
|
+
return build_pathspec(FAB_INCLUDE_PATTERNS)
|
|
210
278
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
279
|
+
|
|
280
|
+
def get_fab_exclude_pathspec(gitignore_content: Optional[bytes]) -> pathspec.PathSpec:
|
|
281
|
+
"""Get the PathSpec for files to exclude from a FAB.
|
|
282
|
+
|
|
283
|
+
If gitignore_content is provided, its patterns will be combined with the default
|
|
284
|
+
exclude patterns.
|
|
285
|
+
"""
|
|
286
|
+
patterns = list(FAB_EXCLUDE_PATTERNS)
|
|
287
|
+
if gitignore_content:
|
|
288
|
+
patterns += gitignore_content.decode("UTF-8").splitlines()
|
|
218
289
|
return pathspec.PathSpec.from_lines("gitwildmatch", patterns)
|
|
@@ -15,16 +15,18 @@
|
|
|
15
15
|
"""Flower command line interface `run` command."""
|
|
16
16
|
|
|
17
17
|
|
|
18
|
+
import hashlib
|
|
18
19
|
import io
|
|
19
20
|
import json
|
|
20
21
|
import subprocess
|
|
21
22
|
from pathlib import Path
|
|
22
|
-
from typing import Annotated, Any, Optional
|
|
23
|
+
from typing import Annotated, Any, Optional, cast
|
|
23
24
|
|
|
24
25
|
import typer
|
|
25
26
|
from rich.console import Console
|
|
26
27
|
|
|
27
|
-
from flwr.cli.build import
|
|
28
|
+
from flwr.cli.build import build_fab_from_disk, get_fab_filename
|
|
29
|
+
from flwr.cli.config_utils import load as load_toml
|
|
28
30
|
from flwr.cli.config_utils import (
|
|
29
31
|
load_and_validate,
|
|
30
32
|
process_loaded_project_config,
|
|
@@ -37,7 +39,7 @@ from flwr.common.config import (
|
|
|
37
39
|
parse_config_args,
|
|
38
40
|
user_config_to_configrecord,
|
|
39
41
|
)
|
|
40
|
-
from flwr.common.constant import CliOutputFormat
|
|
42
|
+
from flwr.common.constant import FAB_CONFIG_FILE, CliOutputFormat
|
|
41
43
|
from flwr.common.logger import print_json_error, redirect_output, restore_output
|
|
42
44
|
from flwr.common.serde import config_record_to_proto, fab_to_proto, user_config_to_proto
|
|
43
45
|
from flwr.common.typing import Fab
|
|
@@ -152,7 +154,9 @@ def _run_with_control_api(
|
|
|
152
154
|
channel = init_channel(app, federation_config, auth_plugin)
|
|
153
155
|
stub = ControlStub(channel)
|
|
154
156
|
|
|
155
|
-
fab_bytes
|
|
157
|
+
fab_bytes = build_fab_from_disk(app)
|
|
158
|
+
fab_hash = hashlib.sha256(fab_bytes).hexdigest()
|
|
159
|
+
config = cast(dict[str, Any], load_toml(app / FAB_CONFIG_FILE))
|
|
156
160
|
fab_id, fab_version = get_metadata_from_config(config)
|
|
157
161
|
|
|
158
162
|
fab = Fab(fab_hash, fab_bytes, {})
|
|
@@ -34,14 +34,22 @@ from flwr.common.constant import (
|
|
|
34
34
|
from flwr.common.version import package_name, package_version
|
|
35
35
|
from flwr.proto.fab_pb2 import GetFabRequest, GetFabResponse # pylint: disable=E0611
|
|
36
36
|
from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
|
|
37
|
+
ActivateNodeRequest,
|
|
38
|
+
ActivateNodeResponse,
|
|
37
39
|
CreateNodeRequest,
|
|
38
40
|
CreateNodeResponse,
|
|
41
|
+
DeactivateNodeRequest,
|
|
42
|
+
DeactivateNodeResponse,
|
|
39
43
|
DeleteNodeRequest,
|
|
40
44
|
DeleteNodeResponse,
|
|
41
45
|
PullMessagesRequest,
|
|
42
46
|
PullMessagesResponse,
|
|
43
47
|
PushMessagesRequest,
|
|
44
48
|
PushMessagesResponse,
|
|
49
|
+
RegisterNodeFleetRequest,
|
|
50
|
+
RegisterNodeFleetResponse,
|
|
51
|
+
UnregisterNodeFleetRequest,
|
|
52
|
+
UnregisterNodeFleetResponse,
|
|
45
53
|
)
|
|
46
54
|
from flwr.proto.grpcadapter_pb2 import MessageContainer # pylint: disable=E0611
|
|
47
55
|
from flwr.proto.grpcadapter_pb2_grpc import GrpcAdapterStub
|
|
@@ -130,6 +138,30 @@ class GrpcAdapter:
|
|
|
130
138
|
"""."""
|
|
131
139
|
return self._send_and_receive(request, DeleteNodeResponse, **kwargs)
|
|
132
140
|
|
|
141
|
+
def RegisterNode( # pylint: disable=C0103
|
|
142
|
+
self, request: RegisterNodeFleetRequest, **kwargs: Any
|
|
143
|
+
) -> RegisterNodeFleetResponse:
|
|
144
|
+
"""."""
|
|
145
|
+
return self._send_and_receive(request, RegisterNodeFleetResponse, **kwargs)
|
|
146
|
+
|
|
147
|
+
def ActivateNode( # pylint: disable=C0103
|
|
148
|
+
self, request: ActivateNodeRequest, **kwargs: Any
|
|
149
|
+
) -> ActivateNodeResponse:
|
|
150
|
+
"""."""
|
|
151
|
+
return self._send_and_receive(request, ActivateNodeResponse, **kwargs)
|
|
152
|
+
|
|
153
|
+
def DeactivateNode( # pylint: disable=C0103
|
|
154
|
+
self, request: DeactivateNodeRequest, **kwargs: Any
|
|
155
|
+
) -> DeactivateNodeResponse:
|
|
156
|
+
"""."""
|
|
157
|
+
return self._send_and_receive(request, DeactivateNodeResponse, **kwargs)
|
|
158
|
+
|
|
159
|
+
def UnregisterNode( # pylint: disable=C0103
|
|
160
|
+
self, request: UnregisterNodeFleetRequest, **kwargs: Any
|
|
161
|
+
) -> UnregisterNodeFleetResponse:
|
|
162
|
+
"""."""
|
|
163
|
+
return self._send_and_receive(request, UnregisterNodeFleetResponse, **kwargs)
|
|
164
|
+
|
|
133
165
|
def SendNodeHeartbeat( # pylint: disable=C0103
|
|
134
166
|
self, request: SendNodeHeartbeatRequest, **kwargs: Any
|
|
135
167
|
) -> SendNodeHeartbeatResponse:
|
{flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/common/constant.py
RENAMED
|
@@ -72,13 +72,23 @@ NODE_ID_NUM_BYTES = 8
|
|
|
72
72
|
|
|
73
73
|
# Constants for FAB
|
|
74
74
|
APP_DIR = "apps"
|
|
75
|
-
FAB_ALLOWED_EXTENSIONS = {".py", ".toml", ".md"}
|
|
76
75
|
FAB_CONFIG_FILE = "pyproject.toml"
|
|
77
76
|
FAB_DATE = (2024, 10, 1, 0, 0, 0)
|
|
78
77
|
FAB_HASH_TRUNCATION = 8
|
|
79
78
|
FAB_MAX_SIZE = 10 * 1024 * 1024 # 10 MB
|
|
80
79
|
FLWR_DIR = ".flwr" # The default Flower directory: ~/.flwr/
|
|
81
80
|
FLWR_HOME = "FLWR_HOME" # If set, override the default Flower directory
|
|
81
|
+
# FAB file include patterns (gitignore-style patterns)
|
|
82
|
+
FAB_INCLUDE_PATTERNS = (
|
|
83
|
+
"**/*.py",
|
|
84
|
+
"**/*.toml",
|
|
85
|
+
"**/*.md",
|
|
86
|
+
)
|
|
87
|
+
# FAB file exclude patterns (gitignore-style patterns)
|
|
88
|
+
FAB_EXCLUDE_PATTERNS = (
|
|
89
|
+
"**/__pycache__/**",
|
|
90
|
+
FAB_CONFIG_FILE, # Exclude the original pyproject.toml
|
|
91
|
+
)
|
|
82
92
|
|
|
83
93
|
# Constant for SuperLink
|
|
84
94
|
SUPERLINK_NODE_ID = 1
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: flwr/proto/fleet.proto
|
|
4
|
+
# Protobuf Python Version: 4.25.1
|
|
5
|
+
"""Generated protocol buffer code."""
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
from google.protobuf.internal import builder as _builder
|
|
10
|
+
# @@protoc_insertion_point(imports)
|
|
11
|
+
|
|
12
|
+
_sym_db = _symbol_database.Default()
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from flwr.proto import heartbeat_pb2 as flwr_dot_proto_dot_heartbeat__pb2
|
|
16
|
+
from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
|
|
17
|
+
from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
|
|
18
|
+
from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
|
|
19
|
+
from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x18\x66lwr/proto/message.proto\"C\n\x11\x43reateNodeRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x1a\n\x12heartbeat_interval\x18\x02 \x01(\x01\"4\n\x12\x43reateNodeResponse\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"3\n\x11\x44\x65leteNodeRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"\x14\n\x12\x44\x65leteNodeResponse\".\n\x18RegisterNodeFleetRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\"\x1b\n\x19RegisterNodeFleetResponse\"E\n\x13\x41\x63tivateNodeRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x1a\n\x12heartbeat_interval\x18\x02 \x01(\x01\"\'\n\x14\x41\x63tivateNodeResponse\x12\x0f\n\x07node_id\x18\x01 \x01(\x04\"(\n\x15\x44\x65\x61\x63tivateNodeRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x04\"\x18\n\x16\x44\x65\x61\x63tivateNodeResponse\"-\n\x1aUnregisterNodeFleetRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x04\"\x1d\n\x1bUnregisterNodeFleetResponse\"J\n\x13PullMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x13\n\x0bmessage_ids\x18\x02 \x03(\t\"\xa2\x01\n\x14PullMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\x97\x01\n\x13PushMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\xc9\x01\n\x14PushMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12>\n\x07results\x18\x02 \x03(\x0b\x32-.flwr.proto.PushMessagesResponse.ResultsEntry\x12\x17\n\x0fobjects_to_push\x18\x03 \x03(\t\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\xbe\t\n\x05\x46leet\x12M\n\nCreateNode\x12\x1d.flwr.proto.CreateNodeRequest\x1a\x1e.flwr.proto.CreateNodeResponse\"\x00\x12M\n\nDeleteNode\x12\x1d.flwr.proto.DeleteNodeRequest\x1a\x1e.flwr.proto.DeleteNodeResponse\"\x00\x12]\n\x0cRegisterNode\x12$.flwr.proto.RegisterNodeFleetRequest\x1a%.flwr.proto.RegisterNodeFleetResponse\"\x00\x12S\n\x0c\x41\x63tivateNode\x12\x1f.flwr.proto.ActivateNodeRequest\x1a .flwr.proto.ActivateNodeResponse\"\x00\x12Y\n\x0e\x44\x65\x61\x63tivateNode\x12!.flwr.proto.DeactivateNodeRequest\x1a\".flwr.proto.DeactivateNodeResponse\"\x00\x12\x63\n\x0eUnregisterNode\x12&.flwr.proto.UnregisterNodeFleetRequest\x1a\'.flwr.proto.UnregisterNodeFleetResponse\"\x00\x12\x62\n\x11SendNodeHeartbeat\x12$.flwr.proto.SendNodeHeartbeatRequest\x1a%.flwr.proto.SendNodeHeartbeatResponse\"\x00\x12S\n\x0cPullMessages\x12\x1f.flwr.proto.PullMessagesRequest\x1a .flwr.proto.PullMessagesResponse\"\x00\x12S\n\x0cPushMessages\x12\x1f.flwr.proto.PushMessagesRequest\x1a .flwr.proto.PushMessagesResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x12M\n\nPushObject\x12\x1d.flwr.proto.PushObjectRequest\x1a\x1e.flwr.proto.PushObjectResponse\"\x00\x12M\n\nPullObject\x12\x1d.flwr.proto.PullObjectRequest\x1a\x1e.flwr.proto.PullObjectResponse\"\x00\x12q\n\x16\x43onfirmMessageReceived\x12).flwr.proto.ConfirmMessageReceivedRequest\x1a*.flwr.proto.ConfirmMessageReceivedResponse\"\x00\x62\x06proto3')
|
|
23
|
+
|
|
24
|
+
_globals = globals()
|
|
25
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
26
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.fleet_pb2', _globals)
|
|
27
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
28
|
+
DESCRIPTOR._options = None
|
|
29
|
+
_globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._options = None
|
|
30
|
+
_globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_options = b'8\001'
|
|
31
|
+
_globals['_CREATENODEREQUEST']._serialized_start=159
|
|
32
|
+
_globals['_CREATENODEREQUEST']._serialized_end=226
|
|
33
|
+
_globals['_CREATENODERESPONSE']._serialized_start=228
|
|
34
|
+
_globals['_CREATENODERESPONSE']._serialized_end=280
|
|
35
|
+
_globals['_DELETENODEREQUEST']._serialized_start=282
|
|
36
|
+
_globals['_DELETENODEREQUEST']._serialized_end=333
|
|
37
|
+
_globals['_DELETENODERESPONSE']._serialized_start=335
|
|
38
|
+
_globals['_DELETENODERESPONSE']._serialized_end=355
|
|
39
|
+
_globals['_REGISTERNODEFLEETREQUEST']._serialized_start=357
|
|
40
|
+
_globals['_REGISTERNODEFLEETREQUEST']._serialized_end=403
|
|
41
|
+
_globals['_REGISTERNODEFLEETRESPONSE']._serialized_start=405
|
|
42
|
+
_globals['_REGISTERNODEFLEETRESPONSE']._serialized_end=432
|
|
43
|
+
_globals['_ACTIVATENODEREQUEST']._serialized_start=434
|
|
44
|
+
_globals['_ACTIVATENODEREQUEST']._serialized_end=503
|
|
45
|
+
_globals['_ACTIVATENODERESPONSE']._serialized_start=505
|
|
46
|
+
_globals['_ACTIVATENODERESPONSE']._serialized_end=544
|
|
47
|
+
_globals['_DEACTIVATENODEREQUEST']._serialized_start=546
|
|
48
|
+
_globals['_DEACTIVATENODEREQUEST']._serialized_end=586
|
|
49
|
+
_globals['_DEACTIVATENODERESPONSE']._serialized_start=588
|
|
50
|
+
_globals['_DEACTIVATENODERESPONSE']._serialized_end=612
|
|
51
|
+
_globals['_UNREGISTERNODEFLEETREQUEST']._serialized_start=614
|
|
52
|
+
_globals['_UNREGISTERNODEFLEETREQUEST']._serialized_end=659
|
|
53
|
+
_globals['_UNREGISTERNODEFLEETRESPONSE']._serialized_start=661
|
|
54
|
+
_globals['_UNREGISTERNODEFLEETRESPONSE']._serialized_end=690
|
|
55
|
+
_globals['_PULLMESSAGESREQUEST']._serialized_start=692
|
|
56
|
+
_globals['_PULLMESSAGESREQUEST']._serialized_end=766
|
|
57
|
+
_globals['_PULLMESSAGESRESPONSE']._serialized_start=769
|
|
58
|
+
_globals['_PULLMESSAGESRESPONSE']._serialized_end=931
|
|
59
|
+
_globals['_PUSHMESSAGESREQUEST']._serialized_start=934
|
|
60
|
+
_globals['_PUSHMESSAGESREQUEST']._serialized_end=1085
|
|
61
|
+
_globals['_PUSHMESSAGESRESPONSE']._serialized_start=1088
|
|
62
|
+
_globals['_PUSHMESSAGESRESPONSE']._serialized_end=1289
|
|
63
|
+
_globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_start=1243
|
|
64
|
+
_globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_end=1289
|
|
65
|
+
_globals['_RECONNECT']._serialized_start=1291
|
|
66
|
+
_globals['_RECONNECT']._serialized_end=1321
|
|
67
|
+
_globals['_FLEET']._serialized_start=1324
|
|
68
|
+
_globals['_FLEET']._serialized_end=2538
|
|
69
|
+
# @@protoc_insertion_point(module_scope)
|
{flwr_nightly-1.23.0.dev20251027 → flwr_nightly-1.23.0.dev20251029}/py/flwr/proto/fleet_pb2.pyi
RENAMED
|
@@ -61,6 +61,86 @@ class DeleteNodeResponse(google.protobuf.message.Message):
|
|
|
61
61
|
) -> None: ...
|
|
62
62
|
global___DeleteNodeResponse = DeleteNodeResponse
|
|
63
63
|
|
|
64
|
+
class RegisterNodeFleetRequest(google.protobuf.message.Message):
|
|
65
|
+
"""RegisterNode messages (add prefix to avoid name clash)"""
|
|
66
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
67
|
+
PUBLIC_KEY_FIELD_NUMBER: builtins.int
|
|
68
|
+
public_key: builtins.bytes
|
|
69
|
+
def __init__(self,
|
|
70
|
+
*,
|
|
71
|
+
public_key: builtins.bytes = ...,
|
|
72
|
+
) -> None: ...
|
|
73
|
+
def ClearField(self, field_name: typing_extensions.Literal["public_key",b"public_key"]) -> None: ...
|
|
74
|
+
global___RegisterNodeFleetRequest = RegisterNodeFleetRequest
|
|
75
|
+
|
|
76
|
+
class RegisterNodeFleetResponse(google.protobuf.message.Message):
|
|
77
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
78
|
+
def __init__(self,
|
|
79
|
+
) -> None: ...
|
|
80
|
+
global___RegisterNodeFleetResponse = RegisterNodeFleetResponse
|
|
81
|
+
|
|
82
|
+
class ActivateNodeRequest(google.protobuf.message.Message):
|
|
83
|
+
"""ActivateNode messages"""
|
|
84
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
85
|
+
PUBLIC_KEY_FIELD_NUMBER: builtins.int
|
|
86
|
+
HEARTBEAT_INTERVAL_FIELD_NUMBER: builtins.int
|
|
87
|
+
public_key: builtins.bytes
|
|
88
|
+
heartbeat_interval: builtins.float
|
|
89
|
+
def __init__(self,
|
|
90
|
+
*,
|
|
91
|
+
public_key: builtins.bytes = ...,
|
|
92
|
+
heartbeat_interval: builtins.float = ...,
|
|
93
|
+
) -> None: ...
|
|
94
|
+
def ClearField(self, field_name: typing_extensions.Literal["heartbeat_interval",b"heartbeat_interval","public_key",b"public_key"]) -> None: ...
|
|
95
|
+
global___ActivateNodeRequest = ActivateNodeRequest
|
|
96
|
+
|
|
97
|
+
class ActivateNodeResponse(google.protobuf.message.Message):
|
|
98
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
99
|
+
NODE_ID_FIELD_NUMBER: builtins.int
|
|
100
|
+
node_id: builtins.int
|
|
101
|
+
def __init__(self,
|
|
102
|
+
*,
|
|
103
|
+
node_id: builtins.int = ...,
|
|
104
|
+
) -> None: ...
|
|
105
|
+
def ClearField(self, field_name: typing_extensions.Literal["node_id",b"node_id"]) -> None: ...
|
|
106
|
+
global___ActivateNodeResponse = ActivateNodeResponse
|
|
107
|
+
|
|
108
|
+
class DeactivateNodeRequest(google.protobuf.message.Message):
|
|
109
|
+
"""DeactivateNode messages"""
|
|
110
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
111
|
+
NODE_ID_FIELD_NUMBER: builtins.int
|
|
112
|
+
node_id: builtins.int
|
|
113
|
+
def __init__(self,
|
|
114
|
+
*,
|
|
115
|
+
node_id: builtins.int = ...,
|
|
116
|
+
) -> None: ...
|
|
117
|
+
def ClearField(self, field_name: typing_extensions.Literal["node_id",b"node_id"]) -> None: ...
|
|
118
|
+
global___DeactivateNodeRequest = DeactivateNodeRequest
|
|
119
|
+
|
|
120
|
+
class DeactivateNodeResponse(google.protobuf.message.Message):
|
|
121
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
122
|
+
def __init__(self,
|
|
123
|
+
) -> None: ...
|
|
124
|
+
global___DeactivateNodeResponse = DeactivateNodeResponse
|
|
125
|
+
|
|
126
|
+
class UnregisterNodeFleetRequest(google.protobuf.message.Message):
|
|
127
|
+
"""UnregisterNode messages (add prefix to avoid name clash)"""
|
|
128
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
129
|
+
NODE_ID_FIELD_NUMBER: builtins.int
|
|
130
|
+
node_id: builtins.int
|
|
131
|
+
def __init__(self,
|
|
132
|
+
*,
|
|
133
|
+
node_id: builtins.int = ...,
|
|
134
|
+
) -> None: ...
|
|
135
|
+
def ClearField(self, field_name: typing_extensions.Literal["node_id",b"node_id"]) -> None: ...
|
|
136
|
+
global___UnregisterNodeFleetRequest = UnregisterNodeFleetRequest
|
|
137
|
+
|
|
138
|
+
class UnregisterNodeFleetResponse(google.protobuf.message.Message):
|
|
139
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
140
|
+
def __init__(self,
|
|
141
|
+
) -> None: ...
|
|
142
|
+
global___UnregisterNodeFleetResponse = UnregisterNodeFleetResponse
|
|
143
|
+
|
|
64
144
|
class PullMessagesRequest(google.protobuf.message.Message):
|
|
65
145
|
"""PullMessages messages"""
|
|
66
146
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|