flwr-nightly 1.18.0.dev20250421__tar.gz → 1.18.0.dev20250423__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.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/PKG-INFO +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +4 -4
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/message.py +27 -10
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/record/recorddict.py +107 -58
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/pyproject.toml +1 -1
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/README.md +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/auth_plugin/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/auth_plugin/oidc_cli_plugin.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/build.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/cli_user_auth_interceptor.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/config_utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/constant.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/example.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/install.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/log.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/login/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/login/login.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/ls.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/new.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/LICENSE.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/README.baseline.md.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/run/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/run/run.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/stop.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/client.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/client_app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/clientapp/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/clientapp/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/clientapp/clientappio_servicer.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/clientapp/utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/dpfedavg_numpy_client.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/grpc_adapter_client/connection.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/grpc_client/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/grpc_client/connection.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/grpc_rere_client/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/grpc_rere_client/client_interceptor.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/grpc_rere_client/connection.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/grpc_rere_client/grpc_adapter.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/heartbeat.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/message_handler/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/centraldp_mods.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/comms_mods.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/localdp_mod.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/nodestate/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/nodestate/in_memory_nodestate.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/nodestate/nodestate.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/nodestate/nodestate_factory.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/numpy_client.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/rest_client/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/rest_client/connection.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/run_info_store.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/supernode/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/supernode/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/typing.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/address.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/args.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/auth_plugin/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/auth_plugin/auth_plugin.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/config.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/constant.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/context.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/date.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/differential_privacy.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/differential_privacy_constants.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/dp.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/event_log_plugin/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/event_log_plugin/event_log_plugin.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/exit/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/exit/exit.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/exit/exit_code.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/exit_handlers.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/logger.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/object_ref.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/parameter.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/pyproject.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/record/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/record/arrayrecord.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/record/configrecord.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/record/conversion_utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/record/metricrecord.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/record/typeddict.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/recorddict_compat.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/retry_invoker.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/secure_aggregation/quantization.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/serde.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/telemetry.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/typing.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/version.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/clientappio_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/clientappio_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/clientappio_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/clientappio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/error_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/error_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/error_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/error_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/exec_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/exec_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/exec_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/exec_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/fab_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/fab_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/fab_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/fleet_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/fleet_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/fleet_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/grpcadapter_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/log_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/log_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/log_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/log_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/message_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/message_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/message_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/message_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/node_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/node_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/node_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/node_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/recorddict_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/recorddict_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/recorddict_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/recorddict_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/run_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/run_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/run_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/run_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/serverappio_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/serverappio_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/serverappio_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/serverappio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/simulationio_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/simulationio_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/simulationio_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/simulationio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/transport_pb2.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/transport_pb2.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/transport_pb2_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/py.typed +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/client_manager.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/client_proxy.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/compat/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/compat/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/compat/app_utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/compat/grid_client_proxy.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/compat/legacy_context.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/criterion.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/fleet_event_log_interceptor.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/grid/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/grid/grid.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/grid/grpc_grid.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/grid/inmemory_grid.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/history.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/run_serverapp.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/server.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/server_app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/server_config.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/serverapp/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/serverapp/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/serverapp_components.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/aggregate.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/bulyan.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedadagrad.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedadam.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedavg.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedavg_android.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedavgm.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedmedian.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedopt.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedprox.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/fedyogi.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/krum.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/qfedavg.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/strategy/strategy.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/ffs/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/ffs/disk_ffs.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/ffs/ffs.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/ffs/ffs_factory.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/linkstate/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/linkstate/in_memory_linkstate.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/linkstate/linkstate.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/linkstate/linkstate_factory.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/linkstate/sqlite_linkstate.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/linkstate/utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/serverappio/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/serverappio/serverappio_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/serverappio/serverappio_servicer.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/simulation/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/simulation/simulationio_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/simulation/simulationio_servicer.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/superlink/utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/typing.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/utils/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/utils/tensorboard.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/utils/validator.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/workflow/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/workflow/constant.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/workflow/default_workflows.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/legacy_app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/ray_transport/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/ray_transport/utils.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/run_simulation.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/simulation/simulationio_connection.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/__init__.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/app.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/deployment.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/exec_event_log_interceptor.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/exec_grpc.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/exec_servicer.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/exec_user_auth_interceptor.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/executor.py +0 -0
- {flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/superexec/simulation.py +0 -0
@@ -49,7 +49,7 @@ class FlowerClient(NumPyClient):
|
|
49
49
|
): # pylint: disable=too-many-arguments
|
50
50
|
self.device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
|
51
51
|
self.train_cfg = train_cfg
|
52
|
-
self.
|
52
|
+
self.training_arguments = TrainingArguments(**train_cfg.training_arguments)
|
53
53
|
self.tokenizer = tokenizer
|
54
54
|
self.formatting_prompts_func = formatting_prompts_func
|
55
55
|
self.data_collator = data_collator
|
@@ -72,14 +72,14 @@ class FlowerClient(NumPyClient):
|
|
72
72
|
self.train_cfg.learning_rate_min,
|
73
73
|
)
|
74
74
|
|
75
|
-
self.
|
76
|
-
self.
|
75
|
+
self.training_arguments.learning_rate = new_lr
|
76
|
+
self.training_arguments.output_dir = config["save_path"]
|
77
77
|
|
78
78
|
# Construct trainer
|
79
79
|
trainer = SFTTrainer(
|
80
80
|
model=self.model,
|
81
81
|
tokenizer=self.tokenizer,
|
82
|
-
args=self.
|
82
|
+
args=self.training_arguments,
|
83
83
|
max_seq_length=self.train_cfg.seq_length,
|
84
84
|
train_dataset=self.trainset,
|
85
85
|
formatting_func=self.formatting_prompts_func,
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/common/message.py
RENAMED
@@ -36,6 +36,19 @@ MESSAGE_INIT_ERROR_MESSAGE = (
|
|
36
36
|
)
|
37
37
|
|
38
38
|
|
39
|
+
class _WarningTracker:
|
40
|
+
"""A class to track warnings for deprecated properties."""
|
41
|
+
|
42
|
+
def __init__(self) -> None:
|
43
|
+
# These variables are used to ensure that the deprecation warnings
|
44
|
+
# for the deprecated properties/class are logged only once.
|
45
|
+
self.create_error_reply_logged = False
|
46
|
+
self.create_reply_logged = False
|
47
|
+
|
48
|
+
|
49
|
+
_warning_tracker = _WarningTracker()
|
50
|
+
|
51
|
+
|
39
52
|
class MessageInitializationError(TypeError):
|
40
53
|
"""Error raised when initializing a message with invalid arguments."""
|
41
54
|
|
@@ -456,11 +469,13 @@ class Message:
|
|
456
469
|
message : Message
|
457
470
|
A Message containing only the relevant error and metadata.
|
458
471
|
"""
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
472
|
+
if not _warning_tracker.create_error_reply_logged:
|
473
|
+
_warning_tracker.create_error_reply_logged = True
|
474
|
+
warn_deprecated_feature(
|
475
|
+
"`Message.create_error_reply` is deprecated. "
|
476
|
+
"Instead of calling `some_message.create_error_reply(some_error, "
|
477
|
+
"ttl=...)`, use `Message(some_error, reply_to=some_message, ttl=...)`."
|
478
|
+
)
|
464
479
|
if ttl is not None:
|
465
480
|
return Message(error, reply_to=self, ttl=ttl)
|
466
481
|
return Message(error, reply_to=self)
|
@@ -488,11 +503,13 @@ class Message:
|
|
488
503
|
Message
|
489
504
|
A new `Message` instance representing the reply.
|
490
505
|
"""
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
506
|
+
if not _warning_tracker.create_reply_logged:
|
507
|
+
_warning_tracker.create_reply_logged = True
|
508
|
+
warn_deprecated_feature(
|
509
|
+
"`Message.create_reply` is deprecated. "
|
510
|
+
"Instead of calling `some_message.create_reply(some_content, ttl=...)`"
|
511
|
+
", use `Message(some_content, reply_to=some_message, ttl=...)`."
|
512
|
+
)
|
496
513
|
if ttl is not None:
|
497
514
|
return Message(content, reply_to=self, ttl=ttl)
|
498
515
|
return Message(content, reply_to=self)
|
@@ -29,6 +29,22 @@ from .typeddict import TypedDict
|
|
29
29
|
|
30
30
|
RecordType = Union[ArrayRecord, MetricRecord, ConfigRecord]
|
31
31
|
|
32
|
+
|
33
|
+
class _WarningTracker:
|
34
|
+
"""A class to track warnings for deprecated properties."""
|
35
|
+
|
36
|
+
def __init__(self) -> None:
|
37
|
+
# These variables are used to ensure that the deprecation warnings
|
38
|
+
# for the deprecated properties/class are logged only once.
|
39
|
+
self.recordset_init_logged = False
|
40
|
+
self.recorddict_init_logged = False
|
41
|
+
self.parameters_records_logged = False
|
42
|
+
self.metrics_records_logged = False
|
43
|
+
self.configs_records_logged = False
|
44
|
+
|
45
|
+
|
46
|
+
_warning_tracker = _WarningTracker()
|
47
|
+
|
32
48
|
T = TypeVar("T")
|
33
49
|
|
34
50
|
|
@@ -143,8 +159,34 @@ class RecordDict(TypedDict[str, RecordType]):
|
|
143
159
|
:code:`MetricRecord` and :code:`ArrayRecord`.
|
144
160
|
"""
|
145
161
|
|
146
|
-
def __init__(
|
162
|
+
def __init__(
|
163
|
+
self,
|
164
|
+
records: dict[str, RecordType] | None = None,
|
165
|
+
*,
|
166
|
+
parameters_records: dict[str, ArrayRecord] | None = None,
|
167
|
+
metrics_records: dict[str, MetricRecord] | None = None,
|
168
|
+
configs_records: dict[str, ConfigRecord] | None = None,
|
169
|
+
) -> None:
|
147
170
|
super().__init__(_check_key, _check_value)
|
171
|
+
|
172
|
+
# Warning for deprecated usage
|
173
|
+
if (
|
174
|
+
parameters_records is not None
|
175
|
+
or metrics_records is not None
|
176
|
+
or configs_records is not None
|
177
|
+
):
|
178
|
+
log(
|
179
|
+
WARN,
|
180
|
+
"The arguments `parameters_records`, `metrics_records`, and "
|
181
|
+
"`configs_records` of `RecordDict` are deprecated and will "
|
182
|
+
"be removed in a future release. "
|
183
|
+
"Please pass all records using the `records` argument instead.",
|
184
|
+
)
|
185
|
+
records = records or {}
|
186
|
+
records.update(parameters_records or {})
|
187
|
+
records.update(metrics_records or {})
|
188
|
+
records.update(configs_records or {})
|
189
|
+
|
148
190
|
if records is not None:
|
149
191
|
for key, record in records.items():
|
150
192
|
self[key] = record
|
@@ -196,6 +238,54 @@ class RecordDict(TypedDict[str, RecordType]):
|
|
196
238
|
type(value).__name__,
|
197
239
|
)
|
198
240
|
|
241
|
+
@property
|
242
|
+
def parameters_records(self) -> TypedDict[str, ArrayRecord]:
|
243
|
+
"""Deprecated property.
|
244
|
+
|
245
|
+
Use ``array_records`` instead.
|
246
|
+
"""
|
247
|
+
if _warning_tracker.parameters_records_logged:
|
248
|
+
_warning_tracker.parameters_records_logged = True
|
249
|
+
log(
|
250
|
+
WARN,
|
251
|
+
"The `parameters_records` property of `RecordDict` "
|
252
|
+
"(formerly `RecordSet`) is deprecated and will be removed in a "
|
253
|
+
"future release. Please use the `array_records` property instead.",
|
254
|
+
)
|
255
|
+
return self.array_records
|
256
|
+
|
257
|
+
@property
|
258
|
+
def metrics_records(self) -> TypedDict[str, MetricRecord]:
|
259
|
+
"""Deprecated property.
|
260
|
+
|
261
|
+
Use ``metric_records`` instead.
|
262
|
+
"""
|
263
|
+
if not _warning_tracker.metrics_records_logged:
|
264
|
+
_warning_tracker.metrics_records_logged = True
|
265
|
+
log(
|
266
|
+
WARN,
|
267
|
+
"The `metrics_records` property of `RecordDict` "
|
268
|
+
"(formerly `RecordSet`) is deprecated and will be removed in a "
|
269
|
+
"future release. Please use the `metric_records` property instead.",
|
270
|
+
)
|
271
|
+
return self.metric_records
|
272
|
+
|
273
|
+
@property
|
274
|
+
def configs_records(self) -> TypedDict[str, ConfigRecord]:
|
275
|
+
"""Deprecated property.
|
276
|
+
|
277
|
+
Use ``config_records`` instead.
|
278
|
+
"""
|
279
|
+
if not _warning_tracker.configs_records_logged:
|
280
|
+
_warning_tracker.configs_records_logged = True
|
281
|
+
log(
|
282
|
+
WARN,
|
283
|
+
"The `configs_records` property of `RecordDict` "
|
284
|
+
"(formerly `RecordSet`) is deprecated and will be removed in a "
|
285
|
+
"future release. Please use the `config_records` property instead.",
|
286
|
+
)
|
287
|
+
return self.config_records
|
288
|
+
|
199
289
|
|
200
290
|
class RecordSet(RecordDict):
|
201
291
|
"""Deprecated class ``RecordSet``, use ``RecordDict`` instead.
|
@@ -223,66 +313,25 @@ class RecordSet(RecordDict):
|
|
223
313
|
my_content = RecordDict()
|
224
314
|
"""
|
225
315
|
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
316
|
+
def __init__(
|
317
|
+
self,
|
318
|
+
records: dict[str, RecordType] | None = None,
|
319
|
+
*,
|
320
|
+
parameters_records: dict[str, ArrayRecord] | None = None,
|
321
|
+
metrics_records: dict[str, MetricRecord] | None = None,
|
322
|
+
configs_records: dict[str, ConfigRecord] | None = None,
|
323
|
+
) -> None:
|
324
|
+
if not _warning_tracker.recordset_init_logged:
|
325
|
+
_warning_tracker.recordset_init_logged = True
|
234
326
|
log(
|
235
327
|
WARN,
|
236
328
|
"The `RecordSet` class has been renamed to `RecordDict`. "
|
237
329
|
"Support for `RecordSet` will be removed in a future release. "
|
238
330
|
"Please update your code accordingly.",
|
239
331
|
)
|
240
|
-
super().__init__(
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
Use ``array_records`` instead.
|
247
|
-
"""
|
248
|
-
if not RecordSet._warning_logged_params:
|
249
|
-
RecordSet._warning_logged_params = True
|
250
|
-
log(
|
251
|
-
WARN,
|
252
|
-
"`RecordSet.parameters_records` has been deprecated "
|
253
|
-
"and will be removed in a future release. Please use "
|
254
|
-
"`RecordDict.array_records` instead.",
|
255
|
-
)
|
256
|
-
return self.array_records
|
257
|
-
|
258
|
-
@property
|
259
|
-
def metrics_records(self) -> TypedDict[str, MetricRecord]:
|
260
|
-
"""Deprecated property.
|
261
|
-
|
262
|
-
Use ``metric_records`` instead.
|
263
|
-
"""
|
264
|
-
if not RecordSet._warning_logged_metrics:
|
265
|
-
RecordSet._warning_logged_metrics = True
|
266
|
-
log(
|
267
|
-
WARN,
|
268
|
-
"`RecordSet.metrics_records` has been deprecated "
|
269
|
-
"and will be removed in a future release. Please use "
|
270
|
-
"`RecordDict.metric_records` instead.",
|
271
|
-
)
|
272
|
-
return self.metric_records
|
273
|
-
|
274
|
-
@property
|
275
|
-
def configs_records(self) -> TypedDict[str, ConfigRecord]:
|
276
|
-
"""Deprecated property.
|
277
|
-
|
278
|
-
Use ``config_records`` instead.
|
279
|
-
"""
|
280
|
-
if not RecordSet._warning_logged_configs:
|
281
|
-
RecordSet._warning_logged_configs = True
|
282
|
-
log(
|
283
|
-
WARN,
|
284
|
-
"`RecordSet.configs_records` has been deprecated "
|
285
|
-
"and will be removed in a future release. Please use "
|
286
|
-
"`RecordDict.config_records` instead.",
|
287
|
-
)
|
288
|
-
return self.config_records
|
332
|
+
super().__init__(
|
333
|
+
records,
|
334
|
+
parameters_records=parameters_records,
|
335
|
+
metrics_records=metrics_records,
|
336
|
+
configs_records=configs_records,
|
337
|
+
)
|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
4
4
|
|
5
5
|
[tool.poetry]
|
6
6
|
name = "flwr-nightly"
|
7
|
-
version = "1.18.0.
|
7
|
+
version = "1.18.0.dev20250423"
|
8
8
|
description = "Flower: A Friendly Federated AI Framework"
|
9
9
|
license = "Apache-2.0"
|
10
10
|
authors = ["The Flower Authors <hello@flower.ai>"]
|
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.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/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.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/login/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/login/login.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/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
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/cli/run/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/__init__.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/client.py
RENAMED
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/client_app.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/clientapp/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
|
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/heartbeat.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/__init__.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.18.0.dev20250421 → flwr_nightly-1.18.0.dev20250423}/py/flwr/client/mod/comms_mods.py
RENAMED
File without changes
|
File without changes
|