flwr-nightly 1.23.0.dev20250925__tar.gz → 1.23.0.dev20250930__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.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/PKG-INFO +1 -1
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/auth_plugin/__init__.py +3 -1
- flwr_nightly-1.23.0.dev20250930/py/flwr/cli/auth_plugin/auth_plugin.py +83 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/auth_plugin/oidc_cli_plugin.py +2 -1
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/cli_user_auth_interceptor.py +2 -1
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/utils.py +2 -3
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/app.py +1 -1
- flwr_nightly-1.23.0.dev20250930/py/flwr/superlink/auth_plugin/__init__.py +23 -0
- {flwr_nightly-1.23.0.dev20250925/py/flwr/common → flwr_nightly-1.23.0.dev20250930/py/flwr/superlink}/auth_plugin/auth_plugin.py +1 -63
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/servicer/control/control_grpc.py +1 -1
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/servicer/control/control_servicer.py +1 -1
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/servicer/control/control_user_auth_interceptor.py +1 -1
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/pyproject.toml +1 -1
- flwr_nightly-1.23.0.dev20250925/py/flwr/common/auth_plugin/__init__.py +0 -26
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/README.md +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/app/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/app/error.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/app/exception.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/app/metadata.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/build.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/config_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/constant.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/example.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/install.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/log.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/login/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/login/login.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/ls.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/new.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/.gitignore.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/LICENSE.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/README.baseline.md.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/README.flowertune.md.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/README.md.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/__init__.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/__init__.pytorch_legacy_api.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.jax.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.pytorch_legacy_api.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/client.xgboost.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.jax.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.pytorch_legacy_api.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/server.xgboost.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.jax.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.pytorch_legacy_api.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/task.xgboost.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/pull.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/run/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/run/run.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/stop.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/client.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/client_app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/clientapp/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/clientapp/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/dpfedavg_numpy_client.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/grpc_adapter_client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/grpc_adapter_client/connection.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/grpc_rere_client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/grpc_rere_client/client_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/grpc_rere_client/connection.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/grpc_rere_client/grpc_adapter.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/message_handler/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/mod/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/mod/centraldp_mods.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/mod/comms_mods.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/mod/localdp_mod.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/mod/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/mod/secure_aggregation/secagg_mod.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/mod/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/numpy_client.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/rest_client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/rest_client/connection.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/run_info_store.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/typing.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/clientapp/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/clientapp/mod/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/clientapp/mod/centraldp_mods.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/clientapp/mod/localdp_mod.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/clientapp/typing.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/address.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/args.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/config.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/constant.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/context.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/date.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/differential_privacy.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/differential_privacy_constants.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/dp.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/event_log_plugin/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/event_log_plugin/event_log_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/exit/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/exit/exit.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/exit/exit_code.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/exit/exit_handler.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/exit/signal_handler.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/heartbeat.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/inflatable.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/inflatable_protobuf_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/inflatable_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/logger.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/message.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/object_ref.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/parameter.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/pyproject.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/array.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/arraychunk.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/arrayrecord.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/configrecord.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/conversion_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/metricrecord.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/recorddict.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/record/typeddict.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/recorddict_compat.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/retry_invoker.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/secure_aggregation/quantization.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/serde.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/serde_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/telemetry.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/typing.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/common/version.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/client/app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/client/grpc_client/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/client/grpc_client/connection.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/common/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/server/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/server/app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/compat/simulation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/appio_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/appio_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/appio_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/appio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/clientappio_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/clientappio_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/clientappio_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/clientappio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/control_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/control_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/control_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/control_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/error_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/error_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/error_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/error_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/fab_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/fab_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/fab_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/fab_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/fleet_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/fleet_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/fleet_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/grpcadapter_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/grpcadapter_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/grpcadapter_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/grpcadapter_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/heartbeat_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/heartbeat_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/heartbeat_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/heartbeat_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/log_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/log_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/log_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/log_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/message_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/message_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/message_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/message_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/node_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/node_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/node_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/node_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/recorddict_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/recorddict_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/recorddict_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/recorddict_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/run_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/run_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/run_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/run_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/serverappio_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/serverappio_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/serverappio_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/serverappio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/simulationio_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/simulationio_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/simulationio_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/simulationio_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/transport_pb2.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/transport_pb2.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/transport_pb2_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/py.typed +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/client_manager.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/client_proxy.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/compat/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/compat/app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/compat/app_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/compat/grid_client_proxy.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/compat/legacy_context.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/criterion.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/fleet_event_log_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/grid/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/grid/grid.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/grid/grpc_grid.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/grid/inmemory_grid.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/history.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/run_serverapp.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/server.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/server_app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/server_config.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/serverapp/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/serverapp/app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/serverapp_components.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/aggregate.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/bulyan.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/dp_adaptive_clipping.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/dp_fixed_clipping.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedadagrad.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedadam.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedavg_android.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedavgm.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedmedian.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedopt.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedprox.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/fedyogi.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/krum.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/qfedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/strategy/strategy.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_rere/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/message_handler/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/rest_rere/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/rest_rere/rest_api.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/vce/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/vce/backend/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/vce/backend/backend.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/vce/backend/raybackend.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/fleet/vce/vce_api.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/linkstate/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/linkstate/in_memory_linkstate.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/linkstate/linkstate.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/linkstate/linkstate_factory.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/linkstate/sqlite_linkstate.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/linkstate/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/serverappio/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/serverappio/serverappio_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/serverappio/serverappio_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/simulation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/simulation/simulationio_grpc.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/simulation/simulationio_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/superlink/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/typing.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/utils/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/utils/tensorboard.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/utils/validator.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/workflow/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/workflow/constant.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/workflow/default_workflows.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/workflow/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/exception.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/bulyan.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/dp_adaptive_clipping.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/dp_fixed_clipping.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedadagrad.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedadam.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedavgm.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedmedian.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedopt.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedprox.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedtrimmedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedxgb_bagging.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedxgb_cyclic.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/fedyogi.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/krum.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/multikrum.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/qfedavg.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/result.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/strategy.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/serverapp/strategy/strategy_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/legacy_app.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/ray_transport/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/ray_transport/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/run_simulation.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/simulation/simulationio_connection.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/app_utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/cli/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/cli/flower_superexec.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/constant.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/corestate/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/corestate/corestate.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/ffs/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/ffs/disk_ffs.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/ffs/ffs.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/ffs/ffs_factory.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/grpc_health/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/grpc_health/health_server.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/grpc_health/simple_health_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/license_plugin/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/license_plugin/license_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/object_store/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/object_store/in_memory_object_store.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/object_store/object_store.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/object_store/object_store_factory.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/object_store/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/superexec/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/superexec/plugin/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/superexec/plugin/base_exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/superexec/plugin/clientapp_exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/superexec/plugin/exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/superexec/plugin/serverapp_exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/superexec/plugin/simulation_exec_plugin.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/superexec/run_superexec.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supercore/utils.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/artifact_provider/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/artifact_provider/artifact_provider.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/servicer/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/servicer/control/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/servicer/control/control_event_log_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/superlink/servicer/control/control_license_interceptor.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/cli/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/cli/flower_supernode.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/cli/flwr_clientapp.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/nodestate/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/nodestate/in_memory_nodestate.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/nodestate/nodestate.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/nodestate/nodestate_factory.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/runtime/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/runtime/run_clientapp.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/servicer/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/servicer/clientappio/__init__.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/servicer/clientappio/clientappio_servicer.py +0 -0
- {flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/supernode/start_client_internal.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: flwr-nightly
|
3
|
-
Version: 1.23.0.
|
3
|
+
Version: 1.23.0.dev20250930
|
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
|
@@ -15,9 +15,9 @@
|
|
15
15
|
"""Flower user auth plugins."""
|
16
16
|
|
17
17
|
|
18
|
-
from flwr.common.auth_plugin import CliAuthPlugin
|
19
18
|
from flwr.common.constant import AuthType
|
20
19
|
|
20
|
+
from .auth_plugin import CliAuthPlugin
|
21
21
|
from .oidc_cli_plugin import OidcCliPlugin
|
22
22
|
|
23
23
|
|
@@ -27,5 +27,7 @@ def get_cli_auth_plugins() -> dict[str, type[CliAuthPlugin]]:
|
|
27
27
|
|
28
28
|
|
29
29
|
__all__ = [
|
30
|
+
"CliAuthPlugin",
|
31
|
+
"OidcCliPlugin",
|
30
32
|
"get_cli_auth_plugins",
|
31
33
|
]
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# Copyright 2025 Flower Labs GmbH. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
# ==============================================================================
|
15
|
+
"""Abstract classes for Flower User Auth Plugin."""
|
16
|
+
|
17
|
+
|
18
|
+
from abc import ABC, abstractmethod
|
19
|
+
from collections.abc import Sequence
|
20
|
+
from pathlib import Path
|
21
|
+
from typing import Optional, Union
|
22
|
+
|
23
|
+
from flwr.common.typing import UserAuthCredentials, UserAuthLoginDetails
|
24
|
+
from flwr.proto.control_pb2_grpc import ControlStub
|
25
|
+
|
26
|
+
|
27
|
+
class CliAuthPlugin(ABC):
|
28
|
+
"""Abstract Flower Auth Plugin class for CLI.
|
29
|
+
|
30
|
+
Parameters
|
31
|
+
----------
|
32
|
+
credentials_path : Path
|
33
|
+
Path to the user's authentication credentials file.
|
34
|
+
"""
|
35
|
+
|
36
|
+
@staticmethod
|
37
|
+
@abstractmethod
|
38
|
+
def login(
|
39
|
+
login_details: UserAuthLoginDetails,
|
40
|
+
control_stub: ControlStub,
|
41
|
+
) -> UserAuthCredentials:
|
42
|
+
"""Authenticate the user and retrieve authentication credentials.
|
43
|
+
|
44
|
+
Parameters
|
45
|
+
----------
|
46
|
+
login_details : UserAuthLoginDetails
|
47
|
+
An object containing the user's login details.
|
48
|
+
control_stub : ControlStub
|
49
|
+
A stub for executing RPC calls to the server.
|
50
|
+
|
51
|
+
Returns
|
52
|
+
-------
|
53
|
+
UserAuthCredentials
|
54
|
+
The authentication credentials obtained after login.
|
55
|
+
"""
|
56
|
+
|
57
|
+
@abstractmethod
|
58
|
+
def __init__(self, credentials_path: Path):
|
59
|
+
"""Abstract constructor."""
|
60
|
+
|
61
|
+
@abstractmethod
|
62
|
+
def store_tokens(self, credentials: UserAuthCredentials) -> None:
|
63
|
+
"""Store authentication tokens to the `credentials_path`.
|
64
|
+
|
65
|
+
The credentials, including tokens, will be saved as a JSON file
|
66
|
+
at `credentials_path`.
|
67
|
+
"""
|
68
|
+
|
69
|
+
@abstractmethod
|
70
|
+
def load_tokens(self) -> None:
|
71
|
+
"""Load authentication tokens from the `credentials_path`."""
|
72
|
+
|
73
|
+
@abstractmethod
|
74
|
+
def write_tokens_to_metadata(
|
75
|
+
self, metadata: Sequence[tuple[str, Union[str, bytes]]]
|
76
|
+
) -> Sequence[tuple[str, Union[str, bytes]]]:
|
77
|
+
"""Write authentication tokens to the provided metadata."""
|
78
|
+
|
79
|
+
@abstractmethod
|
80
|
+
def read_tokens_from_metadata(
|
81
|
+
self, metadata: Sequence[tuple[str, Union[str, bytes]]]
|
82
|
+
) -> Optional[UserAuthCredentials]:
|
83
|
+
"""Read authentication tokens from the provided metadata."""
|
@@ -23,7 +23,6 @@ from typing import Any, Optional, Union
|
|
23
23
|
|
24
24
|
import typer
|
25
25
|
|
26
|
-
from flwr.common.auth_plugin import CliAuthPlugin
|
27
26
|
from flwr.common.constant import (
|
28
27
|
ACCESS_TOKEN_KEY,
|
29
28
|
AUTH_TYPE_JSON_KEY,
|
@@ -37,6 +36,8 @@ from flwr.proto.control_pb2 import ( # pylint: disable=E0611
|
|
37
36
|
)
|
38
37
|
from flwr.proto.control_pb2_grpc import ControlStub
|
39
38
|
|
39
|
+
from .auth_plugin import CliAuthPlugin
|
40
|
+
|
40
41
|
|
41
42
|
class OidcCliPlugin(CliAuthPlugin):
|
42
43
|
"""Flower OIDC auth plugin for CLI."""
|
@@ -19,12 +19,13 @@ from typing import Any, Callable, Union
|
|
19
19
|
|
20
20
|
import grpc
|
21
21
|
|
22
|
-
from flwr.common.auth_plugin import CliAuthPlugin
|
23
22
|
from flwr.proto.control_pb2 import ( # pylint: disable=E0611
|
24
23
|
StartRunRequest,
|
25
24
|
StreamLogsRequest,
|
26
25
|
)
|
27
26
|
|
27
|
+
from .auth_plugin import CliAuthPlugin
|
28
|
+
|
28
29
|
Request = Union[
|
29
30
|
StartRunRequest,
|
30
31
|
StreamLogsRequest,
|
@@ -26,8 +26,6 @@ from typing import Any, Callable, Optional, Union, cast
|
|
26
26
|
import grpc
|
27
27
|
import typer
|
28
28
|
|
29
|
-
from flwr.cli.cli_user_auth_interceptor import CliUserAuthInterceptor
|
30
|
-
from flwr.common.auth_plugin import CliAuthPlugin
|
31
29
|
from flwr.common.constant import (
|
32
30
|
AUTH_TYPE_JSON_KEY,
|
33
31
|
CREDENTIALS_DIR,
|
@@ -43,7 +41,8 @@ from flwr.common.grpc import (
|
|
43
41
|
on_channel_state_change,
|
44
42
|
)
|
45
43
|
|
46
|
-
from .auth_plugin import get_cli_auth_plugins
|
44
|
+
from .auth_plugin import CliAuthPlugin, get_cli_auth_plugins
|
45
|
+
from .cli_user_auth_interceptor import CliUserAuthInterceptor
|
47
46
|
from .config_utils import validate_certificate_in_federation_config
|
48
47
|
|
49
48
|
|
@@ -36,7 +36,6 @@ from cryptography.hazmat.primitives.serialization import load_ssh_public_key
|
|
36
36
|
from flwr.common import GRPC_MAX_MESSAGE_LENGTH, EventType, event
|
37
37
|
from flwr.common.address import parse_address
|
38
38
|
from flwr.common.args import try_obtain_server_certificates
|
39
|
-
from flwr.common.auth_plugin import ControlAuthPlugin, ControlAuthzPlugin
|
40
39
|
from flwr.common.config import get_flwr_dir
|
41
40
|
from flwr.common.constant import (
|
42
41
|
AUTH_TYPE_YAML_KEY,
|
@@ -72,6 +71,7 @@ from flwr.supercore.ffs import FfsFactory
|
|
72
71
|
from flwr.supercore.grpc_health import add_args_health, run_health_server_grpc_no_tls
|
73
72
|
from flwr.supercore.object_store import ObjectStoreFactory
|
74
73
|
from flwr.superlink.artifact_provider import ArtifactProvider
|
74
|
+
from flwr.superlink.auth_plugin import ControlAuthPlugin, ControlAuthzPlugin
|
75
75
|
from flwr.superlink.servicer.control import run_control_api_grpc
|
76
76
|
|
77
77
|
from .superlink.fleet.grpc_adapter.grpc_adapter_servicer import GrpcAdapterServicer
|
@@ -0,0 +1,23 @@
|
|
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
|
+
"""Account auth plugin for ControlServicer."""
|
16
|
+
|
17
|
+
|
18
|
+
from .auth_plugin import ControlAuthPlugin, ControlAuthzPlugin
|
19
|
+
|
20
|
+
__all__ = [
|
21
|
+
"ControlAuthPlugin",
|
22
|
+
"ControlAuthzPlugin",
|
23
|
+
]
|
@@ -20,10 +20,7 @@ from collections.abc import Sequence
|
|
20
20
|
from pathlib import Path
|
21
21
|
from typing import Optional, Union
|
22
22
|
|
23
|
-
from flwr.common.typing import AccountInfo
|
24
|
-
from flwr.proto.control_pb2_grpc import ControlStub
|
25
|
-
|
26
|
-
from ..typing import UserAuthCredentials, UserAuthLoginDetails
|
23
|
+
from flwr.common.typing import AccountInfo, UserAuthCredentials, UserAuthLoginDetails
|
27
24
|
|
28
25
|
|
29
26
|
class ControlAuthPlugin(ABC):
|
@@ -88,62 +85,3 @@ class ControlAuthzPlugin(ABC): # pylint: disable=too-few-public-methods
|
|
88
85
|
@abstractmethod
|
89
86
|
def verify_user_authorization(self, account_info: AccountInfo) -> bool:
|
90
87
|
"""Verify user authorization request."""
|
91
|
-
|
92
|
-
|
93
|
-
class CliAuthPlugin(ABC):
|
94
|
-
"""Abstract Flower Auth Plugin class for CLI.
|
95
|
-
|
96
|
-
Parameters
|
97
|
-
----------
|
98
|
-
credentials_path : Path
|
99
|
-
Path to the user's authentication credentials file.
|
100
|
-
"""
|
101
|
-
|
102
|
-
@staticmethod
|
103
|
-
@abstractmethod
|
104
|
-
def login(
|
105
|
-
login_details: UserAuthLoginDetails,
|
106
|
-
control_stub: ControlStub,
|
107
|
-
) -> UserAuthCredentials:
|
108
|
-
"""Authenticate the user and retrieve authentication credentials.
|
109
|
-
|
110
|
-
Parameters
|
111
|
-
----------
|
112
|
-
login_details : UserAuthLoginDetails
|
113
|
-
An object containing the user's login details.
|
114
|
-
control_stub : ControlStub
|
115
|
-
A stub for executing RPC calls to the server.
|
116
|
-
|
117
|
-
Returns
|
118
|
-
-------
|
119
|
-
UserAuthCredentials
|
120
|
-
The authentication credentials obtained after login.
|
121
|
-
"""
|
122
|
-
|
123
|
-
@abstractmethod
|
124
|
-
def __init__(self, credentials_path: Path):
|
125
|
-
"""Abstract constructor."""
|
126
|
-
|
127
|
-
@abstractmethod
|
128
|
-
def store_tokens(self, credentials: UserAuthCredentials) -> None:
|
129
|
-
"""Store authentication tokens to the `credentials_path`.
|
130
|
-
|
131
|
-
The credentials, including tokens, will be saved as a JSON file
|
132
|
-
at `credentials_path`.
|
133
|
-
"""
|
134
|
-
|
135
|
-
@abstractmethod
|
136
|
-
def load_tokens(self) -> None:
|
137
|
-
"""Load authentication tokens from the `credentials_path`."""
|
138
|
-
|
139
|
-
@abstractmethod
|
140
|
-
def write_tokens_to_metadata(
|
141
|
-
self, metadata: Sequence[tuple[str, Union[str, bytes]]]
|
142
|
-
) -> Sequence[tuple[str, Union[str, bytes]]]:
|
143
|
-
"""Write authentication tokens to the provided metadata."""
|
144
|
-
|
145
|
-
@abstractmethod
|
146
|
-
def read_tokens_from_metadata(
|
147
|
-
self, metadata: Sequence[tuple[str, Union[str, bytes]]]
|
148
|
-
) -> Optional[UserAuthCredentials]:
|
149
|
-
"""Read authentication tokens from the provided metadata."""
|
@@ -21,7 +21,6 @@ from typing import Optional
|
|
21
21
|
import grpc
|
22
22
|
|
23
23
|
from flwr.common import GRPC_MAX_MESSAGE_LENGTH
|
24
|
-
from flwr.common.auth_plugin import ControlAuthPlugin, ControlAuthzPlugin
|
25
24
|
from flwr.common.event_log_plugin import EventLogWriterPlugin
|
26
25
|
from flwr.common.exit import ExitCode, flwr_exit
|
27
26
|
from flwr.common.grpc import generic_create_grpc_server
|
@@ -32,6 +31,7 @@ from flwr.supercore.ffs import FfsFactory
|
|
32
31
|
from flwr.supercore.license_plugin import LicensePlugin
|
33
32
|
from flwr.supercore.object_store import ObjectStoreFactory
|
34
33
|
from flwr.superlink.artifact_provider import ArtifactProvider
|
34
|
+
from flwr.superlink.auth_plugin import ControlAuthPlugin, ControlAuthzPlugin
|
35
35
|
|
36
36
|
from .control_event_log_interceptor import ControlEventLogInterceptor
|
37
37
|
from .control_license_interceptor import ControlLicenseInterceptor
|
@@ -25,7 +25,6 @@ import grpc
|
|
25
25
|
|
26
26
|
from flwr.cli.config_utils import get_fab_metadata
|
27
27
|
from flwr.common import Context, RecordDict, now
|
28
|
-
from flwr.common.auth_plugin import ControlAuthPlugin
|
29
28
|
from flwr.common.constant import (
|
30
29
|
FAB_MAX_SIZE,
|
31
30
|
LOG_STREAM_INTERVAL,
|
@@ -64,6 +63,7 @@ from flwr.server.superlink.linkstate import LinkState, LinkStateFactory
|
|
64
63
|
from flwr.supercore.ffs import FfsFactory
|
65
64
|
from flwr.supercore.object_store import ObjectStore, ObjectStoreFactory
|
66
65
|
from flwr.superlink.artifact_provider import ArtifactProvider
|
66
|
+
from flwr.superlink.auth_plugin import ControlAuthPlugin
|
67
67
|
|
68
68
|
from .control_user_auth_interceptor import shared_account_info
|
69
69
|
|
@@ -20,7 +20,6 @@ from typing import Any, Callable, Union
|
|
20
20
|
|
21
21
|
import grpc
|
22
22
|
|
23
|
-
from flwr.common.auth_plugin import ControlAuthPlugin, ControlAuthzPlugin
|
24
23
|
from flwr.common.typing import AccountInfo
|
25
24
|
from flwr.proto.control_pb2 import ( # pylint: disable=E0611
|
26
25
|
GetAuthTokensRequest,
|
@@ -32,6 +31,7 @@ from flwr.proto.control_pb2 import ( # pylint: disable=E0611
|
|
32
31
|
StreamLogsRequest,
|
33
32
|
StreamLogsResponse,
|
34
33
|
)
|
34
|
+
from flwr.superlink.auth_plugin import ControlAuthPlugin, ControlAuthzPlugin
|
35
35
|
|
36
36
|
Request = Union[
|
37
37
|
StartRunRequest,
|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
4
4
|
|
5
5
|
[tool.poetry]
|
6
6
|
name = "flwr-nightly"
|
7
|
-
version = "1.23.0.
|
7
|
+
version = "1.23.0.dev20250930"
|
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,26 +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
|
-
"""Auth plugin components."""
|
16
|
-
|
17
|
-
|
18
|
-
from .auth_plugin import CliAuthPlugin as CliAuthPlugin
|
19
|
-
from .auth_plugin import ControlAuthPlugin as ControlAuthPlugin
|
20
|
-
from .auth_plugin import ControlAuthzPlugin as ControlAuthzPlugin
|
21
|
-
|
22
|
-
__all__ = [
|
23
|
-
"CliAuthPlugin",
|
24
|
-
"ControlAuthPlugin",
|
25
|
-
"ControlAuthzPlugin",
|
26
|
-
]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/app/exception.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/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.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/login/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/login/login.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/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
|
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.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/cli/run/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/py/flwr/client/client.py
RENAMED
File without changes
|
{flwr_nightly-1.23.0.dev20250925 → flwr_nightly-1.23.0.dev20250930}/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
|