aignostics 1.2.0__tar.gz → 1.3.0__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 (208) hide show
  1. {aignostics-1.2.0 → aignostics-1.3.0}/PKG-INFO +6 -13
  2. {aignostics-1.2.0 → aignostics-1.3.0}/README.md +1 -7
  3. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/.openapi-generator/FILES +2 -0
  4. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/api/public_api.py +322 -14
  5. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/api_client.py +1 -1
  6. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/configuration.py +2 -2
  7. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/exceptions.py +1 -1
  8. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/__init__.py +28 -26
  9. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/application_read_response.py +1 -1
  10. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/application_read_short_response.py +1 -1
  11. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/application_version.py +11 -3
  12. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/artifact_output.py +1 -1
  13. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/artifact_state.py +1 -1
  14. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/artifact_termination_reason.py +1 -1
  15. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/custom_metadata_update_request.py +1 -1
  16. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/custom_metadata_update_response.py +1 -1
  17. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/http_validation_error.py +1 -1
  18. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/input_artifact.py +1 -1
  19. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/input_artifact_creation_request.py +1 -1
  20. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/item_creation_request.py +1 -1
  21. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/item_output.py +1 -1
  22. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/item_result_read_response.py +10 -10
  23. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/item_state.py +1 -1
  24. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/item_termination_reason.py +1 -1
  25. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/me_read_response.py +1 -1
  26. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/organization_read_response.py +1 -1
  27. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/output_artifact.py +1 -1
  28. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/output_artifact_result_read_response.py +11 -11
  29. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/output_artifact_scope.py +1 -1
  30. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/output_artifact_visibility.py +1 -1
  31. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/run_creation_request.py +13 -2
  32. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/run_creation_response.py +4 -4
  33. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/run_item_statistics.py +1 -1
  34. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/run_output.py +1 -1
  35. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/run_read_response.py +14 -3
  36. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/run_state.py +1 -1
  37. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/run_termination_reason.py +1 -1
  38. aignostics-1.3.0/codegen/out/aignx/codegen/models/scheduling_request.py +100 -0
  39. aignostics-1.3.0/codegen/out/aignx/codegen/models/scheduling_response.py +100 -0
  40. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/user_read_response.py +1 -1
  41. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/validation_error.py +13 -4
  42. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/validation_error_loc_inner.py +1 -1
  43. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/version_read_response.py +11 -3
  44. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/rest.py +1 -1
  45. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/docs/PublicApi.md +89 -5
  46. {aignostics-1.2.0 → aignostics-1.3.0}/examples/notebook.py +1 -1
  47. {aignostics-1.2.0 → aignostics-1.3.0}/pyproject.toml +10 -18
  48. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/CLAUDE.md +2 -2
  49. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_cli.py +22 -3
  50. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/_page_application_describe.py +5 -4
  51. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/_page_application_run_describe.py +21 -0
  52. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_service.py +58 -22
  53. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_utils.py +116 -22
  54. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/bucket/_service.py +2 -2
  55. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/dataset/_service.py +2 -2
  56. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/gui/_frame.py +1 -1
  57. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/notebook/_service.py +2 -2
  58. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/__init__.py +2 -1
  59. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_authentication.py +10 -2
  60. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_service.py +62 -56
  61. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_settings.py +4 -0
  62. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/resources/runs.py +14 -0
  63. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/_service.py +2 -2
  64. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/system/CLAUDE.md +5 -7
  65. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/system/_cli.py +5 -4
  66. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/system/_gui.py +3 -5
  67. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/system/_service.py +61 -66
  68. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/CLAUDE.md +28 -3
  69. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/__init__.py +2 -1
  70. aignostics-1.3.0/src/aignostics/utils/_health.py +138 -0
  71. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_mcp.py +5 -5
  72. aignostics-1.3.0/src/aignostics/utils/_service.py +99 -0
  73. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/_service.py +2 -2
  74. aignostics-1.2.0/src/aignostics/utils/_health.py +0 -115
  75. aignostics-1.2.0/src/aignostics/utils/_service.py +0 -50
  76. {aignostics-1.2.0 → aignostics-1.3.0}/.gitignore +0 -0
  77. {aignostics-1.2.0 → aignostics-1.3.0}/LICENSE +0 -0
  78. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/.openapi-generator/VERSION +0 -0
  79. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/api_response.py +0 -0
  80. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/auth0_organization.py +0 -0
  81. {aignostics-1.2.0 → aignostics-1.3.0}/codegen/out/aignx/codegen/models/auth0_user.py +0 -0
  82. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-macos-15-intel/extracted/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  83. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-macos-15-intel/extracted/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  84. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-macos-latest/extracted/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  85. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-macos-latest/extracted/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  86. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-ubuntu-24.04-arm/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  87. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-ubuntu-24.04-arm/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  88. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-ubuntu-latest/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  89. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-ubuntu-latest/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  90. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-windows-latest/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  91. {aignostics-1.2.0 → aignostics-1.3.0}/dist_native_all/dist_native-windows-latest/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  92. {aignostics-1.2.0 → aignostics-1.3.0}/examples/__init__.py +0 -0
  93. {aignostics-1.2.0 → aignostics-1.3.0}/examples/notebook.ipynb +0 -0
  94. {aignostics-1.2.0 → aignostics-1.3.0}/examples/script.py +0 -0
  95. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/__init__.py +0 -0
  96. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/CLAUDE.md +0 -0
  97. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/__init__.py +0 -0
  98. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_download.py +0 -0
  99. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/_frame.py +0 -0
  100. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/_page_builder.py +0 -0
  101. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/_page_index.py +0 -0
  102. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/_utils.py +0 -0
  103. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/.gitignore +0 -0
  104. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/canceled.lottie +0 -0
  105. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/done.lottie +0 -0
  106. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/empty.lottie +0 -0
  107. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/error.lottie +0 -0
  108. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/error_alt.lottie +0 -0
  109. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/home-card-1.png +0 -0
  110. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/home-card-2.png +0 -0
  111. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/home-card-3.png +0 -0
  112. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/home-card-4.png +0 -0
  113. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/home-card-5.png +0 -0
  114. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/image-not-found.png +0 -0
  115. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/pending.lottie +0 -0
  116. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/processing.lottie +0 -0
  117. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/ruo.png +0 -0
  118. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_gui/assets/ruo.svg +0 -0
  119. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_models.py +0 -0
  120. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/application/_settings.py +0 -0
  121. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/bucket/CLAUDE.md +0 -0
  122. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/bucket/__init__.py +0 -0
  123. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/bucket/_cli.py +0 -0
  124. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/bucket/_gui.py +0 -0
  125. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/bucket/_settings.py +0 -0
  126. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/bucket/assets/Google-Cloud-logo.png +0 -0
  127. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/bucket/assets/Google-Cloud-logo.svg +0 -0
  128. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/cli.py +0 -0
  129. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/constants.py +0 -0
  130. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/dataset/CLAUDE.md +0 -0
  131. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/dataset/__init__.py +0 -0
  132. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/dataset/_cli.py +0 -0
  133. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/dataset/_gui.py +0 -0
  134. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/dataset/assets/NIH-IDC-logo.svg +0 -0
  135. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/gui/CLAUDE.md +0 -0
  136. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/gui/__init__.py +0 -0
  137. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/gui/_error.py +0 -0
  138. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/gui/_theme.py +0 -0
  139. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2 +0 -0
  140. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/gui/assets/cat.lottie +0 -0
  141. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/gui/assets/logo.png +0 -0
  142. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/notebook/CLAUDE.md +0 -0
  143. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/notebook/__init__.py +0 -0
  144. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/notebook/_gui.py +0 -0
  145. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/notebook/_notebook.py +0 -0
  146. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/notebook/assets/python.lottie +0 -0
  147. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/CLAUDE.md +0 -0
  148. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_cli.py +0 -0
  149. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_client.py +0 -0
  150. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_constants.py +0 -0
  151. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_messages.py +0 -0
  152. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_operation_cache.py +0 -0
  153. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_sdk_metadata.py +0 -0
  154. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/_utils.py +0 -0
  155. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/resources/__init__.py +0 -0
  156. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/resources/applications.py +0 -0
  157. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/platform/resources/utils.py +0 -0
  158. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/CLAUDE.md +0 -0
  159. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/__init__.py +0 -0
  160. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/_cli.py +0 -0
  161. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/_gui.py +0 -0
  162. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/_settings.py +0 -0
  163. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/assets/download.lottie +0 -0
  164. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/assets/microscope.lottie +0 -0
  165. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/assets/update.lottie +0 -0
  166. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/scripts/add.groovy +0 -0
  167. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/scripts/annotate.groovy +0 -0
  168. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/scripts/inspect.groovy +0 -0
  169. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/qupath/scripts/test.groovy +0 -0
  170. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/system/__init__.py +0 -0
  171. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/system/_exceptions.py +0 -0
  172. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/system/_settings.py +0 -0
  173. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/system/assets/system.lottie +0 -0
  174. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/bottle.py +0 -0
  175. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/idc_index.py +0 -0
  176. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/__init__.py +0 -0
  177. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/argumentsparse.py +0 -0
  178. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/constants.py +0 -0
  179. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/py.typed +0 -0
  180. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/showinfm.py +0 -0
  181. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/system/__init__.py +0 -0
  182. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/system/linux.py +0 -0
  183. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/system/tools.py +0 -0
  184. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/system/urivalidate.py +0 -0
  185. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/third_party/showinfm/system/windows.py +0 -0
  186. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_cli.py +0 -0
  187. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_console.py +0 -0
  188. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_constants.py +0 -0
  189. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_di.py +0 -0
  190. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_fs.py +0 -0
  191. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_gui.py +0 -0
  192. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_log.py +0 -0
  193. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_nav.py +0 -0
  194. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_notebook.py +0 -0
  195. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_process.py +0 -0
  196. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_sentry.py +0 -0
  197. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_settings.py +0 -0
  198. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/_user_agent.py +0 -0
  199. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/utils/boot.py +0 -0
  200. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/CLAUDE.md +0 -0
  201. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/__init__.py +0 -0
  202. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/_cli.py +0 -0
  203. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/_gui.py +0 -0
  204. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/_openslide_handler.py +0 -0
  205. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/_pydicom_handler.py +0 -0
  206. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/_utils.py +0 -0
  207. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics/wsi/assets/fallback.png +0 -0
  208. {aignostics-1.2.0 → aignostics-1.3.0}/src/aignostics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aignostics
3
- Version: 1.2.0
3
+ Version: 1.3.0
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/
@@ -58,7 +58,7 @@ Requires-Dist: dicom-validator<1,>=0.7.3
58
58
  Requires-Dist: dicomweb-client[gcp]<1,>=0.59.3
59
59
  Requires-Dist: duckdb<=2,>=1.4.2
60
60
  Requires-Dist: fastapi[all,standard]>=0.123.10
61
- Requires-Dist: fastmcp<3,>=2.0.0
61
+ Requires-Dist: fastmcp<4,>=3.2.0
62
62
  Requires-Dist: fastparquet<2026.0.0,>=2025.12.0; python_version < '3.14'
63
63
  Requires-Dist: filelock>=3.20.1
64
64
  Requires-Dist: google-cloud-storage<4,>=3.6.0
@@ -67,7 +67,7 @@ Requires-Dist: highdicom<1,>=0.26.1; python_version < '3.14'
67
67
  Requires-Dist: html-sanitizer<3,>=2.6.0
68
68
  Requires-Dist: httpx<1,>=0.28.1
69
69
  Requires-Dist: humanize<5,>=4.14.0
70
- Requires-Dist: idc-index-data==23.2.7
70
+ Requires-Dist: idc-index-data==23.8.1
71
71
  Requires-Dist: ijson<4,>=3.4.0.post0
72
72
  Requires-Dist: jsf<1,>=0.11.2
73
73
  Requires-Dist: jsonschema[format-nongpl]<5,>=4.25.1
@@ -77,7 +77,7 @@ Requires-Dist: marshmallow>=3.26.2
77
77
  Requires-Dist: nicegui[native]<4,>=3.5.0
78
78
  Requires-Dist: openslide-bin<5,>=4.0.0.10
79
79
  Requires-Dist: openslide-python<2,>=1.4.3
80
- Requires-Dist: packaging<26,>=25.0
80
+ Requires-Dist: packaging<27,>=26
81
81
  Requires-Dist: pandas<3,>=2.3.3
82
82
  Requires-Dist: pillow>=11.3.0
83
83
  Requires-Dist: platformdirs<5,>=4.3.2
@@ -91,7 +91,7 @@ Requires-Dist: python-dateutil<3,>=2.9.0.post0
91
91
  Requires-Dist: pywin32<312,>=311; sys_platform == 'win32'
92
92
  Requires-Dist: pyyaml<7,>=6.0.3
93
93
  Requires-Dist: requests-oauthlib<3,>=2.0.0
94
- Requires-Dist: requests<3,>=2.32.5
94
+ Requires-Dist: requests<3,>=2.33.0
95
95
  Requires-Dist: rfc3987; sys_platform == 'never'
96
96
  Requires-Dist: s5cmd<1,>=0.3.3
97
97
  Requires-Dist: semver<4,>=3.0.4
@@ -104,7 +104,6 @@ Requires-Dist: tornado>=6.5.0
104
104
  Requires-Dist: tqdm<5,>=4.67.1
105
105
  Requires-Dist: truststore<1,>=0.10.4
106
106
  Requires-Dist: typer<1,>=0.20.0
107
- Requires-Dist: uptime<4,>=3.0.1
108
107
  Requires-Dist: urllib3<3,>=2.6.3
109
108
  Requires-Dist: urllib3>=2.5.0
110
109
  Requires-Dist: wsidicom<1,>=0.28.1
@@ -130,7 +129,7 @@ Description-Content-Type: text/markdown
130
129
 
131
130
  [![License](https://img.shields.io/github/license/aignostics/python-sdk?logo=opensourceinitiative&logoColor=3DA639&labelColor=414042&color=A41831)](https://github.com/aignostics/python-sdk/blob/main/LICENSE)
132
131
  [![Python Version](https://img.shields.io/pypi/pyversions/aignostics.svg?logo=python&color=204361&labelColor=1E2933)](https://pypi.org/project/aignostics/)
133
- [![CI/CD](https://github.com/aignostics/python-sdk/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/aignostics/python-sdk/actions/workflows/ci-cd.yml)
132
+ [![CI/CD](https://github.com/aignostics/python-sdk/actions/workflows/ci-cd.yml/badge.svg?branch=main)](https://github.com/aignostics/python-sdk/actions/workflows/ci-cd.yml)
134
133
  [![Docs](https://img.shields.io/readthedocs/aignostics)](https://aignostics.readthedocs.io/en/latest/)
135
134
  [![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=aignostics_python-sdk&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=aignostics_python-sdk)
136
135
  [![Security](https://sonarcloud.io/api/project_badges/measure?project=aignostics_python-sdk&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=aignostics_python-sdk)
@@ -138,12 +137,6 @@ Description-Content-Type: text/markdown
138
137
  [![Coverage](https://codecov.io/gh/aignostics/python-sdk/graph/badge.svg?token=SX34YRP30E)](https://codecov.io/gh/aignostics/python-sdk)
139
138
  [![Uptime](https://uptime.betterstack.com/status-badges/v2/monitor/1wbqa.svg)](https://aignostics.betteruptime.com)
140
139
 
141
- > [!NOTE]
142
- > The Aignostics Python SDK is in alpha, with [Atlas H&E-TME](https://www.aignostics.com/products/he-tme-profiling-product) and the [Aignostics Platform](https://platform.aignostics.com) in [early access](https://www.linkedin.com/posts/aignostics_introducing-atlas-he-tme-aignostics-is-activity-7325865745827979265-Sya9?utm_source=share&utm_medium=member_desktop&rcm=ACoAABRmV7cBCGv8eM_ot_kRTrBsb12olQvoLS4).
143
- > Watch or star this repository to receive updates on new features and improvements of the SDK.
144
-
145
- ---
146
-
147
140
 
148
141
  ## Introduction
149
142
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  [![License](https://img.shields.io/github/license/aignostics/python-sdk?logo=opensourceinitiative&logoColor=3DA639&labelColor=414042&color=A41831)](https://github.com/aignostics/python-sdk/blob/main/LICENSE)
7
7
  [![Python Version](https://img.shields.io/pypi/pyversions/aignostics.svg?logo=python&color=204361&labelColor=1E2933)](https://pypi.org/project/aignostics/)
8
- [![CI/CD](https://github.com/aignostics/python-sdk/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/aignostics/python-sdk/actions/workflows/ci-cd.yml)
8
+ [![CI/CD](https://github.com/aignostics/python-sdk/actions/workflows/ci-cd.yml/badge.svg?branch=main)](https://github.com/aignostics/python-sdk/actions/workflows/ci-cd.yml)
9
9
  [![Docs](https://img.shields.io/readthedocs/aignostics)](https://aignostics.readthedocs.io/en/latest/)
10
10
  [![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=aignostics_python-sdk&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=aignostics_python-sdk)
11
11
  [![Security](https://sonarcloud.io/api/project_badges/measure?project=aignostics_python-sdk&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=aignostics_python-sdk)
@@ -13,12 +13,6 @@
13
13
  [![Coverage](https://codecov.io/gh/aignostics/python-sdk/graph/badge.svg?token=SX34YRP30E)](https://codecov.io/gh/aignostics/python-sdk)
14
14
  [![Uptime](https://uptime.betterstack.com/status-badges/v2/monitor/1wbqa.svg)](https://aignostics.betteruptime.com)
15
15
 
16
- > [!NOTE]
17
- > The Aignostics Python SDK is in alpha, with [Atlas H&E-TME](https://www.aignostics.com/products/he-tme-profiling-product) and the [Aignostics Platform](https://platform.aignostics.com) in [early access](https://www.linkedin.com/posts/aignostics_introducing-atlas-he-tme-aignostics-is-activity-7325865745827979265-Sya9?utm_source=share&utm_medium=member_desktop&rcm=ACoAABRmV7cBCGv8eM_ot_kRTrBsb12olQvoLS4).
18
- > Watch or star this repository to receive updates on new features and improvements of the SDK.
19
-
20
- ---
21
-
22
16
 
23
17
  ## Introduction
24
18
 
@@ -32,6 +32,8 @@ aignx/codegen/models/run_output.py
32
32
  aignx/codegen/models/run_read_response.py
33
33
  aignx/codegen/models/run_state.py
34
34
  aignx/codegen/models/run_termination_reason.py
35
+ aignx/codegen/models/scheduling_request.py
36
+ aignx/codegen/models/scheduling_response.py
35
37
  aignx/codegen/models/user_read_response.py
36
38
  aignx/codegen/models/validation_error.py
37
39
  aignx/codegen/models/validation_error_loc_inner.py
@@ -5,7 +5,7 @@
5
5
 
6
6
  The Aignostics Platform is a cloud-based service that enables organizations to access advanced computational pathology applications through a secure API. The platform provides standardized access to Aignostics' portfolio of computational pathology solutions, with Atlas H&E-TME serving as an example of the available API endpoints. To begin using the platform, your organization must first be registered by our business support team. If you don't have an account yet, please contact your account manager or email support@aignostics.com to get started. More information about our applications can be found on [https://platform.aignostics.com](https://platform.aignostics.com). **How to authorize and test API endpoints:** 1. Click the \"Authorize\" button in the right corner below 3. Click \"Authorize\" button in the dialog to log in with your Aignostics Platform credentials 4. After successful login, you'll be redirected back and can use \"Try it out\" on any endpoint **Note**: You only need to authorize once per session. The lock icons next to endpoints will show green when authorized.
7
7
 
8
- The version of the OpenAPI document: 1.0.0-ga
8
+ The version of the OpenAPI document: 1.4.0
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -16,7 +16,7 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
16
  from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
- from pydantic import Field, StrictStr
19
+ from pydantic import Field, StrictStr, field_validator
20
20
  from typing import Any, List, Optional
21
21
  from typing_extensions import Annotated
22
22
  from aignx.codegen.models.application_read_response import ApplicationReadResponse
@@ -54,7 +54,7 @@ class PublicApi:
54
54
  def application_version_details_v1_applications_application_id_versions_version_get(
55
55
  self,
56
56
  application_id: StrictStr,
57
- version: StrictStr,
57
+ version: Annotated[str, Field(strict=True)],
58
58
  _request_timeout: Union[
59
59
  None,
60
60
  Annotated[StrictFloat, Field(gt=0)],
@@ -128,7 +128,7 @@ class PublicApi:
128
128
  def application_version_details_v1_applications_application_id_versions_version_get_with_http_info(
129
129
  self,
130
130
  application_id: StrictStr,
131
- version: StrictStr,
131
+ version: Annotated[str, Field(strict=True)],
132
132
  _request_timeout: Union[
133
133
  None,
134
134
  Annotated[StrictFloat, Field(gt=0)],
@@ -202,7 +202,7 @@ class PublicApi:
202
202
  def application_version_details_v1_applications_application_id_versions_version_get_without_preload_content(
203
203
  self,
204
204
  application_id: StrictStr,
205
- version: StrictStr,
205
+ version: Annotated[str, Field(strict=True)],
206
206
  _request_timeout: Union[
207
207
  None,
208
208
  Annotated[StrictFloat, Field(gt=0)],
@@ -1161,6 +1161,297 @@ class PublicApi:
1161
1161
 
1162
1162
 
1163
1163
 
1164
+ @validate_call
1165
+ def get_artifact_url_v1_runs_run_id_artifacts_artifact_id_file_get(
1166
+ self,
1167
+ run_id: Annotated[StrictStr, Field(description="Run id, returned by `POST /runs/` endpoint")],
1168
+ artifact_id: Annotated[StrictStr, Field(description="The artifact id to download")],
1169
+ _request_timeout: Union[
1170
+ None,
1171
+ Annotated[StrictFloat, Field(gt=0)],
1172
+ Tuple[
1173
+ Annotated[StrictFloat, Field(gt=0)],
1174
+ Annotated[StrictFloat, Field(gt=0)]
1175
+ ]
1176
+ ] = None,
1177
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1178
+ _content_type: Optional[StrictStr] = None,
1179
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1180
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1181
+ ) -> object:
1182
+ """Get Artifact Url
1183
+
1184
+ Download the artifact file with the specified artifact_id, belonging to the specified run. The artifact_is is returned by the `GET /v1/runs/{run_id}/items` endpoint as part of the item results, and can also be retrieved via `GET /v1/runs/{run_id}/items/{external_id}`. The endpoint may return a redirect response with a presigned URL to download the artifact file from the storage bucket. The presigned URL is valid for a limited time, so it should be used immediately after receiving the response.
1185
+
1186
+ :param run_id: Run id, returned by `POST /runs/` endpoint (required)
1187
+ :type run_id: str
1188
+ :param artifact_id: The artifact id to download (required)
1189
+ :type artifact_id: str
1190
+ :param _request_timeout: timeout setting for this request. If one
1191
+ number provided, it will be total request
1192
+ timeout. It can also be a pair (tuple) of
1193
+ (connection, read) timeouts.
1194
+ :type _request_timeout: int, tuple(int, int), optional
1195
+ :param _request_auth: set to override the auth_settings for an a single
1196
+ request; this effectively ignores the
1197
+ authentication in the spec for a single request.
1198
+ :type _request_auth: dict, optional
1199
+ :param _content_type: force content-type for the request.
1200
+ :type _content_type: str, Optional
1201
+ :param _headers: set to override the headers for a single
1202
+ request; this effectively ignores the headers
1203
+ in the spec for a single request.
1204
+ :type _headers: dict, optional
1205
+ :param _host_index: set to override the host_index for a single
1206
+ request; this effectively ignores the host_index
1207
+ in the spec for a single request.
1208
+ :type _host_index: int, optional
1209
+ :return: Returns the result object.
1210
+ """ # noqa: E501
1211
+
1212
+ _param = self._get_artifact_url_v1_runs_run_id_artifacts_artifact_id_file_get_serialize(
1213
+ run_id=run_id,
1214
+ artifact_id=artifact_id,
1215
+ _request_auth=_request_auth,
1216
+ _content_type=_content_type,
1217
+ _headers=_headers,
1218
+ _host_index=_host_index
1219
+ )
1220
+
1221
+ _response_types_map: Dict[str, Optional[str]] = {
1222
+ '200': "object",
1223
+ '404': None,
1224
+ '307': None,
1225
+ '403': None,
1226
+ '410': None,
1227
+ '422': "HTTPValidationError",
1228
+ }
1229
+ response_data = self.api_client.call_api(
1230
+ *_param,
1231
+ _request_timeout=_request_timeout
1232
+ )
1233
+ response_data.read()
1234
+ return self.api_client.response_deserialize(
1235
+ response_data=response_data,
1236
+ response_types_map=_response_types_map,
1237
+ ).data
1238
+
1239
+
1240
+ @validate_call
1241
+ def get_artifact_url_v1_runs_run_id_artifacts_artifact_id_file_get_with_http_info(
1242
+ self,
1243
+ run_id: Annotated[StrictStr, Field(description="Run id, returned by `POST /runs/` endpoint")],
1244
+ artifact_id: Annotated[StrictStr, Field(description="The artifact id to download")],
1245
+ _request_timeout: Union[
1246
+ None,
1247
+ Annotated[StrictFloat, Field(gt=0)],
1248
+ Tuple[
1249
+ Annotated[StrictFloat, Field(gt=0)],
1250
+ Annotated[StrictFloat, Field(gt=0)]
1251
+ ]
1252
+ ] = None,
1253
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1254
+ _content_type: Optional[StrictStr] = None,
1255
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1256
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1257
+ ) -> ApiResponse[object]:
1258
+ """Get Artifact Url
1259
+
1260
+ Download the artifact file with the specified artifact_id, belonging to the specified run. The artifact_is is returned by the `GET /v1/runs/{run_id}/items` endpoint as part of the item results, and can also be retrieved via `GET /v1/runs/{run_id}/items/{external_id}`. The endpoint may return a redirect response with a presigned URL to download the artifact file from the storage bucket. The presigned URL is valid for a limited time, so it should be used immediately after receiving the response.
1261
+
1262
+ :param run_id: Run id, returned by `POST /runs/` endpoint (required)
1263
+ :type run_id: str
1264
+ :param artifact_id: The artifact id to download (required)
1265
+ :type artifact_id: str
1266
+ :param _request_timeout: timeout setting for this request. If one
1267
+ number provided, it will be total request
1268
+ timeout. It can also be a pair (tuple) of
1269
+ (connection, read) timeouts.
1270
+ :type _request_timeout: int, tuple(int, int), optional
1271
+ :param _request_auth: set to override the auth_settings for an a single
1272
+ request; this effectively ignores the
1273
+ authentication in the spec for a single request.
1274
+ :type _request_auth: dict, optional
1275
+ :param _content_type: force content-type for the request.
1276
+ :type _content_type: str, Optional
1277
+ :param _headers: set to override the headers for a single
1278
+ request; this effectively ignores the headers
1279
+ in the spec for a single request.
1280
+ :type _headers: dict, optional
1281
+ :param _host_index: set to override the host_index for a single
1282
+ request; this effectively ignores the host_index
1283
+ in the spec for a single request.
1284
+ :type _host_index: int, optional
1285
+ :return: Returns the result object.
1286
+ """ # noqa: E501
1287
+
1288
+ _param = self._get_artifact_url_v1_runs_run_id_artifacts_artifact_id_file_get_serialize(
1289
+ run_id=run_id,
1290
+ artifact_id=artifact_id,
1291
+ _request_auth=_request_auth,
1292
+ _content_type=_content_type,
1293
+ _headers=_headers,
1294
+ _host_index=_host_index
1295
+ )
1296
+
1297
+ _response_types_map: Dict[str, Optional[str]] = {
1298
+ '200': "object",
1299
+ '404': None,
1300
+ '307': None,
1301
+ '403': None,
1302
+ '410': None,
1303
+ '422': "HTTPValidationError",
1304
+ }
1305
+ response_data = self.api_client.call_api(
1306
+ *_param,
1307
+ _request_timeout=_request_timeout
1308
+ )
1309
+ response_data.read()
1310
+ return self.api_client.response_deserialize(
1311
+ response_data=response_data,
1312
+ response_types_map=_response_types_map,
1313
+ )
1314
+
1315
+
1316
+ @validate_call
1317
+ def get_artifact_url_v1_runs_run_id_artifacts_artifact_id_file_get_without_preload_content(
1318
+ self,
1319
+ run_id: Annotated[StrictStr, Field(description="Run id, returned by `POST /runs/` endpoint")],
1320
+ artifact_id: Annotated[StrictStr, Field(description="The artifact id to download")],
1321
+ _request_timeout: Union[
1322
+ None,
1323
+ Annotated[StrictFloat, Field(gt=0)],
1324
+ Tuple[
1325
+ Annotated[StrictFloat, Field(gt=0)],
1326
+ Annotated[StrictFloat, Field(gt=0)]
1327
+ ]
1328
+ ] = None,
1329
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1330
+ _content_type: Optional[StrictStr] = None,
1331
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1332
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1333
+ ) -> RESTResponseType:
1334
+ """Get Artifact Url
1335
+
1336
+ Download the artifact file with the specified artifact_id, belonging to the specified run. The artifact_is is returned by the `GET /v1/runs/{run_id}/items` endpoint as part of the item results, and can also be retrieved via `GET /v1/runs/{run_id}/items/{external_id}`. The endpoint may return a redirect response with a presigned URL to download the artifact file from the storage bucket. The presigned URL is valid for a limited time, so it should be used immediately after receiving the response.
1337
+
1338
+ :param run_id: Run id, returned by `POST /runs/` endpoint (required)
1339
+ :type run_id: str
1340
+ :param artifact_id: The artifact id to download (required)
1341
+ :type artifact_id: str
1342
+ :param _request_timeout: timeout setting for this request. If one
1343
+ number provided, it will be total request
1344
+ timeout. It can also be a pair (tuple) of
1345
+ (connection, read) timeouts.
1346
+ :type _request_timeout: int, tuple(int, int), optional
1347
+ :param _request_auth: set to override the auth_settings for an a single
1348
+ request; this effectively ignores the
1349
+ authentication in the spec for a single request.
1350
+ :type _request_auth: dict, optional
1351
+ :param _content_type: force content-type for the request.
1352
+ :type _content_type: str, Optional
1353
+ :param _headers: set to override the headers for a single
1354
+ request; this effectively ignores the headers
1355
+ in the spec for a single request.
1356
+ :type _headers: dict, optional
1357
+ :param _host_index: set to override the host_index for a single
1358
+ request; this effectively ignores the host_index
1359
+ in the spec for a single request.
1360
+ :type _host_index: int, optional
1361
+ :return: Returns the result object.
1362
+ """ # noqa: E501
1363
+
1364
+ _param = self._get_artifact_url_v1_runs_run_id_artifacts_artifact_id_file_get_serialize(
1365
+ run_id=run_id,
1366
+ artifact_id=artifact_id,
1367
+ _request_auth=_request_auth,
1368
+ _content_type=_content_type,
1369
+ _headers=_headers,
1370
+ _host_index=_host_index
1371
+ )
1372
+
1373
+ _response_types_map: Dict[str, Optional[str]] = {
1374
+ '200': "object",
1375
+ '404': None,
1376
+ '307': None,
1377
+ '403': None,
1378
+ '410': None,
1379
+ '422': "HTTPValidationError",
1380
+ }
1381
+ response_data = self.api_client.call_api(
1382
+ *_param,
1383
+ _request_timeout=_request_timeout
1384
+ )
1385
+ return response_data.response
1386
+
1387
+
1388
+ def _get_artifact_url_v1_runs_run_id_artifacts_artifact_id_file_get_serialize(
1389
+ self,
1390
+ run_id,
1391
+ artifact_id,
1392
+ _request_auth,
1393
+ _content_type,
1394
+ _headers,
1395
+ _host_index,
1396
+ ) -> RequestSerialized:
1397
+
1398
+ _host = None
1399
+
1400
+ _collection_formats: Dict[str, str] = {
1401
+ }
1402
+
1403
+ _path_params: Dict[str, str] = {}
1404
+ _query_params: List[Tuple[str, str]] = []
1405
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1406
+ _form_params: List[Tuple[str, str]] = []
1407
+ _files: Dict[
1408
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1409
+ ] = {}
1410
+ _body_params: Optional[bytes] = None
1411
+
1412
+ # process the path parameters
1413
+ if run_id is not None:
1414
+ _path_params['run_id'] = run_id
1415
+ if artifact_id is not None:
1416
+ _path_params['artifact_id'] = artifact_id
1417
+ # process the query parameters
1418
+ # process the header parameters
1419
+ # process the form parameters
1420
+ # process the body parameter
1421
+
1422
+
1423
+ # set the HTTP header `Accept`
1424
+ if 'Accept' not in _header_params:
1425
+ _header_params['Accept'] = self.api_client.select_header_accept(
1426
+ [
1427
+ 'application/json'
1428
+ ]
1429
+ )
1430
+
1431
+
1432
+ # authentication setting
1433
+ _auth_settings: List[str] = [
1434
+ 'OAuth2AuthorizationCodeBearer'
1435
+ ]
1436
+
1437
+ return self.api_client.param_serialize(
1438
+ method='GET',
1439
+ resource_path='/api/v1/runs/{run_id}/artifacts/{artifact_id}/file',
1440
+ path_params=_path_params,
1441
+ query_params=_query_params,
1442
+ header_params=_header_params,
1443
+ body=_body_params,
1444
+ post_params=_form_params,
1445
+ files=_files,
1446
+ auth_settings=_auth_settings,
1447
+ collection_formats=_collection_formats,
1448
+ _host=_host,
1449
+ _request_auth=_request_auth
1450
+ )
1451
+
1452
+
1453
+
1454
+
1164
1455
  @validate_call
1165
1456
  def get_item_by_run_v1_runs_run_id_items_external_id_get(
1166
1457
  self,
@@ -1983,7 +2274,7 @@ class PublicApi:
1983
2274
  ) -> List[ApplicationReadShortResponse]:
1984
2275
  """List available applications
1985
2276
 
1986
- Returns the list of the applications, available to the caller. The application is available if any of the versions of the application is assigned to the caller’s organization. The response is paginated and sorted according to the provided parameters.
2277
+ Returns the list of the applications, available to the caller. The application is available if any of the versions of the application is assigned to the caller's organization. The response is paginated and sorted according to the provided parameters.
1987
2278
 
1988
2279
  :param page:
1989
2280
  :type page: int
@@ -2060,7 +2351,7 @@ class PublicApi:
2060
2351
  ) -> ApiResponse[List[ApplicationReadShortResponse]]:
2061
2352
  """List available applications
2062
2353
 
2063
- Returns the list of the applications, available to the caller. The application is available if any of the versions of the application is assigned to the caller’s organization. The response is paginated and sorted according to the provided parameters.
2354
+ Returns the list of the applications, available to the caller. The application is available if any of the versions of the application is assigned to the caller's organization. The response is paginated and sorted according to the provided parameters.
2064
2355
 
2065
2356
  :param page:
2066
2357
  :type page: int
@@ -2137,7 +2428,7 @@ class PublicApi:
2137
2428
  ) -> RESTResponseType:
2138
2429
  """List available applications
2139
2430
 
2140
- Returns the list of the applications, available to the caller. The application is available if any of the versions of the application is assigned to the caller’s organization. The response is paginated and sorted according to the provided parameters.
2431
+ Returns the list of the applications, available to the caller. The application is available if any of the versions of the application is assigned to the caller's organization. The response is paginated and sorted according to the provided parameters.
2141
2432
 
2142
2433
  :param page:
2143
2434
  :type page: int
@@ -2681,7 +2972,8 @@ class PublicApi:
2681
2972
  custom_metadata: Annotated[Optional[Annotated[str, Field(strict=True, max_length=1000)]], Field(description="Use PostgreSQL JSONPath expressions to filter runs by their custom_metadata. #### URL Encoding Required **Important**: JSONPath expressions contain special characters that must be URL-encoded when used in query parameters. Most HTTP clients handle this automatically, but when constructing URLs manually, please ensure proper encoding. #### Examples (Clear Format): - **Field existence**: `$.study` - Runs that have a study field defined - **Exact value match**: `$.study ? (@ == \"high\")` - Runs with specific study value - **Numeric comparison**: `$.confidence_score ? (@ > 0.75)` - Runs with confidence score greater than 0.75 - **Array operations**: `$.tags[*] ? (@ == \"draft\")` - Runs with tags array containing \"draft\" - **Complex conditions**: `$.resources ? (@.gpu_count > 2 && @.memory_gb >= 16)` - Runs with high resource requirements #### Examples (URL-Encoded Format): - **Field existence**: `%24.study` - **Exact value match**: `%24.study%20%3F%20(%40%20%3D%3D%20%22high%22)` - **Numeric comparison**: `%24.confidence_score%20%3F%20(%40%20%3E%200.75)` - **Array operations**: `%24.tags%5B*%5D%20%3F%20(%40%20%3D%3D%20%22draft%22)` - **Complex conditions**: `%24.resources%20%3F%20(%40.gpu_count%20%3E%202%20%26%26%20%40.memory_gb%20%3E%3D%2016)` #### Notes - JSONPath expressions are evaluated using PostgreSQL's `@?` operator - The `$.` prefix is automatically added to root-level field references if missing - String values in conditions must be enclosed in double quotes - Use `&&` for AND operations and `||` for OR operations - Regular expressions use `like_regex` with standard regex syntax - **Please remember to URL-encode the entire JSONPath expression when making HTTP requests** ")] = None,
2682
2973
  page: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
2683
2974
  page_size: Optional[Annotated[int, Field(le=100, strict=True, ge=5)]] = None,
2684
- sort: Annotated[Optional[List[StrictStr]], Field(description="Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `statistics` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending) ")] = None,
2975
+ for_organization: Annotated[Optional[StrictStr], Field(description="Filter runs by organization ID. Available for superadmins (any org) and admins (own org only). When provided, returns all runs for the specified organization instead of only the caller's own runs.")] = None,
2976
+ sort: Annotated[Optional[List[StrictStr]], Field(description="Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending) ")] = None,
2685
2977
  _request_timeout: Union[
2686
2978
  None,
2687
2979
  Annotated[StrictFloat, Field(gt=0)],
@@ -2711,7 +3003,9 @@ class PublicApi:
2711
3003
  :type page: int
2712
3004
  :param page_size:
2713
3005
  :type page_size: int
2714
- :param sort: Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `statistics` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending)
3006
+ :param for_organization: Filter runs by organization ID. Available for superadmins (any org) and admins (own org only). When provided, returns all runs for the specified organization instead of only the caller's own runs.
3007
+ :type for_organization: str
3008
+ :param sort: Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending)
2715
3009
  :type sort: List[str]
2716
3010
  :param _request_timeout: timeout setting for this request. If one
2717
3011
  number provided, it will be total request
@@ -2742,6 +3036,7 @@ class PublicApi:
2742
3036
  custom_metadata=custom_metadata,
2743
3037
  page=page,
2744
3038
  page_size=page_size,
3039
+ for_organization=for_organization,
2745
3040
  sort=sort,
2746
3041
  _request_auth=_request_auth,
2747
3042
  _content_type=_content_type,
@@ -2774,7 +3069,8 @@ class PublicApi:
2774
3069
  custom_metadata: Annotated[Optional[Annotated[str, Field(strict=True, max_length=1000)]], Field(description="Use PostgreSQL JSONPath expressions to filter runs by their custom_metadata. #### URL Encoding Required **Important**: JSONPath expressions contain special characters that must be URL-encoded when used in query parameters. Most HTTP clients handle this automatically, but when constructing URLs manually, please ensure proper encoding. #### Examples (Clear Format): - **Field existence**: `$.study` - Runs that have a study field defined - **Exact value match**: `$.study ? (@ == \"high\")` - Runs with specific study value - **Numeric comparison**: `$.confidence_score ? (@ > 0.75)` - Runs with confidence score greater than 0.75 - **Array operations**: `$.tags[*] ? (@ == \"draft\")` - Runs with tags array containing \"draft\" - **Complex conditions**: `$.resources ? (@.gpu_count > 2 && @.memory_gb >= 16)` - Runs with high resource requirements #### Examples (URL-Encoded Format): - **Field existence**: `%24.study` - **Exact value match**: `%24.study%20%3F%20(%40%20%3D%3D%20%22high%22)` - **Numeric comparison**: `%24.confidence_score%20%3F%20(%40%20%3E%200.75)` - **Array operations**: `%24.tags%5B*%5D%20%3F%20(%40%20%3D%3D%20%22draft%22)` - **Complex conditions**: `%24.resources%20%3F%20(%40.gpu_count%20%3E%202%20%26%26%20%40.memory_gb%20%3E%3D%2016)` #### Notes - JSONPath expressions are evaluated using PostgreSQL's `@?` operator - The `$.` prefix is automatically added to root-level field references if missing - String values in conditions must be enclosed in double quotes - Use `&&` for AND operations and `||` for OR operations - Regular expressions use `like_regex` with standard regex syntax - **Please remember to URL-encode the entire JSONPath expression when making HTTP requests** ")] = None,
2775
3070
  page: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
2776
3071
  page_size: Optional[Annotated[int, Field(le=100, strict=True, ge=5)]] = None,
2777
- sort: Annotated[Optional[List[StrictStr]], Field(description="Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `statistics` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending) ")] = None,
3072
+ for_organization: Annotated[Optional[StrictStr], Field(description="Filter runs by organization ID. Available for superadmins (any org) and admins (own org only). When provided, returns all runs for the specified organization instead of only the caller's own runs.")] = None,
3073
+ sort: Annotated[Optional[List[StrictStr]], Field(description="Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending) ")] = None,
2778
3074
  _request_timeout: Union[
2779
3075
  None,
2780
3076
  Annotated[StrictFloat, Field(gt=0)],
@@ -2804,7 +3100,9 @@ class PublicApi:
2804
3100
  :type page: int
2805
3101
  :param page_size:
2806
3102
  :type page_size: int
2807
- :param sort: Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `statistics` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending)
3103
+ :param for_organization: Filter runs by organization ID. Available for superadmins (any org) and admins (own org only). When provided, returns all runs for the specified organization instead of only the caller's own runs.
3104
+ :type for_organization: str
3105
+ :param sort: Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending)
2808
3106
  :type sort: List[str]
2809
3107
  :param _request_timeout: timeout setting for this request. If one
2810
3108
  number provided, it will be total request
@@ -2835,6 +3133,7 @@ class PublicApi:
2835
3133
  custom_metadata=custom_metadata,
2836
3134
  page=page,
2837
3135
  page_size=page_size,
3136
+ for_organization=for_organization,
2838
3137
  sort=sort,
2839
3138
  _request_auth=_request_auth,
2840
3139
  _content_type=_content_type,
@@ -2867,7 +3166,8 @@ class PublicApi:
2867
3166
  custom_metadata: Annotated[Optional[Annotated[str, Field(strict=True, max_length=1000)]], Field(description="Use PostgreSQL JSONPath expressions to filter runs by their custom_metadata. #### URL Encoding Required **Important**: JSONPath expressions contain special characters that must be URL-encoded when used in query parameters. Most HTTP clients handle this automatically, but when constructing URLs manually, please ensure proper encoding. #### Examples (Clear Format): - **Field existence**: `$.study` - Runs that have a study field defined - **Exact value match**: `$.study ? (@ == \"high\")` - Runs with specific study value - **Numeric comparison**: `$.confidence_score ? (@ > 0.75)` - Runs with confidence score greater than 0.75 - **Array operations**: `$.tags[*] ? (@ == \"draft\")` - Runs with tags array containing \"draft\" - **Complex conditions**: `$.resources ? (@.gpu_count > 2 && @.memory_gb >= 16)` - Runs with high resource requirements #### Examples (URL-Encoded Format): - **Field existence**: `%24.study` - **Exact value match**: `%24.study%20%3F%20(%40%20%3D%3D%20%22high%22)` - **Numeric comparison**: `%24.confidence_score%20%3F%20(%40%20%3E%200.75)` - **Array operations**: `%24.tags%5B*%5D%20%3F%20(%40%20%3D%3D%20%22draft%22)` - **Complex conditions**: `%24.resources%20%3F%20(%40.gpu_count%20%3E%202%20%26%26%20%40.memory_gb%20%3E%3D%2016)` #### Notes - JSONPath expressions are evaluated using PostgreSQL's `@?` operator - The `$.` prefix is automatically added to root-level field references if missing - String values in conditions must be enclosed in double quotes - Use `&&` for AND operations and `||` for OR operations - Regular expressions use `like_regex` with standard regex syntax - **Please remember to URL-encode the entire JSONPath expression when making HTTP requests** ")] = None,
2868
3167
  page: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
2869
3168
  page_size: Optional[Annotated[int, Field(le=100, strict=True, ge=5)]] = None,
2870
- sort: Annotated[Optional[List[StrictStr]], Field(description="Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `statistics` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending) ")] = None,
3169
+ for_organization: Annotated[Optional[StrictStr], Field(description="Filter runs by organization ID. Available for superadmins (any org) and admins (own org only). When provided, returns all runs for the specified organization instead of only the caller's own runs.")] = None,
3170
+ sort: Annotated[Optional[List[StrictStr]], Field(description="Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending) ")] = None,
2871
3171
  _request_timeout: Union[
2872
3172
  None,
2873
3173
  Annotated[StrictFloat, Field(gt=0)],
@@ -2897,7 +3197,9 @@ class PublicApi:
2897
3197
  :type page: int
2898
3198
  :param page_size:
2899
3199
  :type page_size: int
2900
- :param sort: Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `statistics` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending)
3200
+ :param for_organization: Filter runs by organization ID. Available for superadmins (any org) and admins (own org only). When provided, returns all runs for the specified organization instead of only the caller's own runs.
3201
+ :type for_organization: str
3202
+ :param sort: Sort the results by one or more fields. Use `+` for ascending and `-` for descending order. **Available fields:** - `run_id` - `application_id` - `version_number` - `custom_metadata` - `submitted_at` - `submitted_by` - `terminated_at` - `termination_reason` **Examples:** - `?sort=submitted_at` - Sort by creation time (ascending) - `?sort=-submitted_at` - Sort by creation time (descending) - `?sort=state&sort=-submitted_at` - Sort by state, then by time (descending)
2901
3203
  :type sort: List[str]
2902
3204
  :param _request_timeout: timeout setting for this request. If one
2903
3205
  number provided, it will be total request
@@ -2928,6 +3230,7 @@ class PublicApi:
2928
3230
  custom_metadata=custom_metadata,
2929
3231
  page=page,
2930
3232
  page_size=page_size,
3233
+ for_organization=for_organization,
2931
3234
  sort=sort,
2932
3235
  _request_auth=_request_auth,
2933
3236
  _content_type=_content_type,
@@ -2955,6 +3258,7 @@ class PublicApi:
2955
3258
  custom_metadata,
2956
3259
  page,
2957
3260
  page_size,
3261
+ for_organization,
2958
3262
  sort,
2959
3263
  _request_auth,
2960
3264
  _content_type,
@@ -3003,6 +3307,10 @@ class PublicApi:
3003
3307
 
3004
3308
  _query_params.append(('page_size', page_size))
3005
3309
 
3310
+ if for_organization is not None:
3311
+
3312
+ _query_params.append(('for_organization', for_organization))
3313
+
3006
3314
  if sort is not None:
3007
3315
 
3008
3316
  _query_params.append(('sort', sort))
@@ -5,7 +5,7 @@
5
5
 
6
6
  The Aignostics Platform is a cloud-based service that enables organizations to access advanced computational pathology applications through a secure API. The platform provides standardized access to Aignostics' portfolio of computational pathology solutions, with Atlas H&E-TME serving as an example of the available API endpoints. To begin using the platform, your organization must first be registered by our business support team. If you don't have an account yet, please contact your account manager or email support@aignostics.com to get started. More information about our applications can be found on [https://platform.aignostics.com](https://platform.aignostics.com). **How to authorize and test API endpoints:** 1. Click the \"Authorize\" button in the right corner below 3. Click \"Authorize\" button in the dialog to log in with your Aignostics Platform credentials 4. After successful login, you'll be redirected back and can use \"Try it out\" on any endpoint **Note**: You only need to authorize once per session. The lock icons next to endpoints will show green when authorized.
7
7
 
8
- The version of the OpenAPI document: 1.0.0-ga
8
+ The version of the OpenAPI document: 1.4.0
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -5,7 +5,7 @@
5
5
 
6
6
  The Aignostics Platform is a cloud-based service that enables organizations to access advanced computational pathology applications through a secure API. The platform provides standardized access to Aignostics' portfolio of computational pathology solutions, with Atlas H&E-TME serving as an example of the available API endpoints. To begin using the platform, your organization must first be registered by our business support team. If you don't have an account yet, please contact your account manager or email support@aignostics.com to get started. More information about our applications can be found on [https://platform.aignostics.com](https://platform.aignostics.com). **How to authorize and test API endpoints:** 1. Click the \"Authorize\" button in the right corner below 3. Click \"Authorize\" button in the dialog to log in with your Aignostics Platform credentials 4. After successful login, you'll be redirected back and can use \"Try it out\" on any endpoint **Note**: You only need to authorize once per session. The lock icons next to endpoints will show green when authorized.
7
7
 
8
- The version of the OpenAPI document: 1.0.0-ga
8
+ The version of the OpenAPI document: 1.4.0
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -502,7 +502,7 @@ class Configuration:
502
502
  return "Python SDK Debug Report:\n"\
503
503
  "OS: {env}\n"\
504
504
  "Python Version: {pyversion}\n"\
505
- "Version of the API: 1.0.0-ga\n"\
505
+ "Version of the API: 1.4.0\n"\
506
506
  "SDK Package Version: 1.0.0".\
507
507
  format(env=sys.platform, pyversion=sys.version)
508
508
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  The Aignostics Platform is a cloud-based service that enables organizations to access advanced computational pathology applications through a secure API. The platform provides standardized access to Aignostics' portfolio of computational pathology solutions, with Atlas H&E-TME serving as an example of the available API endpoints. To begin using the platform, your organization must first be registered by our business support team. If you don't have an account yet, please contact your account manager or email support@aignostics.com to get started. More information about our applications can be found on [https://platform.aignostics.com](https://platform.aignostics.com). **How to authorize and test API endpoints:** 1. Click the \"Authorize\" button in the right corner below 3. Click \"Authorize\" button in the dialog to log in with your Aignostics Platform credentials 4. After successful login, you'll be redirected back and can use \"Try it out\" on any endpoint **Note**: You only need to authorize once per session. The lock icons next to endpoints will show green when authorized.
7
7
 
8
- The version of the OpenAPI document: 1.0.0-ga
8
+ The version of the OpenAPI document: 1.4.0
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.