flwr-nightly 1.11.0.dev20240822__py3-none-any.whl → 1.11.1.dev20240912__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.

Potentially problematic release.


This version of flwr-nightly might be problematic. Click here for more details.

Files changed (75) hide show
  1. flwr/cli/app.py +0 -2
  2. flwr/cli/build.py +1 -1
  3. flwr/cli/new/new.py +41 -40
  4. flwr/cli/new/templates/app/LICENSE.tpl +202 -0
  5. flwr/cli/new/templates/app/README.baseline.md.tpl +127 -0
  6. flwr/cli/new/templates/app/README.flowertune.md.tpl +16 -6
  7. flwr/cli/new/templates/app/README.md.tpl +7 -30
  8. flwr/cli/new/templates/app/code/__init__.baseline.py.tpl +1 -0
  9. flwr/cli/new/templates/app/code/client.baseline.py.tpl +58 -0
  10. flwr/cli/new/templates/app/code/client.huggingface.py.tpl +19 -29
  11. flwr/cli/new/templates/app/code/client.tensorflow.py.tpl +0 -3
  12. flwr/cli/new/templates/app/code/dataset.baseline.py.tpl +36 -0
  13. flwr/cli/new/templates/app/code/flwr_tune/{client.py.tpl → client_app.py.tpl} +50 -40
  14. flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl +32 -2
  15. flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl +0 -3
  16. flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl +95 -0
  17. flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl +83 -0
  18. flwr/cli/new/templates/app/code/model.baseline.py.tpl +80 -0
  19. flwr/cli/new/templates/app/code/server.baseline.py.tpl +46 -0
  20. flwr/cli/new/templates/app/code/server.huggingface.py.tpl +18 -3
  21. flwr/cli/new/templates/app/code/strategy.baseline.py.tpl +1 -0
  22. flwr/cli/new/templates/app/code/task.huggingface.py.tpl +16 -13
  23. flwr/cli/new/templates/app/code/utils.baseline.py.tpl +1 -0
  24. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +138 -0
  25. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +34 -7
  26. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +9 -1
  27. flwr/cli/run/run.py +12 -2
  28. flwr/client/__init__.py +0 -4
  29. flwr/client/app.py +3 -4
  30. flwr/client/client.py +22 -1
  31. flwr/client/client_app.py +2 -2
  32. flwr/client/grpc_rere_client/client_interceptor.py +15 -7
  33. flwr/client/numpy_client.py +22 -1
  34. flwr/client/rest_client/connection.py +1 -1
  35. flwr/client/supernode/app.py +8 -7
  36. flwr/common/address.py +43 -0
  37. flwr/common/config.py +14 -11
  38. flwr/common/constant.py +12 -1
  39. flwr/common/record/recordset.py +1 -1
  40. flwr/common/record/typeddict.py +24 -1
  41. flwr/common/telemetry.py +36 -30
  42. flwr/server/__init__.py +0 -4
  43. flwr/server/app.py +27 -22
  44. flwr/server/compat/app.py +0 -5
  45. flwr/server/driver/grpc_driver.py +3 -6
  46. flwr/server/run_serverapp.py +20 -7
  47. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +15 -2
  48. flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +5 -0
  49. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +19 -8
  50. flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +13 -12
  51. flwr/server/superlink/fleet/rest_rere/rest_api.py +71 -122
  52. flwr/server/superlink/fleet/vce/backend/backend.py +1 -2
  53. flwr/server/superlink/fleet/vce/backend/raybackend.py +33 -15
  54. flwr/server/superlink/fleet/vce/vce_api.py +2 -6
  55. flwr/server/superlink/state/in_memory_state.py +15 -15
  56. flwr/server/superlink/state/sqlite_state.py +10 -10
  57. flwr/server/superlink/state/state.py +8 -8
  58. flwr/server/workflow/secure_aggregation/secagg_workflow.py +1 -0
  59. flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +1 -0
  60. flwr/simulation/ray_transport/ray_actor.py +2 -2
  61. flwr/simulation/run_simulation.py +85 -25
  62. flwr/superexec/__init__.py +0 -6
  63. flwr/superexec/app.py +5 -3
  64. flwr/superexec/deployment.py +2 -2
  65. flwr/superexec/simulation.py +20 -1
  66. {flwr_nightly-1.11.0.dev20240822.dist-info → flwr_nightly-1.11.1.dev20240912.dist-info}/METADATA +3 -3
  67. {flwr_nightly-1.11.0.dev20240822.dist-info → flwr_nightly-1.11.1.dev20240912.dist-info}/RECORD +70 -62
  68. flwr_nightly-1.11.1.dev20240912.dist-info/entry_points.txt +10 -0
  69. flwr/cli/new/templates/app/code/flwr_tune/app.py.tpl +0 -89
  70. flwr/cli/new/templates/app/code/flwr_tune/config.yaml.tpl +0 -34
  71. flwr/cli/new/templates/app/code/flwr_tune/server.py.tpl +0 -48
  72. flwr/cli/new/templates/app/code/flwr_tune/static_config.yaml.tpl +0 -11
  73. flwr_nightly-1.11.0.dev20240822.dist-info/entry_points.txt +0 -10
  74. {flwr_nightly-1.11.0.dev20240822.dist-info → flwr_nightly-1.11.1.dev20240912.dist-info}/LICENSE +0 -0
  75. {flwr_nightly-1.11.0.dev20240822.dist-info → flwr_nightly-1.11.1.dev20240912.dist-info}/WHEEL +0 -0
@@ -1,48 +1,56 @@
1
1
  flwr/__init__.py,sha256=VmBWedrCxqmt4QvUHBLqyVEH6p7zaFMD_oCHerXHSVw,937
2
2
  flwr/cli/__init__.py,sha256=cZJVgozlkC6Ni2Hd_FAIrqefrkCGOV18fikToq-6iLw,720
3
- flwr/cli/app.py,sha256=FBcSrE35ll88VE11ib67qgsJe2GYDN25UswV9-cYcX8,1267
4
- flwr/cli/build.py,sha256=gIR-nTgmLJY5ZtJFLN5ebFBCN3_hoqaioFT77AHojNU,5159
3
+ flwr/cli/app.py,sha256=v66W3QJ226JUy9y51hRwftX53R3oEKl3oOl1Xx-IwgU,1215
4
+ flwr/cli/build.py,sha256=YrzjnwP1A1WQnyPuxtGy4kylcPoj0lexaF99ST872VQ,5174
5
5
  flwr/cli/config_utils.py,sha256=mDGXbcIxG14UpkUplILBYUkSk5M1LeTzZYDGNx-pFpU,7540
6
6
  flwr/cli/example.py,sha256=1bGDYll3BXQY2kRqSN-oICqS5n1b9m0g0RvXTopXHl4,2215
7
7
  flwr/cli/install.py,sha256=tUncrbZYRbC9QEcWSeTER16plPEoU-ERP0-nMgWiSPo,7094
8
8
  flwr/cli/new/__init__.py,sha256=cQzK1WH4JP2awef1t2UQ2xjl1agVEz9rwutV18SWV1k,789
9
- flwr/cli/new/new.py,sha256=VNb31-NLedm-_OK_D0aed0QxHO-tVlXjnf9UWVhC_Jk,9612
9
+ flwr/cli/new/new.py,sha256=9nBm6yjy3q4AHxT-wzV3n5cgO82F19xajfrdu3DIfyk,9605
10
10
  flwr/cli/new/templates/__init__.py,sha256=4luU8RL-CK8JJCstQ_ON809W9bNTkY1l9zSaPKBkgwY,725
11
11
  flwr/cli/new/templates/app/.gitignore.tpl,sha256=XixnHdyeMB2vwkGtGnwHqoWpH-9WChdyG0GXe57duhc,3078
12
- flwr/cli/new/templates/app/README.flowertune.md.tpl,sha256=PqzkGm0g6Zy-vZK9_0EO3f_U6g1r69lGc4UL8kds5Q8,2696
13
- flwr/cli/new/templates/app/README.md.tpl,sha256=9-z-JDEao3QmFWNLQyf-OzHlvWxVSzs2s1MeTKk68Zc,699
12
+ flwr/cli/new/templates/app/LICENSE.tpl,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
13
+ flwr/cli/new/templates/app/README.baseline.md.tpl,sha256=4dg2aBS-NIleVyDlxsG8m65Af6LIJ-pZA5ICjGFU5XA,9641
14
+ flwr/cli/new/templates/app/README.flowertune.md.tpl,sha256=lxr_RCGfiDy8QGcMVdjXsUXWM_gLf6cY7UQanGL_FFQ,3304
15
+ flwr/cli/new/templates/app/README.md.tpl,sha256=t7w4YFZEcJOxAnuJmNPw5-fDdIJu7PfLd8gFJDiBwwo,436
14
16
  flwr/cli/new/templates/app/__init__.py,sha256=DU7QMY7IhMQyuwm_tja66xU0KXTWQFqzfTqwg-_NJdE,729
17
+ flwr/cli/new/templates/app/code/__init__.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
15
18
  flwr/cli/new/templates/app/code/__init__.py,sha256=EM6vfvgAILKPaPn7H1wMV1Wi01WyZCP_Eg6NxD6oWg8,736
16
19
  flwr/cli/new/templates/app/code/__init__.py.tpl,sha256=J0Gn74E7khpLyKJVNqOPu7ev93vkcu1PZugsbxtABMw,52
17
- flwr/cli/new/templates/app/code/client.huggingface.py.tpl,sha256=62wtB4k1yrDApiG-rvGlOYFuiwAVk8kqJFmyY_v8HLo,1803
20
+ flwr/cli/new/templates/app/code/client.baseline.py.tpl,sha256=1htktXX3jXX05r0vuG_afjS1sXGtuONW9EpiQ7vSBes,1901
21
+ flwr/cli/new/templates/app/code/client.huggingface.py.tpl,sha256=ifD08KwjdoGieV26hFCgf3PQB6rMhj_NZLo5iUUndm8,1846
18
22
  flwr/cli/new/templates/app/code/client.jax.py.tpl,sha256=c2LDew2V8BUybZJiz1FeB3Kq4ey0Q2s0S5qNPUTNmI4,1490
19
23
  flwr/cli/new/templates/app/code/client.mlx.py.tpl,sha256=gxipt57ldc741qwRqSWtsLQH05JODKdGMTtvoXiBzDA,2906
20
24
  flwr/cli/new/templates/app/code/client.numpy.py.tpl,sha256=DMUXvQd2dr-wEn0ZrYJQhZ0OFUT4PKoHXtiD2haWnCI,570
21
25
  flwr/cli/new/templates/app/code/client.pytorch.py.tpl,sha256=WczaR5avJUhfw2Grn2KEC4tDJ4voIYG-2pAy-7i2cT8,1685
22
26
  flwr/cli/new/templates/app/code/client.sklearn.py.tpl,sha256=xW9cuKhybk5S8IeDZhbeb0DNegDIJGEYrzMKsxgc2GE,2978
23
- flwr/cli/new/templates/app/code/client.tensorflow.py.tpl,sha256=u3KKf7hC9xGqOIUJXYCHJ_jiIu3aVbsC8pxVxm4yN6I,1759
27
+ flwr/cli/new/templates/app/code/client.tensorflow.py.tpl,sha256=yBiiU7B9Kf70U52cPkNs_dUpYrrTwbUi2os-PAyheaM,1680
28
+ flwr/cli/new/templates/app/code/dataset.baseline.py.tpl,sha256=jbd_exHAk2-Blu_kVutjPO6a_dkJQWb232zxSeXIZ1k,1453
24
29
  flwr/cli/new/templates/app/code/flwr_tune/__init__.py,sha256=JgNgBtKdm1jKM9625WxappCAVUGtYAmcjKSsXJ1u3ZQ,748
25
- flwr/cli/new/templates/app/code/flwr_tune/app.py.tpl,sha256=LOtmEYYayMCpF4rJRdo059n5w_cZRmzyuEkCN2qpTyQ,2826
26
- flwr/cli/new/templates/app/code/flwr_tune/client.py.tpl,sha256=3s41XYHRvmcLhyA60tZyGCNK2wxo2shl6mwmPfZANlA,4155
27
- flwr/cli/new/templates/app/code/flwr_tune/config.yaml.tpl,sha256=aPjrwFU020tPkJmOjzSUjb9dSi2bhs4ZTMEyd0uRlCA,867
28
- flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl,sha256=kPG4AIXQfNNHZGYC3amet3ttI23N72N6jjoDkp_wYIA,2028
29
- flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl,sha256=cEq9ZWM3zImJVceNtxHC_bYBLE8OChK0BdjpWs5Wz-0,1881
30
- flwr/cli/new/templates/app/code/flwr_tune/server.py.tpl,sha256=tz4hgAGV6pn5cOFW10ELRNRsUzLBSssHxrH_gSs_jtk,1552
31
- flwr/cli/new/templates/app/code/flwr_tune/static_config.yaml.tpl,sha256=cBPpBVN_N7p4T2a3rqChlngmE0dB_jveOLHesNcEHvs,268
32
- flwr/cli/new/templates/app/code/server.huggingface.py.tpl,sha256=etpjLvGu6pVXzYQBKZp4tTbD3zm461qFo24NliKo74U,591
30
+ flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl,sha256=DbotzaXzLDwplVBkJLOe5Lt5b6Yutwv9rJ69oVwyrvU,4397
31
+ flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl,sha256=iAujo8WubDGrz0gg_6zl-TUvkIbNRJM-VJmwKJ9tGY8,3051
32
+ flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl,sha256=UCLEKUpXarkz9tMFtDrxmLv6QuKe5zCimTuoopQedUM,1717
33
+ flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl,sha256=yMVcbfGkTPV9AV16bVdi5fTX1a6jmtszTUrvLXSosio,3305
34
+ flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl,sha256=BhiqRg9w1MGuU5h2_vrLhRc0oHItYzE69qX_JI411k8,2754
35
+ flwr/cli/new/templates/app/code/model.baseline.py.tpl,sha256=cSz6-IWsnMl7s04DW4URINiIppCIberrtE8NqK6Qz48,2571
36
+ flwr/cli/new/templates/app/code/server.baseline.py.tpl,sha256=outx7lDXsWS8QXKWOGOiDno6eE8WL7LBD51ZkAuC3WU,1570
37
+ flwr/cli/new/templates/app/code/server.huggingface.py.tpl,sha256=0PJmnZvR9_VPLSak1yVfkOx3dmqo6cynhY1l2s4AZrE,1158
33
38
  flwr/cli/new/templates/app/code/server.jax.py.tpl,sha256=pIdUH-LgWRAGWQYLlivMNf8XnDSNDe2cCuRjlxbRzys,529
34
39
  flwr/cli/new/templates/app/code/server.mlx.py.tpl,sha256=RqiZ0k468SOlm9dcPr-fvA8xcWv4zwDCbJfBwL7P9Us,529
35
40
  flwr/cli/new/templates/app/code/server.numpy.py.tpl,sha256=RqiZ0k468SOlm9dcPr-fvA8xcWv4zwDCbJfBwL7P9Us,529
36
41
  flwr/cli/new/templates/app/code/server.pytorch.py.tpl,sha256=DW5c8vzXCvFeIE8YIWBhoGnSdv8Ka_e5wd3F6B3xvp8,916
37
42
  flwr/cli/new/templates/app/code/server.sklearn.py.tpl,sha256=25Ae3kDqjDdBl8LwkDwye69nevd02Pk_e7F3SQKLdyk,624
38
43
  flwr/cli/new/templates/app/code/server.tensorflow.py.tpl,sha256=xMhQ7AumowgLkgUilgjVK7IbpRhPjslhVJU-vID6NY8,856
39
- flwr/cli/new/templates/app/code/task.huggingface.py.tpl,sha256=G_LOeGErw-6WZAyuT01mXqR6s_BUrQYErXf_nHLujo4,3153
44
+ flwr/cli/new/templates/app/code/strategy.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
45
+ flwr/cli/new/templates/app/code/task.huggingface.py.tpl,sha256=ua6cAhJYPUCwML20DEucM0F4ZzzsEVQLYrRvhQ7CGRE,3347
40
46
  flwr/cli/new/templates/app/code/task.jax.py.tpl,sha256=F05eg149c9icRyVNdfcLyZvAXROQ7QhfifoGw_U1dsg,1530
41
47
  flwr/cli/new/templates/app/code/task.mlx.py.tpl,sha256=jWtCULLRr_9bCIJvoTLMx037-SDl_LF8udtA1UGoXDk,2946
42
48
  flwr/cli/new/templates/app/code/task.pytorch.py.tpl,sha256=NgbPix74X1t3ybaGjqdls30vF1i5oY3L7EQExhWhN74,3812
43
49
  flwr/cli/new/templates/app/code/task.tensorflow.py.tpl,sha256=SKXAZdgBnPpbAbJ90Rb7oQ5ilnopBx_j_JNFoUDeEAI,1732
44
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=chTKewidM-st9Uk5o95tGOqJ5FSa1L2R0UdSW2wTr0c,789
45
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=nD0rRUyr_Cj0TaSH8PsiaMhCwu_BuOVX4oqWfFSvOcE,765
50
+ flwr/cli/new/templates/app/code/utils.baseline.py.tpl,sha256=YkHAgppUeD2BnBoGfVB6dEvBfjuIPGsU1gw4CiUi3qA,40
51
+ flwr/cli/new/templates/app/pyproject.baseline.toml.tpl,sha256=4gi90W9_B1kj6rYkpvVJxhNX9Yctsv9OH6CzXP-dcE4,2666
52
+ flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl,sha256=pogRZLrwSfN_XH4NxDdMkhMh1O_7DP90VOoP-cP0HvI,1827
53
+ flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl,sha256=CHJgkPNkJfzJhEbTe15uiV3AhOtIddQi-yofPZsCk3E,1143
46
54
  flwr/cli/new/templates/app/pyproject.jax.toml.tpl,sha256=Tq6jeGcoOKzMwWWYxMVnzMcipLURHLiW69iYlD1ywMg,659
47
55
  flwr/cli/new/templates/app/pyproject.mlx.toml.tpl,sha256=SHwYAA2qgIlOAU3Sb9BKSZcZ7O9biACg27MHexXUtDw,741
48
56
  flwr/cli/new/templates/app/pyproject.numpy.toml.tpl,sha256=-FCi64ygMgQke3zApUt0XtkIBo3WtQoPAPhtp_FqkPE,612
@@ -50,12 +58,12 @@ flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl,sha256=vIO1ArukTC76ogYLNmJ
50
58
  flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl,sha256=jk_5teoyOVM9QdBea8J-nk10S6TKw81QZiiKB54ATF0,654
51
59
  flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl,sha256=bRIvPCPvTTI4Eo5b61Rmw8WdDw3sjcohciTXgULN5l8,702
52
60
  flwr/cli/run/__init__.py,sha256=oCd6HmQDx-sqver1gecgx-uMA38BLTSiiKpl7RGNceg,789
53
- flwr/cli/run/run.py,sha256=8SoZsow349rC4KC6bfm4uV7NakqWiZahrqvd1Yb-lt0,7653
61
+ flwr/cli/run/run.py,sha256=RI6MgLBNYxmacjQg8XMAQ7VKxbV0DkRyJTfe4GsDFuw,7979
54
62
  flwr/cli/utils.py,sha256=l65Ul0YsSBPuypk0uorAtEDmLEYiUrzpCXi6zCg9mJ4,4506
55
- flwr/client/__init__.py,sha256=wzJZsYJIHf_8-PMzvfbinyzzjgh1UP1vLrAw2_yEbKI,1345
56
- flwr/client/app.py,sha256=o_2bhmlBeZATtWnAPZhL-Q1Ly0QZxc9ou4i7t0HKumE,31956
57
- flwr/client/client.py,sha256=Vp9UkOkoHdNfn6iMYZsj_5m_GICiFfUlKEVaLad-YhM,8183
58
- flwr/client/client_app.py,sha256=WcO4r6wrdfaus__3s22D2sYjfcptdgmVujUAYdNE6HU,10393
63
+ flwr/client/__init__.py,sha256=DGDoO0AEAfz-0CUFmLdyUUweAS64-07AOnmDfWUefK4,1192
64
+ flwr/client/app.py,sha256=S7o09GZaD7XH3zdVow3XKbktkHvi6H-xnlrhNBHYQ80,31937
65
+ flwr/client/client.py,sha256=gy6WVlMUFAp8oevN4xpQPX30vPOIYGVqdbuFlTWkyG4,9080
66
+ flwr/client/client_app.py,sha256=6TIH-B5lgKn199uzcjxfFKiGvKN5tmKYFpsovUrSXoo,10396
59
67
  flwr/client/clientapp/__init__.py,sha256=kZqChGnTChQ1WGSUkIlW2S5bc0d0mzDubCAmZUGRpEY,800
60
68
  flwr/client/clientapp/app.py,sha256=4QtblvJsZ0-V-QBbzyNqWV13ugrgJmkZnsHpBCuqgi8,7797
61
69
  flwr/client/clientapp/clientappio_servicer.py,sha256=5L6bjw_j3Mnx9kRFwYwxDNABKurBO5q1jZOWE_X11wQ,8522
@@ -66,7 +74,7 @@ flwr/client/grpc_adapter_client/connection.py,sha256=aOlCYasl8f2CrfcN-WrVEmvjAZF
66
74
  flwr/client/grpc_client/__init__.py,sha256=LsnbqXiJhgQcB0XzAlUQgPx011Uf7Y7yabIC1HxivJ8,735
67
75
  flwr/client/grpc_client/connection.py,sha256=czhRm23fwTgjN24Vf5nyNQ3hcb5Fo_5k-o9yZnelQCs,9362
68
76
  flwr/client/grpc_rere_client/__init__.py,sha256=MK-oSoV3kwUEQnIwl0GN4OpiHR7eLOrMA8ikunET130,752
69
- flwr/client/grpc_rere_client/client_interceptor.py,sha256=sYPEznuQPdy2BPDlvM9FK0ZRRucb4NfwUee1Z_mN82E,4954
77
+ flwr/client/grpc_rere_client/client_interceptor.py,sha256=eONCq-uRYvRCxjdP4wIi_FDynDipHs3DYjExgzAcJ5M,5240
70
78
  flwr/client/grpc_rere_client/connection.py,sha256=aiIWW9fVgJZNeZ9SjUAx5ax-3825JrjYc5E5l7XvzyM,10913
71
79
  flwr/client/grpc_rere_client/grpc_adapter.py,sha256=Pw7Toi4wCUIEdBMyv4yKirjgW6814gFhhAmsTYmV4IM,5005
72
80
  flwr/client/heartbeat.py,sha256=cx37mJBH8LyoIN4Lks85wtqT1mnU5GulQnr4pGCvAq0,2404
@@ -83,16 +91,16 @@ flwr/client/mod/secure_aggregation/secaggplus_mod.py,sha256=fZTfIELkYS64lpgxQKL6
83
91
  flwr/client/mod/utils.py,sha256=UAJXiB0wwVyLkCkpW_i5BXikdBR65p8sNFr7VNHm2nk,1226
84
92
  flwr/client/node_state.py,sha256=ETr9XmMJ9irFT3shCM4Hv4JWN0ewV-e0S-CFwCh80B8,3953
85
93
  flwr/client/node_state_tests.py,sha256=-4fVsn7y-z9NYBuhq-cjepgxgVuPqqQgDOL4SofrdIo,2239
86
- flwr/client/numpy_client.py,sha256=u76GWAdHmJM88Agm2EgLQSvO8Jnk225mJTk-_TmPjFE,10283
94
+ flwr/client/numpy_client.py,sha256=9rpj5OLmeeDQVzopR1My6A2VS3nkBFw6cmNcMMPYGlQ,11180
87
95
  flwr/client/rest_client/__init__.py,sha256=5KGlp7pjc1dhNRkKlaNtUfQmg8wrRFh9lS3P3uRS-7Q,735
88
- flwr/client/rest_client/connection.py,sha256=SglZC4jpqc_0-VBo9cBHa1_2RO9TfPUULQ49DnYeFS0,12767
96
+ flwr/client/rest_client/connection.py,sha256=21YNE6K6JfyZtwIftx1MGOkM78J9wb4EGGOyLS8ej0E,12767
89
97
  flwr/client/supernode/__init__.py,sha256=SUhWOzcgXRNXk1V9UgB5-FaWukqqrOEajVUHEcPkwyQ,865
90
- flwr/client/supernode/app.py,sha256=MOYvLX3VkrslsMQ7V0YdY0GovjXOGsgabYXrvRvHUWc,11856
98
+ flwr/client/supernode/app.py,sha256=LlDO4hOzJZVIF6wmcSYYYnrVuSH_umvhr4m3EtVnLyI,11947
91
99
  flwr/client/typing.py,sha256=dxoTBnTMfqXr5J7G3y-uNjqxYCddvxhu89spfj4Lm2U,1048
92
100
  flwr/common/__init__.py,sha256=TVaoFEJE158aui1TPZQiJCDZX4RNHRyI8I55VC80HhI,3901
93
- flwr/common/address.py,sha256=wRu1Luezx1PWadwV9OA_KNko01oVvbRnPqfzaDn8QOk,1882
94
- flwr/common/config.py,sha256=GN-eKrCuyypLMFgr1kO2d-mwiNNphaFt30UlfbaKJFk,7435
95
- flwr/common/constant.py,sha256=1XxuRezsr9fl3xvQNPR2kyFkwNeG_f5vZayv0PFh0kY,3012
101
+ flwr/common/address.py,sha256=1zvmVIAyYP6JbGkMnXuROzkYJ7aSKbJM754lC_kbh1M,3024
102
+ flwr/common/config.py,sha256=TBw2sI0ZgZ3l3JrjfrcnD1mnMJbaHi_i8w68YXEgPUk,7586
103
+ flwr/common/constant.py,sha256=BxVpp2o3h70h-klxiwsyLT7U5woj2GD-TXh92-STlLc,3351
96
104
  flwr/common/context.py,sha256=5Bd9RCrhLkYZOVR7vr97OVhzVBHQkS1fUsYiIKTwpxU,2239
97
105
  flwr/common/date.py,sha256=OcQuwpb2HxcblTqYm6H223ufop5UZw5N_fzalbpOVzY,891
98
106
  flwr/common/differential_privacy.py,sha256=WZWrL7C9XaB9l9NDkLDI5PvM7jwcoTTFu08ZVG8-M5Q,6113
@@ -110,8 +118,8 @@ flwr/common/record/configsrecord.py,sha256=6nIpGaeB_o8SvjMfD_iehJC1efAHgWyaeGfLD
110
118
  flwr/common/record/conversion_utils.py,sha256=n3I3SI2P6hUjyxbWNc0QAch-SEhfMK6Hm-UUaplAlUc,1393
111
119
  flwr/common/record/metricsrecord.py,sha256=aTuw0gWjRaZhekf76zg0h0rES3iEnTIGPZ7-jN2PYO4,5764
112
120
  flwr/common/record/parametersrecord.py,sha256=mOcERCUylgWLQ-hISYmOHXlt-Qohv8YtPnJdLO0Kr8U,7730
113
- flwr/common/record/recordset.py,sha256=6-a6EYN2YlH0H62jymJcHGVFBB8gJo69U2lvWyAv60A,8314
114
- flwr/common/record/typeddict.py,sha256=M9zU1vjuPmKRxA0uiP2v752TB3D2VfrJzKNWx-EFviw,3016
121
+ flwr/common/record/recordset.py,sha256=sSofrBycZSqiHR4TzfI4_QoIIN-5B1LnMG0C9CiByAo,8312
122
+ flwr/common/record/typeddict.py,sha256=TDPLdeuHiAUy9JyfJN0VF1zSyqdnf_uNWUFjAd2z_Os,3623
115
123
  flwr/common/recordset_compat.py,sha256=5prvfx8mT4ZWIEU4Gmz2wzCbO4yPjQ3ONr20uKt3UM0,13973
116
124
  flwr/common/retry_invoker.py,sha256=dQY5fPIKhy9OiFswZhLxA9fB455u-DYCvDVcFJmrPDk,11707
117
125
  flwr/common/secure_aggregation/__init__.py,sha256=erPnTWdOfMH0K0HQTmj5foDJ6t3iYcExy2aACy8iZNQ,731
@@ -123,7 +131,7 @@ flwr/common/secure_aggregation/quantization.py,sha256=1obYr9qneaI8r-A0F_pghrPNG9
123
131
  flwr/common/secure_aggregation/secaggplus_constants.py,sha256=9MF-oQh62uD7rt9VeNB-rHf2gBLd5GL3S9OejCxmILY,2183
124
132
  flwr/common/secure_aggregation/secaggplus_utils.py,sha256=3VssKgYF7HQIkSpROnEUoYWVt47p12PE_Rj4nYqqg04,3221
125
133
  flwr/common/serde.py,sha256=SIKZa-TNCSWVtqx8L3aUkylN6gxK-IwXlgoukiYwYyc,29209
126
- flwr/common/telemetry.py,sha256=nSjJHDitPhzB2qUl6LeSMT9Zld5lIk9uW98RpxQwiZw,8366
134
+ flwr/common/telemetry.py,sha256=CZeBHqaH_W-H7yo-9LE-gV7ju5gJTXZztw4tJlFZqz8,8916
127
135
  flwr/common/typing.py,sha256=rGabiSkjFvGIHwmhDqtuu-LBvz7LVSj1vyMlNtA7VA0,5004
128
136
  flwr/common/version.py,sha256=W1ntylR04xkCP6zeSet6sRtBn7P1cje2lOqBJgYBjJY,1349
129
137
  flwr/proto/__init__.py,sha256=hbY7JYakwZwCkYgCNlmHdc8rtvfoJbAZLalMdc--CGc,683
@@ -184,22 +192,22 @@ flwr/proto/transport_pb2.pyi,sha256=CZvJRWTU3QWFWLXNFtyLSrSKFatIyMcy-ohzLbQ-G9c,
184
192
  flwr/proto/transport_pb2_grpc.py,sha256=vLN3EHtx2aEEMCO4f1Upu-l27BPzd3-5pV-u8wPcosk,2598
185
193
  flwr/proto/transport_pb2_grpc.pyi,sha256=AGXf8RiIiW2J5IKMlm_3qT3AzcDa4F3P5IqUjve_esA,766
186
194
  flwr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
- flwr/server/__init__.py,sha256=BxzPhvouvWFGi7CFpI5b4EeVR9XDqbK7Ndqg24EL_Rw,1679
188
- flwr/server/app.py,sha256=YhGK5LKD12yZOXJC6p5deAodweV91c0IInyiHx7PnWA,24252
195
+ flwr/server/__init__.py,sha256=cEg1oecBu4cKB69iJCqWEylC8b5XW47bl7rQiJsdTvM,1528
196
+ flwr/server/app.py,sha256=ecE7Q4gDKIiRyv6818IEPr2HlcWRzx3UMDODCwz66MY,24408
189
197
  flwr/server/client_manager.py,sha256=T8UDSRJBVD3fyIDI7NTAA-NA7GPrMNNgH2OAF54RRxE,6127
190
198
  flwr/server/client_proxy.py,sha256=4G-oTwhb45sfWLx2uZdcXD98IZwdTS6F88xe3akCdUg,2399
191
199
  flwr/server/compat/__init__.py,sha256=VxnJtJyOjNFQXMNi9hIuzNlZM5n0Hj1p3aq_Pm2udw4,892
192
- flwr/server/compat/app.py,sha256=u0elxfiLjGouCMQIy5KnCpeCHdc3s0qvojUm8unInIs,3421
200
+ flwr/server/compat/app.py,sha256=5vkHHm_h-4cMthvWD1GJo1ZW3eihytjGgvsgfXUK9gA,3298
193
201
  flwr/server/compat/app_utils.py,sha256=B9pec7LnYACzowXKZTZNu3SNS-fSaHfefwvRyAQa4Nc,3456
194
202
  flwr/server/compat/driver_client_proxy.py,sha256=BxTDo7i89VAG2tuF4x7zogSVn2bXPMr0H2H0lERzW9c,5444
195
203
  flwr/server/compat/legacy_context.py,sha256=wBzBcfV6YO6IQGriM_FdJ5XZfiBBEEJdS_OdAiF47dY,1804
196
204
  flwr/server/criterion.py,sha256=ypbAexbztzGUxNen9RCHF91QeqiEQix4t4Ih3E-42MM,1061
197
205
  flwr/server/driver/__init__.py,sha256=bikRv6CjTwSvYh7tf10gziU5o2YotOWhhftz2tr3KDc,886
198
206
  flwr/server/driver/driver.py,sha256=NT_yaeit7_kZEIsCEqOWPID1GrVD3ywH4xZ2wtIh5lM,5217
199
- flwr/server/driver/grpc_driver.py,sha256=EbnOtrTR4cmu2ZhmPqKEmOHAhNQD1fd0hAd_xN1MePQ,9749
207
+ flwr/server/driver/grpc_driver.py,sha256=QMVf5KrnIWVuqeYoSO31o698utJlbLAm6s9VAAxFZLA,9660
200
208
  flwr/server/driver/inmemory_driver.py,sha256=RcK94_NtjGZ4aZDIscnU7A3Uv1u8jGx29-xcbjQvZTM,6444
201
209
  flwr/server/history.py,sha256=bBOHKyX1eQONIsUx4EUU-UnAk1i0EbEl8ioyMq_UWQ8,5063
202
- flwr/server/run_serverapp.py,sha256=Lb3n-YEsZ86ZzI9vbhLytr4uiVngZ1LgHhnDtYxn42k,9633
210
+ flwr/server/run_serverapp.py,sha256=ASpwKHNlxpDfBe6UPotxkaifXZyKS9ZIrdwtTGLCt3k,10534
203
211
  flwr/server/server.py,sha256=PsJeh7ROKMoeLpIVrmbKoQUvdz-iqb54E4HZJanRUmM,17912
204
212
  flwr/server/server_app.py,sha256=1hul76ospG8L_KooK_ewn1sWPNTNYLTtZMeGNOBNruA,6267
205
213
  flwr/server/server_config.py,sha256=CZaHVAsMvGLjpWVcLPkiYxgJN4xfIyAiUrCI3fETKY4,1349
@@ -238,28 +246,28 @@ flwr/server/superlink/ffs/ffs.py,sha256=vzldg6ulYOFwOhLMk9LrUADaJaM6klP9H8_JL76i
238
246
  flwr/server/superlink/ffs/ffs_factory.py,sha256=N_eMuUZggotdGiDQ5r_Tf21xsu_ob0e3jyM6ag7d3kk,1490
239
247
  flwr/server/superlink/fleet/__init__.py,sha256=76od-HhYjOUoZFLFDFCFnNHI4JLAmaXQEAyp7LWlQpc,711
240
248
  flwr/server/superlink/fleet/grpc_adapter/__init__.py,sha256=spBQQJeYz8zPOBOfyMLv87kqWPASGB73AymcLXdFaYA,742
241
- flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py,sha256=K4LkOsVzIdsR7Py_9cfo6CR-bDocpP15ktHTc2UnJ9k,4957
249
+ flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py,sha256=pBvUEwSFWjKyROE_F2r_j-mX2mxz9snxGwhirpnZB8E,5597
242
250
  flwr/server/superlink/fleet/grpc_bidi/__init__.py,sha256=dkSKQMuMTYh1qSnuN87cAPv_mcdLg3f0PqTABHs8gUE,735
243
251
  flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py,sha256=KCtr4WzoVvYKEgDQFu4XEStXheO7DN2znTiQX6WFA9k,5993
244
252
  flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py,sha256=hh7ykcLMA_ymmD72eWFMfX7D1EUPWhD29n_cI0fS2Nk,6458
245
253
  flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py,sha256=h3EhqgelegVC4EjOXH5birmAnMoCBJcP7jpHYCnHZPk,4887
246
- flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=ROH-dr7TQZ9nVXjkKOzMhxidJguX2li8--nDnXRi-dU,12095
254
+ flwr/server/superlink/fleet/grpc_bidi/grpc_server.py,sha256=DIXCYfPwm5paWq6hccReW0tB7-dTfq4vvMZ7CsiuYf4,12292
247
255
  flwr/server/superlink/fleet/grpc_rere/__init__.py,sha256=j2hyC342am-_Hgp1g80Y3fGDzfTI6n8QOOn2PyWf4eg,758
248
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=9vZPmdNuRcXsCJQUv9hrzQvdvUJO4-gvxxCHJJTFvGE,4047
249
- flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=DsHj6XaE0pBSWLYFsUYE44NPqx6IWWTJ9sqbh3GpmvY,7961
256
+ flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py,sha256=bgoLQEhahVHjdlRDk_58zyKFeMOziiPUXSbYMhOxybY,4757
257
+ flwr/server/superlink/fleet/grpc_rere/server_interceptor.py,sha256=zN8TIdg9ZxKtmrwtarWUPdm08jUBBGoz59ndO3C-7jg,7985
250
258
  flwr/server/superlink/fleet/message_handler/__init__.py,sha256=h8oLD7uo5lKICPy0rRdKRjTYe62u8PKkT_fA4xF5JPA,731
251
259
  flwr/server/superlink/fleet/message_handler/message_handler.py,sha256=9qDDPwj3txHPo2dNaWQiO3UpGno5Zm9IMhJXnAPZbqg,4439
252
260
  flwr/server/superlink/fleet/rest_rere/__init__.py,sha256=5jbYbAn75sGv-gBwOPDySE0kz96F6dTYLeMrGqNi4lM,735
253
- flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=yoSU-6nCJF9ASHGNpSY69nZbUhPGXkMIKYDgybKQX3c,7672
261
+ flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=3wegOVJadA3pH_2CwZHQ3UweoYFZpqzOTM92GqLGQ9Y,6301
254
262
  flwr/server/superlink/fleet/vce/__init__.py,sha256=36MHKiefnJeyjwMQzVUK4m06Ojon3WDcwZGQsAcyVhQ,783
255
263
  flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=psQjI1DQHOM5uWVXM27l_wPHjfEkMUTP-_8-lEFH1JA,1466
256
- flwr/server/superlink/fleet/vce/backend/backend.py,sha256=KL0eHScWr_YfP2eY3VP8_OOMgZwnRNW7qpu5J-ISpXI,2212
257
- flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=nb_IZNW_ZKoVzM9duqPddUV4C6T1Jpz9VDBVOzpU-WE,6408
258
- flwr/server/superlink/fleet/vce/vce_api.py,sha256=n9SfUaLDgiPVvGVudSC4dZ37vytEDlPn1WA0iUDWJ1I,12750
264
+ flwr/server/superlink/fleet/vce/backend/backend.py,sha256=YugFH_XYclqmq07er5ne1DZc7PgR9lWGs5LY_YIHwc8,2207
265
+ flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=VQ63rZytcavfDedfjArAejPi3VGYXrfcsb8yi57prRc,7168
266
+ flwr/server/superlink/fleet/vce/vce_api.py,sha256=lTQ2WycKK4-w22EPoJJz1qn73j9ZTwBlNz2cla2Zv0Q,12653
259
267
  flwr/server/superlink/state/__init__.py,sha256=Gj2OTFLXvA-mAjBvwuKDM3rDrVaQPcIoybSa2uskMTE,1003
260
- flwr/server/superlink/state/in_memory_state.py,sha256=XMcT5WvKPOrFOuKcByr5BRFacX4aR2n9bRkABUuPg-M,13206
261
- flwr/server/superlink/state/sqlite_state.py,sha256=N8eOLZUveJOzdzL31-hXRYOMqV_-w75S1InyDenaDWU,29420
262
- flwr/server/superlink/state/state.py,sha256=peHACUjhUF4gfZ5icMsBGjQNa6A6rvku9a_mziRJW40,8154
268
+ flwr/server/superlink/state/in_memory_state.py,sha256=eNXOVt3HhJOYxkbYRNWEudCaNrYj2B7tOU9xgKbM2Ag,13166
269
+ flwr/server/superlink/state/sqlite_state.py,sha256=Mxb1QLFca9xFtnKgeu1XCe2kFzKGWmpnI-eRMa6-QSE,29395
270
+ flwr/server/superlink/state/state.py,sha256=0DPFJcIGJMMYh3fIGGKSjDswl_HxL57tVYMYdB3TJxI,8138
263
271
  flwr/server/superlink/state/state_factory.py,sha256=Fo8pBQ1WWrVJK5TOEPZ_zgJE69_mfTGjTO6czh6571o,2021
264
272
  flwr/server/superlink/state/utils.py,sha256=155ngcaSePy7nD8X4LHgpuVok6fcH5_CPNRiFAbLWDA,2407
265
273
  flwr/server/typing.py,sha256=5kaRLZuxTEse9A0g7aVna2VhYxU3wTq1f3d3mtw7kXs,1019
@@ -270,24 +278,24 @@ flwr/server/workflow/__init__.py,sha256=SXY0XkwbkezFBxxrFB5hKUtmtAgnYISBkPouR1V7
270
278
  flwr/server/workflow/constant.py,sha256=q4DLdR8Krlxuewq2AQjwTL75hphxE5ODNz4AhViHMXk,1082
271
279
  flwr/server/workflow/default_workflows.py,sha256=q9f1N2NfOrDrR3S3FH1ePNmTMsUUNwv3cdcAejbGSlk,14086
272
280
  flwr/server/workflow/secure_aggregation/__init__.py,sha256=3XlgDOjD_hcukTGl6Bc1B-8M_dPlVSJuTbvXIbiO-Ic,880
273
- flwr/server/workflow/secure_aggregation/secagg_workflow.py,sha256=wpAkYPId0nfK6SgpUAtsCni4_MQLd-uqJ81tUKu3xlI,5838
274
- flwr/server/workflow/secure_aggregation/secaggplus_workflow.py,sha256=LLW4LfPAVdpMhIjJBopHVl-OltYuVSqsESw3PULcrN8,29694
281
+ flwr/server/workflow/secure_aggregation/secagg_workflow.py,sha256=l2IdMdJjs1bgHs5vQgLSOVzar7v2oxUn46oCrnVE1rM,5839
282
+ flwr/server/workflow/secure_aggregation/secaggplus_workflow.py,sha256=vdS_AeRYBvxbSKhM7yaWzfjb21wJfnmr55IAAqIeDGM,29695
275
283
  flwr/simulation/__init__.py,sha256=ybVBW3xT6cg_IasJV4_ymI3bVrCbFhw1mmcfrdfl3q0,1359
276
284
  flwr/simulation/app.py,sha256=te3dQB3eodPwzsv1y4daPyaskIAaOtgoHaQLobrqoqY,15163
277
285
  flwr/simulation/ray_transport/__init__.py,sha256=wzcEEwUUlulnXsg6raCA1nGpP3LlAQDtJ8zNkCXcVbA,734
278
- flwr/simulation/ray_transport/ray_actor.py,sha256=3j0HgzjrlYjnzdTRy8aA4Nf6VoUvxi1hGRQkGSU5z6c,19020
286
+ flwr/simulation/ray_transport/ray_actor.py,sha256=IbFwbRFxKHoLjgx_LTuehS0L3uHPw_SPaMfA4wHA0Xk,19026
279
287
  flwr/simulation/ray_transport/ray_client_proxy.py,sha256=0abIsU0VBk9rNJZOKHIyzYGy3ZnWBgqYocX_oct1EP0,7307
280
288
  flwr/simulation/ray_transport/utils.py,sha256=TYdtfg1P9VfTdLMOJlifInGpxWHYs9UfUqIv2wfkRLA,2392
281
- flwr/simulation/run_simulation.py,sha256=BXzDF2vMoLTne1NkHKHOGv1FH0fRNy4Ds83Vkr_Qudk,20613
282
- flwr/superexec/__init__.py,sha256=9h94ogLxi6eJ3bUuJYq3E3pApThSabTPiSmPAGlTkHE,800
283
- flwr/superexec/app.py,sha256=KQuAnyTs2RQMGeIOrJjR3fJ70HsIEF3LQRKazOy27OA,6489
284
- flwr/superexec/deployment.py,sha256=1qhztkcZDjaSbicligbXGqn49gbpN271rTlEVAnNuWw,6283
289
+ flwr/simulation/run_simulation.py,sha256=hnH3qThfg_ii2tMu1y3X4ZWbw99CNk7vfduQ1fdZxbY,22750
290
+ flwr/superexec/__init__.py,sha256=fcj366jh4RFby_vDwLroU4kepzqbnJgseZD_jUr_Mko,715
291
+ flwr/superexec/app.py,sha256=58EbFCFhFLzMrkxDZwZ8_nEitd6ckQc1v_5H9s4nxlM,6559
292
+ flwr/superexec/deployment.py,sha256=sNb-sYdCDkVEALSbC_eBNIulieHwpg7HzgmDIp4wT9o,6267
285
293
  flwr/superexec/exec_grpc.py,sha256=PhqGoZEpTMxSQmUSV8Wgtzb1Za_pHJ-adZqo5RYnDyE,1942
286
294
  flwr/superexec/exec_servicer.py,sha256=jl0aKVjm0PLQABcTL5c3jdSIzb0Z6hpVOtrAn4Ob7ts,2323
287
295
  flwr/superexec/executor.py,sha256=k_adivto6R2U82DADOHNvdtobehBYreRek1gOEBIQnQ,2318
288
- flwr/superexec/simulation.py,sha256=lfdClQYSAIMHe43aJ0Pk-kBw_xoV09LsIMfHo2eo-Ck,6775
289
- flwr_nightly-1.11.0.dev20240822.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
290
- flwr_nightly-1.11.0.dev20240822.dist-info/METADATA,sha256=1OtA53Kfj8jYKL3qUYVhcE5TqBzsuwmxR-EalE1b5yw,15701
291
- flwr_nightly-1.11.0.dev20240822.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
292
- flwr_nightly-1.11.0.dev20240822.dist-info/entry_points.txt,sha256=3cDQVJEBRCSLzJrVYAgjXpoCjuQ74I3A9NZ61DOHdVo,388
293
- flwr_nightly-1.11.0.dev20240822.dist-info/RECORD,,
296
+ flwr/superexec/simulation.py,sha256=J6pw-RqCSiUed8I_3MasZH4tl57ZmDebPAHNnbb0-vE,7420
297
+ flwr_nightly-1.11.1.dev20240912.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
298
+ flwr_nightly-1.11.1.dev20240912.dist-info/METADATA,sha256=d7S_JhUvUHkUP-WXBYMhrwM0P0KEvftKDl68QuQk-iU,15703
299
+ flwr_nightly-1.11.1.dev20240912.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
300
+ flwr_nightly-1.11.1.dev20240912.dist-info/entry_points.txt,sha256=WUCbqhLEOzjx_lyATIM0-f0e8kOVaQjzwOvyOxHrMhs,434
301
+ flwr_nightly-1.11.1.dev20240912.dist-info/RECORD,,
@@ -0,0 +1,10 @@
1
+ [console_scripts]
2
+ flower-client-app=flwr.client.supernode:run_client_app
3
+ flower-server-app=flwr.server.run_serverapp:run_server_app
4
+ flower-simulation=flwr.simulation.run_simulation:run_simulation_from_cli
5
+ flower-superexec=flwr.superexec.app:run_superexec
6
+ flower-superlink=flwr.server.app:run_superlink
7
+ flower-supernode=flwr.client.supernode.app:run_supernode
8
+ flwr=flwr.cli.app:app
9
+ flwr-clientapp=flwr.client.clientapp:flwr_clientapp
10
+
@@ -1,89 +0,0 @@
1
- """$project_name: A Flower / FlowerTune app."""
2
-
3
- import os
4
- import warnings
5
- from datetime import datetime
6
-
7
- from flwr_datasets import FederatedDataset
8
- from hydra import compose, initialize
9
- from hydra.utils import instantiate
10
-
11
- from flwr.client import ClientApp
12
- from flwr.common import Context, ndarrays_to_parameters
13
- from flwr.server import ServerApp, ServerAppComponents, ServerConfig
14
-
15
- from $import_name.client_app import gen_client_fn, get_parameters
16
- from $import_name.dataset import get_tokenizer_and_data_collator_and_propt_formatting
17
- from $import_name.models import get_model
18
- from $import_name.server_app import fit_weighted_average, get_evaluate_fn, get_on_fit_config
19
-
20
- # Avoid warnings
21
- warnings.filterwarnings("ignore", category=UserWarning)
22
- os.environ["TOKENIZERS_PARALLELISM"] = "true"
23
- os.environ["RAY_DISABLE_DOCKER_CPU_WARNING"] = "1"
24
-
25
- # Initialise regular config
26
- with initialize(config_path="conf", version_base="1.1"):
27
- cfg = compose(config_name="config")
28
-
29
- # Initialise static config
30
- with initialize(config_path="conf", version_base="1.1"):
31
- cfg_static = compose(config_name="static_config")
32
-
33
- cfg.train.num_rounds = cfg_static.num_rounds
34
-
35
- # Create output directory given current timestamp
36
- current_time = datetime.now()
37
- folder_name = current_time.strftime("%Y-%m-%d_%H-%M-%S")
38
- save_path = os.path.join(os.getcwd(), f"results/{folder_name}")
39
- os.makedirs(save_path, exist_ok=True)
40
-
41
- # Partition dataset and get dataloaders
42
- partitioner = instantiate(cfg_static.partitioner)
43
- fds = FederatedDataset(
44
- dataset=cfg_static.dataset.name, partitioners={"train": partitioner}
45
- )
46
- (
47
- tokenizer,
48
- data_collator,
49
- formatting_prompts_func,
50
- ) = get_tokenizer_and_data_collator_and_propt_formatting(cfg.model.name)
51
-
52
- # ClientApp for Flower Next
53
- client = ClientApp(
54
- client_fn=gen_client_fn(
55
- fds,
56
- tokenizer,
57
- formatting_prompts_func,
58
- data_collator,
59
- cfg.model,
60
- cfg.train,
61
- save_path,
62
- ),
63
- )
64
-
65
- # Get initial model weights
66
- init_model = get_model(cfg.model)
67
- init_model_parameters = get_parameters(init_model)
68
- init_model_parameters = ndarrays_to_parameters(init_model_parameters)
69
-
70
- def server_fn(context: Context):
71
- # Instantiate strategy according to config. Here we pass other arguments
72
- # that are only defined at runtime.
73
- strategy = instantiate(
74
- cfg.strategy,
75
- on_fit_config_fn=get_on_fit_config(),
76
- fit_metrics_aggregation_fn=fit_weighted_average,
77
- initial_parameters=init_model_parameters,
78
- evaluate_fn=get_evaluate_fn(
79
- cfg.model, cfg.train.save_every_round, cfg_static.num_rounds, save_path
80
- ),
81
- )
82
-
83
- config = ServerConfig(num_rounds=cfg_static.num_rounds)
84
-
85
- return ServerAppComponents(strategy=strategy, config=config)
86
-
87
-
88
- # ServerApp for Flower Next
89
- server = ServerApp(server_fn=server_fn)
@@ -1,34 +0,0 @@
1
- # Federated Instruction Tuning
2
- ---
3
- model:
4
- name: "mistralai/Mistral-7B-v0.3"
5
- quantization: 4 # 8 or 4 if you want to do quantization with BitsAndBytes
6
- gradient_checkpointing: True
7
- lora:
8
- peft_lora_r: 32
9
- peft_lora_alpha: 64
10
-
11
- train:
12
- num_rounds: null
13
- save_every_round: 5
14
- learning_rate_max: 5e-5
15
- learning_rate_min: 1e-6
16
- seq_length: 512
17
- training_arguments:
18
- output_dir: null # to be set by hydra
19
- learning_rate: null # to be set by the client
20
- per_device_train_batch_size: 16
21
- gradient_accumulation_steps: 1
22
- logging_steps: 10
23
- num_train_epochs: 3
24
- max_steps: 10
25
- report_to: null
26
- save_steps: 1000
27
- save_total_limit: 10
28
- gradient_checkpointing: True
29
- lr_scheduler_type: "constant"
30
-
31
- strategy:
32
- _target_: flwr.server.strategy.FedAvg
33
- fraction_fit: $fraction_fit
34
- fraction_evaluate: 0.0 # no client evaluation
@@ -1,48 +0,0 @@
1
- """$project_name: A Flower / FlowerTune app."""
2
-
3
- from $import_name.client_app import set_parameters
4
- from $import_name.models import get_model
5
-
6
-
7
- # Get function that will be executed by the strategy's evaluate() method
8
- # Here we use it to save global model checkpoints
9
- def get_evaluate_fn(model_cfg, save_every_round, total_round, save_path):
10
- """Return an evaluation function for saving global model."""
11
-
12
- def evaluate(server_round: int, parameters, config):
13
- # Save model
14
- if server_round != 0 and (
15
- server_round == total_round or server_round % save_every_round == 0
16
- ):
17
- # Init model
18
- model = get_model(model_cfg)
19
- set_parameters(model, parameters)
20
-
21
- model.save_pretrained(f"{save_path}/peft_{server_round}")
22
-
23
- return 0.0, {}
24
-
25
- return evaluate
26
-
27
-
28
- def get_on_fit_config():
29
- """
30
- Return a function that will be used to construct the config
31
- that the client's fit() method will receive.
32
- """
33
-
34
- def fit_config_fn(server_round: int):
35
- fit_config = {"current_round": server_round}
36
- return fit_config
37
-
38
- return fit_config_fn
39
-
40
-
41
- def fit_weighted_average(metrics):
42
- """Aggregate (federated) evaluation metrics."""
43
- # Multiply accuracy of each client by number of examples used
44
- losses = [num_examples * m["train_loss"] for num_examples, m in metrics]
45
- examples = [num_examples for num_examples, _ in metrics]
46
-
47
- # Aggregate and return custom metric (weighted average)
48
- return {"train_loss": sum(losses) / sum(examples)}
@@ -1,11 +0,0 @@
1
- # Federated Instruction Tuning (static)
2
- ---
3
- dataset:
4
- name: $dataset_name
5
-
6
- # FL experimental settings
7
- num_clients: $num_clients # total number of clients
8
- num_rounds: 200
9
- partitioner:
10
- _target_: flwr_datasets.partitioner.IidPartitioner
11
- num_partitions: $num_clients
@@ -1,10 +0,0 @@
1
- [console_scripts]
2
- flower-client-app=flwr.client:run_client_app
3
- flower-server-app=flwr.server:run_server_app
4
- flower-simulation=flwr.simulation.run_simulation:run_simulation_from_cli
5
- flower-superexec=flwr.superexec:run_superexec
6
- flower-superlink=flwr.server:run_superlink
7
- flower-supernode=flwr.client:run_supernode
8
- flwr=flwr.cli.app:app
9
- flwr-clientapp=flwr.client.clientapp:flwr_clientapp
10
-