flwr-nightly 1.20.0.dev20250715__tar.gz → 1.20.0.dev20250716__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.
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/PKG-INFO +1 -1
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/grpc_rere_client/connection.py +7 -7
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/rest_client/connection.py +8 -7
- flwr_nightly-1.20.0.dev20250715/py/flwr/common/inflatable_grpc_utils.py → flwr_nightly-1.20.0.dev20250716/py/flwr/common/inflatable_protobuf_utils.py +12 -10
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/grid/grpc_grid.py +7 -7
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/pyproject.toml +1 -1
- flwr_nightly-1.20.0.dev20250715/py/flwr/common/inflatable_rest_utils.py +0 -99
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/README.md +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/app/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/app/error.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/app/metadata.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/auth_plugin/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/auth_plugin/oidc_cli_plugin.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/build.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/cli_user_auth_interceptor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/config_utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/constant.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/example.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/install.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/log.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/login/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/login/login.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/ls.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/new.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/LICENSE.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/README.baseline.md.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/run/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/run/run.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/stop.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/client.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/client_app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/clientapp/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/clientapp/utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/dpfedavg_numpy_client.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/grpc_adapter_client/connection.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/grpc_rere_client/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/grpc_rere_client/client_interceptor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/grpc_rere_client/grpc_adapter.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/message_handler/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/centraldp_mods.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/comms_mods.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/localdp_mod.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/numpy_client.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/rest_client/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/run_info_store.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/typing.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/clientapp/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/address.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/args.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/auth_plugin/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/auth_plugin/auth_plugin.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/config.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/constant.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/context.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/date.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/differential_privacy.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/differential_privacy_constants.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/dp.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/event_log_plugin/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/event_log_plugin/event_log_plugin.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/exit/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/exit/exit.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/exit/exit_code.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/exit_handlers.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/heartbeat.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/inflatable.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/inflatable_utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/logger.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/message.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/object_ref.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/parameter.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/pyproject.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/array.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/arraychunk.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/arrayrecord.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/configrecord.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/conversion_utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/metricrecord.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/recorddict.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/record/typeddict.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/recorddict_compat.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/retry_invoker.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/secure_aggregation/quantization.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/serde.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/serde_utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/telemetry.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/typing.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/version.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/client/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/client/app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/client/grpc_client/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/client/grpc_client/connection.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/common/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/server/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/server/app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/compat/simulation/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/appio_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/appio_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/appio_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/appio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/clientappio_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/clientappio_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/clientappio_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/clientappio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/error_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/error_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/error_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/error_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/exec_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/exec_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/exec_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/exec_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/fab_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/fab_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/fab_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/fleet_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/fleet_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/fleet_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/grpcadapter_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/heartbeat_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/heartbeat_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/heartbeat_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/heartbeat_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/log_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/log_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/log_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/log_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/message_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/message_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/message_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/message_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/node_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/node_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/node_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/node_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/recorddict_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/recorddict_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/recorddict_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/recorddict_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/run_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/run_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/run_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/run_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/serverappio_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/serverappio_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/serverappio_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/serverappio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/simulationio_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/simulationio_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/simulationio_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/simulationio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/transport_pb2.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/transport_pb2.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/transport_pb2_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/py.typed +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/client_manager.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/client_proxy.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/compat/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/compat/app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/compat/app_utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/compat/grid_client_proxy.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/compat/legacy_context.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/criterion.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/fleet_event_log_interceptor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/grid/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/grid/grid.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/grid/inmemory_grid.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/history.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/run_serverapp.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/server.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/server_app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/server_config.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/serverapp/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/serverapp/app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/serverapp_components.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/aggregate.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/bulyan.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedadagrad.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedadam.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedavg.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedavg_android.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedavgm.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedmedian.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedopt.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedprox.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/fedyogi.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/krum.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/qfedavg.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/strategy/strategy.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/linkstate/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/linkstate/in_memory_linkstate.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/linkstate/linkstate.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/linkstate/linkstate_factory.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/linkstate/sqlite_linkstate.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/linkstate/utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/serverappio/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/serverappio/serverappio_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/serverappio/serverappio_servicer.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/simulation/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/simulation/simulationio_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/simulation/simulationio_servicer.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/superlink/utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/typing.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/utils/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/utils/tensorboard.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/utils/validator.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/workflow/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/workflow/constant.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/workflow/default_workflows.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/serverapp/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/legacy_app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/ray_transport/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/ray_transport/utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/run_simulation.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/simulation/simulationio_connection.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/ffs/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/ffs/disk_ffs.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/ffs/ffs.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/ffs/ffs_factory.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/grpc_health/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/grpc_health/simple_health_servicer.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/license_plugin/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/license_plugin/license_plugin.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/object_store/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/object_store/in_memory_object_store.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/object_store/object_store.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/object_store/object_store_factory.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supercore/utils.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/app.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/deployment.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/exec_event_log_interceptor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/exec_grpc.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/exec_license_interceptor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/exec_servicer.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/exec_user_auth_interceptor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/executor.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superexec/simulation.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/superlink/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/cli/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/cli/flower_supernode.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/cli/flwr_clientapp.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/nodestate/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/nodestate/in_memory_nodestate.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/nodestate/nodestate.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/nodestate/nodestate_factory.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/runtime/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/runtime/run_clientapp.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/servicer/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/servicer/clientappio/__init__.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/supernode/servicer/clientappio/clientappio_servicer.py +0 -0
- {flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/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.20.0.
|
3
|
+
Version: 1.20.0.dev20250716
|
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
|
@@ -34,9 +34,9 @@ from flwr.common.inflatable import (
|
|
34
34
|
iterate_object_tree,
|
35
35
|
no_object_id_recompute,
|
36
36
|
)
|
37
|
-
from flwr.common.
|
38
|
-
|
39
|
-
|
37
|
+
from flwr.common.inflatable_protobuf_utils import (
|
38
|
+
make_pull_object_fn_protobuf,
|
39
|
+
make_push_object_fn_protobuf,
|
40
40
|
)
|
41
41
|
from flwr.common.inflatable_utils import (
|
42
42
|
inflate_object_from_contents,
|
@@ -277,8 +277,8 @@ def grpc_request_response( # pylint: disable=R0913,R0914,R0915,R0917
|
|
277
277
|
object_tree = response.message_object_trees[0]
|
278
278
|
all_object_contents = pull_objects(
|
279
279
|
[tree.object_id for tree in iterate_object_tree(object_tree)],
|
280
|
-
pull_object_fn=
|
281
|
-
|
280
|
+
pull_object_fn=make_pull_object_fn_protobuf(
|
281
|
+
pull_object_protobuf=stub.PullObject,
|
282
282
|
node=node,
|
283
283
|
run_id=run_id,
|
284
284
|
),
|
@@ -330,8 +330,8 @@ def grpc_request_response( # pylint: disable=R0913,R0914,R0915,R0917
|
|
330
330
|
)
|
331
331
|
push_objects(
|
332
332
|
all_objects,
|
333
|
-
push_object_fn=
|
334
|
-
|
333
|
+
push_object_fn=make_push_object_fn_protobuf(
|
334
|
+
push_object_protobuf=stub.PushObject,
|
335
335
|
node=node,
|
336
336
|
run_id=message.metadata.run_id,
|
337
337
|
),
|
@@ -14,6 +14,7 @@
|
|
14
14
|
# ==============================================================================
|
15
15
|
"""Contextmanager for a REST request-response channel to the Flower server."""
|
16
16
|
|
17
|
+
|
17
18
|
from collections.abc import Iterator
|
18
19
|
from contextlib import contextmanager
|
19
20
|
from logging import DEBUG, ERROR, INFO, WARN
|
@@ -33,9 +34,9 @@ from flwr.common.inflatable import (
|
|
33
34
|
iterate_object_tree,
|
34
35
|
no_object_id_recompute,
|
35
36
|
)
|
36
|
-
from flwr.common.
|
37
|
-
|
38
|
-
|
37
|
+
from flwr.common.inflatable_protobuf_utils import (
|
38
|
+
make_pull_object_fn_protobuf,
|
39
|
+
make_push_object_fn_protobuf,
|
39
40
|
)
|
40
41
|
from flwr.common.inflatable_utils import (
|
41
42
|
inflate_object_from_contents,
|
@@ -337,8 +338,8 @@ def http_request_response( # pylint: disable=R0913,R0914,R0915,R0917
|
|
337
338
|
object_tree = res.message_object_trees[0]
|
338
339
|
all_object_contents = pull_objects(
|
339
340
|
[tree.object_id for tree in iterate_object_tree(object_tree)],
|
340
|
-
pull_object_fn=
|
341
|
-
|
341
|
+
pull_object_fn=make_pull_object_fn_protobuf(
|
342
|
+
pull_object_protobuf=fn,
|
342
343
|
node=node,
|
343
344
|
run_id=run_id,
|
344
345
|
),
|
@@ -415,8 +416,8 @@ def http_request_response( # pylint: disable=R0913,R0914,R0915,R0917
|
|
415
416
|
try:
|
416
417
|
push_objects(
|
417
418
|
all_objects,
|
418
|
-
push_object_fn=
|
419
|
-
|
419
|
+
push_object_fn=make_push_object_fn_protobuf(
|
420
|
+
push_object_protobuf=fn,
|
420
421
|
node=node,
|
421
422
|
run_id=message_proto.metadata.run_id,
|
422
423
|
),
|
@@ -28,8 +28,8 @@ from flwr.proto.node_pb2 import Node # pylint: disable=E0611
|
|
28
28
|
from .inflatable_utils import ObjectIdNotPreregisteredError, ObjectUnavailableError
|
29
29
|
|
30
30
|
|
31
|
-
def
|
32
|
-
|
31
|
+
def make_pull_object_fn_protobuf(
|
32
|
+
pull_object_protobuf: Callable[[PullObjectRequest], PullObjectResponse],
|
33
33
|
node: Node,
|
34
34
|
run_id: int,
|
35
35
|
) -> Callable[[str], bytes]:
|
@@ -37,8 +37,9 @@ def make_pull_object_fn_grpc(
|
|
37
37
|
|
38
38
|
Parameters
|
39
39
|
----------
|
40
|
-
|
41
|
-
|
40
|
+
pull_object_protobuf : Callable[[PullObjectRequest], PullObjectResponse]
|
41
|
+
A callable that takes a `PullObjectRequest` and returns a `PullObjectResponse`.
|
42
|
+
This function is typically backed by a gRPC client stub.
|
42
43
|
node : Node
|
43
44
|
The node making the request.
|
44
45
|
run_id : int
|
@@ -54,7 +55,7 @@ def make_pull_object_fn_grpc(
|
|
54
55
|
|
55
56
|
def pull_object_fn(object_id: str) -> bytes:
|
56
57
|
request = PullObjectRequest(node=node, run_id=run_id, object_id=object_id)
|
57
|
-
response: PullObjectResponse =
|
58
|
+
response: PullObjectResponse = pull_object_protobuf(request)
|
58
59
|
if not response.object_found:
|
59
60
|
raise ObjectIdNotPreregisteredError(object_id)
|
60
61
|
if not response.object_available:
|
@@ -64,8 +65,8 @@ def make_pull_object_fn_grpc(
|
|
64
65
|
return pull_object_fn
|
65
66
|
|
66
67
|
|
67
|
-
def
|
68
|
-
|
68
|
+
def make_push_object_fn_protobuf(
|
69
|
+
push_object_protobuf: Callable[[PushObjectRequest], PushObjectResponse],
|
69
70
|
node: Node,
|
70
71
|
run_id: int,
|
71
72
|
) -> Callable[[str, bytes], None]:
|
@@ -73,8 +74,9 @@ def make_push_object_fn_grpc(
|
|
73
74
|
|
74
75
|
Parameters
|
75
76
|
----------
|
76
|
-
|
77
|
-
|
77
|
+
push_object_protobuf : Callable[[PushObjectRequest], PushObjectResponse]
|
78
|
+
A callable that takes a `PushObjectRequest` and returns a `PushObjectResponse`.
|
79
|
+
This function is typically backed by a gRPC client stub.
|
78
80
|
node : Node
|
79
81
|
The node making the request.
|
80
82
|
run_id : int
|
@@ -92,7 +94,7 @@ def make_push_object_fn_grpc(
|
|
92
94
|
request = PushObjectRequest(
|
93
95
|
node=node, run_id=run_id, object_id=object_id, object_content=object_content
|
94
96
|
)
|
95
|
-
response: PushObjectResponse =
|
97
|
+
response: PushObjectResponse = push_object_protobuf(request)
|
96
98
|
if not response.stored:
|
97
99
|
raise ObjectIdNotPreregisteredError(object_id)
|
98
100
|
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/server/grid/grpc_grid.py
RENAMED
@@ -33,9 +33,9 @@ from flwr.common.inflatable import (
|
|
33
33
|
get_object_tree,
|
34
34
|
no_object_id_recompute,
|
35
35
|
)
|
36
|
-
from flwr.common.
|
37
|
-
|
38
|
-
|
36
|
+
from flwr.common.inflatable_protobuf_utils import (
|
37
|
+
make_pull_object_fn_protobuf,
|
38
|
+
make_push_object_fn_protobuf,
|
39
39
|
)
|
40
40
|
from flwr.common.inflatable_utils import (
|
41
41
|
inflate_object_from_contents,
|
@@ -240,8 +240,8 @@ class GrpcGrid(Grid):
|
|
240
240
|
# Push only object that are not in the store
|
241
241
|
push_objects(
|
242
242
|
all_objects,
|
243
|
-
push_object_fn=
|
244
|
-
|
243
|
+
push_object_fn=make_push_object_fn_protobuf(
|
244
|
+
push_object_protobuf=self._stub.PushObject,
|
245
245
|
node=self.node,
|
246
246
|
run_id=run_id,
|
247
247
|
),
|
@@ -308,8 +308,8 @@ class GrpcGrid(Grid):
|
|
308
308
|
msg_id = msg_proto.metadata.message_id
|
309
309
|
all_object_contents = pull_objects(
|
310
310
|
list(res.objects_to_pull[msg_id].object_ids) + [msg_id],
|
311
|
-
pull_object_fn=
|
312
|
-
|
311
|
+
pull_object_fn=make_pull_object_fn_protobuf(
|
312
|
+
pull_object_protobuf=self._stub.PullObject,
|
313
313
|
node=self.node,
|
314
314
|
run_id=run_id,
|
315
315
|
),
|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
4
4
|
|
5
5
|
[tool.poetry]
|
6
6
|
name = "flwr-nightly"
|
7
|
-
version = "1.20.0.
|
7
|
+
version = "1.20.0.dev20250716"
|
8
8
|
description = "Flower: A Friendly Federated AI Framework"
|
9
9
|
license = "Apache-2.0"
|
10
10
|
authors = ["The Flower Authors <hello@flower.ai>"]
|
@@ -1,99 +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
|
-
"""InflatableObject REST utils."""
|
16
|
-
|
17
|
-
|
18
|
-
from typing import Callable
|
19
|
-
|
20
|
-
from flwr.proto.message_pb2 import ( # pylint: disable=E0611
|
21
|
-
PullObjectRequest,
|
22
|
-
PullObjectResponse,
|
23
|
-
PushObjectRequest,
|
24
|
-
PushObjectResponse,
|
25
|
-
)
|
26
|
-
from flwr.proto.node_pb2 import Node # pylint: disable=E0611
|
27
|
-
|
28
|
-
from .inflatable_utils import ObjectIdNotPreregisteredError, ObjectUnavailableError
|
29
|
-
|
30
|
-
|
31
|
-
def make_pull_object_fn_rest(
|
32
|
-
pull_object_rest: Callable[[PullObjectRequest], PullObjectResponse],
|
33
|
-
node: Node,
|
34
|
-
run_id: int,
|
35
|
-
) -> Callable[[str], bytes]:
|
36
|
-
"""Create a pull object function that uses REST to pull objects.
|
37
|
-
|
38
|
-
Parameters
|
39
|
-
----------
|
40
|
-
pull_object_rest : Callable[[PullObjectRequest], PullObjectResponse]
|
41
|
-
A function that makes a POST request against the `/push-object` REST endpoint
|
42
|
-
node : Node
|
43
|
-
The node making the request.
|
44
|
-
run_id : int
|
45
|
-
The run ID for the current operation.
|
46
|
-
|
47
|
-
Returns
|
48
|
-
-------
|
49
|
-
Callable[[str], bytes]
|
50
|
-
A function that takes an object ID and returns the object content as bytes.
|
51
|
-
The function raises `ObjectIdNotPreregisteredError` if the object ID is not
|
52
|
-
pre-registered, or `ObjectUnavailableError` if the object is not yet available.
|
53
|
-
"""
|
54
|
-
|
55
|
-
def pull_object_fn(object_id: str) -> bytes:
|
56
|
-
request = PullObjectRequest(node=node, run_id=run_id, object_id=object_id)
|
57
|
-
response: PullObjectResponse = pull_object_rest(request)
|
58
|
-
if not response.object_found:
|
59
|
-
raise ObjectIdNotPreregisteredError(object_id)
|
60
|
-
if not response.object_available:
|
61
|
-
raise ObjectUnavailableError(object_id)
|
62
|
-
return response.object_content
|
63
|
-
|
64
|
-
return pull_object_fn
|
65
|
-
|
66
|
-
|
67
|
-
def make_push_object_fn_rest(
|
68
|
-
push_object_rest: Callable[[PushObjectRequest], PushObjectResponse],
|
69
|
-
node: Node,
|
70
|
-
run_id: int,
|
71
|
-
) -> Callable[[str, bytes], None]:
|
72
|
-
"""Create a push object function that uses REST to push objects.
|
73
|
-
|
74
|
-
Parameters
|
75
|
-
----------
|
76
|
-
push_object_rest : Callable[[PushObjectRequest], PushObjectResponse]
|
77
|
-
A function that makes a POST request against the `/pull-object` REST endpoint
|
78
|
-
node : Node
|
79
|
-
The node making the request.
|
80
|
-
run_id : int
|
81
|
-
The run ID for the current operation.
|
82
|
-
|
83
|
-
Returns
|
84
|
-
-------
|
85
|
-
Callable[[str, bytes], None]
|
86
|
-
A function that takes an object ID and its content as bytes, and pushes it
|
87
|
-
to the servicer. The function raises `ObjectIdNotPreregisteredError` if
|
88
|
-
the object ID is not pre-registered.
|
89
|
-
"""
|
90
|
-
|
91
|
-
def push_object_fn(object_id: str, object_content: bytes) -> None:
|
92
|
-
request = PushObjectRequest(
|
93
|
-
node=node, run_id=run_id, object_id=object_id, object_content=object_content
|
94
|
-
)
|
95
|
-
response: PushObjectResponse = push_object_rest(request)
|
96
|
-
if not response.stored:
|
97
|
-
raise ObjectIdNotPreregisteredError(object_id)
|
98
|
-
|
99
|
-
return push_object_fn
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/config_utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/login/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/login/login.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/new/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/cli/run/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/client.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/client_app.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/__init__.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/comms_mods.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/mod/utils.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/numpy_client.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/run_info_store.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/client/typing.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/clientapp/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/address.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/config.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/constant.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/context.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/exit/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/exit/exit.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/exit/exit_code.py
RENAMED
File without changes
|
{flwr_nightly-1.20.0.dev20250715 → flwr_nightly-1.20.0.dev20250716}/py/flwr/common/exit_handlers.py
RENAMED
File without changes
|