flwr-nightly 1.15.0.dev20250116__py3-none-any.whl → 1.15.0.dev20250118__py3-none-any.whl

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.
Files changed (43) hide show
  1. flwr/client/app.py +16 -36
  2. flwr/client/grpc_client/connection.py +0 -6
  3. flwr/client/grpc_rere_client/connection.py +10 -0
  4. flwr/client/rest_client/connection.py +10 -0
  5. flwr/client/supernode/app.py +5 -5
  6. flwr/common/grpc.py +7 -0
  7. flwr/proto/clientappio_pb2.py +13 -3
  8. flwr/proto/clientappio_pb2_grpc.py +63 -12
  9. flwr/proto/error_pb2.py +13 -3
  10. flwr/proto/error_pb2_grpc.py +20 -0
  11. flwr/proto/exec_pb2.py +15 -5
  12. flwr/proto/exec_pb2_grpc.py +105 -24
  13. flwr/proto/fab_pb2.py +13 -3
  14. flwr/proto/fab_pb2_grpc.py +20 -0
  15. flwr/proto/fleet_pb2.py +15 -5
  16. flwr/proto/fleet_pb2_grpc.py +147 -36
  17. flwr/proto/grpcadapter_pb2.py +14 -4
  18. flwr/proto/grpcadapter_pb2_grpc.py +35 -4
  19. flwr/proto/log_pb2.py +13 -3
  20. flwr/proto/log_pb2_grpc.py +20 -0
  21. flwr/proto/message_pb2.py +15 -5
  22. flwr/proto/message_pb2_grpc.py +20 -0
  23. flwr/proto/node_pb2.py +13 -3
  24. flwr/proto/node_pb2_grpc.py +20 -0
  25. flwr/proto/recordset_pb2.py +18 -8
  26. flwr/proto/recordset_pb2_grpc.py +20 -0
  27. flwr/proto/run_pb2.py +16 -6
  28. flwr/proto/run_pb2_grpc.py +20 -0
  29. flwr/proto/serverappio_pb2.py +13 -3
  30. flwr/proto/serverappio_pb2_grpc.py +175 -44
  31. flwr/proto/simulationio_pb2.py +13 -3
  32. flwr/proto/simulationio_pb2_grpc.py +105 -24
  33. flwr/proto/task_pb2.py +13 -3
  34. flwr/proto/task_pb2_grpc.py +20 -0
  35. flwr/proto/transport_pb2.py +20 -10
  36. flwr/proto/transport_pb2_grpc.py +35 -4
  37. flwr/server/app.py +13 -2
  38. flwr/server/serverapp/app.py +1 -0
  39. {flwr_nightly-1.15.0.dev20250116.dist-info → flwr_nightly-1.15.0.dev20250118.dist-info}/METADATA +4 -4
  40. {flwr_nightly-1.15.0.dev20250116.dist-info → flwr_nightly-1.15.0.dev20250118.dist-info}/RECORD +43 -43
  41. {flwr_nightly-1.15.0.dev20250116.dist-info → flwr_nightly-1.15.0.dev20250118.dist-info}/LICENSE +0 -0
  42. {flwr_nightly-1.15.0.dev20250116.dist-info → flwr_nightly-1.15.0.dev20250118.dist-info}/WHEEL +0 -0
  43. {flwr_nightly-1.15.0.dev20250116.dist-info → flwr_nightly-1.15.0.dev20250118.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,24 @@
1
1
  # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
2
  """Client and server classes corresponding to protobuf-defined services."""
3
3
  import grpc
4
+ import warnings
4
5
 
6
+
7
+ GRPC_GENERATED_VERSION = '1.69.0'
8
+ GRPC_VERSION = grpc.__version__
9
+ _version_not_supported = False
10
+
11
+ try:
12
+ from grpc._utilities import first_version_is_lower
13
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
14
+ except ImportError:
15
+ _version_not_supported = True
16
+
17
+ if _version_not_supported:
18
+ raise RuntimeError(
19
+ f'The grpc package installed is at version {GRPC_VERSION},'
20
+ + f' but the generated code in flwr/proto/task_pb2_grpc.py depends on'
21
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
22
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
23
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
24
+ )
@@ -1,12 +1,22 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
3
4
  # source: flwr/proto/transport.proto
4
- # Protobuf Python Version: 4.25.0
5
+ # Protobuf Python Version: 5.29.0
5
6
  """Generated protocol buffer code."""
6
7
  from google.protobuf import descriptor as _descriptor
7
8
  from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
8
10
  from google.protobuf import symbol_database as _symbol_database
9
11
  from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 29,
16
+ 0,
17
+ '',
18
+ 'flwr/proto/transport.proto'
19
+ )
10
20
  # @@protoc_insertion_point(imports)
11
21
 
12
22
  _sym_db = _symbol_database.Default()
@@ -19,21 +29,21 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lwr/proto/
19
29
  _globals = globals()
20
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
31
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.transport_pb2', _globals)
22
- if _descriptor._USE_C_DESCRIPTORS == False:
23
- DESCRIPTOR._options = None
24
- _globals['_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY']._options = None
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY']._loaded_options = None
25
35
  _globals['_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY']._serialized_options = b'8\001'
26
- _globals['_SERVERMESSAGE_GETPARAMETERSINS_CONFIGENTRY']._options = None
36
+ _globals['_SERVERMESSAGE_GETPARAMETERSINS_CONFIGENTRY']._loaded_options = None
27
37
  _globals['_SERVERMESSAGE_GETPARAMETERSINS_CONFIGENTRY']._serialized_options = b'8\001'
28
- _globals['_SERVERMESSAGE_FITINS_CONFIGENTRY']._options = None
38
+ _globals['_SERVERMESSAGE_FITINS_CONFIGENTRY']._loaded_options = None
29
39
  _globals['_SERVERMESSAGE_FITINS_CONFIGENTRY']._serialized_options = b'8\001'
30
- _globals['_SERVERMESSAGE_EVALUATEINS_CONFIGENTRY']._options = None
40
+ _globals['_SERVERMESSAGE_EVALUATEINS_CONFIGENTRY']._loaded_options = None
31
41
  _globals['_SERVERMESSAGE_EVALUATEINS_CONFIGENTRY']._serialized_options = b'8\001'
32
- _globals['_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY']._options = None
42
+ _globals['_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY']._loaded_options = None
33
43
  _globals['_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY']._serialized_options = b'8\001'
34
- _globals['_CLIENTMESSAGE_FITRES_METRICSENTRY']._options = None
44
+ _globals['_CLIENTMESSAGE_FITRES_METRICSENTRY']._loaded_options = None
35
45
  _globals['_CLIENTMESSAGE_FITRES_METRICSENTRY']._serialized_options = b'8\001'
36
- _globals['_CLIENTMESSAGE_EVALUATERES_METRICSENTRY']._options = None
46
+ _globals['_CLIENTMESSAGE_EVALUATERES_METRICSENTRY']._loaded_options = None
37
47
  _globals['_CLIENTMESSAGE_EVALUATERES_METRICSENTRY']._serialized_options = b'8\001'
38
48
  _globals['_CODE']._serialized_start=2551
39
49
  _globals['_CODE']._serialized_end=2692
@@ -1,9 +1,29 @@
1
1
  # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
2
  """Client and server classes corresponding to protobuf-defined services."""
3
3
  import grpc
4
+ import warnings
4
5
 
5
6
  from flwr.proto import transport_pb2 as flwr_dot_proto_dot_transport__pb2
6
7
 
8
+ GRPC_GENERATED_VERSION = '1.69.0'
9
+ GRPC_VERSION = grpc.__version__
10
+ _version_not_supported = False
11
+
12
+ try:
13
+ from grpc._utilities import first_version_is_lower
14
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
15
+ except ImportError:
16
+ _version_not_supported = True
17
+
18
+ if _version_not_supported:
19
+ raise RuntimeError(
20
+ f'The grpc package installed is at version {GRPC_VERSION},'
21
+ + f' but the generated code in flwr/proto/transport_pb2_grpc.py depends on'
22
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
23
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
24
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
25
+ )
26
+
7
27
 
8
28
  class FlowerServiceStub(object):
9
29
  """Missing associated documentation comment in .proto file."""
@@ -18,7 +38,7 @@ class FlowerServiceStub(object):
18
38
  '/flwr.proto.FlowerService/Join',
19
39
  request_serializer=flwr_dot_proto_dot_transport__pb2.ClientMessage.SerializeToString,
20
40
  response_deserializer=flwr_dot_proto_dot_transport__pb2.ServerMessage.FromString,
21
- )
41
+ _registered_method=True)
22
42
 
23
43
 
24
44
  class FlowerServiceServicer(object):
@@ -42,6 +62,7 @@ def add_FlowerServiceServicer_to_server(servicer, server):
42
62
  generic_handler = grpc.method_handlers_generic_handler(
43
63
  'flwr.proto.FlowerService', rpc_method_handlers)
44
64
  server.add_generic_rpc_handlers((generic_handler,))
65
+ server.add_registered_method_handlers('flwr.proto.FlowerService', rpc_method_handlers)
45
66
 
46
67
 
47
68
  # This class is part of an EXPERIMENTAL API.
@@ -59,8 +80,18 @@ class FlowerService(object):
59
80
  wait_for_ready=None,
60
81
  timeout=None,
61
82
  metadata=None):
62
- return grpc.experimental.stream_stream(request_iterator, target, '/flwr.proto.FlowerService/Join',
83
+ return grpc.experimental.stream_stream(
84
+ request_iterator,
85
+ target,
86
+ '/flwr.proto.FlowerService/Join',
63
87
  flwr_dot_proto_dot_transport__pb2.ClientMessage.SerializeToString,
64
88
  flwr_dot_proto_dot_transport__pb2.ServerMessage.FromString,
65
- options, channel_credentials,
66
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
89
+ options,
90
+ channel_credentials,
91
+ insecure,
92
+ call_credentials,
93
+ compression,
94
+ wait_for_ready,
95
+ timeout,
96
+ metadata,
97
+ _registered_method=True)
flwr/server/app.py CHANGED
@@ -20,6 +20,7 @@ import csv
20
20
  import importlib.util
21
21
  import multiprocessing
22
22
  import multiprocessing.context
23
+ import os
23
24
  import sys
24
25
  import threading
25
26
  from collections.abc import Sequence
@@ -447,7 +448,17 @@ def run_superlink() -> None:
447
448
  sys.exit(1)
448
449
 
449
450
 
450
- def _run_flwr_command(args: list[str]) -> None:
451
+ def _run_flwr_command(args: list[str], main_pid: int) -> None:
452
+ # Monitor the main process in case of SIGKILL
453
+ def main_process_monitor() -> None:
454
+ while True:
455
+ sleep(1)
456
+ if os.getppid() != main_pid:
457
+ os.kill(os.getpid(), 9)
458
+
459
+ threading.Thread(target=main_process_monitor, daemon=True).start()
460
+
461
+ # Run the command
451
462
  sys.argv = args
452
463
  if args[0] == "flwr-serverapp":
453
464
  flwr_serverapp()
@@ -493,7 +504,7 @@ def _flwr_scheduler(
493
504
  ]
494
505
 
495
506
  proc = mp_spawn_context.Process(
496
- target=_run_flwr_command, args=(command,), daemon=True
507
+ target=_run_flwr_command, args=(command, os.getpid()), daemon=True
497
508
  )
498
509
  proc.start()
499
510
 
@@ -117,6 +117,7 @@ def run_serverapp( # pylint: disable=R0914, disable=W0212, disable=R0915
117
117
  log_uploader = None
118
118
  success = True
119
119
  hash_run_id = None
120
+ run_status = None
120
121
  while True:
121
122
 
122
123
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.15.0.dev20250116
3
+ Version: 1.15.0.dev20250118
4
4
  Summary: Flower: A Friendly Federated AI Framework
5
5
  Home-page: https://flower.ai
6
6
  License: Apache-2.0
@@ -32,12 +32,12 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
32
32
  Classifier: Typing :: Typed
33
33
  Provides-Extra: rest
34
34
  Provides-Extra: simulation
35
- Requires-Dist: cryptography (>=42.0.4,<43.0.0)
36
- Requires-Dist: grpcio (>=1.60.0,<2.0.0,!=1.64.2,<=1.64.3)
35
+ Requires-Dist: cryptography (>=43.0.1,<44.0.0)
36
+ Requires-Dist: grpcio (>=1.69.0,<2.0.0)
37
37
  Requires-Dist: iterators (>=0.0.2,<0.0.3)
38
38
  Requires-Dist: numpy (>=1.26.0,<3.0.0)
39
39
  Requires-Dist: pathspec (>=0.12.1,<0.13.0)
40
- Requires-Dist: protobuf (>=4.25.2,<5.0.0)
40
+ Requires-Dist: protobuf (>=5.29.3,<6.0.0)
41
41
  Requires-Dist: pycryptodome (>=3.18.0,<4.0.0)
42
42
  Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
43
43
  Requires-Dist: ray (==2.10.0) ; (python_version >= "3.9" and python_version < "3.12") and (extra == "simulation")
@@ -69,7 +69,7 @@ flwr/cli/run/run.py,sha256=BvpjYyUvDhVMvO5cG711ihtdeSbls9p8zVAuFGETLA8,7893
69
69
  flwr/cli/stop.py,sha256=1T9RNRCH8dxjmBT38hFtKAWY9Gb7RMCMCML7kex9WzE,4613
70
70
  flwr/cli/utils.py,sha256=RXozds-T7HN8yH0mMj67q-0YktdNNm83N9Ptu_pdhsc,10604
71
71
  flwr/client/__init__.py,sha256=DGDoO0AEAfz-0CUFmLdyUUweAS64-07AOnmDfWUefK4,1192
72
- flwr/client/app.py,sha256=IboXEVp3TeCF_3KErGI7zHg0C7ZAwi4evcf9PLsCFm8,34987
72
+ flwr/client/app.py,sha256=rc_agtyI8XC0L5k5FnM5-ySDqlBPWt2G9Os_MyCI-Uo,34278
73
73
  flwr/client/client.py,sha256=8o58nd9o6ZFcMIaVYPGcV4MSjBG4H0oFgWiv8ZEO3oA,7895
74
74
  flwr/client/client_app.py,sha256=cTig-N00YzTucbo9zNi6I21J8PlbflU_8J_f5CI-Wpw,10390
75
75
  flwr/client/clientapp/__init__.py,sha256=kZqChGnTChQ1WGSUkIlW2S5bc0d0mzDubCAmZUGRpEY,800
@@ -80,10 +80,10 @@ flwr/client/dpfedavg_numpy_client.py,sha256=4KsEvzavDKyVDU1V0kMqffTwu1lNdUCYQN-i
80
80
  flwr/client/grpc_adapter_client/__init__.py,sha256=QyNWIbsq9DpyMk7oemiO1P3TBFfkfkctnJ1JoAkTl3s,742
81
81
  flwr/client/grpc_adapter_client/connection.py,sha256=nV-hPd5q5Eblg6PgUrGGYj74mbE1a0qjfN8G3wzJVAc,4006
82
82
  flwr/client/grpc_client/__init__.py,sha256=LsnbqXiJhgQcB0XzAlUQgPx011Uf7Y7yabIC1HxivJ8,735
83
- flwr/client/grpc_client/connection.py,sha256=gMwB87mlmRBbvPOvUA1m3C-Ci6bjMEmTRI4bJpgbyic,9416
83
+ flwr/client/grpc_client/connection.py,sha256=Y6VDDDEHCPlGxSf-bEyBua_khnY_F1OoXD-8gpIcYhE,9171
84
84
  flwr/client/grpc_rere_client/__init__.py,sha256=MK-oSoV3kwUEQnIwl0GN4OpiHR7eLOrMA8ikunET130,752
85
85
  flwr/client/grpc_rere_client/client_interceptor.py,sha256=9BEZNOHxNJFxIuXc9KzBF0ZkXECtOm7RgnZ9yHVUxCQ,5554
86
- flwr/client/grpc_rere_client/connection.py,sha256=tU9JmcmBQQD_hxo_SvL3ZmvD94Mf8vKNuoUaQnV7Jd4,11415
86
+ flwr/client/grpc_rere_client/connection.py,sha256=9XBcTn4myN_pgAGM6QFQ2Q35clSqxfgY8irrChQuF6I,11668
87
87
  flwr/client/grpc_rere_client/grpc_adapter.py,sha256=VrSqHosRcWv8xDLKEabuzyHpVnRhjAEJf_MUFQxhDh8,6155
88
88
  flwr/client/heartbeat.py,sha256=cx37mJBH8LyoIN4Lks85wtqT1mnU5GulQnr4pGCvAq0,2404
89
89
  flwr/client/message_handler/__init__.py,sha256=QxxQuBNpFPTHx3KiUNvQSlqMKlEnbRR1kFfc1KVje08,719
@@ -103,10 +103,10 @@ flwr/client/nodestate/nodestate.py,sha256=CmHZdR6kVO8tkffg42W0Yb9JdRmrUonZ9deXfU
103
103
  flwr/client/nodestate/nodestate_factory.py,sha256=apUbcJG0a_FUVsc0TkNN3q9yovc9u_J34u9iuLFKTLQ,1430
104
104
  flwr/client/numpy_client.py,sha256=chTkL9dOtK_wgUoYtzp5mfDOC1k8xPAd1qPIsB3hcjA,9581
105
105
  flwr/client/rest_client/__init__.py,sha256=5KGlp7pjc1dhNRkKlaNtUfQmg8wrRFh9lS3P3uRS-7Q,735
106
- flwr/client/rest_client/connection.py,sha256=4XGzq5znU1Ycu8bMtW8AcGvVtxekZXhAU27Xt3eqoUY,12663
106
+ flwr/client/rest_client/connection.py,sha256=B4jZ19TjSpjUsa1-v6TQFwn-U7xcqIZx4O_4FtHztCw,12977
107
107
  flwr/client/run_info_store.py,sha256=ZN2Phi4DSLbSyzg8RmzJcVYh1g6eurHOmWRCT7GMtw4,4040
108
108
  flwr/client/supernode/__init__.py,sha256=SUhWOzcgXRNXk1V9UgB5-FaWukqqrOEajVUHEcPkwyQ,865
109
- flwr/client/supernode/app.py,sha256=LCZs4ImGkleGgsn-b1AOK-u_P8Gi5nKeSvicEDRDF8Q,11400
109
+ flwr/client/supernode/app.py,sha256=ewC6PgE6ycEBoIAXoWAqP0g5dNjwmkLtZ6qZp2Fkac4,11422
110
110
  flwr/client/typing.py,sha256=dxoTBnTMfqXr5J7G3y-uNjqxYCddvxhu89spfj4Lm2U,1048
111
111
  flwr/common/__init__.py,sha256=TVaoFEJE158aui1TPZQiJCDZX4RNHRyI8I55VC80HhI,3901
112
112
  flwr/common/address.py,sha256=9KNYE69WW_QVcyumsux3Qn1wmn4J7f13Y9nHASpvzbA,3018
@@ -121,7 +121,7 @@ flwr/common/differential_privacy.py,sha256=XwcJ3rWr8S8BZUocc76vLSJAXIf6OHnWkBV6-
121
121
  flwr/common/differential_privacy_constants.py,sha256=c7b7tqgvT7yMK0XN9ndiTBs4mQf6d3qk6K7KBZGlV4Q,1074
122
122
  flwr/common/dp.py,sha256=vddkvyjV2FhRoN4VuU2LeAM1UBn7dQB8_W-Qdiveal8,1978
123
123
  flwr/common/exit_handlers.py,sha256=MracJaBeoCOC7TaXK9zCJQxhrMSx9ZtczK237qvhBpU,2806
124
- flwr/common/grpc.py,sha256=amBroQiRdRrczDAGbEZjaYsVoeH_52pyfyOvTSvIF_c,9362
124
+ flwr/common/grpc.py,sha256=GCdiTCppW-clhzOo7OIJbsKIWKnJ9pqNTsAKhj7y4So,9646
125
125
  flwr/common/logger.py,sha256=UPyI_98EDibqgf3epgWxFHxdXgYReSWtaKFf9Mj0hd0,12306
126
126
  flwr/common/message.py,sha256=Zv4ID2BLQsbff0F03DI_MeFoHbSqVZAdDD9NcKYv6Zo,13832
127
127
  flwr/common/object_ref.py,sha256=fIXf8aP5mG6Nuni7dvcKK5Di3zRfRWGs4ljvqIXplds,10115
@@ -149,69 +149,69 @@ flwr/common/telemetry.py,sha256=APKVubU_zJNrE-M_rip6S6Fsu41DxY3tAjFWNOgTmC0,9086
149
149
  flwr/common/typing.py,sha256=IMgs_7nDJWn8Eb7y16Hl4HC3imQV7_Hdla1IFs3B5u8,6382
150
150
  flwr/common/version.py,sha256=aNSxLL49RKeLz8sPcZrsTEWtrAeQ0uxu6tjmfba4O60,1325
151
151
  flwr/proto/__init__.py,sha256=hbY7JYakwZwCkYgCNlmHdc8rtvfoJbAZLalMdc--CGc,683
152
- flwr/proto/clientappio_pb2.py,sha256=Y3PMv-JMaBGehpslgbvGY6l2u5vNpfCTFWu-fmAmBJ4,3703
152
+ flwr/proto/clientappio_pb2.py,sha256=C42q8Efr7jDexSAUBs8RlDggBCylu615Lh0si8habX0,3954
153
153
  flwr/proto/clientappio_pb2.pyi,sha256=iL6pOPmnot5wP3aXGiDfiUpp-eJIkysyju0ebPehS8Y,5670
154
- flwr/proto/clientappio_pb2_grpc.py,sha256=G35GhZ3iEOL8N6tu7Kn_ip4QUx4O2HveXngHAuU2YEM,6112
154
+ flwr/proto/clientappio_pb2_grpc.py,sha256=dHaaQB535Fvneec3gwXOTPTQ-l495GUkBS3qq-5WpCI,7452
155
155
  flwr/proto/clientappio_pb2_grpc.pyi,sha256=cybktpMPaIMwrItd8hQaQDnRv4zNu_wgRddSqR9REyI,1822
156
- flwr/proto/error_pb2.py,sha256=LarjKL90LbwkXKlhzNrDssgl4DXcvIPve8NVCXHpsKA,1084
156
+ flwr/proto/error_pb2.py,sha256=yU22xOnidohZg2dAI4RPdCb04UVu-3B4NfujLPCRauA,1329
157
157
  flwr/proto/error_pb2.pyi,sha256=ZNH4HhJTU_KfMXlyCeg8FwU-fcUYxTqEmoJPtWtHikc,734
158
- flwr/proto/error_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
158
+ flwr/proto/error_pb2_grpc.py,sha256=8-n4DqTGZuhUUcYLjPcv-d3C19n8fFBIL3RQCy5E4OE,897
159
159
  flwr/proto/error_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
160
- flwr/proto/exec_pb2.py,sha256=1a8nh4RyDpRLY2gC6vMSAEe6-ksj7hLonAr-pZAejqc,5664
160
+ flwr/proto/exec_pb2.py,sha256=mYfDOApEuXaaC-hF6HBgbvxhHpp_VoXqwF6tAbRCiXk,5922
161
161
  flwr/proto/exec_pb2.pyi,sha256=2vbzq2OOYM5GI-Tug4eVM5J6xvNvSFtR8m3MsP-i-Q4,9477
162
- flwr/proto/exec_pb2_grpc.py,sha256=-bdLqjsqQxK9R8LIiZaKlLKH2NmjR50EaGKTPPTwFhI,10445
162
+ flwr/proto/exec_pb2_grpc.py,sha256=3nGc21zqZ_vWda_k1Vzx8hMlZ2sNSweNkjm7ABDfls0,12278
163
163
  flwr/proto/exec_pb2_grpc.pyi,sha256=M5k-FzeLWxal7zt28LJfzMWWRxmNknTC2BzHRRMa1sQ,2914
164
- flwr/proto/fab_pb2.py,sha256=-gfW_ePYHx1vDGHfimwn91qEhmmY_gslaOHwqqZnVdU,1627
164
+ flwr/proto/fab_pb2.py,sha256=Q2-yT---MrRdzxVddy_xxQUtBIkrPU-odQ3qYaOfBwc,1870
165
165
  flwr/proto/fab_pb2.pyi,sha256=AMXpiDK0fo3nZWjxsC2E4otSaVjyQbU7iiWKrsSZavs,2395
166
- flwr/proto/fab_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
166
+ flwr/proto/fab_pb2_grpc.py,sha256=VO-wNfkShf9z8sb8T4UUq2Pp2jKb8pjnexaSkWh2Xp4,895
167
167
  flwr/proto/fab_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
168
- flwr/proto/fleet_pb2.py,sha256=Uu_oFKPBTzkROKWQmFN59jFucGagtvMjHqkgz6PhlLM,6583
168
+ flwr/proto/fleet_pb2.py,sha256=L2HLL669B2hlacC0HmHCFFZk2X3vNGarDqKQj4pNSSM,6842
169
169
  flwr/proto/fleet_pb2.pyi,sha256=XT8Y79QB9ZWljt30hGmytkxJbu6H_D7ltkYopJQFM4o,12004
170
- flwr/proto/fleet_pb2_grpc.py,sha256=USzM1D8S0HkjmnOLyDIgbWvcpnRMfBBhtnVTj0Mzcms,15500
170
+ flwr/proto/fleet_pb2_grpc.py,sha256=hl2PqMcT-QH6kDoN_VBF9yvW8UKZlffrCMQigZDERso,17842
171
171
  flwr/proto/fleet_pb2_grpc.pyi,sha256=sZXIu_9zp2OImuCMgMFS5mpx8qFdsgJ9Lzy3S_OWn30,4166
172
- flwr/proto/grpcadapter_pb2.py,sha256=bb8mW09XzNCpMdr1KuYQkefPFWR8lc8y1uL6Uk0TtsM,1843
172
+ flwr/proto/grpcadapter_pb2.py,sha256=sPB1FbcNIjw5plvQqhd_vynO0-59n9U7G882l6o1z6Y,2101
173
173
  flwr/proto/grpcadapter_pb2.pyi,sha256=AR77gDsF6f8zqSIQp3877DUd7S8lP95lFak5Ir_WPkw,1716
174
- flwr/proto/grpcadapter_pb2_grpc.py,sha256=rRNuNES5nBugUZWfeA8oAy8dMHgzqU_PF1srTseo3b8,2634
174
+ flwr/proto/grpcadapter_pb2_grpc.py,sha256=BLQLCtfra5qGlwyN9VeWpmYKhfxe8POfhYKhrPnhYso,3636
175
175
  flwr/proto/grpcadapter_pb2_grpc.pyi,sha256=AgA9Qo_lnANb9SNuPzbZGAxupau-xcqYawZz6vqf-24,735
176
- flwr/proto/log_pb2.py,sha256=0McrbU6ZlGLMEUAOhxmJvcVdEnptE2t4HsuzI_j77Sg,1393
176
+ flwr/proto/log_pb2.py,sha256=Zwxi_yx3brrbsPKUpBtktlx97qFi76pFUp5w7vm6_Ok,1636
177
177
  flwr/proto/log_pb2.pyi,sha256=ipuhgo40sAHTcRzCsGI1HwIstr5q0THPNk_cf62YyME,1448
178
- flwr/proto/log_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
178
+ flwr/proto/log_pb2_grpc.py,sha256=jYx0lak15BvbWFkYwcYmAJ17sckFCOHzuDALz43cY5c,895
179
179
  flwr/proto/log_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
180
- flwr/proto/message_pb2.py,sha256=5Aa7whiLywAL4sRnWpLuAu0gk0U2L7hc1sxHhBojFSk,3189
180
+ flwr/proto/message_pb2.py,sha256=4Diw__FXmNzdjczd3eptVqxDzhMlywx3gcGcmkeS3QY,3450
181
181
  flwr/proto/message_pb2.pyi,sha256=kAFVgSi8j6ZYzkCQ9MkbrpUtVKgZsTYVIoQmcMB6BX0,5735
182
- flwr/proto/message_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
182
+ flwr/proto/message_pb2_grpc.py,sha256=YThZncIoEfLjcVtXqQLRfzOBejIcRcz5_vUrJwgwPow,899
183
183
  flwr/proto/message_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
184
- flwr/proto/node_pb2.py,sha256=73fBFaYUGE6p0-1mTvR60l2q7bT8ArIua__PHCyWTis,1045
184
+ flwr/proto/node_pb2.py,sha256=W9RpawvpAKNLwTzYKNuttVVcIIUS7L8BMMsNTz1yVRI,1289
185
185
  flwr/proto/node_pb2.pyi,sha256=CPMeIPzUeI5-Csw9sHktV9UBH4GbqiGuYzGQQKftm6Q,616
186
- flwr/proto/node_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
186
+ flwr/proto/node_pb2_grpc.py,sha256=wYepoRvqFZ3T91_QVEozdgW6Ur4Vc9QET326eWAbIwI,896
187
187
  flwr/proto/node_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
188
- flwr/proto/recordset_pb2.py,sha256=XjEIDU-YlKSY59qNd0qXTFB4COvMHGiszQ5O1krJ1Ks,6367
188
+ flwr/proto/recordset_pb2.py,sha256=gW4TQJO-XxvttG2vQ0P--veL3kMJA4A1WJCbtJo4Ym0,6651
189
189
  flwr/proto/recordset_pb2.pyi,sha256=ypFNvroU4aIlnN0D6W4XAsOfm0UzTfXhxxL1v7u__Ac,15370
190
- flwr/proto/recordset_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
190
+ flwr/proto/recordset_pb2_grpc.py,sha256=3mSlNzYC2WmM7Veq58NG_z5PSZYrYxuJB-O_kZoZCDk,901
191
191
  flwr/proto/recordset_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
192
- flwr/proto/run_pb2.py,sha256=J2TQwf-S0o9ImGuQLrczw99S0GSXm6hk-npJ8rXAC0Y,5743
192
+ flwr/proto/run_pb2.py,sha256=98ScUqBB5nQCaVnTGIvmK6qvanztkpVL7_Ac0Nb-7xQ,6007
193
193
  flwr/proto/run_pb2.pyi,sha256=i6TEwphuFH94_kT2hZWb_RjndLuphkPrT3C2VP-NnVs,11739
194
- flwr/proto/run_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
194
+ flwr/proto/run_pb2_grpc.py,sha256=X_9bUyS0nKHTHNGeVxBHuD-LOp8-fi1v9O7gMNyb4Q4,895
195
195
  flwr/proto/run_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
196
- flwr/proto/serverappio_pb2.py,sha256=VXJxFLDrH4XzCEM9VnNg3z7gVIsrvl1VE4ZtK_lI_eE,5003
196
+ flwr/proto/serverappio_pb2.py,sha256=NfwL471K-9truZSc3m4_ZrLbVdwOxlN9NSUbuXRy5xw,5254
197
197
  flwr/proto/serverappio_pb2.pyi,sha256=5SoXVb7fyN0xkl411pmJChlWeQ-sr1Qf9J3B0cAQYc4,6665
198
- flwr/proto/serverappio_pb2_grpc.py,sha256=fGmk0XC7il5wYFSo6zEa21Ki1OYvEuDDXL0hDDoU4QQ,19062
198
+ flwr/proto/serverappio_pb2_grpc.py,sha256=hMw28hkB5hTfqhKuj7xC6Agcj-VufBYNVv4UMPIA5hw,21754
199
199
  flwr/proto/serverappio_pb2_grpc.pyi,sha256=pKdqFpAgkHaNSjRNahnGtSndUif8uB5eFui_q37eDho,5220
200
- flwr/proto/simulationio_pb2.py,sha256=Fv7m8d4vR_0CIGU93nN5tDXSCk2QPbASH_8mT2wBPTE,3117
200
+ flwr/proto/simulationio_pb2.py,sha256=NsEQUcWnyQMz21LPGW53S7BxThmWsjr54STZNLNKonU,3369
201
201
  flwr/proto/simulationio_pb2.pyi,sha256=oXx8_FLBe5B54wduZj-f89kub73XxNtQbThuW8YfPAs,2660
202
- flwr/proto/simulationio_pb2_grpc.py,sha256=9I3yAfJaeMuG-qH_5Ge45eFOftsIOmL9b8E_xHmcvKw,11232
202
+ flwr/proto/simulationio_pb2_grpc.py,sha256=KtWe5eXigmfXv3DNoRBgbzfb1QtDCWwo_1uWbDXeT3E,13081
203
203
  flwr/proto/simulationio_pb2_grpc.pyi,sha256=YHvKtyo7UdbBgdhoN0ndzZeB5vIC3JuR5PAJLrl-OKM,3206
204
- flwr/proto/task_pb2.py,sha256=R5GfHgL8IJRI_qHWNeILl1Y9zHjvB0tnCvMHmTgF4Is,2361
204
+ flwr/proto/task_pb2.py,sha256=AuAV3J4s-nlXTG_sCdyH5kXpGLfSG70L6eXNUyPoYmc,2605
205
205
  flwr/proto/task_pb2.pyi,sha256=KJVsLm-THY5QjHreHDm_-OS1tyZyD61mx6BzOpoeMjw,4320
206
- flwr/proto/task_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
206
+ flwr/proto/task_pb2_grpc.py,sha256=6W5Fjm-05u4N41fHwhwauBIqyRAU68mjoj7yEku8ufo,896
207
207
  flwr/proto/task_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
208
- flwr/proto/transport_pb2.py,sha256=lJsj9rnLiFBhepXuZAIpZysGAqvtXtoSt4h7soU61Do,9824
208
+ flwr/proto/transport_pb2.py,sha256=xqDF2oI0PzAndH17O80SQkyOT_QF9m7CQ0166He7UDQ,10122
209
209
  flwr/proto/transport_pb2.pyi,sha256=ipHQ03eFBqsxtAuAVefZ2lVr04BZ4YifJCS2eauNmy8,21627
210
- flwr/proto/transport_pb2_grpc.py,sha256=vLN3EHtx2aEEMCO4f1Upu-l27BPzd3-5pV-u8wPcosk,2598
210
+ flwr/proto/transport_pb2_grpc.py,sha256=Nvn7oxzm1g1fPiGCGhyKxILDZHYG0CcgjySTzxq-q7s,3600
211
211
  flwr/proto/transport_pb2_grpc.pyi,sha256=AGXf8RiIiW2J5IKMlm_3qT3AzcDa4F3P5IqUjve_esA,766
212
212
  flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
213
  flwr/server/__init__.py,sha256=cEg1oecBu4cKB69iJCqWEylC8b5XW47bl7rQiJsdTvM,1528
214
- flwr/server/app.py,sha256=uhX8FE2II2vv-34ENUDVsp1HOZXlS-8kBOfd7TOXn0E,31799
214
+ flwr/server/app.py,sha256=evM-HqxB_2u3iGZzvB3u9zoFi7IGNWMW-79wauQv_PI,32143
215
215
  flwr/server/client_manager.py,sha256=7Ese0tgrH-i-ms363feYZJKwB8gWnXSmg_hYF2Bju4U,6227
216
216
  flwr/server/client_proxy.py,sha256=4G-oTwhb45sfWLx2uZdcXD98IZwdTS6F88xe3akCdUg,2399
217
217
  flwr/server/compat/__init__.py,sha256=VxnJtJyOjNFQXMNi9hIuzNlZM5n0Hj1p3aq_Pm2udw4,892
@@ -230,7 +230,7 @@ flwr/server/server.py,sha256=1ZsFEptmAV-L2vP2etNC9Ed5CLSxpuKzUFkAPQ4l5Xc,17893
230
230
  flwr/server/server_app.py,sha256=RsgS6PRS5Z74cMUAHzsm8r3LWddwn00MjRs6rlacHt8,6297
231
231
  flwr/server/server_config.py,sha256=CZaHVAsMvGLjpWVcLPkiYxgJN4xfIyAiUrCI3fETKY4,1349
232
232
  flwr/server/serverapp/__init__.py,sha256=L0K-94UDdTyEZ8LDtYybGIIIv3HW6AhSVjXMUfYJQnQ,800
233
- flwr/server/serverapp/app.py,sha256=eh15kToGVRdIFXHyVKa58tWN5Hh3EIXHcYEbcIqqNb0,8467
233
+ flwr/server/serverapp/app.py,sha256=rHVfzr_H4-KCH5rac-MDhexrbreSlZG_N5XvikcAzn8,8489
234
234
  flwr/server/serverapp_components.py,sha256=-IV_CitOfrJclJj2jNdbN1Q65PyFmtKtrTIg1hc6WQw,2118
235
235
  flwr/server/strategy/__init__.py,sha256=tQer2SwjDnvgFFuJMZM-S01Z615N5XK6MaCvpm4BMU0,2836
236
236
  flwr/server/strategy/aggregate.py,sha256=PDvekufza13s9AsVmz9WASunaBs3yCtl8JVliFx9j6Q,13978
@@ -321,8 +321,8 @@ flwr/superexec/exec_servicer.py,sha256=X10ILT-AoGMrB3IgI2mBe9i-QcIVUAl9bucuqVOPY
321
321
  flwr/superexec/exec_user_auth_interceptor.py,sha256=K06OU-l4LnYhTDg071hGJuOaQWEJbZsYi5qxUmmtiG0,3704
322
322
  flwr/superexec/executor.py,sha256=_B55WW2TD1fBINpabSSDRenVHXYmvlfhv-k8hJKU4lQ,3115
323
323
  flwr/superexec/simulation.py,sha256=WQDon15oqpMopAZnwRZoTICYCfHqtkvFSqiTQ2hLD_g,4088
324
- flwr_nightly-1.15.0.dev20250116.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
325
- flwr_nightly-1.15.0.dev20250116.dist-info/METADATA,sha256=n236sjdcXowCNu6E_nqQei67A0H7zJoykVnvjhDA8O4,15882
326
- flwr_nightly-1.15.0.dev20250116.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
327
- flwr_nightly-1.15.0.dev20250116.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
328
- flwr_nightly-1.15.0.dev20250116.dist-info/RECORD,,
324
+ flwr_nightly-1.15.0.dev20250118.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
325
+ flwr_nightly-1.15.0.dev20250118.dist-info/METADATA,sha256=ZuXTzGum_EzaEHInfTKygokG3wSq0kHaLnq0cJF58ck,15864
326
+ flwr_nightly-1.15.0.dev20250118.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
327
+ flwr_nightly-1.15.0.dev20250118.dist-info/entry_points.txt,sha256=JlNxX3qhaV18_2yj5a3kJW1ESxm31cal9iS_N_pf1Rk,538
328
+ flwr_nightly-1.15.0.dev20250118.dist-info/RECORD,,