aignostics 0.2.47__tar.gz → 0.2.49__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 (200) hide show
  1. {aignostics-0.2.47 → aignostics-0.2.49}/PKG-INFO +3 -2
  2. {aignostics-0.2.47 → aignostics-0.2.49}/README.md +2 -1
  3. {aignostics-0.2.47 → aignostics-0.2.49}/examples/notebook.py +1 -1
  4. {aignostics-0.2.47 → aignostics-0.2.49}/pyproject.toml +2 -2
  5. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_cli.py +99 -1
  6. {aignostics-0.2.47 → aignostics-0.2.49}/.gitignore +0 -0
  7. {aignostics-0.2.47 → aignostics-0.2.49}/LICENSE +0 -0
  8. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/.openapi-generator/FILES +0 -0
  9. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/.openapi-generator/VERSION +0 -0
  10. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/api/public_api.py +0 -0
  11. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/api_client.py +0 -0
  12. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/api_response.py +0 -0
  13. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/configuration.py +0 -0
  14. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/exceptions.py +0 -0
  15. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/__init__.py +0 -0
  16. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/application_read_response.py +0 -0
  17. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/application_run_status.py +0 -0
  18. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/application_version_read_response.py +0 -0
  19. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/http_validation_error.py +0 -0
  20. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/input_artifact_creation_request.py +0 -0
  21. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/input_artifact_read_response.py +0 -0
  22. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/item_creation_request.py +0 -0
  23. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/item_result_read_response.py +0 -0
  24. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/item_status.py +0 -0
  25. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/output_artifact_read_response.py +0 -0
  26. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/output_artifact_result_read_response.py +0 -0
  27. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/output_artifact_scope.py +0 -0
  28. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/payload_input_artifact.py +0 -0
  29. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/payload_item.py +0 -0
  30. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/payload_output_artifact.py +0 -0
  31. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/run_creation_request.py +0 -0
  32. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/run_creation_response.py +0 -0
  33. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/run_read_response.py +0 -0
  34. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/transfer_urls.py +0 -0
  35. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/user_payload.py +0 -0
  36. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/validation_error.py +0 -0
  37. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/models/validation_error_loc_inner.py +0 -0
  38. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/aignx/codegen/rest.py +0 -0
  39. {aignostics-0.2.47 → aignostics-0.2.49}/codegen/out/docs/PublicApi.md +0 -0
  40. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-13/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  41. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-13/aignostics/_internal/boto3/examples/s3.rst +0 -0
  42. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-13/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  43. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-13/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  44. {aignostics-0.2.47 → aignostics-0.2.49}/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
  45. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  46. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  47. {aignostics-0.2.47 → aignostics-0.2.49}/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
  48. {aignostics-0.2.47 → aignostics-0.2.49}/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
  49. {aignostics-0.2.47 → aignostics-0.2.49}/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
  50. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/boto3/examples/cloudfront.rst +0 -0
  51. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/boto3/examples/s3.rst +0 -0
  52. {aignostics-0.2.47 → aignostics-0.2.49}/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
  53. {aignostics-0.2.47 → aignostics-0.2.49}/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
  54. {aignostics-0.2.47 → aignostics-0.2.49}/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
  55. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  56. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  57. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  58. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  59. {aignostics-0.2.47 → aignostics-0.2.49}/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
  60. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  61. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  62. {aignostics-0.2.47 → aignostics-0.2.49}/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
  63. {aignostics-0.2.47 → aignostics-0.2.49}/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
  64. {aignostics-0.2.47 → aignostics-0.2.49}/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
  65. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/boto3/examples/cloudfront.rst +0 -0
  66. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/boto3/examples/s3.rst +0 -0
  67. {aignostics-0.2.47 → aignostics-0.2.49}/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
  68. {aignostics-0.2.47 → aignostics-0.2.49}/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
  69. {aignostics-0.2.47 → aignostics-0.2.49}/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
  70. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  71. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/boto3/examples/s3.rst +0 -0
  72. {aignostics-0.2.47 → aignostics-0.2.49}/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
  73. {aignostics-0.2.47 → aignostics-0.2.49}/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
  74. {aignostics-0.2.47 → aignostics-0.2.49}/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
  75. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  76. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  77. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  78. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  79. {aignostics-0.2.47 → aignostics-0.2.49}/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
  80. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  81. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/boto3/examples/s3.rst +0 -0
  82. {aignostics-0.2.47 → aignostics-0.2.49}/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
  83. {aignostics-0.2.47 → aignostics-0.2.49}/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
  84. {aignostics-0.2.47 → aignostics-0.2.49}/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
  85. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-windows-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  86. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-windows-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  87. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-windows-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.jquery +0 -0
  88. {aignostics-0.2.47 → aignostics-0.2.49}/dist_native_all/dist_native-windows-latest/aignostics/_internal/openslide_python-1.4.2.dist-info/licenses/examples/deepzoom/licenses/LICENSE.openseadragon +0 -0
  89. {aignostics-0.2.47 → aignostics-0.2.49}/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
  90. {aignostics-0.2.47 → aignostics-0.2.49}/examples/__init__.py +0 -0
  91. {aignostics-0.2.47 → aignostics-0.2.49}/examples/notebook.ipynb +0 -0
  92. {aignostics-0.2.47 → aignostics-0.2.49}/examples/script.py +0 -0
  93. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/__init__.py +0 -0
  94. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/__init__.py +0 -0
  95. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/_frame.py +0 -0
  96. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/_page_application_describe.py +0 -0
  97. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/_page_application_run_describe.py +0 -0
  98. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/_page_builder.py +0 -0
  99. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/_page_index.py +0 -0
  100. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/_utils.py +0 -0
  101. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/canceled.lottie +0 -0
  102. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/done.lottie +0 -0
  103. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/empty.lottie +0 -0
  104. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/error.lottie +0 -0
  105. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/error_alt.lottie +0 -0
  106. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/home-card-1.png +0 -0
  107. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/home-card-2.png +0 -0
  108. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/home-card-3.png +0 -0
  109. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/home-card-4.png +0 -0
  110. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/home-card-5.png +0 -0
  111. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/image-not-found.png +0 -0
  112. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/pending.lottie +0 -0
  113. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/pending_alt.lottie +0 -0
  114. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/ruo.png +0 -0
  115. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_gui/assets/ruo.svg +0 -0
  116. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_service.py +0 -0
  117. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_settings.py +0 -0
  118. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/application/_utils.py +0 -0
  119. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/bucket/__init__.py +0 -0
  120. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/bucket/_cli.py +0 -0
  121. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/bucket/_gui.py +0 -0
  122. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/bucket/_service.py +0 -0
  123. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/bucket/_settings.py +0 -0
  124. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/bucket/assets/Google-Cloud-logo.png +0 -0
  125. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/bucket/assets/Google-Cloud-logo.svg +0 -0
  126. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/cli.py +0 -0
  127. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/constants.py +0 -0
  128. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/dataset/__init__.py +0 -0
  129. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/dataset/_cli.py +0 -0
  130. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/dataset/_gui.py +0 -0
  131. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/dataset/_service.py +0 -0
  132. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/dataset/assets/NIH-IDC-logo.svg +0 -0
  133. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/gui/__init__.py +0 -0
  134. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/gui/_frame.py +0 -0
  135. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/gui/_theme.py +0 -0
  136. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2 +0 -0
  137. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/gui/assets/logo.png +0 -0
  138. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/notebook/__init__.py +0 -0
  139. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/notebook/_gui.py +0 -0
  140. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/notebook/_notebook.py +0 -0
  141. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/notebook/_service.py +0 -0
  142. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/notebook/assets/python.lottie +0 -0
  143. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/__init__.py +0 -0
  144. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/_authentication.py +0 -0
  145. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/_client.py +0 -0
  146. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/_constants.py +0 -0
  147. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/_messages.py +0 -0
  148. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/_service.py +0 -0
  149. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/_settings.py +0 -0
  150. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/_utils.py +0 -0
  151. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/resources/__init__.py +0 -0
  152. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/resources/applications.py +0 -0
  153. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/resources/runs.py +0 -0
  154. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/platform/resources/utils.py +0 -0
  155. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/__init__.py +0 -0
  156. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/_cli.py +0 -0
  157. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/_gui.py +0 -0
  158. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/_service.py +0 -0
  159. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/_settings.py +0 -0
  160. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/assets/download.lottie +0 -0
  161. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/assets/microscope.lottie +0 -0
  162. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/assets/update.lottie +0 -0
  163. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/scripts/add.groovy +0 -0
  164. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/scripts/annotate.groovy +0 -0
  165. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/scripts/inspect.groovy +0 -0
  166. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/qupath/scripts/test.groovy +0 -0
  167. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/system/__init__.py +0 -0
  168. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/system/_cli.py +0 -0
  169. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/system/_exceptions.py +0 -0
  170. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/system/_gui.py +0 -0
  171. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/system/_service.py +0 -0
  172. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/system/_settings.py +0 -0
  173. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/system/assets/system.lottie +0 -0
  174. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/third_party/bottle.py +0 -0
  175. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/third_party/idc_index.py +0 -0
  176. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/__init__.py +0 -0
  177. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_cli.py +0 -0
  178. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_console.py +0 -0
  179. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_constants.py +0 -0
  180. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_di.py +0 -0
  181. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_fs.py +0 -0
  182. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_gui.py +0 -0
  183. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_health.py +0 -0
  184. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_log.py +0 -0
  185. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_logfire.py +0 -0
  186. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_notebook.py +0 -0
  187. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_process.py +0 -0
  188. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_sentry.py +0 -0
  189. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_service.py +0 -0
  190. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/_settings.py +0 -0
  191. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/utils/boot.py +1 -1
  192. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/wsi/__init__.py +0 -0
  193. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/wsi/_cli.py +0 -0
  194. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/wsi/_gui.py +0 -0
  195. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/wsi/_openslide_handler.py +0 -0
  196. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/wsi/_pydicom_handler.py +0 -0
  197. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/wsi/_service.py +0 -0
  198. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/wsi/_utils.py +0 -0
  199. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics/wsi/assets/fallback.png +0 -0
  200. {aignostics-0.2.47 → aignostics-0.2.49}/src/aignostics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aignostics
3
- Version: 0.2.47
3
+ Version: 0.2.49
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/
@@ -529,7 +529,8 @@ Every WSI processed by the Platform generates a cost. Usage of the "Test Applica
529
529
  with detailed documentation of public classes and functions.
530
530
  4. Check out the
531
531
  [API reference](https://aignostics.readthedocs.io/en/latest/api_reference_v1.html)
532
- with detailed documentation of all API operations and parameters.
532
+ with detailed documentation of all API operations and parameters. See as well
533
+ the OpenAPI Specification in [JSON](https://github.com/aignostics/python-sdk/blob/main/docs/source/_static/openapi_v1.json) and [YAML](https://github.com/aignostics/python-sdk/blob/main/docs/source/_static/openapi_v1.yaml), and the [API Explorer](https://aignostics.readthedocs.io/en/latest/api_explorer_v1.html).
533
534
  5. Our
534
535
  [release notes](https://aignostics.readthedocs.io/en/latest/release-notes.html)
535
536
  provide a complete log of recent improvements and changes.
@@ -415,7 +415,8 @@ Every WSI processed by the Platform generates a cost. Usage of the "Test Applica
415
415
  with detailed documentation of public classes and functions.
416
416
  4. Check out the
417
417
  [API reference](https://aignostics.readthedocs.io/en/latest/api_reference_v1.html)
418
- with detailed documentation of all API operations and parameters.
418
+ with detailed documentation of all API operations and parameters. See as well
419
+ the OpenAPI Specification in [JSON](https://github.com/aignostics/python-sdk/blob/main/docs/source/_static/openapi_v1.json) and [YAML](https://github.com/aignostics/python-sdk/blob/main/docs/source/_static/openapi_v1.yaml), and the [API Explorer](https://aignostics.readthedocs.io/en/latest/api_explorer_v1.html).
419
420
  5. Our
420
421
  [release notes](https://aignostics.readthedocs.io/en/latest/release-notes.html)
421
422
  provide a complete log of recent improvements and changes.
@@ -2,7 +2,7 @@
2
2
  # requires-python = ">=3.13"
3
3
  # dependencies = [
4
4
  # "marimo",
5
- # "aignostics==0.2.47",
5
+ # "aignostics==0.2.49",
6
6
  # ]
7
7
  # ///
8
8
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aignostics"
3
- version = "0.2.47"
3
+ version = "0.2.49"
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 = [
@@ -355,7 +355,7 @@ source = ["src/"]
355
355
 
356
356
 
357
357
  [tool.bumpversion]
358
- current_version = "0.2.47"
358
+ current_version = "0.2.49"
359
359
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
360
360
  serialize = ["{major}.{minor}.{patch}"]
361
361
  search = "{current_version}"
@@ -1,7 +1,9 @@
1
1
  """CLI of application module."""
2
2
 
3
+ import json
3
4
  import sys
4
5
  import time
6
+ import zipfile
5
7
  from pathlib import Path
6
8
  from typing import Annotated
7
9
 
@@ -9,7 +11,7 @@ import typer
9
11
 
10
12
  from aignostics.bucket import Service as BucketService
11
13
  from aignostics.platform import NotFoundException
12
- from aignostics.utils import console, get_logger, get_user_data_directory
14
+ from aignostics.utils import console, get_logger, get_user_data_directory, sanitize_path
13
15
 
14
16
  from ._service import DownloadProgress, DownloadProgressState, Service
15
17
  from ._utils import (
@@ -96,6 +98,102 @@ def application_list(
96
98
  console.print("No applications available.")
97
99
 
98
100
 
101
+ @cli.command("dump-schemata")
102
+ def application_dump_schemata( # noqa: C901
103
+ id: Annotated[ # noqa: A002
104
+ str,
105
+ typer.Argument(
106
+ help="Id of the application or application_version to dump the output schema for. "
107
+ "If application id is given the latest version of the application will be used."
108
+ ),
109
+ ],
110
+ destination: Annotated[
111
+ Path,
112
+ typer.Option(
113
+ help="Path pointing to directory where the input and output schemata will be dumped.",
114
+ exists=False,
115
+ file_okay=False,
116
+ dir_okay=True,
117
+ writable=True,
118
+ readable=True,
119
+ resolve_path=True,
120
+ ),
121
+ ] = Path().cwd(), # noqa: B008,
122
+ zip: Annotated[ # noqa: A002
123
+ bool,
124
+ typer.Option(
125
+ help="If set, the schema files will be zipped into a single file, with the schema files deleted.",
126
+ ),
127
+ ] = False,
128
+ ) -> None:
129
+ """Output the input schema of the application in JSON format."""
130
+ try:
131
+ application_version = Service().application_version(id, True)
132
+ application = Service().application(application_version.application_id)
133
+ except (NotFoundException, ValueError) as e:
134
+ message = f"Failed to load application version with ID '{id}', check your input: : {e!s}."
135
+ logger.warning(message)
136
+ console.print(f"[warning]Warning:[/warning] {message}")
137
+ sys.exit(2)
138
+ except (Exception, RuntimeError) as e:
139
+ message = f"Failed to load application version with ID '{id}': {e!s}."
140
+ logger.exception(message)
141
+ console.print(f"[warning]Error:[/warning] {message}")
142
+ sys.exit(1)
143
+ try:
144
+ destination.mkdir(parents=True, exist_ok=True)
145
+ except OSError as e:
146
+ console.print(f"[error]Error:[/error] Failed to create directory '{destination}': {e}")
147
+ sys.exit(1)
148
+
149
+ created_files: list[Path] = []
150
+
151
+ for input_artifact in application_version.input_artifacts:
152
+ if input_artifact.metadata_schema:
153
+ file_path: Path = sanitize_path(
154
+ Path(destination / f"{application_version.application_version_id}_input_{input_artifact.name}.json")
155
+ ) # type: ignore
156
+ file_path.write_text(data=json.dumps(input_artifact.metadata_schema, indent=2), encoding="utf-8")
157
+ created_files.append(file_path)
158
+
159
+ for output_artifact in application_version.output_artifacts:
160
+ if output_artifact.metadata_schema:
161
+ file_path = sanitize_path(
162
+ Path(destination / f"{application_version.application_version_id}_output_{output_artifact.name}.json")
163
+ ) # type: ignore
164
+ file_path.write_text(data=json.dumps(output_artifact.metadata_schema, indent=2), encoding="utf-8")
165
+ created_files.append(file_path)
166
+
167
+ md_file_path: Path = sanitize_path(Path(destination / f"{application_version.application_version_id}_schemata.md")) # type: ignore
168
+ with md_file_path.open("w", encoding="utf-8") as md_file:
169
+ md_file.write(f"# Schemata for Aignostics Application {application.name}\n")
170
+ md_file.write(f"* ID: {application.application_id}\n")
171
+ md_file.write(f"* Version ID: {application_version.application_version_id}\n")
172
+ md_file.write(f"\n## Description: \n{application.description}\n\n")
173
+ md_file.write("\n## Input Artifacts\n")
174
+ for input_artifact in application_version.input_artifacts:
175
+ md_file.write(
176
+ f"- {input_artifact.name}: "
177
+ f"{application_version.application_version_id}_input_{input_artifact.name}.json\n"
178
+ )
179
+ md_file.write("\n## Output Artifacts\n")
180
+ for output_artifact in application_version.output_artifacts:
181
+ md_file.write(
182
+ f"- {output_artifact.name}: "
183
+ f"{application_version.application_version_id}_output_{output_artifact.name}.json\n"
184
+ )
185
+ created_files.append(md_file_path)
186
+
187
+ if zip:
188
+ zip_filename = sanitize_path(Path(destination / f"{application_version.application_version_id}_schemata.zip"))
189
+ with zipfile.ZipFile(zip_filename, "w", zipfile.ZIP_DEFLATED) as zipf:
190
+ for file_path in created_files:
191
+ zipf.write(file_path, arcname=file_path.name)
192
+ console.print(f"Zipped {len(created_files)} files to [bold]{zip_filename}[/bold]")
193
+ for file_path in created_files:
194
+ file_path.unlink()
195
+
196
+
99
197
  @cli.command("describe")
100
198
  def application_describe(
101
199
  application_id: Annotated[str, typer.Argument(help="Id of the application to describe")],
File without changes
File without changes
@@ -39,9 +39,9 @@ def boot(modules_to_instrument: list[str]) -> None:
39
39
 
40
40
  log_to_logfire = logfire_initialize(modules_to_instrument)
41
41
 
42
+ _parse_env_args()
42
43
  logging_initialize(log_to_logfire)
43
44
  _amend_library_path()
44
- _parse_env_args()
45
45
  _log_boot_message()
46
46
 
47
47