declearn

View on PyPIReverse Dependencies (0)

2.6.0.post1 declearn-2.6.0.post1-py3-none-any.whl

Wheel Details

Project: declearn
Version: 2.6.0.post1
Filename: declearn-2.6.0.post1-py3-none-any.whl
Download: [link]
Size: 503443
MD5: c1e0f68e2d72d94ce0300a72a2b88929
SHA256: efc71373c72543fb7a8f5bb68ada51fd9b6c6f2ac20e9ed53d24e7b420c48117
Uploaded: 2024-08-10 08:00:31 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: declearn
Version: 2.6.0.post1
Summary: A modular and extensible framework for Federated Learning.
Author-Email: Paul Andrey <paul.andrey[at]inria.fr>, Nathan Bigaud <nathan.bigaud[at]inria.fr>
Maintainer-Email: Paul Andrey <paul.andrey[at]inria.fr>
Project-Url: homepage, https://magnet.gitlabpages.inria.fr/docs
Project-Url: repository, https://gitlab.inria.fr/magnet/declearn/declearn2.git
License: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Typing :: Typed
Requires-Python: >=3.8
Requires-Dist: cryptography (>=35.0)
Requires-Dist: fire (~=0.4)
Requires-Dist: gmpy2 (~=2.1)
Requires-Dist: pandas (<3.0,>=1.2)
Requires-Dist: requests (~=2.18)
Requires-Dist: scikit-learn (~=1.0)
Requires-Dist: tqdm (~=4.62)
Requires-Dist: typing-extensions (~=4.0)
Requires-Dist: tomli (~=2.0); python_version < "3.11"
Requires-Dist: grpcio (>=1.45); extra == "all"
Requires-Dist: jax[cpu] (~=0.4.1); extra == "all"
Requires-Dist: opacus (~=1.4); extra == "all"
Requires-Dist: protobuf (>=3.19); extra == "all"
Requires-Dist: tensorflow (~=2.11); extra == "all"
Requires-Dist: torch (<3.0,>=1.13); extra == "all"
Requires-Dist: websockets (<13.0,>=10.1); extra == "all"
Requires-Dist: dm-haiku (<=0.0.10,>=0.0.9); python_version == "3.8" and extra == "all"
Requires-Dist: dm-haiku (<=0.0.11,>=0.0.9); python_version > "3.8" and extra == "all"
Requires-Dist: mkdocstrings[python] (~=0.8); extra == "docs"
Requires-Dist: mkdocs-autorefs (~=0.4); extra == "docs"
Requires-Dist: mkdocs-literate-nav (~=0.4); extra == "docs"
Requires-Dist: mkdocs-material (~=9.1); extra == "docs"
Requires-Dist: opacus (~=1.4); extra == "dp"
Requires-Dist: grpcio (>=1.45); extra == "grpc"
Requires-Dist: protobuf (>=3.19); extra == "grpc"
Requires-Dist: jax[cpu] (~=0.4.1); extra == "haiku"
Requires-Dist: dm-haiku (<=0.0.10,>=0.0.9); python_version == "3.8" and extra == "haiku"
Requires-Dist: dm-haiku (<=0.0.11,>=0.0.9); python_version > "3.8" and extra == "haiku"
Requires-Dist: tensorflow (~=2.11); extra == "tensorflow"
Requires-Dist: black (~=24.0); extra == "tests"
Requires-Dist: mypy (~=1.0); extra == "tests"
Requires-Dist: pylint (~=3.0); extra == "tests"
Requires-Dist: pytest (~=7.4); extra == "tests"
Requires-Dist: pytest-asyncio (~=0.20); extra == "tests"
Requires-Dist: pytest-cov (~=4.0); extra == "tests"
Requires-Dist: torch (<3.0,>=1.13); extra == "torch"
Requires-Dist: torch (~=1.13.0); extra == "torch1"
Requires-Dist: torch (~=2.0); extra == "torch2"
Requires-Dist: websockets (<13.0,>=10.1); extra == "websockets"
Provides-Extra: all
Provides-Extra: docs
Provides-Extra: dp
Provides-Extra: grpc
Provides-Extra: haiku
Provides-Extra: tensorflow
Provides-Extra: tests
Provides-Extra: torch
Provides-Extra: torch1
Provides-Extra: torch2
Provides-Extra: websockets
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS
[Description omitted; length: 4977 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (72.1.0)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
declearn/__init__.py sha256=PFNY_rt-w_QVT1oFd_Y_SjoTeYW40pR1Lf-2Y4VS4Dw 3042
declearn/py.typed sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
declearn/typing.py sha256=DKbdHuk5w-6UGdM75lsiH6yNboPxa8zbV5P7EHyu9fc 2569
declearn/version.py sha256=W0Y_GrVGwJi0yrNesFBlGBw42Hc9BvhYKEMsh8krRQ8 794
declearn/aggregator/__init__.py sha256=TsR_YR9b39LpozTv2Lin6mRC59bRPMwElFZkg3kz3oU 1960
declearn/aggregator/_api.py sha256=FQly7qsHdCUkvQmx1XgXzTNv0Bs8eirTpKQAzPXkLoY 7185
declearn/aggregator/_avg.py sha256=SkRoB_6qjrWDUb8y3NrrXgXzzMISKzCiEbGv2aXiT3Q 2206
declearn/aggregator/_gma.py sha256=6mQs27-BEEuvxFuF7ikR6kX3pY0XNjtD6nCdNB1z6vY 5373
declearn/aggregator/_sum.py sha256=tTEa5T-OCtQZL5qrtgv2MWcyIAutagPH9R3Wh-UryrE 1531
declearn/communication/__init__.py sha256=Y7RpDXjina7TRnxe2nPRcemEZPkmjj5jV0giFLw3t1w 3018
declearn/communication/api/__init__.py sha256=UegzlULYXCrXKYjvsOdHPXEEANUXvPZoa42zioiP4RI 1248
declearn/communication/api/_client.py sha256=ZgnkSxS29P_lZDuD1s9WxxTt3SASvmEVjN1lRtA831s 11460
declearn/communication/api/_server.py sha256=TfYhWKpoRsCdxG5iTxWYeKxXAxNfiZMdqqCU9t9Ac8A 13682
declearn/communication/api/backend/__init__.py sha256=KTO50VU09GICmVqHWNKiSJ7reYWGYmNwltOib_Ez9Oo 1809
declearn/communication/api/backend/_handler.py sha256=q43ErFzLLmYC0aSy0VG_PF_G6aqBHm0qh1buGW9_Vqw 17228
declearn/communication/api/backend/actions.py sha256=zRcjNMqZ_1hTygXC7Gs_Rjp4_K8MMUmk8niUOF9HGoY 5258
declearn/communication/api/backend/flags.py sha256=3nC4FGayRbtjX0GJQCDX-ak7NQxuLrb6mZz7rO5YGmc 1815
declearn/communication/grpc/__init__.py sha256=T3rVwceTKi5EXiF7QNW5dohdFXkxBx-Yqgxhhi8AQuQ 1308
declearn/communication/grpc/_client.py sha256=nMv-Wkpp2zOPObMXGX2D0cdVXFI2fJGMppbXyTJwJo0 4637
declearn/communication/grpc/_server.py sha256=HMNm9hTKw2pUG8W0pXpMH64hS88j9kvo5PS8AZgzwis 9018
declearn/communication/grpc/protobufs/__init__.py sha256=O45MQHhd5BzJrnIPKgT1jwl342BILWDFmjWUwKz-ljw 1398
declearn/communication/grpc/protobufs/message.proto sha256=huu6yk1UlSELOPWDX_Qo70qb6OkOsj8N4DhMkeR9yaY 263
declearn/communication/grpc/protobufs/message_pb2.py sha256=0fC-4mXfFZt1KcPUa8PW6Ujs7TcGBh6kpCoZGoDZj24 1841
declearn/communication/grpc/protobufs/message_pb2_grpc.py sha256=fdMsIESlEvS6vXKZenf1UX05hHpust4LyemxA5Dzybs 5239
declearn/communication/utils/__init__.py sha256=BrFjSeLbxwo0KDTjIW265pu-4_SfWPXMmuwYgnfdKsw 2482
declearn/communication/utils/_build.py sha256=7i5ozEY8aJ85lS4BtGtd798B1c81Y_Qg5kJIBzAV17I 8634
declearn/communication/utils/_parse.py sha256=XGyswSB68-Lp4oDxVsA4jhSQ0gJFtf_xinp9i-6dtFE 5839
declearn/communication/websockets/__init__.py sha256=KCUrc5KO_vWHe20NO6fNxjjIehFhJzqDGCNkuuYXrEY 1143
declearn/communication/websockets/_client.py sha256=SLmby7tgycSv-kHZTn0ATuxHROnpRYNif57B36ZThZI 5830
declearn/communication/websockets/_server.py sha256=b_f_s6j6SJpx3VcifFXESbfV4JaFe8QcnYF8VlRviTg 6519
declearn/communication/websockets/_tools.py sha256=sM5x73rW1w0a6vNKK3oGDwplkCEzI5G472E3bs9FAvs 3616
declearn/data_info/__init__.py sha256=R-FjjAPUpDtMgN6r_zTj6_cyibW4Nuq7hzDJZGSpKkg 2608
declearn/data_info/_base.py sha256=G9ndDot9mEYqo-zNTP3AcgpMgJA9DQHcUxPM0geSvQg 8345
declearn/data_info/_fields.py sha256=MfyWG_TryIlmA4c7zP3OKbzPQuc34kEgXUICYs0IU4A 4021
declearn/dataset/__init__.py sha256=41XJ6_E4PLq-wroclpe6YBXKF6nmxASbjszZ9q3c1G8 2513
declearn/dataset/_base.py sha256=U22-JYgYsM14wauhjq_OhjpqiVX4nwW0BFJ_e4CzAfU 3986
declearn/dataset/_inmemory.py sha256=Ba4bHdVkBXex6Zqj0LxY03buMrq9Pl-G3JTMlx86ZC0 23660
declearn/dataset/_split_data.py sha256=z2EhSMgWCJagzVNR2Fd_oe9cH1l64be9agdcjLKiQ5g 8391
declearn/dataset/examples/__init__.py sha256=xmUg9R3HIFxoQoVdxkr4bYG3muamqyBCKAtJyvkrK_g 1053
declearn/dataset/examples/_heart_uci.py sha256=PyVOILEtUur1ONnYudHBjaAkOP3ORjC6_C4OTSTIVbo 5145
declearn/dataset/examples/_mnist.py sha256=a1DLrYjJ7HJzo4pOpJvFmxLWIZHDAqbvosAEf-CyeGs 4052
declearn/dataset/tensorflow/__init__.py sha256=k9frv3hv2ltoPc839Yo_N7fj53odkpAawZNT7Obpwrg 910
declearn/dataset/tensorflow/_tensorflow.py sha256=Lua4ZMtSmOMfREUGh4A9rM4SbxRPJRilThh2jOvG7Uk 13965
declearn/dataset/torch/__init__.py sha256=vHleYo_RSbSUg1YYUAC1ewBXh5QvsJCoOaR8clwfODA 1385
declearn/dataset/torch/_torch.py sha256=ZED4ZJ5OpZB9IUEwholcLq2x3k9_hySbrvAFvYzdkjg 10812
declearn/dataset/torch/_utils.py sha256=h3mS0gPvrEY9s-VMp6NAqgGl94IqeR0wnCJi12mp3bo 4900
declearn/dataset/utils/__init__.py sha256=m0vexG8msnZeVe4Zpkke-i1BcK1aATghiSKrlgl_N0c 1693
declearn/dataset/utils/_save_load.py sha256=PQ7HUFqhZzHLeT9w7vniAQhdyVNjkLdU4qCncMnf0e0 4832
declearn/dataset/utils/_sparse.py sha256=REJhQk8Jr7kvMDv-pdKE0NYLBXwzjeUtkEh8GHQVEYc 6022
declearn/dataset/utils/_split_classif.py sha256=Td7FRUBWP5BMNDbWDRgTxGr74ZcGc2t0WljEtz_0j-g 9220
declearn/fairness/__init__.py sha256=zL4d9kkCMNMGEr2aqx2Rnpceg1x2H_7fC2sgc0BVnA8 3723
declearn/fairness/api/__init__.py sha256=9puDMsINLZq5KutM-StXlUzkxalVj2BvvitOkVZg9MY 2073
declearn/fairness/api/_client.py sha256=vc-rhsXjIIsJaPBiT-iHp6uL1pITZqpkNT8Y0kbZUyM 18165
declearn/fairness/api/_dataset.py sha256=mro5dqBnBGInIKCordWdBhsJ8kWyNoRyW2EgCw2oBZs 4092
declearn/fairness/api/_fair_func.py sha256=6bPA4L6snf3di3oFSwLT-L6H0W2-xWW_JVveo6So_i4 9722
declearn/fairness/api/_metrics.py sha256=rD9pBJmkmyHSY0sUyh8A4PMH8dU8WtVaLNo3B-5vYXU 8467
declearn/fairness/api/_server.py sha256=dSNgMzUBh7beSYh2R53lLn-UpcM5WSkKp8T2nB4Mde8 17696
declearn/fairness/core/__init__.py sha256=-4UBteVFP_X86C7vWpSvmplXCfyBUMQgGWNjFYxWpwA 2099
declearn/fairness/core/_functions.py sha256=Zb5yugWeBgrw1x6FWaavYCMEAjfb4LMXkwL36YvB1Zg 13945
declearn/fairness/core/_inmemory.py sha256=ZRCM1omp3ywW6K-eefcoeYaVgfGD3OBZccWR5Xp3wtU 10777
declearn/fairness/fairbatch/__init__.py sha256=KXqhwnIT39kTTjecfrlwr4FqZZtXBjcecth8nSOi-8w 4069
declearn/fairness/fairbatch/_client.py sha256=96Lo68MCjEqHONoRUdLp3y1jPQdOgTnw-X92MpYWi2I 4911
declearn/fairness/fairbatch/_dataset.py sha256=5llI2CeE8BuO8s-HMcRsBTwMeyzwWiLpZ2NLOkA91JQ 13022
declearn/fairness/fairbatch/_fedfb.py sha256=oEEFl2_GbXLqtZVl0n1KBgpsuBldZNm4mlLzv8UgKlY 10790
declearn/fairness/fairbatch/_messages.py sha256=6L4yiwU0X8pwxhid7YY5ad84a3MnrOt1hki_n3tx_cA 1388
declearn/fairness/fairbatch/_sampling.py sha256=Ku5cBi8DgBiHq9oqOmh5rZBMWao29k0Kl5xNdWAxcs4 15384
declearn/fairness/fairbatch/_server.py sha256=t8nQtdt7mNNqrrt4QdEe_v6Y2pq0Gp0jK7P6A5H9W8k 7367
declearn/fairness/fairfed/__init__.py sha256=6u-qjpG5eUc1PMJCBfuPp6u_gDunuAmPtTDzUlyQ49Y 3223
declearn/fairness/fairfed/_aggregator.py sha256=d0xp0dTmzc16dZe9mtWQzGVRwSDMlAc-W4eq06nVbME 2412
declearn/fairness/fairfed/_client.py sha256=9pQek928lpUn_7ixhrCXw10UlJUegzYcLaoKUoMw1e4 5664
declearn/fairness/fairfed/_fairfed.py sha256=UFjpSXl8-qyzMJ8kwO-k_G_xoh0FC-1yZUm6NHH_f2o 5486
declearn/fairness/fairfed/_messages.py sha256=wfZap6TFyaHVFMbyINkIBQ0msTHuUkSyf0cNuGxKHDs 2878
declearn/fairness/fairfed/_server.py sha256=3Jd8GpYwJhPhVxrTVO4c5fG0TTd-_lL5JYws-HGE3vA 7841
declearn/fairness/fairgrad/__init__.py sha256=eCDnLNW5557xgnGUI3gi3aPBuGhNXD3uGAuTR9NY3vo 2821
declearn/fairness/fairgrad/_client.py sha256=NHulBWNO_xITHZMoWZvEyaRbGat7i_ZV8CJTYRZyZ1w 3858
declearn/fairness/fairgrad/_messages.py sha256=M7jEXhQnzSWvVsU1goh4ntTixqtCIFrYi-at7EvAKlY 1346
declearn/fairness/fairgrad/_server.py sha256=DgtwzP1CG6M9Z0IgTj2QJCtvJhFwgq3oCabARK46nVI 10086
declearn/fairness/monitor/__init__.py sha256=C5-ZcWBcUeoyQIYQBUUCw91akE--l9Z7r6CTqfjMXOA 1631
declearn/fairness/monitor/_client.py sha256=-_nzFyVwwDXmxUhUZHN6Fn6P6RP7Q5iusnFfz8FiDc8 1701
declearn/fairness/monitor/_server.py sha256=yOQ2XiW9oXDgcVfHA2j0hkkN0KfaNammjmuuZro-DwM 3159
declearn/main/__init__.py sha256=aYp0gZhcJ6Lb9rUQzB7yvNqEPxIJlgUCPZOunxOYGsw 2073
declearn/main/_client.py sha256=WUtum0yuQnGzkOAkg2CPix3oUSnr2uH7heJ2XXee7lg 29568
declearn/main/_server.py sha256=1UseZnWMq-cOyTNaBGabxwIw9y4_S6mDjDxCElxWQSI 39163
declearn/main/config/__init__.py sha256=Y-URFkNlQOcWon93RwCO12oJkJszc-XVzbSlikr1DYk 1882
declearn/main/config/_dataclasses.py sha256=fLiMQOchCY7MbXyuruNRJESk11zaftrBmQxDpfA4ZJ8 9043
declearn/main/config/_run_config.py sha256=WjXevkMqcpyeYG1IP3lF-SWXpr5C7VWDeyehlXpX-Zc 6657
declearn/main/config/_strategy.py sha256=UCgBZV59bPt9bg_zRl7K1imtEz8ipsa7BrnXb8Gs5_I 10330
declearn/main/privacy/__init__.py sha256=EQX3DGthHt4gNkTYy7qjPeOG8gnwOgLYzwdEnpaCQIM 1347
declearn/main/utils/__init__.py sha256=UiRO0fpCkJG_CtULZx5iPTcq0aa37lzMPPQHaPR7Urs 3111
declearn/main/utils/_checkpoint.py sha256=eFslvZstxbIPDwJZIjThMz01MYNwsluRzDoDNGi4DLY 21409
declearn/main/utils/_data_info.py sha256=xTY10lAPsZ6YzKxkAIz-1FZ0SrgiZr0vFQ-EaeEFTug 7442
declearn/main/utils/_early_stop.py sha256=0CQQEeQ5zAlAxQ6JNEezym_shCRXX0A33HnI3e-Gnhs 4008
declearn/messaging/__init__.py sha256=FxCOaOP6P0dlkpA6FY8Ki7rgPopm5akBZYYDCL7W9_U 2520
declearn/messaging/_api.py sha256=y3I7HTfaSWfY1cb-HMLxldD4Lgp6uV4OsmKcHEKDIdU 5649
declearn/messaging/_base.py sha256=v7flTY7EuQv_KmOaMOUaM2Q_R-qQN3sh9bEwzwt-8Uw 6410
declearn/messaging/_fairness.py sha256=ZMtr2mSgDe4y7jQBwpwWLTftqqpuNoA5IgHbZYZkH5I 3939
declearn/metrics/__init__.py sha256=ENHmNBGT0RzzdligOI8usezY_Gh6J28QYYDwGS6k4vo 3138
declearn/metrics/_api.py sha256=bOoeKCCP6mUWR8-kQ5F3k_DnDMFlKvc254nLb7UJcRQ 11282
declearn/metrics/_classif.py sha256=SZxxasybqyGZC4DqV6_eVo8GJVDzE1kell9fsaTR2qU 8775
declearn/metrics/_mean.py sha256=dkBZOOHn1h3n-rC5c2tkFZfNCYcS6tGHPEaqW2I8F_o 6613
declearn/metrics/_roc_auc.py sha256=pVBJ_4ZaAU3OAd7CyCTcPcxhrwTww9NOlBUTDHDzPIA 13469
declearn/metrics/_rsquared.py sha256=zXoFBSx_aCFyrXDKIfioIoEsBfaRBePMJlkBlObEFDU 5336
declearn/metrics/_utils.py sha256=pzWPDZHdwMrUnbXhwzeP86HbFKlhs7qIN3eTeVbsL50 2042
declearn/metrics/_wrapper.py sha256=vPxYXPbRIq5PZgoLUErgafWtX8-H4o4jf3pn36w3vbw 7826
declearn/model/__init__.py sha256=93dMZKBEm3VcunN9FilAtZbmskPO7d3pa_8xBb-YjjA 2949
declearn/model/_utils.py sha256=wmKhrWZr2--63f_Jie5KcA3XHd7r60wAmYw5O2XUXkw 3334
declearn/model/api/__init__.py sha256=2HxkcrKd7wZFNK3mk0rx0YSJ5fgopoUPkdL4JdVf1q4 1328
declearn/model/api/_model.py sha256=k2xSUTFnNZqx_SNc3bJvJdT63JwV03Ok5unR-AIRKWY 12135
declearn/model/api/_vector.py sha256=-n_ZP1Ya3s0DCR3auA3GU84-dym3KOr4ZGdDbjxTfu4 22651
declearn/model/haiku/__init__.py sha256=WYRqfYxEY6xS4_osryDCAhcnjGok3X36bcq3mRzkb4I 1801
declearn/model/haiku/_model.py sha256=KORWxDqFULF6zaVEgsVGENFoXdG7ngkwM4c7k5Wtm3o 21296
declearn/model/haiku/_vector.py sha256=QwEgkPvI3u1yk9sa2KAypAfU6uI8E3VzdO7qGnIoIyg 7106
declearn/model/haiku/utils/__init__.py sha256=T_xwI8FGKFeVF11r1cesbSvhJyBRnktDoHU1KLwR5O0 857
declearn/model/haiku/utils/_gpu.py sha256=PIS7bIrzM8Vqsjk_0qCD8_0Oov36NKP_iSCUkYur6xc 2751
declearn/model/sklearn/__init__.py sha256=0WckSpihx8HQCqSGWvqXZA98sSFOE_76L6C5Bn0oddU 1216
declearn/model/sklearn/_np_vec.py sha256=Ax-9gipocAFUqvv8Y3AZ-NXN5-_GQLPGdTiYrigwMac 4469
declearn/model/sklearn/_sgd.py sha256=ash5APasHtScmq5WknkCRTtfdjzE1Cpj_ICdpxyQpKw 19747
declearn/model/tensorflow/__init__.py sha256=yLzziPUjnzrHSXZ7uw1es6D0ZT1VZtMVcgn3EbG10p0 1552
declearn/model/tensorflow/_model.py sha256=TaaGXuD-0bbO7BoeLEJoMrqqFIbg-bHhWgarlZCSXBQ 16156
declearn/model/tensorflow/_optim.py sha256=6tYfwrG1vTjC_oViCY-p_7AURjc2FEpFsCyW_AipWOE 11221
declearn/model/tensorflow/_vector.py sha256=OypCyirdzOgx099H8IkbmRc-KZvtZFuvi0mSoC53Eks 12863
declearn/model/tensorflow/utils/__init__.py sha256=D3l3bhpKKbMJin2cYRLiTRay9cvgvwh_FMHbVyhtAJc 1881
declearn/model/tensorflow/utils/_gpu.py sha256=4mQ-ZbDBamDnLkCSL3gzudZlfd46YzYFM7MoCrssSc8 4628
declearn/model/tensorflow/utils/_loss.py sha256=_wnImde9hsX1jPmf3bmxkJ_UHHnRtL_dMv0EKcbNo5k 4715
declearn/model/tensorflow/utils/_slices.py sha256=5O4xaBzHYJUDIRyq46PGa0wH9LLvOt2FY6dnhrP0yz4 5360
declearn/model/torch/__init__.py sha256=0lLac5c2T0wMJs_fLALfewupbeDGzHKUwKglNYDf0C8 1474
declearn/model/torch/_model.py sha256=robhFbELdEpLMQq0E_PjRkFDKzglbzPg1rKVSb4zKGc 16769
declearn/model/torch/_optim.py sha256=iWlpfsaLWGUrSwcqnD3wdI19Vru9F1AhzK4OAV24sVQ 12880
declearn/model/torch/_vector.py sha256=lBSWaUfh00gNx2CjmGipfmqX7ll1d3-wJGfMJ-2M38k 8055
declearn/model/torch/_samplewise/__init__.py sha256=7kGXbLyrp7tOfDTURCVBnPDFDouauUyqCs8AlFGEx5o 2600
declearn/model/torch/_samplewise/functorch.py sha256=eO_DIg_jfOiZmC8brOc228YZ5vqMJeY0k6hFY_Huz6Q 2891
declearn/model/torch/_samplewise/shared.py sha256=u88d0C3mhfCc4Lv0mvSND3lP9_dYtbbQxOngp7beDYk 1653
declearn/model/torch/_samplewise/torchfunc.py sha256=XlwP3CEiQJRtHMF--nhyPGJYT7uWveQIYz-Bs8Z0puM 2894
declearn/model/torch/utils/__init__.py sha256=NpI4v25dTPxvCFTbgHfJj215BC-_p6cZvoqUUlZ607Q 1094
declearn/model/torch/utils/_gpu.py sha256=b4ogJHObpFR3WGFv2zGk-F696RS8kc_WfIydo3xKjhk 4554
declearn/optimizer/__init__.py sha256=RyBxVyre3pvDmzw3XvrEA6CxGFOMWEYafArd2wBlPnU 1982
declearn/optimizer/_base.py sha256=X6pRhuNX5rQHaiGDho7BT_nEhK9b6zD33n_puYz9xig 23768
declearn/optimizer/_utils.py sha256=83e4nXrSQ4gKvh-lcxJu2APLwS59UeEKXcUnXpMF7Ck 4163
declearn/optimizer/modules/__init__.py sha256=XJXzlBtdAjjKb-DZkPRLGh_geznN4LZbh7rostka_yw 3250
declearn/optimizer/modules/_adaptive.py sha256=aNoWWN0cmvFK7P2P6Qy8v2iBCgKGpzzlCgpGhMEaKSY 11020
declearn/optimizer/modules/_api.py sha256=8rH8A-hdFpL6qaPlO7kwTDTl7WdTUKTwa1MbdNS5Isw 12377
declearn/optimizer/modules/_clipping.py sha256=4Q2Ua74ZYeEgbmKTPy-4JUsT5Dm6RRW9Max4dRArmac 4898
declearn/optimizer/modules/_momentum.py sha256=PDXCKnoo6K6EC_MqbZqAxHg3voukFwp0xtRoZ-8a6sg 6600
declearn/optimizer/modules/_noise.py sha256=uQa86o5o4u81LnXFLIbo_gSdgDoW2iEICYZQJdtx8ds 6031
declearn/optimizer/modules/_scaffold.py sha256=11wlJTFtFcLJpitC-sJhRIW2oPlmcbR3PTzcrj08qC8 16640
declearn/optimizer/regularizers/__init__.py sha256=x91gyRtYoBD4Eq9nN2L40Xs3_HGzlOL_KPcosf8XaUA 1453
declearn/optimizer/regularizers/_api.py sha256=8USRNqkuErmJEDG5m6gPRax6pyG5sDRIV-VqAJ-jWIE 6166
declearn/optimizer/regularizers/_base.py sha256=2qeYWYflC2YsjYXLP2FSUOdGZG48NDtxDv2pQEKqiEs 3405
declearn/optimizer/schedulers/__init__.py sha256=oy2QtSDFt-LgyxIL2AReGgrTnHdn5BUE1xrjNjZ2BoA 3162
declearn/optimizer/schedulers/_api.py sha256=w_PtMKTLQtudMv9yzQZ6yLwCO1oG9W5ZZvcQfCPWyuU 8715
declearn/optimizer/schedulers/_cosine.py sha256=2BcANJBaWeT78qAnjgMxr6ZY8xAqUmi9Xnd0YsAB1nE 5148
declearn/optimizer/schedulers/_cyclic.py sha256=1hvN9V8lT6uL6xrgTHRIChYCFzTGuDGRHKCmIpdqejM 6067
declearn/optimizer/schedulers/_decay.py sha256=ge21xZt1UrPlaRfojd9Dl20OkCtv_LrYcbygaLoaOqY 7407
declearn/optimizer/schedulers/_warmup.py sha256=1ChDuij9l2ulzSS7InwadYNPVZnL9SFRyVZ3fubx4Hg 6223
declearn/quickrun/__init__.py sha256=19-aqV3Vt7SNrpD6EmRSK1E473Memzs_wyNl5A9M3B0 1811
declearn/quickrun/_config.py sha256=m-fw-IOssSix-JBWroHDNA8hHrq27LHV4m6D5uUpNiU 3938
declearn/quickrun/_parser.py sha256=O9fvql_GakUV-u9_ADCqC-B6ADuTrWkdS4YsdZsYexs 6673
declearn/quickrun/_run.py sha256=GKo0fz1qSTSjXTCd5WN0JrDZIFFgivzxkJ8OtbuChYA 9937
declearn/secagg/__init__.py sha256=I2rKv8Trl8LluJm93E9ziy-SZRPlnN1DCWld9v7H694 3291
declearn/secagg/_setup.py sha256=voG5LySodxfQgMyCnYLQrTQIZkJYiUOzvrwOtvb7UwU 4261
declearn/secagg/messaging.py sha256=i6tvG-XjwgxKOXqHzp15PcZ3gIC3f2hODwQrIgP8vbE 10254
declearn/secagg/api/__init__.py sha256=YL7ro0DwwKWAw7iDgiNlBn-rRxcCkKnhxjKM31fLfX0 1999
declearn/secagg/api/_aggregate.py sha256=AK_kTNmR2TyZYnKOApzJuEpHPfljJhRiHqA-l7hcbP0 6461
declearn/secagg/api/_decrypt.py sha256=KCG8NtocYPk3EHzmRSTXz-ZCz4nbQWp2ZIUQdwwkbwk 9077
declearn/secagg/api/_encrypt.py sha256=9yOycBLFxM7hd_wzqZI3H-fOP2MbP7C7OR35R1-GGCU 8579
declearn/secagg/api/_setup.py sha256=ZjEcqxNWtq-Dey3N9fcaIU4k4PZVK_dptaJXDDu_9tY 8549
declearn/secagg/joye_libert/__init__.py sha256=VKY3--bbKGS-hcyOmtg13CpXw-vpxj_H7yfBbxv2IBo 3176
declearn/secagg/joye_libert/_aggregate.py sha256=YAQi-aZyHntF-ocyuvuPiIjahd4-CcH3gMSIshJFc-E 3660
declearn/secagg/joye_libert/_decrypt.py sha256=TUVsV_33ZNMWtk_6_W_7dIPMfPhJ_tH_UxJIR3PJoB4 4861
declearn/secagg/joye_libert/_encrypt.py sha256=6mnHmahM8IUdCGmrOQsEjRrMqTlEXP26zEWCG1bK72E 3838
declearn/secagg/joye_libert/_primitives.py sha256=a64dwOTTAw53IzN9rap85o3oFs1Shgjp5noxq4TOuJo 5075
declearn/secagg/joye_libert/_setup.py sha256=bBW3q6jNptjebcCqO3QnwdXxTdbiRp-8LLiM6C8tFWI 18189
declearn/secagg/joye_libert/messages.py sha256=90fkhrdGwG6T8QgK8YloZuqnkpOIF66Lmh-Cd5MttPM 2004
declearn/secagg/masking/__init__.py sha256=vba9R7_MeIhGKkNFfwMsWpiBfT2wxOKkvgqxHrPokGQ 3176
declearn/secagg/masking/_aggregate.py sha256=l0-fVAOXcFxBQcYdCPPEp66T4I9J6_RloiDh9zT9KEA 3419
declearn/secagg/masking/_decrypt.py sha256=-REZcn1FjtGgapCxg1e9H07RW0wmKmIUCMJtz5Pf0ck 3768
declearn/secagg/masking/_encrypt.py sha256=ZkdhRCEcq7FKDlWOhZAY04ToiwBHYqa14XUUoEaXliE 5705
declearn/secagg/masking/_setup.py sha256=OruKzwW7xS7xRmQWd5ccqmigKf9hGdqY14_4NqFtOrU 9288
declearn/secagg/masking/messages.py sha256=mm9IerLlHVMXn_6fivbeQzjGb2s9XZ3iRSpHoViKpDg 1270
declearn/secagg/shamir/__init__.py sha256=YVUsVBbTvsdUa7WwZq4g_Fip33bwY4UNLs-SFH5kunU 1231
declearn/secagg/shamir/_shamir.py sha256=qg36HUb5o_iReRA_E3os9CZa7eQL56dhaOKiWOJRBEk 5971
declearn/secagg/utils/__init__.py sha256=9sqlcPiJkMxsliH0Gbed2XZG28lHT6Oq1l94FuM6NrM 1753
declearn/secagg/utils/_ed25519.py sha256=HE20uAySgvnKfM_JZUApADDJrl7MSmt3M_bw_okW5Mw 14374
declearn/secagg/utils/_numpy.py sha256=AdeM3lCPh4sa5u-oNiNa0VBeeLQwCbtWqIO0oeb5l7E 2001
declearn/secagg/utils/_prime.py sha256=tRh0j0VDRomUlCBg1LBJy6slAXj3dDozTGZdXgDWWZQ 2022
declearn/secagg/utils/_quantize.py sha256=xF4hcfm5IOAR66pM2r5zTYjWuH3L2-6MUVWLvxNSgo8 7759
declearn/secagg/x3dh/__init__.py sha256=DxKOBxj325c91vmhZ_2dyCKzRu1MHXyYGfRl_DRw76E 1755
declearn/secagg/x3dh/_setup.py sha256=GTB4oazAzS-J8h4OK8RPn6XiX3d9HjyhLMHR0NO4PFM 14384
declearn/secagg/x3dh/_x3dh.py sha256=yUFKi0ONj0xCuBXd97g7OtDRRiIwm-E1n-QLJwWew2M 15188
declearn/secagg/x3dh/messages.py sha256=WiNlF24QcmLi8ey_RYattuCwGYfyD34AmNCPq5H7Olo 1524
declearn/test_utils/__init__.py sha256=RbX_heCoA1SkgjAV8HbUl1zyu8DkgapnXzy3g_FBbmY 1823
declearn/test_utils/_argparse.py sha256=AzXDYlo-YCLKBqCwKn9CFhfcVdJbwGah5S9tAZbRYds 4704
declearn/test_utils/_assertions.py sha256=-QycNCEorwweMrufx78z1XIqMqbQS3Bw1ITzaN7LHHM 8728
declearn/test_utils/_convert.py sha256=YajzTtogDY4PDMNsbGWPqaB97RBr_2q0cJ_Ul_aERSI 1564
declearn/test_utils/_gen_ssl.py sha256=glsnCD1UqaTIQ5fPzR-ldrOByp3B8O4F6nkzB5Nqp0I 11678
declearn/test_utils/_imports.py sha256=X24Zo_addyLNxo6gVfnRlXrTK2X9bEUeDAHzfQHThpM 1772
declearn/test_utils/_network.py sha256=I9-keWSZj10T-TAc9U3ZrzknIWrY_n6DTQzuFyUGkzw 7108
declearn/test_utils/_secagg.py sha256=M2rDwh57WduChs2eVFPHVl1AuBynCT0J_iiiliMUc40 1920
declearn/test_utils/_vectors.py sha256=9tnvwT31J1HUDl5kOzICQyTe_rzO8P5DM10NgdTluFk 5907
declearn/training/__init__.py sha256=dctnDw2Kjvhyb2nDQEd7m6pCob_oWsTsWqd7uyCMtv0 1460
declearn/training/_constraints.py sha256=pOXqrbZmYMbCZSa9dXc_251J-UPHhYq2CmXOOIF6qxY 5064
declearn/training/_manager.py sha256=txoovYlrpAVj3lkG7WXc_xYKj2z5qWZTtAVzM29kWSs 16563
declearn/training/dp/__init__.py sha256=PK1-n_iEv82Ah7a5zddX9rV_M0CJ2F4rc2Uq40NbE_g 909
declearn/training/dp/_manager.py sha256=Ix1YQqXjSUlj13StWu3jvSXqvw1ukFXVkne0RZFLnQM 10942
declearn/utils/__init__.py sha256=dsazNaNhYlvvpDMFLA7mhef1kKqC9ys87_NDGBiDlCs 5156
declearn/utils/_aggregate.py sha256=HGlF3ZlVdPOo8fZnetqXrECJ_ScYtWCCTVvy8bIOI0E 8142
declearn/utils/_dataclass.py sha256=kBQahComrJZfApgCVIxVpmxpgsLU22UjPe5eAVp59OQ 7779
declearn/utils/_device_policy.py sha256=btq4mBdJtYAipmykrAmqNOYBi-pPXEOHtahos7KOrbI 4174
declearn/utils/_json.py sha256=OXSZdBvt_n1kPngM_nQFPZz7xPhG5uYh2bdmBhoPKlM 7056
declearn/utils/_logging.py sha256=MeASdNgIdmM_lh1pUquJc_PzRECRWiL0m2NjoxmMcxs 2968
declearn/utils/_multiprocess.py sha256=wQJ53rqodzHxFfge47PBWKz2661dG-Un4qdcHlrxuVA 9048
declearn/utils/_numpy.py sha256=A6qMVJJpg3yNZopkfFpgpKwr_iI--BC-01zNVdlhyvw 1575
declearn/utils/_register.py sha256=IOjl_0yxjb9YBzIkNZe5ten_yids7ZXZNfG2uRRGve8 10530
declearn/utils/_serialize.py sha256=J_GqszkuIyUnMuWCe-17nciqcw6Dwfd_hJsfVJr_hcE 6342
declearn/utils/_toml_config.py sha256=5DvpPJnmGveZxFzVbOCdsZTzJgt6HI5xV3yPpC1rNTE 15638
declearn-2.6.0.post1.dist-info/AUTHORS sha256=1ngXE7vVhHCKJT2G1wVvKUJziNUBI1MLrh01EsBpVfo 600
declearn-2.6.0.post1.dist-info/LICENSE sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ 11357
declearn-2.6.0.post1.dist-info/METADATA sha256=B9zmnW26OyKFmmVQZnxxpiKSgINNd4peaT0tEaikYLM 21284
declearn-2.6.0.post1.dist-info/WHEEL sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs 91
declearn-2.6.0.post1.dist-info/entry_points.txt sha256=PITO5W7kFUnQuU5HuBpR8bpjvto8Lda-FoYaI2yzgNg 117
declearn-2.6.0.post1.dist-info/top_level.txt sha256=XkDLqYE542nGkGJYzmBxQhEh1kVEmRTkT1evGEJcqYA 9
declearn-2.6.0.post1.dist-info/RECORD

top_level.txt

declearn

entry_points.txt

declearn-quickrun = declearn.quickrun._run:main
declearn-split = declearn.dataset._split_data:main