kaiko-eva

View on PyPIReverse Dependencies (0)

0.1.8 kaiko_eva-0.1.8-py3-none-any.whl

Wheel Details

Project: kaiko-eva
Version: 0.1.8
Filename: kaiko_eva-0.1.8-py3-none-any.whl
Download: [link]
Size: 201117
MD5: a32bf7b215242d1c2d6f1d5cb774da22
SHA256: 2d4aba5d1abd4b8a0895db082102c56f66d8c1e9fd94459961dd638614e4e3b0
Uploaded: 2024-12-20 11:19:52 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: kaiko-eva
Version: 0.1.8
Summary: Evaluation Framework for oncology foundation models.
Author-Email: Ioannis Gatopoulos <ioannis[at]kaiko.ai>, =?utf-8?q?Nicolas_K=C3=A4nzig?= <nicolas[at]kaiko.ai>, Roman Moser <roman[at]kaiko.ai>
Maintainer-Email: Ioannis Gatopoulos <ioannis[at]kaiko.ai>, =?utf-8?q?Nicolas_K=C3=A4nzig?= <nicolas[at]kaiko.ai>, Roman Moser <roman[at]kaiko.ai>
Project-Url: Homepage, https://kaiko-ai.github.io/eva/dev/
Project-Url: Repository, https://github.com/kaiko-ai/eva
Project-Url: Documentation, https://kaiko-ai.github.io/eva/dev/
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 2024 kaiko.ai 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.
Keywords: machine-learning,evaluation-framework,oncology,foundation-models
Classifier: Topic :: Software Development :: Build Tools
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Requires-Dist: torch (>=2.3.0)
Requires-Dist: lightning (>=2.2.0)
Requires-Dist: jsonargparse[omegaconf] (>=4.30.0)
Requires-Dist: tensorboard (>=2.16.2)
Requires-Dist: loguru (>=0.7.2)
Requires-Dist: pandas (>=2.0.0)
Requires-Dist: transformers (>=4.38.2)
Requires-Dist: onnxruntime (>=1.15.1)
Requires-Dist: onnx (>=1.16.0)
Requires-Dist: toolz (>=0.12.1)
Requires-Dist: rich (>=13.7.1)
Requires-Dist: torchmetrics (>=1.6.0)
Requires-Dist: nibabel (>=3.2.2)
Requires-Dist: h5py (>=3.10.0); extra == "vision"
Requires-Dist: nibabel (>=4.0.1); extra == "vision"
Requires-Dist: opencv-python-headless (>=4.9.0.80); extra == "vision"
Requires-Dist: timm (>=1.0.9); extra == "vision"
Requires-Dist: torchvision (>=0.17.0); extra == "vision"
Requires-Dist: openslide-python (>=1.3.1); extra == "vision"
Requires-Dist: gdown (>=5.2.0); extra == "vision"
Requires-Dist: scikit-image (>=0.24.0); extra == "vision"
Requires-Dist: imagesize (>=1.4.1); extra == "vision"
Requires-Dist: scipy (>=1.14.0); extra == "vision"
Requires-Dist: monai (>=1.3.2); extra == "vision"
Requires-Dist: h5py (>=3.10.0); extra == "all"
Requires-Dist: nibabel (>=4.0.1); extra == "all"
Requires-Dist: opencv-python-headless (>=4.9.0.80); extra == "all"
Requires-Dist: timm (>=1.0.9); extra == "all"
Requires-Dist: torchvision (>=0.17.0); extra == "all"
Requires-Dist: openslide-python (>=1.3.1); extra == "all"
Requires-Dist: gdown (>=5.2.0); extra == "all"
Requires-Dist: scikit-image (>=0.24.0); extra == "all"
Requires-Dist: imagesize (>=1.4.1); extra == "all"
Requires-Dist: scipy (>=1.14.0); extra == "all"
Requires-Dist: monai (>=1.3.2); extra == "all"
Provides-Extra: vision
Provides-Extra: all
Description-Content-Type: text/markdown
[Description omitted; length: 9183 characters]

WHEEL

Wheel-Version: 1.0
Generator: pdm-backend (2.4.3)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
eva/__init__.py sha256=bYBwklT7diG8NBIBDbpwjN4RUsvGv0ShWBXPxWgz404 518
eva/__main__.py sha256=kM5tQ0egTuBWixNLLx9QU-PpS2Bbs3zE3nYE6b2vWa0 282
eva/__version__.py sha256=YFR4oOlvPg0sS4Ni7GJ_vU42VTs5WiWp6odK7yH4TBY 611
eva/core/__init__.py sha256=AYlMZcH76B7I1lOa-E67u2o9DxsCwI4JMLCYXLk9oDQ 451
eva/core/callbacks/__init__.py sha256=_XsS4QGf4r9frzFwEx-krmzJm3kbLmXQFtwYCfRyjrM 281
eva/core/callbacks/config.py sha256=-DRt20a2aF9Z9-7nZvbGBcOZ30qNf3ESf25EPRgRL1w 4267
eva/core/callbacks/writers/__init__.py sha256=z8cNVJOanj-yYyIiX-mOkhur1NExuCOKzPjp4mmm3AE 232
eva/core/callbacks/writers/embeddings/__init__.py sha256=zMxP4POf1yFFUVSjGcsQgyPYNY6JsZO_F66ngKJZaG8 301
eva/core/callbacks/writers/embeddings/_manifest.py sha256=pB9nGv9ofVbnI4HHPrHY4p7jeFiFQTRc09zszto_DTk 2424
eva/core/callbacks/writers/embeddings/base.py sha256=YrjdqIFBYla-5jleUUTyJ5OHmvInhzLLHXEGmzwa9xA 7620
eva/core/callbacks/writers/embeddings/classification.py sha256=pYU0dD08IXH4_pK-P43LqCMD17X-AP5Ayo9gbovwv6U 4522
eva/core/callbacks/writers/embeddings/segmentation.py sha256=6AMGfD9Ur35TyH8ztjPx4ayB1Kbywymmu9LriMGLDoY 3135
eva/core/callbacks/writers/embeddings/typings.py sha256=qXZSlasaSKHad6HyJeRTeUv-ZeJVM-R3oIaasD8ZPc8 997
eva/core/cli/__init__.py sha256=1lGiomn4JINI0DKy41_D4cEyyH-hN6cfTZfMPxLxTCA 68
eva/core/cli/cli.py sha256=AZ4B4OP3D2af9H2RYBd5nxoy5I9DlaClZaadSWpPEPI 422
eva/core/cli/logo.py sha256=x6-vGWI0s9gza-xxQrBDi2wneb2wFU_mQGHgpAiq2MQ 786
eva/core/cli/setup.py sha256=kR-7l4X5Hu8kSLoQZGYGIeLXtn9S_EU52dauDy6fm0w 2663
eva/core/data/__init__.py sha256=yG3BeOWhp1EjVYMFqx8M_TBWFDyfIwwksQGQmMdSPaI 340
eva/core/data/dataloaders/__init__.py sha256=fbNClVZ8J3QoGi4qiPq635ig1j9GdI7six3RhfwDbjY 110
eva/core/data/dataloaders/dataloader.py sha256=Ek_OqlOuQSiipFjBJ39DFyWvW3CdqAB2bufOcEs0ChU 2525
eva/core/data/datamodules/__init__.py sha256=qZchYbgxo9lxYnGoqdk0C6MfS2IbF0WItO0kCdP9Mqc 229
eva/core/data/datamodules/call.py sha256=jjj9w3UXYuQB-qyCcw1EZpRJW10OC1I3dvgvsuQWLck 940
eva/core/data/datamodules/datamodule.py sha256=_pK59oXDe53oDkmv6eoJUvfl44WlFkrbC8KXSRMs_20 5533
eva/core/data/datamodules/schemas.py sha256=rzcf3uow6T6slVSwxEGDVmpi3QUvkiDoT_gCF3aMAEE 2262
eva/core/data/datasets/__init__.py sha256=jWPxT3gjQjwS6HqVZAb7KhMgzgklPgHeH51iPxDh_Tg 493
eva/core/data/datasets/base.py sha256=BLzlRFuByhrGmI7NFwn7-Tw0vpSYSRhl2Y65iX4KaMw 2526
eva/core/data/datasets/classification/__init__.py sha256=wJ2jD9YODftt-dMcMf0TbCjJt47qXYBKkD4-XXajvRQ 340
eva/core/data/datasets/classification/embeddings.py sha256=bgBVQyGxlxVCvGjmwNB52E360QwzrhGZQ44rPNFR4k8 1110
eva/core/data/datasets/classification/multi_embeddings.py sha256=j_o0MH2gwn_y3rNFXEUzNg6WErlG3Rq_vn5Og1Yk7J0 4603
eva/core/data/datasets/dataset.py sha256=tA6Wd_7vqOE9GsukSWrgN9zaZKtKCHaE58SqIfWxWdg 124
eva/core/data/datasets/embeddings.py sha256=zNEO8KxqiOopcN_lTjwtEAm9xbnYDSjOE8X2-iZQIhU 5545
eva/core/data/datasets/typings.py sha256=KSmckjsU64pGV-8uSLkD1HmvPKYlyypngiRx9yy4RDs 383
eva/core/data/samplers/__init__.py sha256=rRrKtg4l6YoziD3M0MkctQvX1NdRxaQa5sm6RHH_jXc 315
eva/core/data/samplers/classification/__init__.py sha256=gvv7BH4lG9JlkMaTOnaL0f4k1ghiVBgrH64bh1-rreQ 147
eva/core/data/samplers/classification/balanced.py sha256=YE6InKu12Jnu7AObi_gjKLzeHAFlQsbJVrggeA8X4DU 3517
eva/core/data/samplers/random.py sha256=znl0Z9a-X-3attP-EH9jwwo83n40FXW_JzOLNZAml_c 1252
eva/core/data/samplers/sampler.py sha256=0DOLUzFoweqEubuO1A4bZBRU0AWFoWGWrO3pawRT-eI 877
eva/core/data/splitting/__init__.py sha256=VQJ8lfakbv6y2kAk3VDtITAvh7kcZo3H1JwJBc5jT08 198
eva/core/data/splitting/random.py sha256=r6iy7j34seRTlyB79_Xy7m6lsKRi8ZM9X5Ln1b-SBjg 1453
eva/core/data/splitting/stratified.py sha256=dliRHgEyZTOzpJrR8FzaRaAnjUxu_VsZUuy_4MPQjlY 2265
eva/core/data/transforms/__init__.py sha256=n0TczmJSc9EjR6JezAZqlZIN4Gz_X3UBePbyDSC7JkE 308
eva/core/data/transforms/dtype/__init__.py sha256=r_LM_hdh_gTsrgh3shDTdMpu-lgQNHJ1yD6wY3omPyg 174
eva/core/data/transforms/dtype/array.py sha256=RDSkXlnSHSYyU_gv7vw33OZ7vhEy62PQGoE3htGGaqc 725
eva/core/data/transforms/padding/__init__.py sha256=AKSXa2dOhj45dTw81piPoCfDmIL0FPJUIxZ3HlG7KVM 138
eva/core/data/transforms/padding/pad_2d_tensor.py sha256=J4maGFmeQf9IHRxt5kU-6eI-Bvk12F_HVk8kR_omrnY 1185
eva/core/data/transforms/sampling/__init__.py sha256=BFKbvRjlZrwS0GcNrM54ZSWt6PrQARfFlXM1jJ-wpvo 149
eva/core/data/transforms/sampling/sample_from_axis.py sha256=Zbhp94lVa70WQKmSOKMTsOMe2c7wLqNZto7JqWhSdtI 1229
eva/core/interface/__init__.py sha256=chdpKXipxe1NP-Fgr_d9r6X1gMna0XiEa38waJ6FzTM 98
eva/core/interface/interface.py sha256=GzjneNHhTIEuLbydUG9cSmpHjJ4_IENGM-glN8RaRxY 2741
eva/core/loggers/__init__.py sha256=4YMLNlN9LnuKqhBI1R1keh69dmMD-2lcH3HKwwyn380 266
eva/core/loggers/dummy.py sha256=Y7ypH0ecSAIkkZ5LzTmNNEzlKkqeaHfUNMCDKVOg6D4 1204
eva/core/loggers/experimental_loggers.py sha256=p5uCK_9QCYufRhE-LZQUJWbhGElyobX_zRM78yX4p2o 230
eva/core/loggers/log/__init__.py sha256=2nXYmR5_0XW0N8BcC918uvdvNyNgQLN_x1-papMprBk 189
eva/core/loggers/log/image.py sha256=iUwntQCdRNLtkSdqu8CvV34l06zPYVo4NAW2gUeiJIM 1490
eva/core/loggers/log/parameters.py sha256=7Xi-I5gQvEVv71d58bwdZ-Hb4287NXxaUyMfriq_KDU 1634
eva/core/loggers/log/utils.py sha256=k4Q7uKpAQctfDv0EEYPnPv6wt9LnckEeqGvbYSLfKO0 415
eva/core/loggers/loggers.py sha256=igHxdxJSotWSg6nEOKnfFuBszzblHgi8T7sBrE00FEs 166
eva/core/losses/__init__.py sha256=D-Mp9fUFFFoH9YYWntVH3B839zHS3GjFJzkbQThzj6Y 118
eva/core/losses/cross_entropy.py sha256=Sunz7ogDAJpGvZtuk9cAxKZJBO08CKIEvbCoewEvees 862
eva/core/metrics/__init__.py sha256=-9Qch4npEQpy3oF6NUhh9WinCmFBFe0D2eEYCR0S0xU 558
eva/core/metrics/average_loss.py sha256=AyFOnCXBD5T62eSYf6eGAAJsqt8x-KaHgc8OLkCHjzE 1267
eva/core/metrics/binary_balanced_accuracy.py sha256=MabsXAtVfLqSaSIIpE0HIM6bo8uRszl6obueHI6vJi0 806
eva/core/metrics/defaults/__init__.py sha256=IeqLcoxLNddtuuFao5r85ZVxTyFP6iFsj1K8iXCTSes 255
eva/core/metrics/defaults/classification/__init__.py sha256=xMzE4yV8NoUdcmk2FCKohEUav1GJcxYn60S1KNgXbJY 316
eva/core/metrics/defaults/classification/binary.py sha256=9ll6ZOcNGQdsg7ln9DAQ0u-OzsXSzEbueXe-dVJkJZ8 2322
eva/core/metrics/defaults/classification/multiclass.py sha256=8Aesy_rKtp4KxfXJtDCmk6FsGxIFS4Ywu2CH1VIRL7M 2518
eva/core/metrics/structs/__init__.py sha256=cvn7E4k5vJmpwJj_zezmtZa_Nl_RddDM1G-MO8TP0po 422
eva/core/metrics/structs/collection.py sha256=bNfCekHN8pzD49-YTqVxrmxFtiQfNxnv-RwkxCL6rbc 149
eva/core/metrics/structs/metric.py sha256=zdnE0ZVTSYAMl7rW_OL6e1XiZDvLTirYqV0lgJCleXY 109
eva/core/metrics/structs/module.py sha256=pHpIAt5HQDoYWvyFXxYTZleTKMW1iaTCgwAktygjzDw 4681
eva/core/metrics/structs/schemas.py sha256=ZaSrx0j_NfIwT7joMUD1LyrKdAXTLaeSzWYTHDsc6h0 1641
eva/core/metrics/structs/typings.py sha256=qJd-FiD2IhJgBeo8FyP0vpVUIH4RKb1k6zYvHtjUA04 388
eva/core/models/__init__.py sha256=T6Fo886LxMj-Y58_ylzkPkFSnFR2aISiMIbuO_weC4s 430
eva/core/models/modules/__init__.py sha256=QJWJ42BceXZBzDGgk5FHBcCaRrB9egTFKVF6gDsBYfM 255
eva/core/models/modules/head.py sha256=Wza8IFAXFl_DwVnNqYKproI06iS-oIuUlGjRE6jAKXw 5185
eva/core/models/modules/inference.py sha256=ih-0Rr2oNf2N6maiXPOW7XH5KVwUT1_MOxnJKOhJ1uQ 978
eva/core/models/modules/module.py sha256=LtjYxTZb7UY0owonmt_yQ5EySw3sX-xD9HLN2io8EK4 6697
eva/core/models/modules/typings.py sha256=yFMJCE4Nrfd8VEXU1zk8p6Sz5M7UslwitYPVC2OPLSY 776
eva/core/models/modules/utils/__init__.py sha256=ScLCHwQfzlg_UsHVi5sf_SavUkh9secwtRn_umC_qA8 325
eva/core/models/modules/utils/batch_postprocess.py sha256=RwnDcjJy3uvVirpgx_80Q2CUYKfJKipVwjyX7AF2CKw 3088
eva/core/models/modules/utils/checkpoint.py sha256=Zp42rtmjgUC4VUMwFyG5aar-E0Hc5i7qUsxkV7AVKkE 700
eva/core/models/modules/utils/grad.py sha256=bl8qb8g4Nhg1KAGfbEV_9HTKkoT0azRwfs9KGX9swGs 706
eva/core/models/networks/__init__.py sha256=yqx6UmG1Eg3vb1O_tnK_axnJWabEl9ULkDWiPN440Xc 85
eva/core/models/networks/mlp.py sha256=thk-x4pviE3fCaMW9k3I2Oe5_DxfC-CqUrtolvVdXug 2418
eva/core/models/transforms/__init__.py sha256=oYL3gNUUKZFViTu6GT1jVE2Kv1xFYPuyiYp-sErtVVg 257
eva/core/models/transforms/extract_cls_features.py sha256=tFRd4H-eGFIGCfZt6wuZGibDmAoNXKSsn15bBw0IDdc 1482
eva/core/models/transforms/extract_patch_features.py sha256=k50jTLPWxbfvciH9QZSzTAGqWwDSVpXAteme_Qg2d6E 2202
eva/core/models/wrappers/__init__.py sha256=jaiANQdbO-IPgH8U-Y0ftFsuuCAM5i5KuYRHauKw5k8 450
eva/core/models/wrappers/_utils.py sha256=HXUyGcILaa8GK31ViIHCKRU4f9kbjAPYQmhvN2N7jSc 957
eva/core/models/wrappers/base.py sha256=xKMUSXk93wI67p_wmh7jujK-bxvIefO1noYaAJN_5Ak 1359
eva/core/models/wrappers/from_function.py sha256=_vKBwtfilCNCnOaJTofE6l5bM2K3qJ8GyBT-0CM5FXY 1831
eva/core/models/wrappers/from_torchhub.py sha256=OAImGKRG4pfDXHsoriykC_iiO8QvK3nAWnQCE0mIGuk 3285
eva/core/models/wrappers/huggingface.py sha256=5CoNieivdjwvoawo7dZtWfYZkW-Mey1j0EjazuxDaqU 1302
eva/core/models/wrappers/onnx.py sha256=-iV-IlczTvTTEQuJycZeSVWdSl2kVJXc1eeRLgQQZ7Q 1834
eva/core/trainers/__init__.py sha256=jhsKJF7HAae7EOiG3gKIAHH_h3dZlTE2JRcCHJmOzJc 208
eva/core/trainers/_logging.py sha256=gi4FqPy2GuVmh0WZY6mYwF7zMPvnoFA050B0XdCP6PU 2571
eva/core/trainers/_recorder.py sha256=y6i5hfXftWjeV3eQHmMjUOkWumnZ2QNv_u275LLmvPA 7702
eva/core/trainers/_utils.py sha256=M3h8lVhUmkeSiEXpX9hRdMvThGFCnTP15gv-hd1CZkc 321
eva/core/trainers/functional.py sha256=7OK2BNfX4_amHsyucr1ZNQRG3RgVKoagzd1zNN4nU3U 4472
eva/core/trainers/trainer.py sha256=HJNSfTG0k4j2ShqZzuUUSxnSu8NrwJ4karhvAto2Zn0 4229
eva/core/utils/__init__.py sha256=cndVBvtYxEW7hykH39GCNVI86zkXNn8Lw2A0sUJHS04 237
eva/core/utils/clone.py sha256=qcThZOuAs1cs0uV3BL5eKeM2VIBjuRPBe1t-NiUFM5Y 569
eva/core/utils/io/__init__.py sha256=Py03AmoxhmTHkro6CzNps27uXKkXPzdA18mG97xHhWI 172
eva/core/utils/io/dataframe.py sha256=CIHFowljH17waDkJ9YJVEVXAIcxMwoLjUgoBttiNk8w 509
eva/core/utils/io/gz.py sha256=xxDkOUV2TFEK8pT7j6S_6iSzUUUmXN-sTum-gRuhij0 919
eva/core/utils/memory.py sha256=ZvcbS1eUPXdHIoL8ctFU56_-cyUniObBmIctUbvso48 636
eva/core/utils/multiprocessing.py sha256=BWX8AW_KPLgIIlbsPG1kYdtbHPx6Dklw13bu4u84pF0 3006
eva/core/utils/operations.py sha256=eoC_ScuHUMDCuk08j1bosiQZdPrgiIODqqheR9MtJHQ 641
eva/core/utils/parser.py sha256=2czmwEGJJ6PtmaD86s9I14P-_sek4DmDCkEatRGT5sI 725
eva/core/utils/progress_bar.py sha256=KvvsM_v3_Fhb4JvbEEPHb4PJMokg6mNLj-o6dkfzcMc 499
eva/core/utils/workers.py sha256=hfx63M82qNg0Dwhre2tl53MnhtRsV7APaDONM9nhVB8 634
eva/vision/__init__.py sha256=oUZXFYjwtkWzi8An0uS5Xc84pLKintlXe2iti8zW6BQ 480
eva/vision/callbacks/__init__.py sha256=su1V73L0dDVYWSyvV_lnWbszDi2KikRraF7OsgeaKl4 139
eva/vision/callbacks/loggers/__init__.py sha256=td1JRJbE08nsGIZdO64_yLC3FUuMDp0kma0HjpUdXT4 161
eva/vision/callbacks/loggers/batch/__init__.py sha256=DVYP7Aonbi4wg_ERHRj_8kb87Ee_75wRZzdduJ_icQk 173
eva/vision/callbacks/loggers/batch/base.py sha256=hcAd5iiHvjZ0DIf4Qt4ENT54D6ky_1OO4rKQZqeo-1k 3628
eva/vision/callbacks/loggers/batch/segmentation.py sha256=GYh2kfexW5pUZ0BdApYJI3e8xsuNkjIzkj5jnuKtHR4 6886
eva/vision/data/__init__.py sha256=aoKPmX8P2Q2k2W3nlq8vFU41FV6Sze-0SDuWtU-ETh4 111
eva/vision/data/datasets/__init__.py sha256=COhMRB9QJcjfbmfpRcYEztDwN9pl7IJNiH29pCZo4CA 908
eva/vision/data/datasets/_utils.py sha256=epPcaYE4w2_LtUKLLQJh6qQxUNVBe22JA06k4WUerYQ 1430
eva/vision/data/datasets/_validators.py sha256=77WZj8ewsuxUjW5WegJ-7zDuR6WdF5JbaOYdywhKIK4 2594
eva/vision/data/datasets/classification/__init__.py sha256=T2eg8k3xxd_Pdbrr7TGYICSo7BVOTMOs1bL-rLnMmro 693
eva/vision/data/datasets/classification/bach.py sha256=kZba1dQlJWZAmA03akJ4fVUU-y9W8ezOwlgs2zL-QrE 5432
eva/vision/data/datasets/classification/base.py sha256=Ci0HoOhOuHwICTi1TUGA1PwZe642RywolTVfMhKrFHk 2772
eva/vision/data/datasets/classification/camelyon16.py sha256=sChvRo0jbOVUMJvfpsFxgFOsYgci3v9wjeMBEjUysJU 8287
eva/vision/data/datasets/classification/crc.py sha256=8qjz9OklLg1gAr46RKZdlClmlO9awwfp0dkTs8v5jTE 5670
eva/vision/data/datasets/classification/mhist.py sha256=xzShPncSfAV6Q5ojfimeq748MfA0n77fGWa9EpdRzYU 3055
eva/vision/data/datasets/classification/panda.py sha256=BU_gDoX3ZSDUugwaO2n0XSZhzseK1rkPoHMRoJLGL84 7303
eva/vision/data/datasets/classification/patch_camelyon.py sha256=fElKteZKx4M6AjylnhhgNH1jewHegWc1K8h4FFKp0gE 7171
eva/vision/data/datasets/classification/wsi.py sha256=x3mQ8iwyiSdfQOjJuV7_cd8-LRjjhY9tjtzuD8O87Lg 4099
eva/vision/data/datasets/segmentation/__init__.py sha256=hGNr7BM_StxvmlOKWWfHp615qgsrB6BB3qMOiYhE0Og 791
eva/vision/data/datasets/segmentation/_total_segmentator.py sha256=DTaQaAisY7j1h0-zYk1_81Sr4b3D9PTMieYX0PMPtIc 3127
eva/vision/data/datasets/segmentation/_utils.py sha256=ps1qpuEkPgvwUw6H-KKaLaYqDBGmN7dNGk3bnS1l6sI 1261
eva/vision/data/datasets/segmentation/base.py sha256=11IMODMB7KJ8Bs5p7MyOsBXCyPFJXfYcDLAIMitUwEk 3023
eva/vision/data/datasets/segmentation/bcss.py sha256=NHjHd1tgIfIw6TxsZTGb63iMEwXFbWX_JAwRT5WVsj4 8274
eva/vision/data/datasets/segmentation/consep.py sha256=Pw3LvVIK2scj_ys7rVNRb9B8snP8HlDIAbaI3v6ObQk 6056
eva/vision/data/datasets/segmentation/embeddings.py sha256=0KaadzPxN6OrKNnFu3YsGBFkG6XqqvkOZYUhERPwL4A 1220
eva/vision/data/datasets/segmentation/lits.py sha256=cBRU5lkiTMAi_ZwyDQUN3ODyXUlLtuMWFLPDajcZnOo 7194
eva/vision/data/datasets/segmentation/lits_balanced.py sha256=s5kPfqB41Vkcm5Jh34mLAO0NweMSIlV2fMXJsRjJsF8 3384
eva/vision/data/datasets/segmentation/monusac.py sha256=OTWHAD1b48WeT6phVf466w_nJUOGdBCGKWiWw68PAdw 8423
eva/vision/data/datasets/segmentation/total_segmentator_2d.py sha256=A6A_lXmGDfV_9Mcp9KSgN6K8Q0T8XXjv6lT4I7iLUcw 16833
eva/vision/data/datasets/structs.py sha256=RaTDW-B36PumcR5gymhCiX-r8GiKqIFcjqoEEjjFyUE 389
eva/vision/data/datasets/vision.py sha256=RHcBBNTd5u1OB6l2iA5V8pv8kjZsTehi9At7J-FVqr4 657
eva/vision/data/datasets/wsi.py sha256=-rypkcd6CPBM_oPuLszUx9q4zSPzeO1H6JKqvOtLlHw 8282
eva/vision/data/transforms/__init__.py sha256=WeFii6JwB0CiOOGLR3tkgAoKgRdmOf2lm0Dadixn8OI 260
eva/vision/data/transforms/common/__init__.py sha256=6tvxUgb8wfhgvqejMVulwqssHTJLF7f4_vpf44kxgxY 234
eva/vision/data/transforms/common/resize_and_clamp.py sha256=f9-YIX0S9GMAXHP7TWlyRlGfZIVvHgoBHqQ8PzaKbKs 1736
eva/vision/data/transforms/common/resize_and_crop.py sha256=GI1HTkbJ9qg4p8c6vk_XkXO0Qi6mBeUeiZIA0jVtmAw 1360
eva/vision/data/transforms/normalization/__init__.py sha256=0MZ1KphOr6LxBCOBn7LZ8H8M6-0CuFqvynTON5pedxg 240
eva/vision/data/transforms/normalization/clamp.py sha256=B-QyMCFEJPiJagpPr7JhrzOJMVuUB-D_qrmjvthJTyE 1412
eva/vision/data/transforms/normalization/functional/__init__.py sha256=ICg611_heHCiNxTNoteFX2MTav59fv7vLkTM8c4eS3w 194
eva/vision/data/transforms/normalization/functional/rescale_intensity.py sha256=ihJdDRogrJbvFpb8LcPdRzCFWdlMcBTpWD5RY2MOPbE 844
eva/vision/data/transforms/normalization/rescale_intensity.py sha256=BNzDeyzT0GG_FBtlZauCL-K4E_KVWH9SzTSN1SsFNJw 1756
eva/vision/data/wsi/__init__.py sha256=vfSfyogsj4OS1sGKfsYWyj2O5ZMT9iqkc1lvcuZJVGI 422
eva/vision/data/wsi/backends/__init__.py sha256=wX7cjeT7ktX8sH6lRDEEU5cgRKLH6RhPyey16aJthJ4 2251
eva/vision/data/wsi/backends/base.py sha256=0oFzMc3zklLyqyD_kzDKekydeFyDReqjBBj1qJLdM9Y 4094
eva/vision/data/wsi/backends/openslide.py sha256=VPVJDb6iAe0ZIdYbyFfPLDzHvku8PZXBWcGhNBV5BbI 2437
eva/vision/data/wsi/backends/pil.py sha256=CqCWP1ViwpQyVKGLUoEtc4tCHXSAdQpMn6ZX2lNBMns 1403
eva/vision/data/wsi/backends/tiffslide.py sha256=f1xOiD4kpL0oRe3xFNT7BM2zYTWBduqL99skk-ZFRwE 1217
eva/vision/data/wsi/patching/__init__.py sha256=vSGyui2TkaJpw_wQJldP0Llnym5X9XgK17nuz7S5Hh8 189
eva/vision/data/wsi/patching/coordinates.py sha256=TnsRafUJzsjvfhuP0vvDA294G0f4hu5LqICYNnMFUMo 3870
eva/vision/data/wsi/patching/mask.py sha256=o_S4YRdbfaxKCG1_T2skswDirmlzHzVC5exaDJucvD0 4986
eva/vision/data/wsi/patching/samplers/__init__.py sha256=QkBbjnZf7IcEPm-ON9SeZP0I3DXUA3pY87dKXXdelz4 458
eva/vision/data/wsi/patching/samplers/_utils.py sha256=e9kqHB6mhJgIIQV_Hv8QHg2P2R7dPVfd8Lt08Hi-UsQ 1374
eva/vision/data/wsi/patching/samplers/base.py sha256=KWLJMfaPk7-IZ-P2isYBvFAa5SuJPUhtD63hkKRFrgg 1287
eva/vision/data/wsi/patching/samplers/foreground_grid.py sha256=EhXkr5EFz2-RXEisWtjDa4CUTnrW4fiamQjEgALB2aI 3093
eva/vision/data/wsi/patching/samplers/grid.py sha256=dImrMSyCL3E_j5KRqpVJUWTe-mrJpfttg1Z9rbm3j0k 1363
eva/vision/data/wsi/patching/samplers/random.py sha256=0clmwCZ47bnTaSFke7jtjsmrFoY1ID2LjoiaE52dC3o 1228
eva/vision/losses/__init__.py sha256=htafabZgVcqbJjPURwsmGJ7AT6hIXc1-9SEuuaGU9SA 121
eva/vision/losses/dice.py sha256=8CCtEFB_zPok3WGLMHJX__K5IEm0HmL5WipQo8ZhQwc 3556
eva/vision/metrics/__init__.py sha256=zXOc1Idgfk86CGE5yBHn3B22iD5tRyfl4H-kTSB2dCQ 528
eva/vision/metrics/defaults/__init__.py sha256=ncQ9uH5q5SpfalyPX6dINPRLk34HLw6z9u8ny_HHbFQ 174
eva/vision/metrics/defaults/segmentation/__init__.py sha256=ve6dwyfhJGYBYKS6l6OySCBs32JnEBFnvhAyNvj-Uqo 191
eva/vision/metrics/defaults/segmentation/multiclass.py sha256=MUBp-PIyiJB2VVV_NintRrP7Ha2lJ75_3xvqSdeDYwE 2855
eva/vision/metrics/segmentation/BUILD sha256=Nf7BYWWe1USoFEIsIiEVZ8sa05J5FPkMJ-UIMDLrU8o 17
eva/vision/metrics/segmentation/__init__.py sha256=7iz3fFNd-iBuNyxdeSfsgp6D7oZtmPsbyA0ZKRzzRCw 402
eva/vision/metrics/segmentation/_utils.py sha256=_ubv2sP1-f_dLKy8Y4wLkj5ed56fAFLURfv1shQWVcs 2402
eva/vision/metrics/segmentation/dice.py sha256=H_U6XSZcieX0xb6aptxxW1s-Jshs8Lp4P1SAwjdwntM 2905
eva/vision/metrics/segmentation/generalized_dice.py sha256=T57An-lBVefnlv6dIWVRNghFxy0e0K470xwla0TbCSk 2436
eva/vision/metrics/segmentation/mean_iou.py sha256=2PjqTa_VAtnW4nxHzT93uBKgnml7INU-wt_jR68RM54 2104
eva/vision/metrics/segmentation/monai_dice.py sha256=febnvA2gtTyydLZMwjQBS1zq2NjZcsXf0EcV0eRn8Aw 2117
eva/vision/metrics/wrappers/__init__.py sha256=V4z3hradMa6CQgTkk1bc2cbZzCgcoIYw7-hufMK3D_4 128
eva/vision/metrics/wrappers/monai.py sha256=FNa1yHN2U3vO6BGqS0BFm8uJAL6DCzSE4XOFCV4aBjg 885
eva/vision/models/__init__.py sha256=a-P6JL73A3miHQnqgqUz07XtVmQB_o4DqPImk5rEATo 275
eva/vision/models/modules/__init__.py sha256=vaM_V6OF2s0lYjralP8dzv8mAtv_xIMZItfXgz0NZg8 156
eva/vision/models/modules/semantic_segmentation.py sha256=PSeqm5h6YgbzQ0jA9lUexGYUE3ehfWx-LH1NgZ7cGhw 7300
eva/vision/models/networks/__init__.py sha256=j43IurizNlAyKPH2jwDHaeq49L2QvwbHWqUaptA1mG4 100
eva/vision/models/networks/abmil.py sha256=N1eH4fn1nXmgXurSQyQIxxonv7nsqeeuPWaQSHeltfs 6796
eva/vision/models/networks/backbones/__init__.py sha256=CvK0sHKufUq4chwX-p2cFVBZFReMuwmeHFTG5LUA6CM 318
eva/vision/models/networks/backbones/_utils.py sha256=V7xeod4mElEuuO1TRW0xJE051cUyS1Saraw3-KcK1Mw 1667
eva/vision/models/networks/backbones/pathology/__init__.py sha256=goR59h8bfzd-Wa3rxPPdaSlAOH_df8SHBkTSKi08TS8 1147
eva/vision/models/networks/backbones/pathology/bioptimus.py sha256=wUSKjYgxcRV3FRHGaPwF1uRAQcGO0rHNHGmK1QDJXk4 991
eva/vision/models/networks/backbones/pathology/gigapath.py sha256=mfGXtKhY7XLpKQQAFNVZYsM-aeHCEbOVUrxpAEOr-l8 955
eva/vision/models/networks/backbones/pathology/histai.py sha256=X_we3U7GK91RrXyOX2PJB-YFDF2ozdL2fzZhNxm9SVU 1914
eva/vision/models/networks/backbones/pathology/kaiko.py sha256=GSdBG4WXrs1PWB2hr-sy_dFe2riwpPKwHx71esDoVfE 3952
eva/vision/models/networks/backbones/pathology/lunit.py sha256=ku4lr9pWeeHatHN4x4OVgwlve9sVqiRqIbgI0PXLiqg 2160
eva/vision/models/networks/backbones/pathology/mahmood.py sha256=me8DXf9nsEegDmltP8f7ZnG89xYVEKzZLKfVzMZjWDs 1832
eva/vision/models/networks/backbones/pathology/owkin.py sha256=uWJV5fgY7UZX6ilgGzkPY9fnlOiF03W7E8rc9TmlHGg 1231
eva/vision/models/networks/backbones/pathology/paige.py sha256=MjOLgdEKk8tdAIpCiHelasGwPE7xgzaooW6EE7IsuEE 1642
eva/vision/models/networks/backbones/registry.py sha256=anjILtEHHB6Ltwiw22h1bsgWtIjh_l5_fkPh87K7-d0 1631
eva/vision/models/networks/backbones/timm/__init__.py sha256=cZH3av9gIZcvEVD0rwKsI-MEq7zPqaW4dQ0E05CksvQ 128
eva/vision/models/networks/backbones/timm/backbones.py sha256=fCTiwqU6NhQ-ccAMzmpPDddXkFzRAB3mw4lcQ9um_PU 1646
eva/vision/models/networks/backbones/torchhub/__init__.py sha256=zBLJBvkwKJ1jD7M3Wt5BE6Cx-R8G2YRoyPG7p2V-3nQ 147
eva/vision/models/networks/backbones/torchhub/backbones.py sha256=hgCCoP8AdRSsli0w9a_PRNB-UR36-SLLhBIW0BFrkdE 1911
eva/vision/models/networks/backbones/universal/__init__.py sha256=MAlkALSJ2_w6spSbB7NmKlL0Jsk1YKEycatdI0xO0_I 252
eva/vision/models/networks/backbones/universal/vit.py sha256=kpUCoXpefR34hRNlQDFK9lGr4oqS8Mn5vTLKWZ-gaOs 1820
eva/vision/models/networks/decoders/__init__.py sha256=RXFWmoYw2i6E9VOUCJmU8c72icHannVuo-cUKy6fnLM 200
eva/vision/models/networks/decoders/segmentation/__init__.py sha256=N6jrhXHj0P7i7RptZbZ-JFehT2BM7meFyNIK0owAkaE 517
eva/vision/models/networks/decoders/segmentation/base.py sha256=b2TIJKiJR9vejVRpNyedMJLPTrpHhAEXvco8atb9TPU 411
eva/vision/models/networks/decoders/segmentation/decoder2d.py sha256=A7vz0LJ_YweftpKeEBJm0Y3N7hbVLDSIkAajaQv1UgE 4456
eva/vision/models/networks/decoders/segmentation/linear.py sha256=-i9RVaKM1UsB3AXDDKdMmHiD7y2sr5HfF-WvkB47Fhw 4743
eva/vision/models/networks/decoders/segmentation/semantic/__init__.py sha256=Ubs8GXyQpEHs26JUeUuiVP3jfn47eiBZM_UVbu749XU 398
eva/vision/models/networks/decoders/segmentation/semantic/common.py sha256=fPTb0T-2FiOU-jT81ynASKaW7fJiRk6vQjuPkzHOluc 2530
eva/vision/models/networks/decoders/segmentation/semantic/with_image.py sha256=I5PyGKKo8DcXYcw4xlCFzuavRJNRrzGT-szpDidMPXI 3516
eva/vision/models/networks/decoders/segmentation/typings.py sha256=8zAqIJLlQdCjsx-Dl4lnF4BB1VxTg_AyIquBVwpZlHg 537
eva/vision/models/wrappers/__init__.py sha256=ogmr-eeVuGaOCcsuxSp6PGyauP2QqWTb8dGTtbC7lRU 210
eva/vision/models/wrappers/from_registry.py sha256=gdnxyg9drqlxfTNuS3aLbWGbZIwX1VNl0uudfjzVsXM 1614
eva/vision/models/wrappers/from_timm.py sha256=Z38Nb1i6OPKkgvFZOvGx-O3AZQuscf1zRVyrEBXQdJg 2320
eva/vision/utils/__init__.py sha256=vaUovprE743SmyFH8l6uk4pYSWpI4zxn7lN0EwePTJI 96
eva/vision/utils/colormap.py sha256=sP1F0JCX3abZfFgdxEjLJO-LhNYKjXZvXxs03ZgrEvI 2876
eva/vision/utils/convert.py sha256=fqGmKrg5-JJLrTkTXB4YDcWTudXPrO1gGjsckVRUesU 1881
eva/vision/utils/io/__init__.py sha256=XGJ_W94DVEYXJ_tVpr_20NMpR5JLWEWHGF3v9Low79A 610
eva/vision/utils/io/_utils.py sha256=JzOt7Frj6ScF_aNjFtfHBn4ROnl6NhUZucmQhLc4Cww 768
eva/vision/utils/io/image.py sha256=IdOkr5MYqhYHz8U9drZ7wULTM3YHwCWSjZlu_Qdl4GQ 2053
eva/vision/utils/io/mat.py sha256=qpGifyjmpE0Xhv567Si7-zxKrgkgE0sywP70cHiLFGU 808
eva/vision/utils/io/nifti.py sha256=4YoKjKuoNdE0qY7tYB_WlnSsYAx2oBzZRZXczc_8HAU 2555
eva/vision/utils/io/text.py sha256=qYgfo_ZaDZWfG02NkVVYzo5QFySqdCCz5uLA9d-zXtI 701
kaiko_eva-0.1.8.dist-info/METADATA sha256=rjAETMOw3T9oYRqiWvzsedU0hFHFa6ivyZfiS0WCjKA 24899
kaiko_eva-0.1.8.dist-info/WHEEL sha256=thaaA2w1JzcGC48WYufAs8nrYZjJm8LqNfnXFOFyCC4 90
kaiko_eva-0.1.8.dist-info/entry_points.txt sha256=6CSLu9bmQYJSXEg8gbOzRhxH0AGs75BB-vPm3VvfcNE 88
kaiko_eva-0.1.8.dist-info/licenses/LICENSE sha256=e6AEzr7j_R-PYr2qLO-JwLn8y70jbVD3U2mxbRmwcI4 11338
kaiko_eva-0.1.8.dist-info/RECORD

entry_points.txt

eva = eva.__main__:main
kaiko-eva = eva.__main__:main