flwr-nightly 1.7.0.dev20240129__tar.gz → 1.7.0.dev20240131__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/PKG-INFO +1 -1
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/pyproject.toml +3 -3
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/app.py +27 -15
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/app.py +1 -1
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_rere/fleet_servicer.py +7 -7
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/ray_transport/utils.py +11 -10
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/LICENSE +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/README.md +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/client.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/dpfedavg_numpy_client.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/flower.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/grpc_client/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/grpc_client/connection.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/grpc_rere_client/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/grpc_rere_client/connection.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/message_handler/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/message_handler/task_handler.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/middleware/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/middleware/utils.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/node_state.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/node_state_tests.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/numpy_client.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/rest_client/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/rest_client/connection.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/secure_aggregation/handler.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/secure_aggregation/secaggplus_handler.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/typing.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/address.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/configsrecord.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/constant.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/context.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/date.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/dp.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/grpc.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/logger.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/message.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/metricsrecord.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/parameter.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/parametersrecord.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/recordset.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/recordset_compat.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/retry_invoker.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/crypto/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/crypto/shamir.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/quantization.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/secaggplus_constants.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/secure_aggregation/secaggplus_utils.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/serde.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/telemetry.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/typing.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/version.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/app.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/driver.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/driver_client_proxy.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/grpc_driver.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/flower/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2_grpc.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2_grpc.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2_grpc.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2_grpc.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2_grpc.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2_grpc.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2_grpc.pyi +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/py.typed +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/client_manager.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/client_proxy.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/criterion.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/driver/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/driver/driver_servicer.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/flower_service_servicer.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/grpc_bridge.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/grpc_client_proxy.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_bidi/grpc_server.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/grpc_rere/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/message_handler/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/message_handler/message_handler.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/rest_rere/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/fleet/rest_rere/rest_api.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/history.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/server.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/in_memory_state.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/sqlite_state.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/state.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/state_factory.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/aggregate.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/bulyan.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/dpfedavg_adaptive.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/dpfedavg_fixed.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fault_tolerant_fedavg.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedadagrad.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedadam.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedavg.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedavg_android.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedavgm.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedmedian.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedopt.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedprox.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedtrimmedavg.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedxgb_bagging.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedxgb_cyclic.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedxgb_nn_avg.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/fedyogi.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/krum.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/qfedavg.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/strategy/strategy.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/utils/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/utils/tensorboard.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/utils/validator.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/app.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/ray_transport/__init__.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/ray_transport/ray_actor.py +0 -0
- {flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +0 -0
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
4
4
|
|
5
5
|
[tool.poetry]
|
6
6
|
name = "flwr-nightly"
|
7
|
-
version = "1.7.0-
|
7
|
+
version = "1.7.0-dev20240131"
|
8
8
|
description = "Flower: A Friendly Federated Learning Framework"
|
9
9
|
license = "Apache-2.0"
|
10
10
|
authors = ["The Flower Authors <hello@flower.dev>"]
|
@@ -82,7 +82,7 @@ rest = ["requests", "starlette", "uvicorn"]
|
|
82
82
|
types-dataclasses = "==0.6.6"
|
83
83
|
types-protobuf = "==3.19.18"
|
84
84
|
types-requests = "==2.31.0.20240125"
|
85
|
-
types-setuptools = "==69.0.0.
|
85
|
+
types-setuptools = "==69.0.0.20240125"
|
86
86
|
clang-format = "==17.0.4"
|
87
87
|
isort = "==5.13.2"
|
88
88
|
black = { version = "==23.10.1", extras = ["jupyter"] }
|
@@ -95,7 +95,7 @@ pytest-cov = "==4.1.0"
|
|
95
95
|
pytest-watch = "==4.2.0"
|
96
96
|
grpcio-tools = "==1.60.0"
|
97
97
|
mypy-protobuf = "==3.2.0"
|
98
|
-
jupyterlab = "==4.0.
|
98
|
+
jupyterlab = "==4.0.12"
|
99
99
|
rope = "==1.11.0"
|
100
100
|
semver = "==3.0.2"
|
101
101
|
sphinx = "==6.2.1"
|
@@ -34,7 +34,7 @@ from flwr.common.constant import (
|
|
34
34
|
TRANSPORT_TYPE_REST,
|
35
35
|
TRANSPORT_TYPES,
|
36
36
|
)
|
37
|
-
from flwr.common.logger import log, warn_experimental_feature
|
37
|
+
from flwr.common.logger import log, warn_deprecated_feature, warn_experimental_feature
|
38
38
|
from flwr.common.message import Message
|
39
39
|
|
40
40
|
from .flower import load_flower_callable
|
@@ -88,7 +88,7 @@ def run_client() -> None:
|
|
88
88
|
_start_client_internal(
|
89
89
|
server_address=args.server,
|
90
90
|
load_flower_callable_fn=_load,
|
91
|
-
transport="grpc-rere",
|
91
|
+
transport="rest" if args.rest else "grpc-rere",
|
92
92
|
root_certificates=root_certificates,
|
93
93
|
insecure=args.insecure,
|
94
94
|
)
|
@@ -111,6 +111,11 @@ def _parse_args_client() -> argparse.ArgumentParser:
|
|
111
111
|
help="Run the client without HTTPS. By default, the client runs with "
|
112
112
|
"HTTPS enabled. Use this flag only if you understand the risks.",
|
113
113
|
)
|
114
|
+
parser.add_argument(
|
115
|
+
"--rest",
|
116
|
+
action="store_true",
|
117
|
+
help="Use REST as a transport layer for the client.",
|
118
|
+
)
|
114
119
|
parser.add_argument(
|
115
120
|
"--root-certificates",
|
116
121
|
metavar="ROOT_CERT",
|
@@ -399,6 +404,12 @@ def start_numpy_client(
|
|
399
404
|
) -> None:
|
400
405
|
"""Start a Flower NumPyClient which connects to a gRPC server.
|
401
406
|
|
407
|
+
Warning
|
408
|
+
-------
|
409
|
+
This function is deprecated since 1.7.0. Use :code:`flwr.client.start_client`
|
410
|
+
instead and first convert your :code:`NumPyClient` to type
|
411
|
+
:code:`flwr.client.Client` by executing its :code:`to_client()` method.
|
412
|
+
|
402
413
|
Parameters
|
403
414
|
----------
|
404
415
|
server_address : str
|
@@ -454,21 +465,22 @@ def start_numpy_client(
|
|
454
465
|
>>> root_certificates=Path("/crts/root.pem").read_bytes(),
|
455
466
|
>>> )
|
456
467
|
"""
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
468
|
+
mssg = (
|
469
|
+
"flwr.client.start_numpy_client() is deprecated. \n\tInstead, use "
|
470
|
+
"`flwr.client.start_client()` by ensuring you first call "
|
471
|
+
"the `.to_client()` method as shown below: \n"
|
472
|
+
"\tflwr.client.start_client(\n"
|
473
|
+
"\t\tserver_address='<IP>:<PORT>',\n"
|
474
|
+
"\t\tclient=FlowerClient().to_client(),"
|
475
|
+
" # <-- where FlowerClient is of type flwr.client.NumPyClient object\n"
|
476
|
+
"\t)\n"
|
477
|
+
"\tUsing `start_numpy_client()` is deprecated."
|
478
|
+
)
|
479
|
+
|
480
|
+
warn_deprecated_feature(name=mssg)
|
469
481
|
|
470
482
|
# Calling this function is deprecated. A warning is thrown.
|
471
|
-
# We first need to convert
|
483
|
+
# We first need to convert the supplied client to `Client.`
|
472
484
|
|
473
485
|
wrp_client = client.to_client()
|
474
486
|
|
@@ -532,7 +532,7 @@ def _run_fleet_api_grpc_rere(
|
|
532
532
|
"""Run Fleet API (gRPC, request-response)."""
|
533
533
|
# Create Fleet API gRPC server
|
534
534
|
fleet_servicer = FleetServicer(
|
535
|
-
|
535
|
+
state_factory=state_factory,
|
536
536
|
)
|
537
537
|
fleet_add_servicer_to_server_fn = add_FleetServicer_to_server
|
538
538
|
fleet_grpc_server = generic_create_grpc_server(
|
@@ -32,14 +32,14 @@ from flwr.proto.fleet_pb2 import ( # pylint: disable=E0611
|
|
32
32
|
PushTaskResResponse,
|
33
33
|
)
|
34
34
|
from flwr.server.fleet.message_handler import message_handler
|
35
|
-
from flwr.server.state import
|
35
|
+
from flwr.server.state import StateFactory
|
36
36
|
|
37
37
|
|
38
38
|
class FleetServicer(fleet_pb2_grpc.FleetServicer):
|
39
39
|
"""Fleet API servicer."""
|
40
40
|
|
41
|
-
def __init__(self,
|
42
|
-
self.
|
41
|
+
def __init__(self, state_factory: StateFactory) -> None:
|
42
|
+
self.state_factory = state_factory
|
43
43
|
|
44
44
|
def CreateNode(
|
45
45
|
self, request: CreateNodeRequest, context: grpc.ServicerContext
|
@@ -48,7 +48,7 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
|
|
48
48
|
log(INFO, "FleetServicer.CreateNode")
|
49
49
|
return message_handler.create_node(
|
50
50
|
request=request,
|
51
|
-
state=self.state,
|
51
|
+
state=self.state_factory.state(),
|
52
52
|
)
|
53
53
|
|
54
54
|
def DeleteNode(
|
@@ -58,7 +58,7 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
|
|
58
58
|
log(INFO, "FleetServicer.DeleteNode")
|
59
59
|
return message_handler.delete_node(
|
60
60
|
request=request,
|
61
|
-
state=self.state,
|
61
|
+
state=self.state_factory.state(),
|
62
62
|
)
|
63
63
|
|
64
64
|
def PullTaskIns(
|
@@ -68,7 +68,7 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
|
|
68
68
|
log(INFO, "FleetServicer.PullTaskIns")
|
69
69
|
return message_handler.pull_task_ins(
|
70
70
|
request=request,
|
71
|
-
state=self.state,
|
71
|
+
state=self.state_factory.state(),
|
72
72
|
)
|
73
73
|
|
74
74
|
def PushTaskRes(
|
@@ -78,5 +78,5 @@ class FleetServicer(fleet_pb2_grpc.FleetServicer):
|
|
78
78
|
log(INFO, "FleetServicer.PushTaskRes")
|
79
79
|
return message_handler.push_task_res(
|
80
80
|
request=request,
|
81
|
-
state=self.state,
|
81
|
+
state=self.state_factory.state(),
|
82
82
|
)
|
@@ -15,6 +15,7 @@
|
|
15
15
|
"""Utilities for Actors in the Virtual Client Engine."""
|
16
16
|
|
17
17
|
import traceback
|
18
|
+
import warnings
|
18
19
|
from logging import ERROR
|
19
20
|
|
20
21
|
from flwr.client import Client
|
@@ -26,7 +27,7 @@ except ModuleNotFoundError:
|
|
26
27
|
TF = None
|
27
28
|
|
28
29
|
# Display Deprecation warning once
|
29
|
-
|
30
|
+
warnings.filterwarnings("once", category=DeprecationWarning)
|
30
31
|
|
31
32
|
|
32
33
|
def enable_tf_gpu_growth() -> None:
|
@@ -69,15 +70,15 @@ def check_clientfn_returns_client(client: Client) -> Client:
|
|
69
70
|
the client internally to `Client` by calling `.to_client()`.
|
70
71
|
"""
|
71
72
|
if not isinstance(client, Client):
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
73
|
+
mssg = (
|
74
|
+
" Ensure your client is of type `flwr.client.Client`. Please convert it"
|
75
|
+
" using the `.to_client()` method before returning it"
|
76
|
+
" in the `client_fn` you pass to `start_simulation`."
|
77
|
+
" We have applied this conversion on your behalf."
|
78
|
+
" Not returning a `Client` might trigger an error in future"
|
79
|
+
" versions of Flower."
|
80
|
+
)
|
80
81
|
|
81
|
-
|
82
|
+
warnings.warn(mssg, DeprecationWarning, stacklevel=2)
|
82
83
|
client = client.to_client()
|
83
84
|
return client
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/client.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/flower.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
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/node_state.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/numpy_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/client/typing.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/address.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/constant.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/context.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/date.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/grpc.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/logger.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/message.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/parameter.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/recordset.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/serde.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/telemetry.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/typing.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/common/version.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/__init__.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/driver.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/driver/grpc_driver.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/flower/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/driver_pb2.pyi
RENAMED
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/fleet_pb2.pyi
RENAMED
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2.pyi
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/node_pb2_grpc.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/recordset_pb2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2.pyi
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/task_pb2_grpc.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/proto/transport_pb2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/__init__.py
RENAMED
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/client_proxy.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/criterion.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
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/history.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/server.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/server/state/state.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
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/__init__.py
RENAMED
File without changes
|
{flwr_nightly-1.7.0.dev20240129 → flwr_nightly-1.7.0.dev20240131}/src/py/flwr/simulation/app.py
RENAMED
File without changes
|
File without changes
|
File without changes
|