flwr 1.23.0__py3-none-any.whl → 1.24.0__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 (292) hide show
  1. flwr/__init__.py +16 -5
  2. flwr/app/error.py +2 -2
  3. flwr/app/exception.py +3 -3
  4. flwr/cli/app.py +19 -0
  5. flwr/cli/app_cmd/__init__.py +23 -0
  6. flwr/cli/app_cmd/publish.py +285 -0
  7. flwr/cli/app_cmd/review.py +252 -0
  8. flwr/cli/auth_plugin/auth_plugin.py +4 -5
  9. flwr/cli/auth_plugin/noop_auth_plugin.py +54 -11
  10. flwr/cli/auth_plugin/oidc_cli_plugin.py +32 -9
  11. flwr/cli/build.py +60 -18
  12. flwr/cli/cli_account_auth_interceptor.py +24 -7
  13. flwr/cli/config_utils.py +101 -13
  14. flwr/cli/federation/__init__.py +24 -0
  15. flwr/cli/federation/ls.py +140 -0
  16. flwr/cli/federation/show.py +317 -0
  17. flwr/cli/install.py +91 -13
  18. flwr/cli/log.py +52 -9
  19. flwr/cli/login/login.py +7 -4
  20. flwr/cli/ls.py +170 -130
  21. flwr/cli/new/new.py +33 -50
  22. flwr/cli/new/templates/app/code/task.pytorch.py.tpl +1 -0
  23. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +1 -1
  24. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -1
  25. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +1 -1
  26. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
  27. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +1 -1
  28. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
  29. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +3 -3
  30. flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +1 -1
  31. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
  32. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
  33. flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +1 -1
  34. flwr/cli/pull.py +10 -5
  35. flwr/cli/run/run.py +77 -30
  36. flwr/cli/run_utils.py +130 -0
  37. flwr/cli/stop.py +25 -7
  38. flwr/cli/supernode/ls.py +16 -8
  39. flwr/cli/supernode/register.py +9 -4
  40. flwr/cli/supernode/unregister.py +5 -3
  41. flwr/cli/utils.py +376 -16
  42. flwr/client/__init__.py +1 -1
  43. flwr/client/dpfedavg_numpy_client.py +4 -1
  44. flwr/client/grpc_adapter_client/connection.py +6 -7
  45. flwr/client/grpc_rere_client/connection.py +10 -11
  46. flwr/client/grpc_rere_client/grpc_adapter.py +6 -2
  47. flwr/client/grpc_rere_client/node_auth_client_interceptor.py +2 -1
  48. flwr/client/message_handler/message_handler.py +2 -2
  49. flwr/client/mod/secure_aggregation/secaggplus_mod.py +3 -3
  50. flwr/client/numpy_client.py +1 -1
  51. flwr/client/rest_client/connection.py +12 -14
  52. flwr/client/run_info_store.py +4 -5
  53. flwr/client/typing.py +1 -1
  54. flwr/clientapp/client_app.py +9 -10
  55. flwr/clientapp/mod/centraldp_mods.py +16 -17
  56. flwr/clientapp/mod/localdp_mod.py +8 -9
  57. flwr/clientapp/typing.py +1 -1
  58. flwr/clientapp/utils.py +3 -3
  59. flwr/common/address.py +1 -2
  60. flwr/common/args.py +3 -4
  61. flwr/common/config.py +13 -16
  62. flwr/common/constant.py +5 -2
  63. flwr/common/differential_privacy.py +3 -4
  64. flwr/common/event_log_plugin/event_log_plugin.py +3 -4
  65. flwr/common/exit/exit.py +15 -2
  66. flwr/common/exit/exit_code.py +19 -0
  67. flwr/common/exit/exit_handler.py +6 -2
  68. flwr/common/exit/signal_handler.py +5 -5
  69. flwr/common/grpc.py +6 -6
  70. flwr/common/inflatable_protobuf_utils.py +1 -1
  71. flwr/common/inflatable_utils.py +38 -21
  72. flwr/common/logger.py +19 -19
  73. flwr/common/message.py +4 -4
  74. flwr/common/object_ref.py +7 -7
  75. flwr/common/record/array.py +3 -3
  76. flwr/common/record/arrayrecord.py +18 -30
  77. flwr/common/record/configrecord.py +3 -3
  78. flwr/common/record/recorddict.py +5 -5
  79. flwr/common/record/typeddict.py +9 -2
  80. flwr/common/recorddict_compat.py +7 -10
  81. flwr/common/retry_invoker.py +20 -20
  82. flwr/common/secure_aggregation/ndarrays_arithmetic.py +3 -3
  83. flwr/common/serde.py +5 -4
  84. flwr/common/serde_utils.py +2 -2
  85. flwr/common/telemetry.py +9 -5
  86. flwr/common/typing.py +52 -37
  87. flwr/compat/client/app.py +38 -37
  88. flwr/compat/client/grpc_client/connection.py +11 -11
  89. flwr/compat/server/app.py +5 -6
  90. flwr/proto/appio_pb2.py +13 -3
  91. flwr/proto/appio_pb2.pyi +134 -65
  92. flwr/proto/appio_pb2_grpc.py +20 -0
  93. flwr/proto/appio_pb2_grpc.pyi +27 -0
  94. flwr/proto/clientappio_pb2.py +17 -7
  95. flwr/proto/clientappio_pb2.pyi +15 -0
  96. flwr/proto/clientappio_pb2_grpc.py +206 -40
  97. flwr/proto/clientappio_pb2_grpc.pyi +168 -53
  98. flwr/proto/control_pb2.py +71 -52
  99. flwr/proto/control_pb2.pyi +277 -111
  100. flwr/proto/control_pb2_grpc.py +249 -40
  101. flwr/proto/control_pb2_grpc.pyi +185 -52
  102. flwr/proto/error_pb2.py +13 -3
  103. flwr/proto/error_pb2.pyi +24 -6
  104. flwr/proto/error_pb2_grpc.py +20 -0
  105. flwr/proto/error_pb2_grpc.pyi +27 -0
  106. flwr/proto/fab_pb2.py +14 -4
  107. flwr/proto/fab_pb2.pyi +59 -31
  108. flwr/proto/fab_pb2_grpc.py +20 -0
  109. flwr/proto/fab_pb2_grpc.pyi +27 -0
  110. flwr/proto/federation_pb2.py +38 -0
  111. flwr/proto/federation_pb2.pyi +56 -0
  112. flwr/proto/federation_pb2_grpc.py +24 -0
  113. flwr/proto/federation_pb2_grpc.pyi +31 -0
  114. flwr/proto/fleet_pb2.py +14 -4
  115. flwr/proto/fleet_pb2.pyi +137 -61
  116. flwr/proto/fleet_pb2_grpc.py +189 -48
  117. flwr/proto/fleet_pb2_grpc.pyi +175 -61
  118. flwr/proto/grpcadapter_pb2.py +14 -4
  119. flwr/proto/grpcadapter_pb2.pyi +38 -16
  120. flwr/proto/grpcadapter_pb2_grpc.py +35 -4
  121. flwr/proto/grpcadapter_pb2_grpc.pyi +38 -7
  122. flwr/proto/heartbeat_pb2.py +17 -7
  123. flwr/proto/heartbeat_pb2.pyi +51 -22
  124. flwr/proto/heartbeat_pb2_grpc.py +20 -0
  125. flwr/proto/heartbeat_pb2_grpc.pyi +27 -0
  126. flwr/proto/log_pb2.py +13 -3
  127. flwr/proto/log_pb2.pyi +34 -11
  128. flwr/proto/log_pb2_grpc.py +20 -0
  129. flwr/proto/log_pb2_grpc.pyi +27 -0
  130. flwr/proto/message_pb2.py +15 -5
  131. flwr/proto/message_pb2.pyi +154 -86
  132. flwr/proto/message_pb2_grpc.py +20 -0
  133. flwr/proto/message_pb2_grpc.pyi +27 -0
  134. flwr/proto/node_pb2.py +15 -5
  135. flwr/proto/node_pb2.pyi +50 -25
  136. flwr/proto/node_pb2_grpc.py +20 -0
  137. flwr/proto/node_pb2_grpc.pyi +27 -0
  138. flwr/proto/recorddict_pb2.py +13 -3
  139. flwr/proto/recorddict_pb2.pyi +184 -107
  140. flwr/proto/recorddict_pb2_grpc.py +20 -0
  141. flwr/proto/recorddict_pb2_grpc.pyi +27 -0
  142. flwr/proto/run_pb2.py +40 -31
  143. flwr/proto/run_pb2.pyi +149 -84
  144. flwr/proto/run_pb2_grpc.py +20 -0
  145. flwr/proto/run_pb2_grpc.pyi +27 -0
  146. flwr/proto/serverappio_pb2.py +13 -3
  147. flwr/proto/serverappio_pb2.pyi +32 -8
  148. flwr/proto/serverappio_pb2_grpc.py +246 -65
  149. flwr/proto/serverappio_pb2_grpc.pyi +221 -85
  150. flwr/proto/simulationio_pb2.py +16 -8
  151. flwr/proto/simulationio_pb2.pyi +15 -0
  152. flwr/proto/simulationio_pb2_grpc.py +162 -41
  153. flwr/proto/simulationio_pb2_grpc.pyi +149 -55
  154. flwr/proto/transport_pb2.py +20 -10
  155. flwr/proto/transport_pb2.pyi +249 -160
  156. flwr/proto/transport_pb2_grpc.py +35 -4
  157. flwr/proto/transport_pb2_grpc.pyi +38 -8
  158. flwr/server/app.py +38 -17
  159. flwr/server/client_manager.py +4 -5
  160. flwr/server/client_proxy.py +10 -11
  161. flwr/server/compat/app.py +4 -5
  162. flwr/server/compat/app_utils.py +2 -1
  163. flwr/server/compat/grid_client_proxy.py +10 -12
  164. flwr/server/compat/legacy_context.py +3 -4
  165. flwr/server/fleet_event_log_interceptor.py +2 -1
  166. flwr/server/grid/grid.py +2 -3
  167. flwr/server/grid/grpc_grid.py +10 -8
  168. flwr/server/grid/inmemory_grid.py +4 -4
  169. flwr/server/run_serverapp.py +2 -3
  170. flwr/server/server.py +34 -39
  171. flwr/server/server_app.py +7 -8
  172. flwr/server/server_config.py +1 -2
  173. flwr/server/serverapp/app.py +34 -28
  174. flwr/server/serverapp_components.py +4 -5
  175. flwr/server/strategy/aggregate.py +9 -8
  176. flwr/server/strategy/bulyan.py +13 -11
  177. flwr/server/strategy/dp_adaptive_clipping.py +16 -20
  178. flwr/server/strategy/dp_fixed_clipping.py +12 -17
  179. flwr/server/strategy/dpfedavg_adaptive.py +3 -4
  180. flwr/server/strategy/dpfedavg_fixed.py +6 -10
  181. flwr/server/strategy/fault_tolerant_fedavg.py +14 -13
  182. flwr/server/strategy/fedadagrad.py +18 -14
  183. flwr/server/strategy/fedadam.py +16 -14
  184. flwr/server/strategy/fedavg.py +16 -17
  185. flwr/server/strategy/fedavg_android.py +15 -15
  186. flwr/server/strategy/fedavgm.py +21 -18
  187. flwr/server/strategy/fedmedian.py +2 -3
  188. flwr/server/strategy/fedopt.py +11 -10
  189. flwr/server/strategy/fedprox.py +10 -9
  190. flwr/server/strategy/fedtrimmedavg.py +12 -11
  191. flwr/server/strategy/fedxgb_bagging.py +13 -11
  192. flwr/server/strategy/fedxgb_cyclic.py +6 -6
  193. flwr/server/strategy/fedxgb_nn_avg.py +4 -4
  194. flwr/server/strategy/fedyogi.py +16 -14
  195. flwr/server/strategy/krum.py +12 -11
  196. flwr/server/strategy/qfedavg.py +16 -15
  197. flwr/server/strategy/strategy.py +6 -9
  198. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +2 -1
  199. flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -2
  200. flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +3 -4
  201. flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +10 -12
  202. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +1 -3
  203. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +4 -4
  204. flwr/server/superlink/fleet/grpc_rere/node_auth_server_interceptor.py +3 -2
  205. flwr/server/superlink/fleet/message_handler/message_handler.py +34 -28
  206. flwr/server/superlink/fleet/rest_rere/rest_api.py +2 -2
  207. flwr/server/superlink/fleet/vce/backend/backend.py +1 -1
  208. flwr/server/superlink/fleet/vce/backend/raybackend.py +5 -5
  209. flwr/server/superlink/fleet/vce/vce_api.py +15 -9
  210. flwr/server/superlink/linkstate/in_memory_linkstate.py +115 -150
  211. flwr/server/superlink/linkstate/linkstate.py +59 -43
  212. flwr/server/superlink/linkstate/linkstate_factory.py +22 -5
  213. flwr/server/superlink/linkstate/sqlite_linkstate.py +447 -438
  214. flwr/server/superlink/linkstate/utils.py +6 -6
  215. flwr/server/superlink/serverappio/serverappio_grpc.py +1 -2
  216. flwr/server/superlink/serverappio/serverappio_servicer.py +26 -21
  217. flwr/server/superlink/simulation/simulationio_grpc.py +1 -2
  218. flwr/server/superlink/simulation/simulationio_servicer.py +18 -13
  219. flwr/server/superlink/utils.py +4 -6
  220. flwr/server/typing.py +1 -1
  221. flwr/server/utils/tensorboard.py +15 -8
  222. flwr/server/workflow/default_workflows.py +5 -5
  223. flwr/server/workflow/secure_aggregation/secagg_workflow.py +2 -4
  224. flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +8 -8
  225. flwr/serverapp/strategy/bulyan.py +16 -15
  226. flwr/serverapp/strategy/dp_adaptive_clipping.py +12 -11
  227. flwr/serverapp/strategy/dp_fixed_clipping.py +11 -14
  228. flwr/serverapp/strategy/fedadagrad.py +10 -11
  229. flwr/serverapp/strategy/fedadam.py +10 -11
  230. flwr/serverapp/strategy/fedavg.py +9 -10
  231. flwr/serverapp/strategy/fedavgm.py +17 -16
  232. flwr/serverapp/strategy/fedmedian.py +2 -2
  233. flwr/serverapp/strategy/fedopt.py +10 -11
  234. flwr/serverapp/strategy/fedprox.py +7 -8
  235. flwr/serverapp/strategy/fedtrimmedavg.py +9 -9
  236. flwr/serverapp/strategy/fedxgb_bagging.py +3 -3
  237. flwr/serverapp/strategy/fedxgb_cyclic.py +9 -9
  238. flwr/serverapp/strategy/fedyogi.py +9 -11
  239. flwr/serverapp/strategy/krum.py +7 -7
  240. flwr/serverapp/strategy/multikrum.py +9 -9
  241. flwr/serverapp/strategy/qfedavg.py +17 -16
  242. flwr/serverapp/strategy/strategy.py +6 -9
  243. flwr/serverapp/strategy/strategy_utils.py +7 -8
  244. flwr/simulation/app.py +46 -42
  245. flwr/simulation/legacy_app.py +12 -12
  246. flwr/simulation/ray_transport/ray_actor.py +10 -11
  247. flwr/simulation/ray_transport/ray_client_proxy.py +11 -12
  248. flwr/simulation/run_simulation.py +43 -43
  249. flwr/simulation/simulationio_connection.py +4 -4
  250. flwr/supercore/cli/flower_superexec.py +3 -4
  251. flwr/supercore/constant.py +31 -1
  252. flwr/supercore/corestate/corestate.py +24 -3
  253. flwr/supercore/corestate/in_memory_corestate.py +138 -0
  254. flwr/supercore/corestate/sqlite_corestate.py +157 -0
  255. flwr/supercore/ffs/disk_ffs.py +1 -2
  256. flwr/supercore/ffs/ffs.py +1 -2
  257. flwr/supercore/ffs/ffs_factory.py +1 -2
  258. flwr/{common → supercore}/heartbeat.py +20 -25
  259. flwr/supercore/object_store/in_memory_object_store.py +1 -2
  260. flwr/supercore/object_store/object_store.py +1 -2
  261. flwr/supercore/object_store/object_store_factory.py +1 -2
  262. flwr/supercore/object_store/sqlite_object_store.py +8 -7
  263. flwr/supercore/primitives/asymmetric.py +1 -1
  264. flwr/supercore/primitives/asymmetric_ed25519.py +11 -1
  265. flwr/supercore/sqlite_mixin.py +37 -34
  266. flwr/supercore/superexec/plugin/base_exec_plugin.py +1 -2
  267. flwr/supercore/superexec/plugin/exec_plugin.py +3 -3
  268. flwr/supercore/superexec/run_superexec.py +9 -13
  269. flwr/superlink/artifact_provider/artifact_provider.py +1 -2
  270. flwr/superlink/auth_plugin/auth_plugin.py +6 -9
  271. flwr/superlink/auth_plugin/noop_auth_plugin.py +6 -9
  272. flwr/superlink/federation/__init__.py +24 -0
  273. flwr/superlink/federation/federation_manager.py +64 -0
  274. flwr/superlink/federation/noop_federation_manager.py +71 -0
  275. flwr/superlink/servicer/control/control_account_auth_interceptor.py +22 -13
  276. flwr/superlink/servicer/control/control_event_log_interceptor.py +7 -7
  277. flwr/superlink/servicer/control/control_grpc.py +5 -6
  278. flwr/superlink/servicer/control/control_license_interceptor.py +3 -3
  279. flwr/superlink/servicer/control/control_servicer.py +102 -18
  280. flwr/supernode/cli/flower_supernode.py +58 -3
  281. flwr/supernode/nodestate/in_memory_nodestate.py +60 -49
  282. flwr/supernode/nodestate/nodestate.py +7 -8
  283. flwr/supernode/nodestate/nodestate_factory.py +7 -4
  284. flwr/supernode/runtime/run_clientapp.py +41 -22
  285. flwr/supernode/servicer/clientappio/clientappio_servicer.py +40 -10
  286. flwr/supernode/start_client_internal.py +158 -42
  287. {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/METADATA +8 -8
  288. flwr-1.24.0.dist-info/RECORD +454 -0
  289. flwr/supercore/object_store/utils.py +0 -43
  290. flwr-1.23.0.dist-info/RECORD +0 -439
  291. {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/WHEEL +0 -0
  292. {flwr-1.23.0.dist-info → flwr-1.24.0.dist-info}/entry_points.txt +0 -0
flwr/proto/run_pb2.py CHANGED
@@ -1,56 +1,65 @@
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/run.proto
4
- # Protobuf Python Version: 4.25.1
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/run.proto'
19
+ )
10
20
  # @@protoc_insertion_point(imports)
11
21
 
12
22
  _sym_db = _symbol_database.Default()
13
23
 
14
24
 
15
- from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
16
25
  from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
17
26
  from flwr.proto import recorddict_pb2 as flwr_dot_proto_dot_recorddict__pb2
18
27
  from flwr.proto import transport_pb2 as flwr_dot_proto_dot_transport__pb2
19
28
 
20
29
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66lwr/proto/run.proto\x12\nflwr.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x1b\x66lwr/proto/recorddict.proto\x1a\x1a\x66lwr/proto/transport.proto\"\xe0\x02\n\x03Run\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x66\x61\x62_id\x18\x02 \x01(\t\x12\x13\n\x0b\x66\x61\x62_version\x18\x03 \x01(\t\x12<\n\x0foverride_config\x18\x04 \x03(\x0b\x32#.flwr.proto.Run.OverrideConfigEntry\x12\x10\n\x08\x66\x61\x62_hash\x18\x05 \x01(\t\x12\x12\n\npending_at\x18\x06 \x01(\t\x12\x13\n\x0bstarting_at\x18\x07 \x01(\t\x12\x12\n\nrunning_at\x18\x08 \x01(\t\x12\x13\n\x0b\x66inished_at\x18\t \x01(\t\x12%\n\x06status\x18\n \x01(\x0b\x32\x15.flwr.proto.RunStatus\x12\x10\n\x08\x66lwr_aid\x18\x0b \x01(\t\x1aI\n\x13OverrideConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\"@\n\tRunStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x12\n\nsub_status\x18\x02 \x01(\t\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"?\n\rGetRunRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x0e\n\x06run_id\x18\x02 \x01(\x04\".\n\x0eGetRunResponse\x12\x1c\n\x03run\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Run\"S\n\x16UpdateRunStatusRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12)\n\nrun_status\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RunStatus\"\x19\n\x17UpdateRunStatusResponse\"F\n\x13GetRunStatusRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x0f\n\x07run_ids\x18\x02 \x03(\x04\"\xb1\x01\n\x14GetRunStatusResponse\x12L\n\x0frun_status_dict\x18\x01 \x03(\x0b\x32\x33.flwr.proto.GetRunStatusResponse.RunStatusDictEntry\x1aK\n\x12RunStatusDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RunStatus:\x02\x38\x01\"-\n\x1bGetFederationOptionsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"T\n\x1cGetFederationOptionsResponse\x12\x34\n\x12\x66\x65\x64\x65ration_options\x18\x01 \x01(\x0b\x32\x18.flwr.proto.ConfigRecordb\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66lwr/proto/run.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x1b\x66lwr/proto/recorddict.proto\x1a\x1a\x66lwr/proto/transport.proto\"\xf4\x02\n\x03Run\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x66\x61\x62_id\x18\x02 \x01(\t\x12\x13\n\x0b\x66\x61\x62_version\x18\x03 \x01(\t\x12<\n\x0foverride_config\x18\x04 \x03(\x0b\x32#.flwr.proto.Run.OverrideConfigEntry\x12\x10\n\x08\x66\x61\x62_hash\x18\x05 \x01(\t\x12\x12\n\npending_at\x18\x06 \x01(\t\x12\x13\n\x0bstarting_at\x18\x07 \x01(\t\x12\x12\n\nrunning_at\x18\x08 \x01(\t\x12\x13\n\x0b\x66inished_at\x18\t \x01(\t\x12%\n\x06status\x18\n \x01(\x0b\x32\x15.flwr.proto.RunStatus\x12\x10\n\x08\x66lwr_aid\x18\x0b \x01(\t\x12\x12\n\nfederation\x18\x0c \x01(\t\x1aI\n\x13OverrideConfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\"@\n\tRunStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x12\n\nsub_status\x18\x02 \x01(\t\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"?\n\rGetRunRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x0e\n\x06run_id\x18\x02 \x01(\x04\".\n\x0eGetRunResponse\x12\x1c\n\x03run\x18\x01 \x01(\x0b\x32\x0f.flwr.proto.Run\"S\n\x16UpdateRunStatusRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\x12)\n\nrun_status\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RunStatus\"\x19\n\x17UpdateRunStatusResponse\"F\n\x13GetRunStatusRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x0f\n\x07run_ids\x18\x02 \x03(\x04\"\xb1\x01\n\x14GetRunStatusResponse\x12L\n\x0frun_status_dict\x18\x01 \x03(\x0b\x32\x33.flwr.proto.GetRunStatusResponse.RunStatusDictEntry\x1aK\n\x12RunStatusDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.flwr.proto.RunStatus:\x02\x38\x01\"-\n\x1bGetFederationOptionsRequest\x12\x0e\n\x06run_id\x18\x01 \x01(\x04\"T\n\x1cGetFederationOptionsResponse\x12\x34\n\x12\x66\x65\x64\x65ration_options\x18\x01 \x01(\x0b\x32\x18.flwr.proto.ConfigRecordb\x06proto3')
22
31
 
23
32
  _globals = globals()
24
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
25
34
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.run_pb2', _globals)
26
- if _descriptor._USE_C_DESCRIPTORS == False:
27
- DESCRIPTOR._options = None
28
- _globals['_RUN_OVERRIDECONFIGENTRY']._options = None
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ DESCRIPTOR._loaded_options = None
37
+ _globals['_RUN_OVERRIDECONFIGENTRY']._loaded_options = None
29
38
  _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_options = b'8\001'
30
- _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._options = None
39
+ _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._loaded_options = None
31
40
  _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_options = b'8\001'
32
- _globals['_RUN']._serialized_start=139
33
- _globals['_RUN']._serialized_end=491
34
- _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_start=418
35
- _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_end=491
36
- _globals['_RUNSTATUS']._serialized_start=493
37
- _globals['_RUNSTATUS']._serialized_end=557
38
- _globals['_GETRUNREQUEST']._serialized_start=559
39
- _globals['_GETRUNREQUEST']._serialized_end=622
40
- _globals['_GETRUNRESPONSE']._serialized_start=624
41
- _globals['_GETRUNRESPONSE']._serialized_end=670
42
- _globals['_UPDATERUNSTATUSREQUEST']._serialized_start=672
43
- _globals['_UPDATERUNSTATUSREQUEST']._serialized_end=755
44
- _globals['_UPDATERUNSTATUSRESPONSE']._serialized_start=757
45
- _globals['_UPDATERUNSTATUSRESPONSE']._serialized_end=782
46
- _globals['_GETRUNSTATUSREQUEST']._serialized_start=784
47
- _globals['_GETRUNSTATUSREQUEST']._serialized_end=854
48
- _globals['_GETRUNSTATUSRESPONSE']._serialized_start=857
49
- _globals['_GETRUNSTATUSRESPONSE']._serialized_end=1034
50
- _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_start=959
51
- _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_end=1034
52
- _globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_start=1036
53
- _globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_end=1081
54
- _globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_start=1083
55
- _globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_end=1167
41
+ _globals['_RUN']._serialized_start=117
42
+ _globals['_RUN']._serialized_end=489
43
+ _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_start=416
44
+ _globals['_RUN_OVERRIDECONFIGENTRY']._serialized_end=489
45
+ _globals['_RUNSTATUS']._serialized_start=491
46
+ _globals['_RUNSTATUS']._serialized_end=555
47
+ _globals['_GETRUNREQUEST']._serialized_start=557
48
+ _globals['_GETRUNREQUEST']._serialized_end=620
49
+ _globals['_GETRUNRESPONSE']._serialized_start=622
50
+ _globals['_GETRUNRESPONSE']._serialized_end=668
51
+ _globals['_UPDATERUNSTATUSREQUEST']._serialized_start=670
52
+ _globals['_UPDATERUNSTATUSREQUEST']._serialized_end=753
53
+ _globals['_UPDATERUNSTATUSRESPONSE']._serialized_start=755
54
+ _globals['_UPDATERUNSTATUSRESPONSE']._serialized_end=780
55
+ _globals['_GETRUNSTATUSREQUEST']._serialized_start=782
56
+ _globals['_GETRUNSTATUSREQUEST']._serialized_end=852
57
+ _globals['_GETRUNSTATUSRESPONSE']._serialized_start=855
58
+ _globals['_GETRUNSTATUSRESPONSE']._serialized_end=1032
59
+ _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_start=957
60
+ _globals['_GETRUNSTATUSRESPONSE_RUNSTATUSDICTENTRY']._serialized_end=1032
61
+ _globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_start=1034
62
+ _globals['_GETFEDERATIONOPTIONSREQUEST']._serialized_end=1079
63
+ _globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_start=1081
64
+ _globals['_GETFEDERATIONOPTIONSRESPONSE']._serialized_end=1165
56
65
  # @@protoc_insertion_point(module_scope)
flwr/proto/run_pb2.pyi CHANGED
@@ -1,8 +1,24 @@
1
1
  """
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
+ Copyright 2024 Flower Labs GmbH. All Rights Reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ ==============================================================================
4
18
  """
19
+
5
20
  import builtins
21
+ import collections.abc
6
22
  import flwr.proto.node_pb2
7
23
  import flwr.proto.recorddict_pb2
8
24
  import flwr.proto.transport_pb2
@@ -10,26 +26,30 @@ import google.protobuf.descriptor
10
26
  import google.protobuf.internal.containers
11
27
  import google.protobuf.message
12
28
  import typing
13
- import typing_extensions
14
29
 
15
30
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
16
31
 
32
+ @typing.final
17
33
  class Run(google.protobuf.message.Message):
18
34
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
35
+
36
+ @typing.final
19
37
  class OverrideConfigEntry(google.protobuf.message.Message):
20
38
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
39
+
21
40
  KEY_FIELD_NUMBER: builtins.int
22
41
  VALUE_FIELD_NUMBER: builtins.int
23
- key: typing.Text
42
+ key: builtins.str
24
43
  @property
25
44
  def value(self) -> flwr.proto.transport_pb2.Scalar: ...
26
- def __init__(self,
45
+ def __init__(
46
+ self,
27
47
  *,
28
- key: typing.Text = ...,
29
- value: typing.Optional[flwr.proto.transport_pb2.Scalar] = ...,
30
- ) -> None: ...
31
- def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
32
- def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
48
+ key: builtins.str = ...,
49
+ value: flwr.proto.transport_pb2.Scalar | None = ...,
50
+ ) -> None: ...
51
+ def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
52
+ def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
33
53
 
34
54
  RUN_ID_FIELD_NUMBER: builtins.int
35
55
  FAB_ID_FIELD_NUMBER: builtins.int
@@ -42,179 +62,224 @@ class Run(google.protobuf.message.Message):
42
62
  FINISHED_AT_FIELD_NUMBER: builtins.int
43
63
  STATUS_FIELD_NUMBER: builtins.int
44
64
  FLWR_AID_FIELD_NUMBER: builtins.int
65
+ FEDERATION_FIELD_NUMBER: builtins.int
45
66
  run_id: builtins.int
46
- fab_id: typing.Text
47
- fab_version: typing.Text
67
+ fab_id: builtins.str
68
+ fab_version: builtins.str
69
+ fab_hash: builtins.str
70
+ pending_at: builtins.str
71
+ starting_at: builtins.str
72
+ running_at: builtins.str
73
+ finished_at: builtins.str
74
+ flwr_aid: builtins.str
75
+ federation: builtins.str
48
76
  @property
49
- def override_config(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, flwr.proto.transport_pb2.Scalar]: ...
50
- fab_hash: typing.Text
51
- pending_at: typing.Text
52
- starting_at: typing.Text
53
- running_at: typing.Text
54
- finished_at: typing.Text
77
+ def override_config(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, flwr.proto.transport_pb2.Scalar]: ...
55
78
  @property
56
79
  def status(self) -> global___RunStatus: ...
57
- flwr_aid: typing.Text
58
- def __init__(self,
80
+ def __init__(
81
+ self,
59
82
  *,
60
83
  run_id: builtins.int = ...,
61
- fab_id: typing.Text = ...,
62
- fab_version: typing.Text = ...,
63
- override_config: typing.Optional[typing.Mapping[typing.Text, flwr.proto.transport_pb2.Scalar]] = ...,
64
- fab_hash: typing.Text = ...,
65
- pending_at: typing.Text = ...,
66
- starting_at: typing.Text = ...,
67
- running_at: typing.Text = ...,
68
- finished_at: typing.Text = ...,
69
- status: typing.Optional[global___RunStatus] = ...,
70
- flwr_aid: typing.Text = ...,
71
- ) -> None: ...
72
- def HasField(self, field_name: typing_extensions.Literal["status",b"status"]) -> builtins.bool: ...
73
- def ClearField(self, field_name: typing_extensions.Literal["fab_hash",b"fab_hash","fab_id",b"fab_id","fab_version",b"fab_version","finished_at",b"finished_at","flwr_aid",b"flwr_aid","override_config",b"override_config","pending_at",b"pending_at","run_id",b"run_id","running_at",b"running_at","starting_at",b"starting_at","status",b"status"]) -> None: ...
84
+ fab_id: builtins.str = ...,
85
+ fab_version: builtins.str = ...,
86
+ override_config: collections.abc.Mapping[builtins.str, flwr.proto.transport_pb2.Scalar] | None = ...,
87
+ fab_hash: builtins.str = ...,
88
+ pending_at: builtins.str = ...,
89
+ starting_at: builtins.str = ...,
90
+ running_at: builtins.str = ...,
91
+ finished_at: builtins.str = ...,
92
+ status: global___RunStatus | None = ...,
93
+ flwr_aid: builtins.str = ...,
94
+ federation: builtins.str = ...,
95
+ ) -> None: ...
96
+ def HasField(self, field_name: typing.Literal["status", b"status"]) -> builtins.bool: ...
97
+ def ClearField(self, field_name: typing.Literal["fab_hash", b"fab_hash", "fab_id", b"fab_id", "fab_version", b"fab_version", "federation", b"federation", "finished_at", b"finished_at", "flwr_aid", b"flwr_aid", "override_config", b"override_config", "pending_at", b"pending_at", "run_id", b"run_id", "running_at", b"running_at", "starting_at", b"starting_at", "status", b"status"]) -> None: ...
98
+
74
99
  global___Run = Run
75
100
 
101
+ @typing.final
76
102
  class RunStatus(google.protobuf.message.Message):
77
103
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
104
+
78
105
  STATUS_FIELD_NUMBER: builtins.int
79
106
  SUB_STATUS_FIELD_NUMBER: builtins.int
80
107
  DETAILS_FIELD_NUMBER: builtins.int
81
- status: typing.Text
108
+ status: builtins.str
82
109
  """"starting", "running", "finished" """
83
-
84
- sub_status: typing.Text
110
+ sub_status: builtins.str
85
111
  """"completed", "failed", "stopped" or "" (non-finished)"""
86
-
87
- details: typing.Text
112
+ details: builtins.str
88
113
  """failure details"""
89
-
90
- def __init__(self,
114
+ def __init__(
115
+ self,
91
116
  *,
92
- status: typing.Text = ...,
93
- sub_status: typing.Text = ...,
94
- details: typing.Text = ...,
95
- ) -> None: ...
96
- def ClearField(self, field_name: typing_extensions.Literal["details",b"details","status",b"status","sub_status",b"sub_status"]) -> None: ...
117
+ status: builtins.str = ...,
118
+ sub_status: builtins.str = ...,
119
+ details: builtins.str = ...,
120
+ ) -> None: ...
121
+ def ClearField(self, field_name: typing.Literal["details", b"details", "status", b"status", "sub_status", b"sub_status"]) -> None: ...
122
+
97
123
  global___RunStatus = RunStatus
98
124
 
125
+ @typing.final
99
126
  class GetRunRequest(google.protobuf.message.Message):
100
127
  """GetRun"""
128
+
101
129
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
130
+
102
131
  NODE_FIELD_NUMBER: builtins.int
103
132
  RUN_ID_FIELD_NUMBER: builtins.int
133
+ run_id: builtins.int
104
134
  @property
105
135
  def node(self) -> flwr.proto.node_pb2.Node: ...
106
- run_id: builtins.int
107
- def __init__(self,
136
+ def __init__(
137
+ self,
108
138
  *,
109
- node: typing.Optional[flwr.proto.node_pb2.Node] = ...,
139
+ node: flwr.proto.node_pb2.Node | None = ...,
110
140
  run_id: builtins.int = ...,
111
- ) -> None: ...
112
- def HasField(self, field_name: typing_extensions.Literal["node",b"node"]) -> builtins.bool: ...
113
- def ClearField(self, field_name: typing_extensions.Literal["node",b"node","run_id",b"run_id"]) -> None: ...
141
+ ) -> None: ...
142
+ def HasField(self, field_name: typing.Literal["node", b"node"]) -> builtins.bool: ...
143
+ def ClearField(self, field_name: typing.Literal["node", b"node", "run_id", b"run_id"]) -> None: ...
144
+
114
145
  global___GetRunRequest = GetRunRequest
115
146
 
147
+ @typing.final
116
148
  class GetRunResponse(google.protobuf.message.Message):
117
149
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
150
+
118
151
  RUN_FIELD_NUMBER: builtins.int
119
152
  @property
120
153
  def run(self) -> global___Run: ...
121
- def __init__(self,
154
+ def __init__(
155
+ self,
122
156
  *,
123
- run: typing.Optional[global___Run] = ...,
124
- ) -> None: ...
125
- def HasField(self, field_name: typing_extensions.Literal["run",b"run"]) -> builtins.bool: ...
126
- def ClearField(self, field_name: typing_extensions.Literal["run",b"run"]) -> None: ...
157
+ run: global___Run | None = ...,
158
+ ) -> None: ...
159
+ def HasField(self, field_name: typing.Literal["run", b"run"]) -> builtins.bool: ...
160
+ def ClearField(self, field_name: typing.Literal["run", b"run"]) -> None: ...
161
+
127
162
  global___GetRunResponse = GetRunResponse
128
163
 
164
+ @typing.final
129
165
  class UpdateRunStatusRequest(google.protobuf.message.Message):
130
166
  """UpdateRunStatus"""
167
+
131
168
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
169
+
132
170
  RUN_ID_FIELD_NUMBER: builtins.int
133
171
  RUN_STATUS_FIELD_NUMBER: builtins.int
134
172
  run_id: builtins.int
135
173
  @property
136
174
  def run_status(self) -> global___RunStatus: ...
137
- def __init__(self,
175
+ def __init__(
176
+ self,
138
177
  *,
139
178
  run_id: builtins.int = ...,
140
- run_status: typing.Optional[global___RunStatus] = ...,
141
- ) -> None: ...
142
- def HasField(self, field_name: typing_extensions.Literal["run_status",b"run_status"]) -> builtins.bool: ...
143
- def ClearField(self, field_name: typing_extensions.Literal["run_id",b"run_id","run_status",b"run_status"]) -> None: ...
179
+ run_status: global___RunStatus | None = ...,
180
+ ) -> None: ...
181
+ def HasField(self, field_name: typing.Literal["run_status", b"run_status"]) -> builtins.bool: ...
182
+ def ClearField(self, field_name: typing.Literal["run_id", b"run_id", "run_status", b"run_status"]) -> None: ...
183
+
144
184
  global___UpdateRunStatusRequest = UpdateRunStatusRequest
145
185
 
186
+ @typing.final
146
187
  class UpdateRunStatusResponse(google.protobuf.message.Message):
147
188
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
148
- def __init__(self,
149
- ) -> None: ...
189
+
190
+ def __init__(
191
+ self,
192
+ ) -> None: ...
193
+
150
194
  global___UpdateRunStatusResponse = UpdateRunStatusResponse
151
195
 
196
+ @typing.final
152
197
  class GetRunStatusRequest(google.protobuf.message.Message):
153
198
  """GetRunStatus"""
199
+
154
200
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
201
+
155
202
  NODE_FIELD_NUMBER: builtins.int
156
203
  RUN_IDS_FIELD_NUMBER: builtins.int
157
204
  @property
158
205
  def node(self) -> flwr.proto.node_pb2.Node: ...
159
206
  @property
160
207
  def run_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
161
- def __init__(self,
208
+ def __init__(
209
+ self,
162
210
  *,
163
- node: typing.Optional[flwr.proto.node_pb2.Node] = ...,
164
- run_ids: typing.Optional[typing.Iterable[builtins.int]] = ...,
165
- ) -> None: ...
166
- def HasField(self, field_name: typing_extensions.Literal["node",b"node"]) -> builtins.bool: ...
167
- def ClearField(self, field_name: typing_extensions.Literal["node",b"node","run_ids",b"run_ids"]) -> None: ...
211
+ node: flwr.proto.node_pb2.Node | None = ...,
212
+ run_ids: collections.abc.Iterable[builtins.int] | None = ...,
213
+ ) -> None: ...
214
+ def HasField(self, field_name: typing.Literal["node", b"node"]) -> builtins.bool: ...
215
+ def ClearField(self, field_name: typing.Literal["node", b"node", "run_ids", b"run_ids"]) -> None: ...
216
+
168
217
  global___GetRunStatusRequest = GetRunStatusRequest
169
218
 
219
+ @typing.final
170
220
  class GetRunStatusResponse(google.protobuf.message.Message):
171
221
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
222
+
223
+ @typing.final
172
224
  class RunStatusDictEntry(google.protobuf.message.Message):
173
225
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
226
+
174
227
  KEY_FIELD_NUMBER: builtins.int
175
228
  VALUE_FIELD_NUMBER: builtins.int
176
229
  key: builtins.int
177
230
  @property
178
231
  def value(self) -> global___RunStatus: ...
179
- def __init__(self,
232
+ def __init__(
233
+ self,
180
234
  *,
181
235
  key: builtins.int = ...,
182
- value: typing.Optional[global___RunStatus] = ...,
183
- ) -> None: ...
184
- def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
185
- def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
236
+ value: global___RunStatus | None = ...,
237
+ ) -> None: ...
238
+ def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
239
+ def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
186
240
 
187
241
  RUN_STATUS_DICT_FIELD_NUMBER: builtins.int
188
242
  @property
189
243
  def run_status_dict(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___RunStatus]: ...
190
- def __init__(self,
244
+ def __init__(
245
+ self,
191
246
  *,
192
- run_status_dict: typing.Optional[typing.Mapping[builtins.int, global___RunStatus]] = ...,
193
- ) -> None: ...
194
- def ClearField(self, field_name: typing_extensions.Literal["run_status_dict",b"run_status_dict"]) -> None: ...
247
+ run_status_dict: collections.abc.Mapping[builtins.int, global___RunStatus] | None = ...,
248
+ ) -> None: ...
249
+ def ClearField(self, field_name: typing.Literal["run_status_dict", b"run_status_dict"]) -> None: ...
250
+
195
251
  global___GetRunStatusResponse = GetRunStatusResponse
196
252
 
253
+ @typing.final
197
254
  class GetFederationOptionsRequest(google.protobuf.message.Message):
198
255
  """Get Federation Options associated with run"""
256
+
199
257
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
258
+
200
259
  RUN_ID_FIELD_NUMBER: builtins.int
201
260
  run_id: builtins.int
202
- def __init__(self,
261
+ def __init__(
262
+ self,
203
263
  *,
204
264
  run_id: builtins.int = ...,
205
- ) -> None: ...
206
- def ClearField(self, field_name: typing_extensions.Literal["run_id",b"run_id"]) -> None: ...
265
+ ) -> None: ...
266
+ def ClearField(self, field_name: typing.Literal["run_id", b"run_id"]) -> None: ...
267
+
207
268
  global___GetFederationOptionsRequest = GetFederationOptionsRequest
208
269
 
270
+ @typing.final
209
271
  class GetFederationOptionsResponse(google.protobuf.message.Message):
210
272
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
273
+
211
274
  FEDERATION_OPTIONS_FIELD_NUMBER: builtins.int
212
275
  @property
213
276
  def federation_options(self) -> flwr.proto.recorddict_pb2.ConfigRecord: ...
214
- def __init__(self,
277
+ def __init__(
278
+ self,
215
279
  *,
216
- federation_options: typing.Optional[flwr.proto.recorddict_pb2.ConfigRecord] = ...,
217
- ) -> None: ...
218
- def HasField(self, field_name: typing_extensions.Literal["federation_options",b"federation_options"]) -> builtins.bool: ...
219
- def ClearField(self, field_name: typing_extensions.Literal["federation_options",b"federation_options"]) -> None: ...
280
+ federation_options: flwr.proto.recorddict_pb2.ConfigRecord | None = ...,
281
+ ) -> None: ...
282
+ def HasField(self, field_name: typing.Literal["federation_options", b"federation_options"]) -> builtins.bool: ...
283
+ def ClearField(self, field_name: typing.Literal["federation_options", b"federation_options"]) -> None: ...
284
+
220
285
  global___GetFederationOptionsResponse = GetFederationOptionsResponse
@@ -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.70.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/run_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,4 +1,31 @@
1
1
  """
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
+ Copyright 2024 Flower Labs GmbH. All Rights Reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ ==============================================================================
4
18
  """
19
+
20
+ import abc
21
+ import collections.abc
22
+ import grpc
23
+ import grpc.aio
24
+ import typing
25
+
26
+ _T = typing.TypeVar("_T")
27
+
28
+ class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
29
+
30
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
31
+ ...
@@ -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/serverappio.proto
4
- # Protobuf Python Version: 4.25.1
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/serverappio.proto'
19
+ )
10
20
  # @@protoc_insertion_point(imports)
11
21
 
12
22
  _sym_db = _symbol_database.Default()
@@ -26,8 +36,8 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lwr/proto/
26
36
  _globals = globals()
27
37
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
28
38
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.serverappio_pb2', _globals)
29
- if _descriptor._USE_C_DESCRIPTORS == False:
30
- DESCRIPTOR._options = None
39
+ if not _descriptor._USE_C_DESCRIPTORS:
40
+ DESCRIPTOR._loaded_options = None
31
41
  _globals['_GETNODESREQUEST']._serialized_start=211
32
42
  _globals['_GETNODESREQUEST']._serialized_end=244
33
43
  _globals['_GETNODESRESPONSE']._serialized_start=246
@@ -1,37 +1,61 @@
1
1
  """
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
+ Copyright 2022 Flower Labs GmbH. All Rights Reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ ==============================================================================
4
18
  """
19
+
5
20
  import builtins
21
+ import collections.abc
6
22
  import flwr.proto.node_pb2
7
23
  import google.protobuf.descriptor
8
24
  import google.protobuf.internal.containers
9
25
  import google.protobuf.message
10
26
  import typing
11
- import typing_extensions
12
27
 
13
28
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
14
29
 
30
+ @typing.final
15
31
  class GetNodesRequest(google.protobuf.message.Message):
16
32
  """GetNodes messages"""
33
+
17
34
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
35
+
18
36
  RUN_ID_FIELD_NUMBER: builtins.int
19
37
  run_id: builtins.int
20
- def __init__(self,
38
+ def __init__(
39
+ self,
21
40
  *,
22
41
  run_id: builtins.int = ...,
23
- ) -> None: ...
24
- def ClearField(self, field_name: typing_extensions.Literal["run_id",b"run_id"]) -> None: ...
42
+ ) -> None: ...
43
+ def ClearField(self, field_name: typing.Literal["run_id", b"run_id"]) -> None: ...
44
+
25
45
  global___GetNodesRequest = GetNodesRequest
26
46
 
47
+ @typing.final
27
48
  class GetNodesResponse(google.protobuf.message.Message):
28
49
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
50
+
29
51
  NODES_FIELD_NUMBER: builtins.int
30
52
  @property
31
53
  def nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.node_pb2.Node]: ...
32
- def __init__(self,
54
+ def __init__(
55
+ self,
33
56
  *,
34
- nodes: typing.Optional[typing.Iterable[flwr.proto.node_pb2.Node]] = ...,
35
- ) -> None: ...
36
- def ClearField(self, field_name: typing_extensions.Literal["nodes",b"nodes"]) -> None: ...
57
+ nodes: collections.abc.Iterable[flwr.proto.node_pb2.Node] | None = ...,
58
+ ) -> None: ...
59
+ def ClearField(self, field_name: typing.Literal["nodes", b"nodes"]) -> None: ...
60
+
37
61
  global___GetNodesResponse = GetNodesResponse