aignostics 0.2.69__tar.gz → 0.2.73__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 (202) hide show
  1. {aignostics-0.2.69 → aignostics-0.2.73}/PKG-INFO +2 -1
  2. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/api/public_api.py +6 -3
  3. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/api_client.py +1 -0
  4. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/configuration.py +1 -0
  5. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/exceptions.py +1 -0
  6. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/application_read_response.py +3 -0
  7. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/application_run_status.py +11 -8
  8. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/application_version_read_response.py +8 -2
  9. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/http_validation_error.py +3 -0
  10. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/input_artifact_creation_request.py +3 -0
  11. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/input_artifact_read_response.py +3 -0
  12. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/item_creation_request.py +3 -0
  13. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/item_result_read_response.py +3 -0
  14. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/item_status.py +9 -6
  15. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/output_artifact_read_response.py +3 -0
  16. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/output_artifact_result_read_response.py +5 -11
  17. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/output_artifact_scope.py +5 -2
  18. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/payload_input_artifact.py +3 -0
  19. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/payload_item.py +3 -0
  20. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/payload_output_artifact.py +3 -0
  21. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/run_creation_request.py +3 -0
  22. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/run_creation_response.py +3 -0
  23. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/run_read_response.py +3 -0
  24. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/transfer_urls.py +3 -0
  25. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/user_payload.py +3 -0
  26. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/validation_error.py +3 -0
  27. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/validation_error_loc_inner.py +3 -0
  28. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/rest.py +1 -0
  29. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/docs/PublicApi.md +2 -1
  30. {aignostics-0.2.69 → aignostics-0.2.73}/examples/notebook.py +1 -1
  31. {aignostics-0.2.69 → aignostics-0.2.73}/pyproject.toml +9 -6
  32. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_cli.py +4 -3
  33. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/_page_application_describe.py +1 -1
  34. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_service.py +10 -7
  35. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_utils.py +1 -1
  36. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/__init__.py +8 -1
  37. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/_authentication.py +4 -1
  38. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/_utils.py +20 -0
  39. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/resources/applications.py +12 -14
  40. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/resources/runs.py +7 -2
  41. {aignostics-0.2.69 → aignostics-0.2.73}/.gitignore +0 -0
  42. {aignostics-0.2.69 → aignostics-0.2.73}/LICENSE +0 -0
  43. {aignostics-0.2.69 → aignostics-0.2.73}/README.md +0 -0
  44. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/.openapi-generator/FILES +0 -0
  45. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/.openapi-generator/VERSION +0 -0
  46. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/api_response.py +0 -0
  47. {aignostics-0.2.69 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/__init__.py +0 -0
  48. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  49. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics/_internal/boto3/examples/s3.rst +0 -0
  50. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  51. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  52. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  53. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  54. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  55. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  56. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  57. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  58. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/boto3/examples/cloudfront.rst +0 -0
  59. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/boto3/examples/s3.rst +0 -0
  60. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  61. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  62. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  63. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  64. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  65. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  66. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  67. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  68. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  69. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  70. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  71. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  72. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  73. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/boto3/examples/cloudfront.rst +0 -0
  74. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/boto3/examples/s3.rst +0 -0
  75. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  76. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  77. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  78. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  79. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/boto3/examples/s3.rst +0 -0
  80. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  81. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  82. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  83. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  84. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  85. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  86. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  87. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  88. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  89. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/boto3/examples/s3.rst +0 -0
  90. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  91. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  92. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  93. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  94. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  95. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  96. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  97. {aignostics-0.2.69 → aignostics-0.2.73}/dist_native_all/dist_native-windows-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon-scalebar +0 -0
  98. {aignostics-0.2.69 → aignostics-0.2.73}/examples/__init__.py +0 -0
  99. {aignostics-0.2.69 → aignostics-0.2.73}/examples/notebook.ipynb +0 -0
  100. {aignostics-0.2.69 → aignostics-0.2.73}/examples/script.py +0 -0
  101. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/__init__.py +0 -0
  102. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/__init__.py +0 -0
  103. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/_frame.py +0 -0
  104. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/_page_application_run_describe.py +0 -0
  105. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/_page_builder.py +0 -0
  106. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/_page_index.py +0 -0
  107. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/_utils.py +0 -0
  108. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/.gitignore +0 -0
  109. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/canceled.lottie +0 -0
  110. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/done.lottie +0 -0
  111. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/empty.lottie +0 -0
  112. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/error.lottie +0 -0
  113. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/error_alt.lottie +0 -0
  114. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-1.png +0 -0
  115. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-2.png +0 -0
  116. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-3.png +0 -0
  117. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-4.png +0 -0
  118. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-5.png +0 -0
  119. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/image-not-found.png +0 -0
  120. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/pending.lottie +0 -0
  121. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/pending_alt.lottie +0 -0
  122. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/ruo.png +0 -0
  123. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/ruo.svg +0 -0
  124. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/application/_settings.py +0 -0
  125. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/bucket/__init__.py +0 -0
  126. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/bucket/_cli.py +0 -0
  127. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/bucket/_gui.py +0 -0
  128. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/bucket/_service.py +0 -0
  129. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/bucket/_settings.py +0 -0
  130. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/bucket/assets/Google-Cloud-logo.png +0 -0
  131. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/bucket/assets/Google-Cloud-logo.svg +0 -0
  132. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/cli.py +0 -0
  133. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/constants.py +0 -0
  134. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/dataset/__init__.py +0 -0
  135. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/dataset/_cli.py +0 -0
  136. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/dataset/_gui.py +0 -0
  137. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/dataset/_service.py +0 -0
  138. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/dataset/assets/NIH-IDC-logo.svg +0 -0
  139. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/gui/__init__.py +0 -0
  140. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/gui/_frame.py +0 -0
  141. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/gui/_theme.py +0 -0
  142. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2 +0 -0
  143. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/gui/assets/logo.png +0 -0
  144. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/notebook/__init__.py +0 -0
  145. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/notebook/_gui.py +0 -0
  146. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/notebook/_notebook.py +0 -0
  147. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/notebook/_service.py +0 -0
  148. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/notebook/assets/python.lottie +0 -0
  149. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/_cli.py +0 -0
  150. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/_client.py +0 -0
  151. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/_constants.py +0 -0
  152. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/_messages.py +0 -0
  153. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/_service.py +0 -0
  154. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/_settings.py +0 -0
  155. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/resources/__init__.py +0 -0
  156. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/platform/resources/utils.py +0 -0
  157. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/__init__.py +0 -0
  158. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/_cli.py +0 -0
  159. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/_gui.py +0 -0
  160. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/_service.py +0 -0
  161. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/_settings.py +0 -0
  162. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/assets/download.lottie +0 -0
  163. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/assets/microscope.lottie +0 -0
  164. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/assets/update.lottie +0 -0
  165. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/scripts/add.groovy +0 -0
  166. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/scripts/annotate.groovy +0 -0
  167. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/scripts/inspect.groovy +0 -0
  168. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/qupath/scripts/test.groovy +0 -0
  169. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/system/__init__.py +0 -0
  170. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/system/_cli.py +0 -0
  171. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/system/_exceptions.py +0 -0
  172. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/system/_gui.py +0 -0
  173. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/system/_service.py +0 -0
  174. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/system/_settings.py +0 -0
  175. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/system/assets/system.lottie +0 -0
  176. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/third_party/bottle.py +0 -0
  177. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/third_party/idc_index.py +0 -0
  178. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/__init__.py +0 -0
  179. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_cli.py +0 -0
  180. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_console.py +0 -0
  181. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_constants.py +0 -0
  182. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_di.py +0 -0
  183. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_fs.py +0 -0
  184. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_gui.py +0 -0
  185. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_health.py +0 -0
  186. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_log.py +0 -0
  187. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_logfire.py +0 -0
  188. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_notebook.py +0 -0
  189. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_process.py +0 -0
  190. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_sentry.py +0 -0
  191. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_service.py +0 -0
  192. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/_settings.py +0 -0
  193. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/utils/boot.py +0 -0
  194. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/wsi/__init__.py +0 -0
  195. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/wsi/_cli.py +0 -0
  196. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/wsi/_gui.py +0 -0
  197. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/wsi/_openslide_handler.py +0 -0
  198. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/wsi/_pydicom_handler.py +0 -0
  199. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/wsi/_service.py +0 -0
  200. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/wsi/_utils.py +0 -0
  201. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics/wsi/assets/fallback.png +0 -0
  202. {aignostics-0.2.69 → aignostics-0.2.73}/src/aignostics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aignostics
3
- Version: 0.2.69
3
+ Version: 0.2.73
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/
@@ -89,6 +89,7 @@ Requires-Dist: pyyaml>=6.0
89
89
  Requires-Dist: requests-oauthlib>=2.0.0
90
90
  Requires-Dist: requests>=2.32.3
91
91
  Requires-Dist: s5cmd>=0.2.0
92
+ Requires-Dist: semver>=3.0.4
92
93
  Requires-Dist: sentry-sdk>=2.30.0
93
94
  Requires-Dist: shapely>=2.1.1
94
95
  Requires-Dist: show-in-file-manager>=1.1.5
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -330,7 +331,7 @@ class PublicApi:
330
331
  ) -> RunCreationResponse:
331
332
  """Create Application Run
332
333
 
333
- The endpoint is used to process the input items by the chosen application version. The endpoint returns the `application_run_id`. The processing fo the items is done asynchronously. To check the status or cancel the execution, use the /v1/runs/{application_run_id} endpoint. ### Payload The payload includes `application_version_id` and `items` base fields. `application_version_id` is the id used for `/v1/versions/{application_id}` endpoint. `items` includes the list of the items to process (slides, in case of HETA application). Every item has a set of standard fields defined by the API, plus the metadata, specific to the chosen application. Example payload structure with the comments: ``` { application_version_id: \"heta:v1.0.0\", items: [{ \"reference\": \"slide_1\" <-- Input ID to connect the input and the output artifact \"input_artifacts\": [{ \"name\": \"input_slide\" <-- Name of the artifact defined by the application (For HETA it is\"input_slide\") \"download_url\": \"https://...\" <-- signed URL to the input file in the S3 or GCS. Should be valid for more than 6 days \"metadata\": { <-- The metadata fields defined by the application. (The example fields set for a slide files are provided) \"checksum_crc32c\": \"abc12==\", \"mime_type\": \"image/tiff\", \"height\": 100, \"weight\": 500, \"mpp\": 0.543 } }] }] } ``` ### Response The endpoint returns the application run UUID. After that the job is scheduled for the execution in the background. To check the status of the run call `v1/runs/{application_run_id}`. ### Rejection Apart from the authentication, authorization and malformed input error, the request can be rejected when the quota limit is exceeded. More details on quotas is described in the documentation
334
+ The endpoint is used to process the input items by the chosen application version. The endpoint returns the `application_run_id`. The processing fo the items is done asynchronously. To check the status or cancel the execution, use the /v1/runs/{application_run_id} endpoint. ### Payload The payload includes `application_version_id` and `items` base fields. `application_version_id` is the id used for `/v1/versions/{application_id}` endpoint. `items` includes the list of the items to process (slides, in case of HETA application). Every item has a set of standard fields defined by the API, plus the metadata, specific to the chosen application. Example payload structure with the comments: ``` { application_version_id: \"test-app:v0.0.2\", items: [{ \"reference\": \"slide_1\", <-- Input ID to connect the input and the output artifact \"input_artifacts\": [{ \"name\": \"input_slide\", <-- Name of the artifact defined by the application (For HETA it is\"input_slide\") \"download_url\": \"https://...\", <-- signed URL to the input file in the S3 or GCS. Should be valid for more than 6 days \"metadata\": { <-- The metadata fields defined by the application. (The example fields set for a slide files are provided) \"checksum_base64_crc32c\": \"abc12==\", \"mime_type\": \"image/tiff\", \"height\": 100, \"weight\": 500, \"mpp\": 0.543 } }] }] } ``` ### Response The endpoint returns the application run UUID. After that the job is scheduled for the execution in the background. To check the status of the run call `v1/runs/{application_run_id}`. ### Rejection Apart from the authentication, authorization and malformed input error, the request can be rejected when the quota limit is exceeded. More details on quotas is described in the documentation
334
335
 
335
336
  :param run_creation_request: (required)
336
337
  :type run_creation_request: RunCreationRequest
@@ -399,7 +400,7 @@ class PublicApi:
399
400
  ) -> ApiResponse[RunCreationResponse]:
400
401
  """Create Application Run
401
402
 
402
- The endpoint is used to process the input items by the chosen application version. The endpoint returns the `application_run_id`. The processing fo the items is done asynchronously. To check the status or cancel the execution, use the /v1/runs/{application_run_id} endpoint. ### Payload The payload includes `application_version_id` and `items` base fields. `application_version_id` is the id used for `/v1/versions/{application_id}` endpoint. `items` includes the list of the items to process (slides, in case of HETA application). Every item has a set of standard fields defined by the API, plus the metadata, specific to the chosen application. Example payload structure with the comments: ``` { application_version_id: \"heta:v1.0.0\", items: [{ \"reference\": \"slide_1\" <-- Input ID to connect the input and the output artifact \"input_artifacts\": [{ \"name\": \"input_slide\" <-- Name of the artifact defined by the application (For HETA it is\"input_slide\") \"download_url\": \"https://...\" <-- signed URL to the input file in the S3 or GCS. Should be valid for more than 6 days \"metadata\": { <-- The metadata fields defined by the application. (The example fields set for a slide files are provided) \"checksum_crc32c\": \"abc12==\", \"mime_type\": \"image/tiff\", \"height\": 100, \"weight\": 500, \"mpp\": 0.543 } }] }] } ``` ### Response The endpoint returns the application run UUID. After that the job is scheduled for the execution in the background. To check the status of the run call `v1/runs/{application_run_id}`. ### Rejection Apart from the authentication, authorization and malformed input error, the request can be rejected when the quota limit is exceeded. More details on quotas is described in the documentation
403
+ The endpoint is used to process the input items by the chosen application version. The endpoint returns the `application_run_id`. The processing fo the items is done asynchronously. To check the status or cancel the execution, use the /v1/runs/{application_run_id} endpoint. ### Payload The payload includes `application_version_id` and `items` base fields. `application_version_id` is the id used for `/v1/versions/{application_id}` endpoint. `items` includes the list of the items to process (slides, in case of HETA application). Every item has a set of standard fields defined by the API, plus the metadata, specific to the chosen application. Example payload structure with the comments: ``` { application_version_id: \"test-app:v0.0.2\", items: [{ \"reference\": \"slide_1\", <-- Input ID to connect the input and the output artifact \"input_artifacts\": [{ \"name\": \"input_slide\", <-- Name of the artifact defined by the application (For HETA it is\"input_slide\") \"download_url\": \"https://...\", <-- signed URL to the input file in the S3 or GCS. Should be valid for more than 6 days \"metadata\": { <-- The metadata fields defined by the application. (The example fields set for a slide files are provided) \"checksum_base64_crc32c\": \"abc12==\", \"mime_type\": \"image/tiff\", \"height\": 100, \"weight\": 500, \"mpp\": 0.543 } }] }] } ``` ### Response The endpoint returns the application run UUID. After that the job is scheduled for the execution in the background. To check the status of the run call `v1/runs/{application_run_id}`. ### Rejection Apart from the authentication, authorization and malformed input error, the request can be rejected when the quota limit is exceeded. More details on quotas is described in the documentation
403
404
 
404
405
  :param run_creation_request: (required)
405
406
  :type run_creation_request: RunCreationRequest
@@ -468,7 +469,7 @@ class PublicApi:
468
469
  ) -> RESTResponseType:
469
470
  """Create Application Run
470
471
 
471
- The endpoint is used to process the input items by the chosen application version. The endpoint returns the `application_run_id`. The processing fo the items is done asynchronously. To check the status or cancel the execution, use the /v1/runs/{application_run_id} endpoint. ### Payload The payload includes `application_version_id` and `items` base fields. `application_version_id` is the id used for `/v1/versions/{application_id}` endpoint. `items` includes the list of the items to process (slides, in case of HETA application). Every item has a set of standard fields defined by the API, plus the metadata, specific to the chosen application. Example payload structure with the comments: ``` { application_version_id: \"heta:v1.0.0\", items: [{ \"reference\": \"slide_1\" <-- Input ID to connect the input and the output artifact \"input_artifacts\": [{ \"name\": \"input_slide\" <-- Name of the artifact defined by the application (For HETA it is\"input_slide\") \"download_url\": \"https://...\" <-- signed URL to the input file in the S3 or GCS. Should be valid for more than 6 days \"metadata\": { <-- The metadata fields defined by the application. (The example fields set for a slide files are provided) \"checksum_crc32c\": \"abc12==\", \"mime_type\": \"image/tiff\", \"height\": 100, \"weight\": 500, \"mpp\": 0.543 } }] }] } ``` ### Response The endpoint returns the application run UUID. After that the job is scheduled for the execution in the background. To check the status of the run call `v1/runs/{application_run_id}`. ### Rejection Apart from the authentication, authorization and malformed input error, the request can be rejected when the quota limit is exceeded. More details on quotas is described in the documentation
472
+ The endpoint is used to process the input items by the chosen application version. The endpoint returns the `application_run_id`. The processing fo the items is done asynchronously. To check the status or cancel the execution, use the /v1/runs/{application_run_id} endpoint. ### Payload The payload includes `application_version_id` and `items` base fields. `application_version_id` is the id used for `/v1/versions/{application_id}` endpoint. `items` includes the list of the items to process (slides, in case of HETA application). Every item has a set of standard fields defined by the API, plus the metadata, specific to the chosen application. Example payload structure with the comments: ``` { application_version_id: \"test-app:v0.0.2\", items: [{ \"reference\": \"slide_1\", <-- Input ID to connect the input and the output artifact \"input_artifacts\": [{ \"name\": \"input_slide\", <-- Name of the artifact defined by the application (For HETA it is\"input_slide\") \"download_url\": \"https://...\", <-- signed URL to the input file in the S3 or GCS. Should be valid for more than 6 days \"metadata\": { <-- The metadata fields defined by the application. (The example fields set for a slide files are provided) \"checksum_base64_crc32c\": \"abc12==\", \"mime_type\": \"image/tiff\", \"height\": 100, \"weight\": 500, \"mpp\": 0.543 } }] }] } ``` ### Response The endpoint returns the application run UUID. After that the job is scheduled for the execution in the background. To check the status of the run call `v1/runs/{application_run_id}`. ### Rejection Apart from the authentication, authorization and malformed input error, the request can be rejected when the quota limit is exceeded. More details on quotas is described in the documentation
472
473
 
473
474
  :param run_creation_request: (required)
474
475
  :type run_creation_request: RunCreationRequest
@@ -2520,3 +2521,5 @@ class PublicApi:
2520
2521
  _host=_host,
2521
2522
  _request_auth=_request_auth
2522
2523
  )
2524
+
2525
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -88,3 +89,5 @@ class ApplicationReadResponse(BaseModel):
88
89
  "description": obj.get("description")
89
90
  })
90
91
  return _obj
92
+
93
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -25,16 +26,18 @@ class ApplicationRunStatus(str, Enum):
25
26
  """
26
27
  allowed enum values
27
28
  """
28
- CANCELED_SYSTEM = 'canceled_system'
29
- CANCELED_USER = 'canceled_user'
30
- COMPLETED = 'completed'
31
- COMPLETED_WITH_ERROR = 'completed_with_error'
32
- RECEIVED = 'received'
33
- REJECTED = 'rejected'
34
- RUNNING = 'running'
35
- SCHEDULED = 'scheduled'
29
+ CANCELED_SYSTEM = 'CANCELED_SYSTEM'
30
+ CANCELED_USER = 'CANCELED_USER'
31
+ COMPLETED = 'COMPLETED'
32
+ COMPLETED_WITH_ERROR = 'COMPLETED_WITH_ERROR'
33
+ RECEIVED = 'RECEIVED'
34
+ REJECTED = 'REJECTED'
35
+ RUNNING = 'RUNNING'
36
+ SCHEDULED = 'SCHEDULED'
36
37
 
37
38
  @classmethod
38
39
  def from_json(cls, json_str: str) -> Self:
39
40
  """Create an instance of ApplicationRunStatus from a JSON string"""
40
41
  return cls(json.loads(json_str))
42
+
43
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -16,6 +17,7 @@ import pprint
16
17
  import re # noqa: F401
17
18
  import json
18
19
 
20
+ from datetime import datetime
19
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
20
22
  from typing import Any, ClassVar, Dict, List, Optional
21
23
  from aignx.codegen.models.input_artifact_read_response import InputArtifactReadResponse
@@ -34,7 +36,8 @@ class ApplicationVersionReadResponse(BaseModel):
34
36
  changelog: StrictStr = Field(description="Description of the changes relative to the previous version")
35
37
  input_artifacts: List[InputArtifactReadResponse] = Field(description="List of the input fields, provided by the User")
36
38
  output_artifacts: List[OutputArtifactReadResponse] = Field(description="List of the output fields, generated by the application")
37
- __properties: ClassVar[List[str]] = ["application_version_id", "version", "application_id", "flow_id", "changelog", "input_artifacts", "output_artifacts"]
39
+ created_at: datetime = Field(description="The timestamp when the application version was registered")
40
+ __properties: ClassVar[List[str]] = ["application_version_id", "version", "application_id", "flow_id", "changelog", "input_artifacts", "output_artifacts", "created_at"]
38
41
 
39
42
  model_config = ConfigDict(
40
43
  populate_by_name=True,
@@ -112,6 +115,9 @@ class ApplicationVersionReadResponse(BaseModel):
112
115
  "flow_id": obj.get("flow_id"),
113
116
  "changelog": obj.get("changelog"),
114
117
  "input_artifacts": [InputArtifactReadResponse.from_dict(_item) for _item in obj["input_artifacts"]] if obj.get("input_artifacts") is not None else None,
115
- "output_artifacts": [OutputArtifactReadResponse.from_dict(_item) for _item in obj["output_artifacts"]] if obj.get("output_artifacts") is not None else None
118
+ "output_artifacts": [OutputArtifactReadResponse.from_dict(_item) for _item in obj["output_artifacts"]] if obj.get("output_artifacts") is not None else None,
119
+ "created_at": obj.get("created_at")
116
120
  })
117
121
  return _obj
122
+
123
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -90,3 +91,5 @@ class HTTPValidationError(BaseModel):
90
91
  "detail": [ValidationError.from_dict(_item) for _item in obj["detail"]] if obj.get("detail") is not None else None
91
92
  })
92
93
  return _obj
94
+
95
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -87,3 +88,5 @@ class InputArtifactCreationRequest(BaseModel):
87
88
  "metadata": obj.get("metadata")
88
89
  })
89
90
  return _obj
91
+
92
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -94,3 +95,5 @@ class InputArtifactReadResponse(BaseModel):
94
95
  "metadata_schema": obj.get("metadata_schema")
95
96
  })
96
97
  return _obj
98
+
99
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -92,3 +93,5 @@ class ItemCreationRequest(BaseModel):
92
93
  "input_artifacts": [InputArtifactCreationRequest.from_dict(_item) for _item in obj["input_artifacts"]] if obj.get("input_artifacts") is not None else None
93
94
  })
94
95
  return _obj
96
+
97
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -106,3 +107,5 @@ class ItemResultReadResponse(BaseModel):
106
107
  "output_artifacts": [OutputArtifactResultReadResponse.from_dict(_item) for _item in obj["output_artifacts"]] if obj.get("output_artifacts") is not None else None
107
108
  })
108
109
  return _obj
110
+
111
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -25,14 +26,16 @@ class ItemStatus(str, Enum):
25
26
  """
26
27
  allowed enum values
27
28
  """
28
- PENDING = 'pending'
29
- CANCELED_USER = 'canceled_user'
30
- CANCELED_SYSTEM = 'canceled_system'
31
- ERROR_USER = 'error_user'
32
- ERROR_SYSTEM = 'error_system'
33
- SUCCEEDED = 'succeeded'
29
+ PENDING = 'PENDING'
30
+ CANCELED_USER = 'CANCELED_USER'
31
+ CANCELED_SYSTEM = 'CANCELED_SYSTEM'
32
+ ERROR_USER = 'ERROR_USER'
33
+ ERROR_SYSTEM = 'ERROR_SYSTEM'
34
+ SUCCEEDED = 'SUCCEEDED'
34
35
 
35
36
  @classmethod
36
37
  def from_json(cls, json_str: str) -> Self:
37
38
  """Create an instance of ItemStatus from a JSON string"""
38
39
  return cls(json.loads(json_str))
40
+
41
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -97,3 +98,5 @@ class OutputArtifactReadResponse(BaseModel):
97
98
  "scope": obj.get("scope")
98
99
  })
99
100
  return _obj
101
+
102
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -16,7 +17,7 @@ import pprint
16
17
  import re # noqa: F401
17
18
  import json
18
19
 
19
- from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
20
21
  from typing import Any, ClassVar, Dict, List, Optional
21
22
  from typing_extensions import Annotated
22
23
  from typing import Optional, Set
@@ -28,17 +29,9 @@ class OutputArtifactResultReadResponse(BaseModel):
28
29
  """ # noqa: E501
29
30
  output_artifact_id: StrictStr = Field(description="The Id of the artifact. Used internally")
30
31
  name: StrictStr = Field(description=" Name of the output from the output schema from the `/v1/versions/{version_id}` endpoint. ")
31
- mime_type: Annotated[str, Field(strict=True)] = Field(description="The mime type of the output file")
32
32
  metadata: Dict[str, Any] = Field(description="The metadata of the output artifact, provided by the application")
33
33
  download_url: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=2083)]]
34
- __properties: ClassVar[List[str]] = ["output_artifact_id", "name", "mime_type", "metadata", "download_url"]
35
-
36
- @field_validator('mime_type')
37
- def mime_type_validate_regular_expression(cls, value):
38
- """Validates the regular expression"""
39
- if not re.match(r"^\w+\/\w+[-+.|\w+]+\w+$", value):
40
- raise ValueError(r"must validate the regular expression /^\w+\/\w+[-+.|\w+]+\w+$/")
41
- return value
34
+ __properties: ClassVar[List[str]] = ["output_artifact_id", "name", "metadata", "download_url"]
42
35
 
43
36
  model_config = ConfigDict(
44
37
  populate_by_name=True,
@@ -98,8 +91,9 @@ class OutputArtifactResultReadResponse(BaseModel):
98
91
  _obj = cls.model_validate({
99
92
  "output_artifact_id": obj.get("output_artifact_id"),
100
93
  "name": obj.get("name"),
101
- "mime_type": obj.get("mime_type"),
102
94
  "metadata": obj.get("metadata"),
103
95
  "download_url": obj.get("download_url")
104
96
  })
105
97
  return _obj
98
+
99
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -25,10 +26,12 @@ class OutputArtifactScope(str, Enum):
25
26
  """
26
27
  allowed enum values
27
28
  """
28
- ITEM = 'item'
29
- GLOBAL = 'global'
29
+ ITEM = 'ITEM'
30
+ GLOBAL = 'GLOBAL'
30
31
 
31
32
  @classmethod
32
33
  def from_json(cls, json_str: str) -> Self:
33
34
  """Create an instance of OutputArtifactScope from a JSON string"""
34
35
  return cls(json.loads(json_str))
36
+
37
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -87,3 +88,5 @@ class PayloadInputArtifact(BaseModel):
87
88
  "download_url": obj.get("download_url")
88
89
  })
89
90
  return _obj
91
+
92
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -112,3 +113,5 @@ class PayloadItem(BaseModel):
112
113
  else None
113
114
  })
114
115
  return _obj
116
+
117
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -93,3 +94,5 @@ class PayloadOutputArtifact(BaseModel):
93
94
  "metadata": TransferUrls.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None
94
95
  })
95
96
  return _obj
97
+
98
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -92,3 +93,5 @@ class RunCreationRequest(BaseModel):
92
93
  "items": [ItemCreationRequest.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None
93
94
  })
94
95
  return _obj
96
+
97
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -82,3 +83,5 @@ class RunCreationResponse(BaseModel):
82
83
  "application_run_id": obj.get("application_run_id") if obj.get("application_run_id") is not None else 'Application run id'
83
84
  })
84
85
  return _obj
86
+
87
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -105,3 +106,5 @@ class RunReadResponse(BaseModel):
105
106
  "triggered_by": obj.get("triggered_by")
106
107
  })
107
108
  return _obj
109
+
110
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -85,3 +86,5 @@ class TransferUrls(BaseModel):
85
86
  "download_url": obj.get("download_url")
86
87
  })
87
88
  return _obj
89
+
90
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -114,3 +115,5 @@ class UserPayload(BaseModel):
114
115
  "items": [PayloadItem.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None
115
116
  })
116
117
  return _obj
118
+
119
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -94,3 +95,5 @@ class ValidationError(BaseModel):
94
95
  "type": obj.get("type")
95
96
  })
96
97
  return _obj
98
+
99
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -133,3 +134,5 @@ class ValidationErrorLocInner(BaseModel):
133
134
  def to_str(self) -> str:
134
135
  """Returns the string representation of the actual instance"""
135
136
  return pprint.pformat(self.model_dump())
137
+
138
+
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
 
2
3
  """
3
4
  Aignostics Platform API reference
@@ -95,7 +95,7 @@ Name | Type | Description | Notes
95
95
 
96
96
  Create Application Run
97
97
 
98
- The endpoint is used to process the input items by the chosen application version. The endpoint returns the `application_run_id`. The processing fo the items is done asynchronously. To check the status or cancel the execution, use the /v1/runs/{application_run_id} endpoint. ### Payload The payload includes `application_version_id` and `items` base fields. `application_version_id` is the id used for `/v1/versions/{application_id}` endpoint. `items` includes the list of the items to process (slides, in case of HETA application). Every item has a set of standard fields defined by the API, plus the metadata, specific to the chosen application. Example payload structure with the comments: ``` { application_version_id: \"heta:v1.0.0\", items: [{ \"reference\": \"slide_1\" <-- Input ID to connect the input and the output artifact \"input_artifacts\": [{ \"name\": \"input_slide\" <-- Name of the artifact defined by the application (For HETA it is\"input_slide\") \"download_url\": \"https://...\" <-- signed URL to the input file in the S3 or GCS. Should be valid for more than 6 days \"metadata\": { <-- The metadata fields defined by the application. (The example fields set for a slide files are provided) \"checksum_crc32c\": \"abc12==\", \"mime_type\": \"image/tiff\", \"height\": 100, \"weight\": 500, \"mpp\": 0.543 } }] }] } ``` ### Response The endpoint returns the application run UUID. After that the job is scheduled for the execution in the background. To check the status of the run call `v1/runs/{application_run_id}`. ### Rejection Apart from the authentication, authorization and malformed input error, the request can be rejected when the quota limit is exceeded. More details on quotas is described in the documentation
98
+ The endpoint is used to process the input items by the chosen application version. The endpoint returns the `application_run_id`. The processing fo the items is done asynchronously. To check the status or cancel the execution, use the /v1/runs/{application_run_id} endpoint. ### Payload The payload includes `application_version_id` and `items` base fields. `application_version_id` is the id used for `/v1/versions/{application_id}` endpoint. `items` includes the list of the items to process (slides, in case of HETA application). Every item has a set of standard fields defined by the API, plus the metadata, specific to the chosen application. Example payload structure with the comments: ``` { application_version_id: \"test-app:v0.0.2\", items: [{ \"reference\": \"slide_1\", <-- Input ID to connect the input and the output artifact \"input_artifacts\": [{ \"name\": \"input_slide\", <-- Name of the artifact defined by the application (For HETA it is\"input_slide\") \"download_url\": \"https://...\", <-- signed URL to the input file in the S3 or GCS. Should be valid for more than 6 days \"metadata\": { <-- The metadata fields defined by the application. (The example fields set for a slide files are provided) \"checksum_base64_crc32c\": \"abc12==\", \"mime_type\": \"image/tiff\", \"height\": 100, \"weight\": 500, \"mpp\": 0.543 } }] }] } ``` ### Response The endpoint returns the application run UUID. After that the job is scheduled for the execution in the background. To check the status of the run call `v1/runs/{application_run_id}`. ### Rejection Apart from the authentication, authorization and malformed input error, the request can be rejected when the quota limit is exceeded. More details on quotas is described in the documentation
99
99
 
100
100
  ### Example
101
101
 
@@ -663,3 +663,4 @@ Name | Type | Description | Notes
663
663
  **422** | Validation Error | - |
664
664
 
665
665
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
666
+
@@ -2,7 +2,7 @@
2
2
  # requires-python = ">=3.13"
3
3
  # dependencies = [
4
4
  # "marimo",
5
- # "aignostics==0.2.69",
5
+ # "aignostics==0.2.73",
6
6
  # ]
7
7
  # ///
8
8
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aignostics"
3
- version = "0.2.69"
3
+ version = "0.2.73"
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 = [
@@ -121,6 +121,7 @@ dependencies = [
121
121
  "requests>=2.32.3",
122
122
  "requests-oauthlib>=2.0.0",
123
123
  "s5cmd>=0.2.0",
124
+ "semver>=3.0.4",
124
125
  "shapely>=2.1.1",
125
126
  "show-in-file-manager>=1.1.5",
126
127
  "tqdm>=4.67.1",
@@ -353,7 +354,7 @@ source = ["src/"]
353
354
 
354
355
 
355
356
  [tool.bumpversion]
356
- current_version = "0.2.69"
357
+ current_version = "0.2.73"
357
358
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
358
359
  serialize = ["{major}.{minor}.{patch}"]
359
360
  search = "{current_version}"
@@ -373,7 +374,7 @@ setup_hooks = []
373
374
  pre_commit_hooks = [
374
375
  "uv sync",
375
376
  "git add uv.lock",
376
- "git-cliff --tag $BVHOOK_NEW_VERSION",
377
+ "uv run git-cliff --tag $BVHOOK_NEW_VERSION",
377
378
  "rm -f CHANGELOG.md.tmp",
378
379
  "git add CHANGELOG.md",
379
380
  ]
@@ -435,7 +436,7 @@ https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
435
436
 
436
437
  {% if version %}\
437
438
  {% if previous.version %}\
438
- ({{ self::remote_url() }}/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
439
+ # [{{ version }}]({{ self::remote_url() }}/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
439
440
  {% else %}\
440
441
  {% endif %}\
441
442
  {% else %}\
@@ -443,6 +444,7 @@ https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
443
444
  {% endif %}\
444
445
 
445
446
  {% for group, commits in commits | group_by(attribute="group") %}
447
+ ### {{ group | striptags | trim | upper_first }}
446
448
  {% for commit in commits
447
449
  | unique(attribute="message")
448
450
  | filter(attribute="scope")
@@ -498,7 +500,7 @@ conventional_commits = true
498
500
  # filter out the commits that are not conventional
499
501
  filter_unconventional = true
500
502
  # process each line of a commit as an individual commit
501
- split_commits = false
503
+ split_commits = true
502
504
  # regex for preprocessing the commit messages
503
505
  commit_preprocessors = [
504
506
  { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))" },
@@ -506,6 +508,8 @@ commit_preprocessors = [
506
508
  # regex for parsing and grouping commits
507
509
  commit_parsers = [
508
510
  { message = "^feat", group = "<!-- 0 -->⛰️ Features" },
511
+ { message = ".*security.*", group = "<!-- 8 -->🛡️ Security" },
512
+ { message = "^sec", group = "<!-- 8 -->🛡️ Security" },
509
513
  { message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
510
514
  { message = "^doc", group = "<!-- 3 -->📚 Documentation" },
511
515
  { message = "^perf", group = "<!-- 4 -->⚡ Performance" },
@@ -514,7 +518,6 @@ commit_parsers = [
514
518
  { message = "^style", group = "<!-- 5 -->🎨 Styling" },
515
519
  { message = "^test", group = "<!-- 6 -->🧪 Testing" },
516
520
  { message = "^chore\\(release\\): prepare for", skip = true },
517
- { message = "^chore\\(deps.*\\)", skip = true },
518
521
  { message = "^chore\\(pr\\)", skip = true },
519
522
  { message = "^chore\\(pull\\)", skip = true },
520
523
  { message = "^chore\\(npm\\).*yarn\\.lock", skip = true },
@@ -16,6 +16,7 @@ from aignostics.utils import console, get_logger, get_user_data_directory, sanit
16
16
  from ._service import DownloadProgress, DownloadProgressState, Service
17
17
  from ._utils import (
18
18
  application_run_status_to_str,
19
+ get_mime_type_for_artifact,
19
20
  print_runs_non_verbose,
20
21
  print_runs_verbose,
21
22
  read_metadata_csv_to_dict,
@@ -231,13 +232,13 @@ def application_describe(
231
232
  console.print(" [bold]Input Artifacts:[/bold]")
232
233
  for artifact in version.input_artifacts:
233
234
  console.print(f" - Name: {artifact.name}")
234
- console.print(f" MIME Type: {artifact.mime_type}")
235
+ console.print(f" MIME Type: {get_mime_type_for_artifact(artifact)}")
235
236
  console.print(f" Schema: {artifact.metadata_schema}")
236
237
 
237
238
  console.print(" [bold]Output Artifacts:[/bold]")
238
239
  for artifact in version.output_artifacts:
239
240
  console.print(f" - Name: {artifact.name}")
240
- console.print(f" MIME Type: {artifact.mime_type}")
241
+ console.print(f" MIME Type: {get_mime_type_for_artifact}")
241
242
  console.print(f" Scope: {artifact.scope}")
242
243
  console.print(f" Schema: {artifact.metadata_schema}")
243
244
 
@@ -591,7 +592,7 @@ def run_list(
591
592
  print_runs_verbose(runs) if verbose else print_runs_non_verbose(runs)
592
593
  message = f"Listed '{len(runs)}' run(s)."
593
594
  console.print(message, style="info")
594
- logger.info(message, len(runs))
595
+ logger.info(message)
595
596
  except Exception as e:
596
597
  logger.exception("Failed to list runs")
597
598
  console.print(f"[error]Error:[/error] Failed to list runs: {e}")
@@ -250,7 +250,7 @@ async def _page_application_describe(application_id: str) -> None: # noqa: C901
250
250
  artifact.name, icon=mime_type_to_icon(get_mime_type_for_artifact(artifact))
251
251
  ).classes("w-full"):
252
252
  ui.label(f"Scope: {artifact.scope}")
253
- ui.label(f"Mime Type: {artifact.mime_type}")
253
+ ui.label(f"Mime Type: {get_mime_type_for_artifact(artifact)}")
254
254
  ui.label("Metadata")
255
255
  ui.json_editor({
256
256
  "content": {"json": artifact.metadata_schema},