aignostics 0.2.72__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.72 → aignostics-0.2.73}/PKG-INFO +2 -1
  2. {aignostics-0.2.72 → aignostics-0.2.73}/examples/notebook.py +1 -1
  3. {aignostics-0.2.72 → aignostics-0.2.73}/pyproject.toml +3 -2
  4. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_service.py +10 -7
  5. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/resources/applications.py +12 -14
  6. {aignostics-0.2.72 → aignostics-0.2.73}/.gitignore +0 -0
  7. {aignostics-0.2.72 → aignostics-0.2.73}/LICENSE +0 -0
  8. {aignostics-0.2.72 → aignostics-0.2.73}/README.md +0 -0
  9. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/.openapi-generator/FILES +0 -0
  10. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/.openapi-generator/VERSION +0 -0
  11. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/api/public_api.py +0 -0
  12. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/api_client.py +0 -0
  13. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/api_response.py +0 -0
  14. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/configuration.py +0 -0
  15. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/exceptions.py +0 -0
  16. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/__init__.py +0 -0
  17. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/application_read_response.py +0 -0
  18. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/application_run_status.py +0 -0
  19. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/application_version_read_response.py +0 -0
  20. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/http_validation_error.py +0 -0
  21. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/input_artifact_creation_request.py +0 -0
  22. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/input_artifact_read_response.py +0 -0
  23. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/item_creation_request.py +0 -0
  24. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/item_result_read_response.py +0 -0
  25. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/item_status.py +0 -0
  26. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/output_artifact_read_response.py +0 -0
  27. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/output_artifact_result_read_response.py +0 -0
  28. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/output_artifact_scope.py +0 -0
  29. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/payload_input_artifact.py +0 -0
  30. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/payload_item.py +0 -0
  31. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/payload_output_artifact.py +0 -0
  32. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/run_creation_request.py +0 -0
  33. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/run_creation_response.py +0 -0
  34. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/run_read_response.py +0 -0
  35. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/transfer_urls.py +0 -0
  36. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/user_payload.py +0 -0
  37. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/validation_error.py +0 -0
  38. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/models/validation_error_loc_inner.py +0 -0
  39. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/aignx/codegen/rest.py +0 -0
  40. {aignostics-0.2.72 → aignostics-0.2.73}/codegen/out/docs/PublicApi.md +0 -0
  41. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  42. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics/_internal/boto3/examples/s3.rst +0 -0
  43. {aignostics-0.2.72 → 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
  44. {aignostics-0.2.72 → 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
  45. {aignostics-0.2.72 → 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
  46. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  47. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  48. {aignostics-0.2.72 → 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
  49. {aignostics-0.2.72 → 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
  50. {aignostics-0.2.72 → 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
  51. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/boto3/examples/cloudfront.rst +0 -0
  52. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/boto3/examples/s3.rst +0 -0
  53. {aignostics-0.2.72 → 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
  54. {aignostics-0.2.72 → 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
  55. {aignostics-0.2.72 → 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
  56. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  57. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  58. {aignostics-0.2.72 → 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
  59. {aignostics-0.2.72 → 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
  60. {aignostics-0.2.72 → 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
  61. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  62. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  63. {aignostics-0.2.72 → 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
  64. {aignostics-0.2.72 → 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
  65. {aignostics-0.2.72 → 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
  66. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/boto3/examples/cloudfront.rst +0 -0
  67. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/boto3/examples/s3.rst +0 -0
  68. {aignostics-0.2.72 → 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
  69. {aignostics-0.2.72 → 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
  70. {aignostics-0.2.72 → 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
  71. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  72. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/boto3/examples/s3.rst +0 -0
  73. {aignostics-0.2.72 → 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
  74. {aignostics-0.2.72 → 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
  75. {aignostics-0.2.72 → 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
  76. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  77. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  78. {aignostics-0.2.72 → 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
  79. {aignostics-0.2.72 → 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
  80. {aignostics-0.2.72 → 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
  81. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  82. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/boto3/examples/s3.rst +0 -0
  83. {aignostics-0.2.72 → 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
  84. {aignostics-0.2.72 → 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
  85. {aignostics-0.2.72 → 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
  86. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-windows-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  87. {aignostics-0.2.72 → aignostics-0.2.73}/dist_native_all/dist_native-windows-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  88. {aignostics-0.2.72 → 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
  89. {aignostics-0.2.72 → 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
  90. {aignostics-0.2.72 → 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
  91. {aignostics-0.2.72 → aignostics-0.2.73}/examples/__init__.py +0 -0
  92. {aignostics-0.2.72 → aignostics-0.2.73}/examples/notebook.ipynb +0 -0
  93. {aignostics-0.2.72 → aignostics-0.2.73}/examples/script.py +0 -0
  94. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/__init__.py +0 -0
  95. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/__init__.py +0 -0
  96. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_cli.py +0 -0
  97. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/_frame.py +0 -0
  98. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/_page_application_describe.py +0 -0
  99. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/_page_application_run_describe.py +0 -0
  100. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/_page_builder.py +0 -0
  101. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/_page_index.py +0 -0
  102. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/_utils.py +0 -0
  103. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/.gitignore +0 -0
  104. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/canceled.lottie +0 -0
  105. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/done.lottie +0 -0
  106. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/empty.lottie +0 -0
  107. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/error.lottie +0 -0
  108. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/error_alt.lottie +0 -0
  109. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-1.png +0 -0
  110. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-2.png +0 -0
  111. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-3.png +0 -0
  112. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-4.png +0 -0
  113. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/home-card-5.png +0 -0
  114. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/image-not-found.png +0 -0
  115. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/pending.lottie +0 -0
  116. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/pending_alt.lottie +0 -0
  117. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/ruo.png +0 -0
  118. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_gui/assets/ruo.svg +0 -0
  119. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_settings.py +0 -0
  120. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/application/_utils.py +0 -0
  121. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/bucket/__init__.py +0 -0
  122. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/bucket/_cli.py +0 -0
  123. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/bucket/_gui.py +0 -0
  124. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/bucket/_service.py +0 -0
  125. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/bucket/_settings.py +0 -0
  126. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/bucket/assets/Google-Cloud-logo.png +0 -0
  127. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/bucket/assets/Google-Cloud-logo.svg +0 -0
  128. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/cli.py +0 -0
  129. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/constants.py +0 -0
  130. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/dataset/__init__.py +0 -0
  131. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/dataset/_cli.py +0 -0
  132. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/dataset/_gui.py +0 -0
  133. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/dataset/_service.py +0 -0
  134. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/dataset/assets/NIH-IDC-logo.svg +0 -0
  135. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/gui/__init__.py +0 -0
  136. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/gui/_frame.py +0 -0
  137. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/gui/_theme.py +0 -0
  138. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2 +0 -0
  139. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/gui/assets/logo.png +0 -0
  140. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/notebook/__init__.py +0 -0
  141. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/notebook/_gui.py +0 -0
  142. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/notebook/_notebook.py +0 -0
  143. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/notebook/_service.py +0 -0
  144. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/notebook/assets/python.lottie +0 -0
  145. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/__init__.py +0 -0
  146. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/_authentication.py +0 -0
  147. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/_cli.py +0 -0
  148. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/_client.py +0 -0
  149. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/_constants.py +0 -0
  150. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/_messages.py +0 -0
  151. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/_service.py +0 -0
  152. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/_settings.py +0 -0
  153. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/_utils.py +0 -0
  154. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/resources/__init__.py +0 -0
  155. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/resources/runs.py +0 -0
  156. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/platform/resources/utils.py +0 -0
  157. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/__init__.py +0 -0
  158. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/_cli.py +0 -0
  159. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/_gui.py +0 -0
  160. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/_service.py +0 -0
  161. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/_settings.py +0 -0
  162. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/assets/download.lottie +0 -0
  163. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/assets/microscope.lottie +0 -0
  164. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/assets/update.lottie +0 -0
  165. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/scripts/add.groovy +0 -0
  166. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/scripts/annotate.groovy +0 -0
  167. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/scripts/inspect.groovy +0 -0
  168. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/qupath/scripts/test.groovy +0 -0
  169. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/system/__init__.py +0 -0
  170. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/system/_cli.py +0 -0
  171. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/system/_exceptions.py +0 -0
  172. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/system/_gui.py +0 -0
  173. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/system/_service.py +0 -0
  174. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/system/_settings.py +0 -0
  175. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/system/assets/system.lottie +0 -0
  176. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/third_party/bottle.py +0 -0
  177. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/third_party/idc_index.py +0 -0
  178. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/__init__.py +0 -0
  179. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_cli.py +0 -0
  180. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_console.py +0 -0
  181. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_constants.py +0 -0
  182. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_di.py +0 -0
  183. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_fs.py +0 -0
  184. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_gui.py +0 -0
  185. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_health.py +0 -0
  186. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_log.py +0 -0
  187. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_logfire.py +0 -0
  188. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_notebook.py +0 -0
  189. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_process.py +0 -0
  190. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_sentry.py +0 -0
  191. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_service.py +0 -0
  192. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/_settings.py +0 -0
  193. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/utils/boot.py +0 -0
  194. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/wsi/__init__.py +0 -0
  195. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/wsi/_cli.py +0 -0
  196. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/wsi/_gui.py +0 -0
  197. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/wsi/_openslide_handler.py +0 -0
  198. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/wsi/_pydicom_handler.py +0 -0
  199. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/wsi/_service.py +0 -0
  200. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/wsi/_utils.py +0 -0
  201. {aignostics-0.2.72 → aignostics-0.2.73}/src/aignostics/wsi/assets/fallback.png +0 -0
  202. {aignostics-0.2.72 → 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.72
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
@@ -2,7 +2,7 @@
2
2
  # requires-python = ">=3.13"
3
3
  # dependencies = [
4
4
  # "marimo",
5
- # "aignostics==0.2.72",
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.72"
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.72"
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}"
@@ -12,6 +12,7 @@ from typing import Any
12
12
 
13
13
  import google_crc32c
14
14
  import requests
15
+ import semver
15
16
  from pydantic import BaseModel, computed_field
16
17
 
17
18
  from aignostics.bucket import Service as BucketService
@@ -264,21 +265,23 @@ class Service(BaseService):
264
265
  # Validate format: application_id:vX.Y.Z (where X.Y.Z is a semver)
265
266
  # This checks for proper format like "he-tme:v0.50.0" where "he-tme" is the application id
266
267
  # and "v0.50.0" is the version with proper semver format
267
- if not re.match(r"^[^:]+:v\d+\.\d+\.\d+$", application_version_id):
268
+ match = re.match(r"^([^:]+):v(.+)$", application_version_id)
269
+ if not match or not semver.Version.is_valid(match.group(2)):
268
270
  if use_latest_if_no_version_given:
269
- latest_version = self.application_version_latest(self.application(application_version_id))
271
+ application_id = match.group(1) if match else application_version_id
272
+ latest_version = self.application_version_latest(self.application(application_id))
270
273
  if latest_version:
271
274
  return latest_version
272
- message = f"No valid application version found for '{application_version_id}' "
273
- message += "and no latest version available."
275
+ message = (
276
+ f"No valid application version found for '{application_version_id}'no latest version available."
277
+ )
274
278
  logger.warning(message)
275
279
  raise ValueError(message)
276
280
  message = f"Invalid application version id format: {application_version_id}. "
277
- "Expected format: application_id:vX.Y.Z"
281
+ message += "Expected format: application_id:vX.Y.Z"
278
282
  raise ValueError(message)
279
283
 
280
- application_id = application_version_id.split(":", maxsplit=1)[0]
281
-
284
+ application_id = match.group(1)
282
285
  application = self.application(application_id)
283
286
  for version in self.application_versions(application):
284
287
  if version.application_version_id == application_version_id:
@@ -9,6 +9,7 @@ import re
9
9
  import typing as t
10
10
  from operator import itemgetter
11
11
 
12
+ import semver
12
13
  from aignx.codegen.api.public_api import PublicApi
13
14
  from aignx.codegen.models import ApplicationReadResponse as Application
14
15
  from aignx.codegen.models import ApplicationVersionReadResponse as ApplicationVersion
@@ -22,7 +23,7 @@ class Versions:
22
23
  Provides operations to list and retrieve application versions.
23
24
  """
24
25
 
25
- APPLICATION_VERSION_REGEX = re.compile(r"(?P<application_id>[^:]+):v?(?P<version>[^:]+)")
26
+ APPLICATION_VERSION_REGEX = re.compile(r"^(?P<application_id>[^:]+):v(?P<version>[^:].+)$")
26
27
 
27
28
  def __init__(self, api: PublicApi) -> None:
28
29
  """Initializes the Versions resource with the API platform.
@@ -51,9 +52,6 @@ class Versions:
51
52
  application_id=application_id,
52
53
  )
53
54
 
54
- # TODO(Andreas,Helmut): Discuss. This is getting an application version and returning it.
55
- # Can we make this a find_by_id, just getting an application_version_id as a string,
56
- # and returning the application version object?
57
55
  def details(self, application_version: ApplicationVersion | str) -> ApplicationVersion:
58
56
  """Retrieves details for a specific application version.
59
57
 
@@ -71,13 +69,14 @@ class Versions:
71
69
  application_id = application_version.application_id
72
70
  version = application_version.version
73
71
  else:
74
- # split by colon
75
- m = Versions.APPLICATION_VERSION_REGEX.match(application_version)
76
- if not m:
72
+ # Parse and validate the application version ID
73
+ match = self.APPLICATION_VERSION_REGEX.match(application_version)
74
+ if not match:
77
75
  msg = f"Invalid application_version_id: {application_version}"
78
76
  raise RuntimeError(msg)
79
- application_id = m.group("application_id")
80
- version = m.group("version")
77
+
78
+ application_id = match.group("application_id")
79
+ version = match.group("version")
81
80
 
82
81
  application_versions = self._api.list_versions_by_application_id_v1_applications_application_id_versions_get(
83
82
  application_id=application_id,
@@ -106,18 +105,17 @@ class Versions:
106
105
  if not versions:
107
106
  return []
108
107
 
109
- # Extract semantic versions from the version property
108
+ # Extract semantic versions using proper semver parsing
110
109
  versions_with_semver = []
111
110
  for v in versions:
112
111
  try:
113
- # Split into major, minor, patch components for proper comparison
114
- version_parts = [int(x) for x in v.version.split(".")]
115
- versions_with_semver.append((v, version_parts))
112
+ parsed_version = semver.Version.parse(v.version)
113
+ versions_with_semver.append((v, parsed_version))
116
114
  except (ValueError, AttributeError):
117
115
  # If we can't parse the version or version attribute doesn't exist, skip it
118
116
  continue
119
117
 
120
- # Sort by semantic version (major, minor, patch)
118
+ # Sort by semantic version (semver objects have built-in comparison)
121
119
  if versions_with_semver:
122
120
  versions_with_semver.sort(key=itemgetter(1), reverse=True)
123
121
  # Return just the version objects, not the tuples
File without changes
File without changes
File without changes