aignostics 0.2.205__tar.gz → 0.2.207__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. {aignostics-0.2.205 → aignostics-0.2.207}/PKG-INFO +1 -1
  2. {aignostics-0.2.205 → aignostics-0.2.207}/examples/notebook.py +1 -1
  3. {aignostics-0.2.205 → aignostics-0.2.207}/pyproject.toml +2 -2
  4. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_cli.py +6 -15
  5. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/_frame.py +1 -1
  6. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/_page_application_describe.py +6 -15
  7. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_service.py +45 -1
  8. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_sdk_metadata.py +5 -3
  9. {aignostics-0.2.205 → aignostics-0.2.207}/.gitignore +0 -0
  10. {aignostics-0.2.205 → aignostics-0.2.207}/LICENSE +0 -0
  11. {aignostics-0.2.205 → aignostics-0.2.207}/README.md +0 -0
  12. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/.openapi-generator/FILES +0 -0
  13. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/.openapi-generator/VERSION +0 -0
  14. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/api/public_api.py +0 -0
  15. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/api_client.py +0 -0
  16. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/api_response.py +0 -0
  17. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/configuration.py +0 -0
  18. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/exceptions.py +0 -0
  19. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/__init__.py +0 -0
  20. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/application_read_response.py +0 -0
  21. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/application_read_short_response.py +0 -0
  22. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/application_version.py +0 -0
  23. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/artifact_output.py +0 -0
  24. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/artifact_state.py +0 -0
  25. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/artifact_termination_reason.py +0 -0
  26. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/auth0_organization.py +0 -0
  27. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/auth0_user.py +0 -0
  28. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/custom_metadata_update_request.py +0 -0
  29. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/http_validation_error.py +0 -0
  30. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/input_artifact.py +0 -0
  31. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/input_artifact_creation_request.py +0 -0
  32. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/item_creation_request.py +0 -0
  33. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/item_output.py +0 -0
  34. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/item_result_read_response.py +0 -0
  35. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/item_state.py +0 -0
  36. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/item_termination_reason.py +0 -0
  37. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/me_read_response.py +0 -0
  38. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/organization_read_response.py +0 -0
  39. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/output_artifact.py +0 -0
  40. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/output_artifact_result_read_response.py +0 -0
  41. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/output_artifact_scope.py +0 -0
  42. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/output_artifact_visibility.py +0 -0
  43. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/run_creation_request.py +0 -0
  44. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/run_creation_response.py +0 -0
  45. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/run_item_statistics.py +0 -0
  46. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/run_output.py +0 -0
  47. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/run_read_response.py +0 -0
  48. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/run_state.py +0 -0
  49. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/run_termination_reason.py +0 -0
  50. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/user_read_response.py +0 -0
  51. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/validation_error.py +0 -0
  52. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/validation_error_loc_inner.py +0 -0
  53. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/models/version_read_response.py +0 -0
  54. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/aignx/codegen/rest.py +0 -0
  55. {aignostics-0.2.205 → aignostics-0.2.207}/codegen/out/docs/PublicApi.md +0 -0
  56. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-macos-13/extracted/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  57. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-macos-13/extracted/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  58. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-macos-latest/extracted/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  59. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-macos-latest/extracted/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  60. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-ubuntu-24.04-arm/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  61. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-ubuntu-24.04-arm/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  62. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-ubuntu-latest/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  63. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-ubuntu-latest/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  64. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-windows-11-arm/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  65. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-windows-11-arm/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  66. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-windows-latest/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  67. {aignostics-0.2.205 → aignostics-0.2.207}/dist_native_all/dist_native-windows-latest/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  68. {aignostics-0.2.205 → aignostics-0.2.207}/examples/__init__.py +0 -0
  69. {aignostics-0.2.205 → aignostics-0.2.207}/examples/notebook.ipynb +0 -0
  70. {aignostics-0.2.205 → aignostics-0.2.207}/examples/script.py +0 -0
  71. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/CLAUDE.md +0 -0
  72. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/__init__.py +0 -0
  73. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/CLAUDE.md +0 -0
  74. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/__init__.py +0 -0
  75. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_download.py +0 -0
  76. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/_page_application_run_describe.py +0 -0
  77. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/_page_builder.py +0 -0
  78. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/_page_index.py +0 -0
  79. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/_utils.py +0 -0
  80. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/.gitignore +0 -0
  81. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/canceled.lottie +0 -0
  82. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/done.lottie +0 -0
  83. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/empty.lottie +0 -0
  84. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/error.lottie +0 -0
  85. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/error_alt.lottie +0 -0
  86. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/home-card-1.png +0 -0
  87. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/home-card-2.png +0 -0
  88. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/home-card-3.png +0 -0
  89. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/home-card-4.png +0 -0
  90. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/home-card-5.png +0 -0
  91. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/image-not-found.png +0 -0
  92. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/pending.lottie +0 -0
  93. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/processing.lottie +0 -0
  94. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/ruo.png +0 -0
  95. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_gui/assets/ruo.svg +0 -0
  96. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_models.py +0 -0
  97. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_settings.py +0 -0
  98. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/application/_utils.py +0 -0
  99. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/bucket/CLAUDE.md +0 -0
  100. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/bucket/__init__.py +0 -0
  101. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/bucket/_cli.py +0 -0
  102. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/bucket/_gui.py +0 -0
  103. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/bucket/_service.py +0 -0
  104. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/bucket/_settings.py +0 -0
  105. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/bucket/assets/Google-Cloud-logo.png +0 -0
  106. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/bucket/assets/Google-Cloud-logo.svg +0 -0
  107. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/cli.py +0 -0
  108. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/constants.py +0 -0
  109. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/dataset/CLAUDE.md +0 -0
  110. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/dataset/__init__.py +0 -0
  111. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/dataset/_cli.py +0 -0
  112. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/dataset/_gui.py +0 -0
  113. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/dataset/_service.py +0 -0
  114. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/dataset/assets/NIH-IDC-logo.svg +0 -0
  115. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/gui/CLAUDE.md +0 -0
  116. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/gui/__init__.py +0 -0
  117. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/gui/_error.py +0 -0
  118. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/gui/_frame.py +0 -0
  119. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/gui/_theme.py +0 -0
  120. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2 +0 -0
  121. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/gui/assets/cat.lottie +0 -0
  122. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/gui/assets/logo.png +0 -0
  123. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/notebook/CLAUDE.md +0 -0
  124. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/notebook/__init__.py +0 -0
  125. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/notebook/_gui.py +0 -0
  126. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/notebook/_notebook.py +0 -0
  127. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/notebook/_service.py +0 -0
  128. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/notebook/assets/python.lottie +0 -0
  129. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/CLAUDE.md +0 -0
  130. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/__init__.py +0 -0
  131. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_authentication.py +0 -0
  132. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_cli.py +0 -0
  133. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_client.py +0 -0
  134. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_constants.py +0 -0
  135. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_messages.py +0 -0
  136. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_operation_cache.py +0 -0
  137. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_service.py +0 -0
  138. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_settings.py +0 -0
  139. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/_utils.py +0 -0
  140. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/resources/__init__.py +0 -0
  141. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/resources/applications.py +0 -0
  142. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/resources/runs.py +0 -0
  143. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/platform/resources/utils.py +0 -0
  144. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/CLAUDE.md +0 -0
  145. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/__init__.py +0 -0
  146. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/_cli.py +0 -0
  147. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/_gui.py +0 -0
  148. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/_service.py +0 -0
  149. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/_settings.py +0 -0
  150. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/assets/download.lottie +0 -0
  151. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/assets/microscope.lottie +0 -0
  152. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/assets/update.lottie +0 -0
  153. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/scripts/add.groovy +0 -0
  154. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/scripts/annotate.groovy +0 -0
  155. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/scripts/inspect.groovy +0 -0
  156. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/qupath/scripts/test.groovy +0 -0
  157. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/system/CLAUDE.md +0 -0
  158. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/system/__init__.py +0 -0
  159. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/system/_cli.py +0 -0
  160. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/system/_exceptions.py +0 -0
  161. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/system/_gui.py +0 -0
  162. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/system/_service.py +0 -0
  163. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/system/_settings.py +0 -0
  164. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/system/assets/system.lottie +0 -0
  165. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/bottle.py +0 -0
  166. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/idc_index.py +0 -0
  167. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/__init__.py +0 -0
  168. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/argumentsparse.py +0 -0
  169. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/constants.py +0 -0
  170. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/py.typed +0 -0
  171. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/showinfm.py +0 -0
  172. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/system/__init__.py +0 -0
  173. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/system/linux.py +0 -0
  174. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/system/tools.py +0 -0
  175. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/system/urivalidate.py +0 -0
  176. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/third_party/showinfm/system/windows.py +0 -0
  177. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/CLAUDE.md +0 -0
  178. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/__init__.py +0 -0
  179. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_cli.py +0 -0
  180. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_console.py +0 -0
  181. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_constants.py +0 -0
  182. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_di.py +0 -0
  183. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_fs.py +0 -0
  184. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_gui.py +0 -0
  185. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_health.py +0 -0
  186. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_log.py +0 -0
  187. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_notebook.py +0 -0
  188. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_process.py +0 -0
  189. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_sentry.py +0 -0
  190. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_service.py +0 -0
  191. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_settings.py +0 -0
  192. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/_user_agent.py +0 -0
  193. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/utils/boot.py +0 -0
  194. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/CLAUDE.md +0 -0
  195. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/__init__.py +0 -0
  196. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/_cli.py +0 -0
  197. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/_gui.py +0 -0
  198. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/_openslide_handler.py +0 -0
  199. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/_pydicom_handler.py +0 -0
  200. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/_service.py +0 -0
  201. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/_utils.py +0 -0
  202. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics/wsi/assets/fallback.png +0 -0
  203. {aignostics-0.2.205 → aignostics-0.2.207}/src/aignostics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aignostics
3
- Version: 0.2.205
3
+ Version: 0.2.207
4
4
  Summary: 🔬 Python SDK providing access to the Aignostics Platform. Includes Aignostics Launchpad (Desktop Application), Aignostics CLI (Command-Line Interface), example notebooks, and Aignostics Client Library.
5
5
  Project-URL: Homepage, https://aignostics.readthedocs.io/en/latest/
6
6
  Project-URL: Documentation, https://aignostics.readthedocs.io/en/latest/
@@ -2,7 +2,7 @@
2
2
  # requires-python = ">=3.13"
3
3
  # dependencies = [
4
4
  # "marimo",
5
- # "aignostics==0.2.205",
5
+ # "aignostics==0.2.207",
6
6
  # ]
7
7
  # ///
8
8
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aignostics"
3
- version = "0.2.205"
3
+ version = "0.2.207"
4
4
  description = "🔬 Python SDK providing access to the Aignostics Platform. Includes Aignostics Launchpad (Desktop Application), Aignostics CLI (Command-Line Interface), example notebooks, and Aignostics Client Library."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -372,7 +372,7 @@ source = ["src/"]
372
372
 
373
373
 
374
374
  [tool.bumpversion]
375
- current_version = "0.2.205"
375
+ current_version = "0.2.207"
376
376
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
377
377
  serialize = ["{major}.{minor}.{patch}"]
378
378
  search = "{current_version}"
@@ -746,31 +746,22 @@ def run_submit( # noqa: PLR0913, PLR0917
746
746
  metadata_dict,
747
747
  )
748
748
 
749
- # Build custom metadata with pipeline configuration
750
- custom_metadata = {
751
- "pipeline": {
752
- "gpu": {
753
- "gpu_type": gpu_type,
754
- "provisioning_mode": gpu_provisioning_mode,
755
- "max_gpus_per_slide": max_gpus_per_slide,
756
- },
757
- "cpu": {
758
- "provisioning_mode": cpu_provisioning_mode,
759
- },
760
- },
761
- }
762
-
749
+ # Submit run with pipeline configuration
763
750
  application_run = Service().application_run_submit_from_metadata(
764
751
  application_id=application_id,
765
752
  metadata=metadata_dict,
766
753
  application_version=application_version,
767
- custom_metadata=custom_metadata,
754
+ custom_metadata=None,
768
755
  note=note,
769
756
  tags={tag.strip() for tag in tags.split(",") if tag.strip()} if tags else None,
770
757
  due_date=due_date,
771
758
  deadline=deadline,
772
759
  onboard_to_aignostics_portal=onboard_to_aignostics_portal,
773
760
  validate_only=validate_only,
761
+ gpu_type=gpu_type,
762
+ gpu_provisioning_mode=gpu_provisioning_mode,
763
+ max_gpus_per_slide=max_gpus_per_slide,
764
+ cpu_provisioning_mode=cpu_provisioning_mode,
774
765
  )
775
766
  console.print(
776
767
  f"Submitted run with id '{application_run.run_id}' for "
@@ -11,7 +11,7 @@ from .._service import Service # noqa: TID252
11
11
  from ._utils import application_id_to_icon, run_status_to_icon_and_color
12
12
 
13
13
  BORDERED_SEPARATOR = "bordered separator"
14
- RUNS_LIMIT = 500
14
+ RUNS_LIMIT = 200
15
15
  RUNS_REFRESH_INTERVAL = 60 * 15 # 15 minutes
16
16
  STORAGE_TAB_RUNS_HAS_OUTPUT = "runs_has_output"
17
17
 
@@ -715,25 +715,12 @@ async def _page_application_describe(application_id: str) -> None: # noqa: C901
715
715
  """Submit the application run."""
716
716
  ui.notify("Submitting application run ...", type="info")
717
717
  try:
718
- # Build custom metadata with pipeline configuration
719
- custom_metadata = {
720
- "pipeline": {
721
- "gpu": {
722
- "gpu_type": submit_form.gpu_type,
723
- "provisioning_mode": submit_form.gpu_provisioning_mode,
724
- "max_gpus_per_slide": submit_form.max_gpus_per_slide,
725
- },
726
- "cpu": {
727
- "provisioning_mode": submit_form.cpu_provisioning_mode,
728
- },
729
- },
730
- }
731
-
718
+ # Submit run with pipeline configuration
732
719
  run = service.application_run_submit_from_metadata(
733
720
  application_id=str(submit_form.application_id),
734
721
  metadata=submit_form.metadata or [],
735
722
  application_version=str(submit_form.application_version),
736
- custom_metadata=custom_metadata,
723
+ custom_metadata=None,
737
724
  note=submit_form.note,
738
725
  tags=set(submit_form.tags) if submit_form.tags else None,
739
726
  due_date=datetime.strptime(submit_form.due_date, "%Y-%m-%d %H:%M")
@@ -746,6 +733,10 @@ async def _page_application_describe(application_id: str) -> None: # noqa: C901
746
733
  .isoformat(),
747
734
  validate_only=submit_form.validate_only,
748
735
  onboard_to_aignostics_portal=submit_form.onboard_to_aignostics_portal,
736
+ gpu_type=submit_form.gpu_type,
737
+ gpu_provisioning_mode=submit_form.gpu_provisioning_mode,
738
+ max_gpus_per_slide=submit_form.max_gpus_per_slide,
739
+ cpu_provisioning_mode=submit_form.cpu_provisioning_mode,
749
740
  )
750
741
  except Exception as e:
751
742
  ui.notify(
@@ -802,6 +802,10 @@ class Service(BaseService): # noqa: PLR0904
802
802
  deadline: str | None = None,
803
803
  onboard_to_aignostics_portal: bool = False,
804
804
  validate_only: bool = False,
805
+ gpu_type: str | None = None,
806
+ gpu_provisioning_mode: str | None = None,
807
+ max_gpus_per_slide: int | None = None,
808
+ cpu_provisioning_mode: str | None = None,
805
809
  ) -> Run:
806
810
  """Submit a run for the given application.
807
811
 
@@ -820,6 +824,10 @@ class Service(BaseService): # noqa: PLR0904
820
824
  If not given latest version is used.
821
825
  onboard_to_aignostics_portal (bool): True if the run should be onboarded to the Aignostics Portal.
822
826
  validate_only (bool): If True, cancel the run post validation, before analysis.
827
+ gpu_type (str | None): The type of GPU to use (L4 or A100).
828
+ gpu_provisioning_mode (str | None): The provisioning mode for GPU resources (SPOT or ON_DEMAND).
829
+ max_gpus_per_slide (int | None): The maximum number of GPUs to allocate per slide.
830
+ cpu_provisioning_mode (str | None): The provisioning mode for CPU resources (SPOT or ON_DEMAND).
823
831
 
824
832
  Returns:
825
833
  Run: The submitted run.
@@ -918,6 +926,10 @@ class Service(BaseService): # noqa: PLR0904
918
926
  deadline=deadline,
919
927
  onboard_to_aignostics_portal=onboard_to_aignostics_portal,
920
928
  validate_only=validate_only,
929
+ gpu_type=gpu_type,
930
+ gpu_provisioning_mode=gpu_provisioning_mode,
931
+ max_gpus_per_slide=max_gpus_per_slide,
932
+ cpu_provisioning_mode=cpu_provisioning_mode,
921
933
  )
922
934
  logger.debug(
923
935
  "Submitted application run with items: {}, application run id {}, custom metadata: {}",
@@ -941,7 +953,7 @@ class Service(BaseService): # noqa: PLR0904
941
953
  logger.exception(message)
942
954
  raise RuntimeError(message) from e
943
955
 
944
- def application_run_submit( # noqa: PLR0913, PLR0917
956
+ def application_run_submit( # noqa: PLR0913, PLR0917, PLR0912, C901
945
957
  self,
946
958
  application_id: str,
947
959
  items: list[InputItem],
@@ -953,6 +965,10 @@ class Service(BaseService): # noqa: PLR0904
953
965
  deadline: str | None = None,
954
966
  onboard_to_aignostics_portal: bool = False,
955
967
  validate_only: bool = False,
968
+ gpu_type: str | None = None,
969
+ gpu_provisioning_mode: str | None = None,
970
+ max_gpus_per_slide: int | None = None,
971
+ cpu_provisioning_mode: str | None = None,
956
972
  ) -> Run:
957
973
  """Submit a run for the given application.
958
974
 
@@ -970,6 +986,10 @@ class Service(BaseService): # noqa: PLR0904
970
986
  If processing exceeds this deadline, the run can be aborted.
971
987
  onboard_to_aignostics_portal (bool): True if the run should be onboarded to the Aignostics Portal.
972
988
  validate_only (bool): If True, cancel the run post validation, before analysis.
989
+ gpu_type (str | None): The type of GPU to use (L4 or A100).
990
+ gpu_provisioning_mode (str | None): The provisioning mode for GPU resources (SPOT or ON_DEMAND).
991
+ max_gpus_per_slide (int | None): The maximum number of GPUs to allocate per slide.
992
+ cpu_provisioning_mode (str | None): The provisioning mode for CPU resources (SPOT or ON_DEMAND).
973
993
 
974
994
  Returns:
975
995
  Run: The submitted run.
@@ -1005,6 +1025,30 @@ class Service(BaseService): # noqa: PLR0904
1005
1025
  if deadline:
1006
1026
  sdk_metadata["scheduling"]["deadline"] = deadline
1007
1027
 
1028
+ if gpu_type or gpu_provisioning_mode or max_gpus_per_slide or cpu_provisioning_mode:
1029
+ sdk_metadata["pipeline"] = {}
1030
+ if gpu_type or gpu_provisioning_mode or max_gpus_per_slide:
1031
+ sdk_metadata["pipeline"]["gpu"] = {}
1032
+ if gpu_type:
1033
+ sdk_metadata["pipeline"]["gpu"]["gpu_type"] = gpu_type
1034
+ if gpu_provisioning_mode:
1035
+ sdk_metadata["pipeline"]["gpu"]["provisioning_mode"] = gpu_provisioning_mode
1036
+ if max_gpus_per_slide:
1037
+ sdk_metadata["pipeline"]["gpu"]["max_gpus_per_slide"] = max_gpus_per_slide
1038
+ if cpu_provisioning_mode:
1039
+ sdk_metadata["pipeline"]["cpu"] = {"provisioning_mode": cpu_provisioning_mode}
1040
+
1041
+ # Validate pipeline configuration if present
1042
+ if "pipeline" in sdk_metadata:
1043
+ from aignostics.platform._sdk_metadata import PipelineConfig # noqa: PLC0415
1044
+
1045
+ try:
1046
+ PipelineConfig.model_validate(sdk_metadata["pipeline"])
1047
+ except Exception as e:
1048
+ message = f"Invalid pipeline configuration: {e}"
1049
+ logger.warning(message)
1050
+ raise ValueError(message) from e
1051
+
1008
1052
  custom_metadata["sdk"] = sdk_metadata
1009
1053
 
1010
1054
  return self._get_platform_client().runs.submit(
@@ -11,7 +11,7 @@ from enum import StrEnum
11
11
  from typing import Any, Literal
12
12
 
13
13
  from loguru import logger
14
- from pydantic import BaseModel, Field, PositiveInt, ValidationError
14
+ from pydantic import BaseModel, Field, ValidationError
15
15
 
16
16
  from aignostics.utils import user_agent
17
17
 
@@ -60,9 +60,11 @@ class GPUConfig(BaseModel):
60
60
  default_factory=lambda: ProvisioningMode(DEFAULT_GPU_PROVISIONING_MODE),
61
61
  description="The provisioning mode for GPU resources (SPOT or ON_DEMAND)",
62
62
  )
63
- max_gpus_per_slide: PositiveInt = Field(
63
+ max_gpus_per_slide: int = Field(
64
64
  default=DEFAULT_MAX_GPUS_PER_SLIDE,
65
- description="The maximum number of GPUs to allocate per slide",
65
+ ge=1,
66
+ le=8,
67
+ description="The maximum number of GPUs to allocate per slide (1-8)",
66
68
  )
67
69
 
68
70
 
File without changes
File without changes
File without changes