aignostics 0.2.73__tar.gz → 0.2.87__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.73 → aignostics-0.2.87}/PKG-INFO +5 -3
  2. {aignostics-0.2.73 → aignostics-0.2.87}/examples/notebook.py +1 -1
  3. {aignostics-0.2.73 → aignostics-0.2.87}/pyproject.toml +6 -7
  4. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/__init__.py +9 -5
  5. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/_utils.py +7 -3
  6. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/resources/runs.py +11 -5
  7. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_log.py +23 -3
  8. 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 -20
  9. 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 -28
  10. 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 -9
  11. 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 -20
  12. 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 -28
  13. 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 -9
  14. 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 -20
  15. 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 -28
  16. 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 -9
  17. 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 -20
  18. 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 -28
  19. 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 -9
  20. 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 -20
  21. 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 -28
  22. 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 -9
  23. 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 -20
  24. 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 -28
  25. 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 -9
  26. 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 -20
  27. 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 -28
  28. 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 -9
  29. 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 -20
  30. 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 -28
  31. 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 -9
  32. 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 -20
  33. 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 -28
  34. 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 -9
  35. 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 -20
  36. 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 -28
  37. 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 -9
  38. {aignostics-0.2.73 → aignostics-0.2.87}/.gitignore +0 -0
  39. {aignostics-0.2.73 → aignostics-0.2.87}/LICENSE +0 -0
  40. {aignostics-0.2.73 → aignostics-0.2.87}/README.md +0 -0
  41. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/.openapi-generator/FILES +0 -0
  42. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/.openapi-generator/VERSION +0 -0
  43. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/api/public_api.py +0 -0
  44. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/api_client.py +0 -0
  45. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/api_response.py +0 -0
  46. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/configuration.py +0 -0
  47. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/exceptions.py +0 -0
  48. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/__init__.py +0 -0
  49. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/application_read_response.py +0 -0
  50. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/application_run_status.py +0 -0
  51. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/application_version_read_response.py +0 -0
  52. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/http_validation_error.py +0 -0
  53. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/input_artifact_creation_request.py +0 -0
  54. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/input_artifact_read_response.py +0 -0
  55. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/item_creation_request.py +0 -0
  56. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/item_result_read_response.py +0 -0
  57. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/item_status.py +0 -0
  58. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/output_artifact_read_response.py +0 -0
  59. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/output_artifact_result_read_response.py +0 -0
  60. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/output_artifact_scope.py +0 -0
  61. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/payload_input_artifact.py +0 -0
  62. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/payload_item.py +0 -0
  63. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/payload_output_artifact.py +0 -0
  64. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/run_creation_request.py +0 -0
  65. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/run_creation_response.py +0 -0
  66. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/run_read_response.py +0 -0
  67. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/transfer_urls.py +0 -0
  68. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/user_payload.py +0 -0
  69. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/validation_error.py +0 -0
  70. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/models/validation_error_loc_inner.py +0 -0
  71. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/aignx/codegen/rest.py +0 -0
  72. {aignostics-0.2.73 → aignostics-0.2.87}/codegen/out/docs/PublicApi.md +0 -0
  73. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-13/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  74. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-13/aignostics/_internal/boto3/examples/s3.rst +0 -0
  75. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  76. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  77. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/boto3/examples/cloudfront.rst +0 -0
  78. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-13/aignostics.app/Contents/Resources/boto3/examples/s3.rst +0 -0
  79. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  80. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  81. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  82. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  83. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/boto3/examples/cloudfront.rst +0 -0
  84. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-macos-latest/aignostics.app/Contents/Resources/boto3/examples/s3.rst +0 -0
  85. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  86. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-ubuntu-24.04-arm/aignostics/_internal/boto3/examples/s3.rst +0 -0
  87. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  88. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-ubuntu-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  89. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  90. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-windows-11-arm/aignostics/_internal/boto3/examples/s3.rst +0 -0
  91. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-windows-latest/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  92. {aignostics-0.2.73 → aignostics-0.2.87}/dist_native_all/dist_native-windows-latest/aignostics/_internal/boto3/examples/s3.rst +0 -0
  93. {aignostics-0.2.73 → aignostics-0.2.87}/examples/__init__.py +0 -0
  94. {aignostics-0.2.73 → aignostics-0.2.87}/examples/notebook.ipynb +0 -0
  95. {aignostics-0.2.73 → aignostics-0.2.87}/examples/script.py +0 -0
  96. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/__init__.py +0 -0
  97. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/__init__.py +0 -0
  98. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_cli.py +0 -0
  99. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/_frame.py +0 -0
  100. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/_page_application_describe.py +0 -0
  101. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/_page_application_run_describe.py +0 -0
  102. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/_page_builder.py +0 -0
  103. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/_page_index.py +0 -0
  104. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/_utils.py +0 -0
  105. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/.gitignore +0 -0
  106. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/canceled.lottie +0 -0
  107. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/done.lottie +0 -0
  108. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/empty.lottie +0 -0
  109. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/error.lottie +0 -0
  110. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/error_alt.lottie +0 -0
  111. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/home-card-1.png +0 -0
  112. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/home-card-2.png +0 -0
  113. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/home-card-3.png +0 -0
  114. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/home-card-4.png +0 -0
  115. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/home-card-5.png +0 -0
  116. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/image-not-found.png +0 -0
  117. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/pending.lottie +0 -0
  118. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/pending_alt.lottie +0 -0
  119. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/ruo.png +0 -0
  120. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_gui/assets/ruo.svg +0 -0
  121. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_service.py +0 -0
  122. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_settings.py +0 -0
  123. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/application/_utils.py +0 -0
  124. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/bucket/__init__.py +0 -0
  125. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/bucket/_cli.py +0 -0
  126. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/bucket/_gui.py +0 -0
  127. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/bucket/_service.py +0 -0
  128. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/bucket/_settings.py +0 -0
  129. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/bucket/assets/Google-Cloud-logo.png +0 -0
  130. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/bucket/assets/Google-Cloud-logo.svg +0 -0
  131. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/cli.py +0 -0
  132. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/constants.py +0 -0
  133. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/dataset/__init__.py +0 -0
  134. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/dataset/_cli.py +0 -0
  135. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/dataset/_gui.py +0 -0
  136. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/dataset/_service.py +0 -0
  137. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/dataset/assets/NIH-IDC-logo.svg +0 -0
  138. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/gui/__init__.py +0 -0
  139. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/gui/_frame.py +0 -0
  140. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/gui/_theme.py +0 -0
  141. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2 +0 -0
  142. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/gui/assets/logo.png +0 -0
  143. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/notebook/__init__.py +0 -0
  144. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/notebook/_gui.py +0 -0
  145. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/notebook/_notebook.py +0 -0
  146. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/notebook/_service.py +0 -0
  147. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/notebook/assets/python.lottie +0 -0
  148. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/_authentication.py +0 -0
  149. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/_cli.py +0 -0
  150. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/_client.py +0 -0
  151. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/_constants.py +0 -0
  152. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/_messages.py +0 -0
  153. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/_service.py +14 -14
  154. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/_settings.py +0 -0
  155. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/resources/__init__.py +0 -0
  156. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/resources/applications.py +0 -0
  157. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/platform/resources/utils.py +0 -0
  158. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/__init__.py +0 -0
  159. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/_cli.py +0 -0
  160. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/_gui.py +0 -0
  161. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/_service.py +0 -0
  162. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/_settings.py +0 -0
  163. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/assets/download.lottie +0 -0
  164. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/assets/microscope.lottie +0 -0
  165. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/assets/update.lottie +0 -0
  166. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/scripts/add.groovy +0 -0
  167. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/scripts/annotate.groovy +0 -0
  168. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/scripts/inspect.groovy +0 -0
  169. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/qupath/scripts/test.groovy +0 -0
  170. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/system/__init__.py +0 -0
  171. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/system/_cli.py +0 -0
  172. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/system/_exceptions.py +0 -0
  173. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/system/_gui.py +0 -0
  174. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/system/_service.py +0 -0
  175. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/system/_settings.py +0 -0
  176. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/system/assets/system.lottie +0 -0
  177. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/third_party/bottle.py +0 -0
  178. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/third_party/idc_index.py +0 -0
  179. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/__init__.py +0 -0
  180. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_cli.py +0 -0
  181. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_console.py +0 -0
  182. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_constants.py +0 -0
  183. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_di.py +0 -0
  184. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_fs.py +0 -0
  185. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_gui.py +0 -0
  186. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_health.py +0 -0
  187. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_logfire.py +0 -0
  188. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_notebook.py +0 -0
  189. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_process.py +0 -0
  190. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_sentry.py +0 -0
  191. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_service.py +0 -0
  192. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/_settings.py +0 -0
  193. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/utils/boot.py +0 -0
  194. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/wsi/__init__.py +0 -0
  195. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/wsi/_cli.py +0 -0
  196. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/wsi/_gui.py +0 -0
  197. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/wsi/_openslide_handler.py +0 -0
  198. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/wsi/_pydicom_handler.py +0 -0
  199. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/wsi/_service.py +0 -0
  200. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/wsi/_utils.py +0 -0
  201. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics/wsi/assets/fallback.png +0 -0
  202. {aignostics-0.2.73 → aignostics-0.2.87}/src/aignostics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aignostics
3
- Version: 0.2.73
3
+ Version: 0.2.87
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/
@@ -55,6 +55,7 @@ Requires-Dist: dicom-validator>=0.7.1
55
55
  Requires-Dist: dicomweb-client[gcp]>=0.59.2
56
56
  Requires-Dist: duckdb<=1.4.0,>=0.10.0
57
57
  Requires-Dist: fastapi[all,standard]>=0.115.13
58
+ Requires-Dist: fastparquet>=2024.11.0
58
59
  Requires-Dist: google-cloud-storage>=3.1.1
59
60
  Requires-Dist: google-crc32c>=1.7.1
60
61
  Requires-Dist: highdicom>=0.25.1
@@ -80,7 +81,6 @@ Requires-Dist: packaging>=25.0
80
81
  Requires-Dist: pandas<=2.3.0
81
82
  Requires-Dist: platformdirs>=4.3.8
82
83
  Requires-Dist: psutil>=7.0.0
83
- Requires-Dist: pyarrow>=20.0.0
84
84
  Requires-Dist: pydantic-settings>=2.9.1
85
85
  Requires-Dist: pyjwt[crypto]>=2.10.1
86
86
  Requires-Dist: python-dateutil>=2.9.0.post0
@@ -102,9 +102,11 @@ Provides-Extra: jupyter
102
102
  Requires-Dist: jupyter>=1.1.1; extra == 'jupyter'
103
103
  Provides-Extra: marimo
104
104
  Requires-Dist: cloudpathlib>=0.21.1; extra == 'marimo'
105
- Requires-Dist: marimo>=0.14.0; extra == 'marimo'
105
+ Requires-Dist: marimo>=0.14.9; extra == 'marimo'
106
106
  Requires-Dist: matplotlib>=3.10.3; extra == 'marimo'
107
107
  Requires-Dist: shapely>=2.1.0; extra == 'marimo'
108
+ Provides-Extra: pyinstaller
109
+ Requires-Dist: pyinstaller>=6.14.0; extra == 'pyinstaller'
108
110
  Provides-Extra: qupath
109
111
  Description-Content-Type: text/markdown
110
112
 
@@ -2,7 +2,7 @@
2
2
  # requires-python = ">=3.13"
3
3
  # dependencies = [
4
4
  # "marimo",
5
- # "aignostics==0.2.73",
5
+ # "aignostics==0.2.87",
6
6
  # ]
7
7
  # ///
8
8
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aignostics"
3
- version = "0.2.73"
3
+ version = "0.2.87"
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 = [
@@ -98,6 +98,7 @@ dependencies = [
98
98
  "dicom-validator>=0.7.1",
99
99
  "dicomweb-client[gcp]>=0.59.2",
100
100
  "duckdb>=0.10.0,<=1.4.0",
101
+ "fastparquet>=2024.11.0",
101
102
  "google-cloud-storage>=3.1.1",
102
103
  "google-crc32c>=1.7.1",
103
104
  "highdicom>=0.25.1",
@@ -113,7 +114,6 @@ dependencies = [
113
114
  "pandas<=2.3.0",
114
115
  "platformdirs>=4.3.8",
115
116
  "psutil>=7.0.0",
116
- "pyarrow>=20.0.0",
117
117
  "pyjwt[crypto]>=2.10.1",
118
118
  "python-dateutil>=2.9.0.post0",
119
119
  # "pywebview[qt6]>=5.4; sys_platform == 'linux'",
@@ -130,10 +130,11 @@ dependencies = [
130
130
  ]
131
131
 
132
132
  [project.optional-dependencies]
133
+ pyinstaller = ["pyinstaller>=6.14.0"]
133
134
  jupyter = ["jupyter>=1.1.1"]
134
135
  marimo = [
135
136
  "cloudpathlib>=0.21.1",
136
- "marimo>=0.14.0",
137
+ "marimo>=0.14.9",
137
138
  "matplotlib>=3.10.3",
138
139
  "shapely>=2.1.0",
139
140
  ]
@@ -147,13 +148,11 @@ dev = [
147
148
  "enum-tools>=0.13.0",
148
149
  "furo>=2024.8.6",
149
150
  "git-cliff>=2.9.1",
150
- "matplotlib>=3.10.1",
151
- "mypy>=1.16.0",
151
+ "mypy>=1.16.1",
152
152
  "nox[uv]>=2025.5.1",
153
153
  "pip-audit>=2.9.0",
154
154
  "pip-licenses @ git+https://github.com/neXenio/pip-licenses.git@master", # https://github.com/raimon49/pip-licenses/pull/224
155
155
  "pre-commit>=4.1.0",
156
- "pyinstaller>=6.14.0",
157
156
  "pyright>=1.1.402",
158
157
  "pytest>=8.4.1",
159
158
  "pytest-asyncio>=1.0.0",
@@ -354,7 +353,7 @@ source = ["src/"]
354
353
 
355
354
 
356
355
  [tool.bumpversion]
357
- current_version = "0.2.73"
356
+ current_version = "0.2.87"
358
357
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
359
358
  serialize = ["{major}.{minor}.{patch}"]
360
359
  search = "{current_version}"
@@ -1,9 +1,13 @@
1
- """
2
- This module provides the main client interface for interacting with Aignostics services.
1
+ """This module provides the low-level client interface for interacting with the API of the Aignostics Platform.
2
+
3
+ The primary class in this module is the `Client` class, serving as the entry point
4
+ for authenticated API operations. Login and token management are handled
5
+ automatically.
6
+
7
+ Further operations are encapsulated in the `Service` class, which provides methods
8
+ for manual login, logout and getting information about the authenticated user.
3
9
 
4
- It offers functionality for authentication, data management, and API operations.
5
- The primary class in this module is the `Client` class, which serves as the entry point
6
- for all interactions with the Aignostics platform.
10
+ Higher level abstractions are provided in the application module.
7
11
  """
8
12
 
9
13
  from aignx.codegen.exceptions import ApiException, NotFoundException
@@ -26,6 +26,7 @@ from aignx.codegen.models import OutputArtifactResultReadResponse as OutputArtif
26
26
  from tqdm.auto import tqdm
27
27
 
28
28
  EIGHT_MB = 8_388_608
29
+ SIGNED_DOWNLOAD_URL_EXPIRES_SECONDS_DEFAULT = 6 * 60 * 60 # 6 hours
29
30
 
30
31
 
31
32
  def mime_type_to_file_ending(mime_type: str) -> str:
@@ -71,7 +72,6 @@ def get_mime_type_for_artifact(artifact: OutputArtifactData | InputArtifactData
71
72
  return str(metadata.get("media_type", metadata.get("mime_type", "application/octet-stream")))
72
73
 
73
74
 
74
- # TODO(Andreas,Helmut): discuss
75
75
  def download_file(signed_url: str, file_path: str, verify_checksum: str) -> None:
76
76
  """Downloads a file from a signed URL and verifies its integrity.
77
77
 
@@ -102,11 +102,12 @@ def download_file(signed_url: str, file_path: str, verify_checksum: str) -> None
102
102
  raise ValueError(msg)
103
103
 
104
104
 
105
- def generate_signed_url(url: str) -> str:
105
+ def generate_signed_url(url: str, expires_seconds: int = SIGNED_DOWNLOAD_URL_EXPIRES_SECONDS_DEFAULT) -> str:
106
106
  """Generates a signed URL for a Google Cloud Storage object.
107
107
 
108
108
  Args:
109
109
  url (str): The fully qualified bucket URL (e.g. gs://bucket/path/to/object).
110
+ expires_seconds (int): The number of seconds the signed URL should be valid for.
110
111
 
111
112
  Returns:
112
113
  str: A signed URL that can be used to download the object.
@@ -131,7 +132,10 @@ def generate_signed_url(url: str) -> str:
131
132
  msg = f"Blob does not exist: {url}"
132
133
  raise ValueError(msg)
133
134
 
134
- return t.cast("str", blob.generate_signed_url(expiration=datetime.timedelta(hours=1), method="GET", version="v4"))
135
+ return t.cast(
136
+ "str",
137
+ blob.generate_signed_url(expiration=datetime.timedelta(seconds=expires_seconds), method="GET", version="v4"),
138
+ )
135
139
 
136
140
 
137
141
  def calculate_file_crc32c(file: Path) -> str:
@@ -128,13 +128,16 @@ class ApplicationRun:
128
128
  application_run_id=self.application_run_id,
129
129
  )
130
130
 
131
- def download_to_folder(self, download_base: Path | str) -> None:
131
+ def download_to_folder(
132
+ self, download_base: Path | str, checksum_attribute_key: str = "checksum_base64_crc32c"
133
+ ) -> None:
132
134
  """Downloads all result artifacts to a folder.
133
135
 
134
136
  Monitors run progress and downloads results as they become available.
135
137
 
136
138
  Args:
137
139
  download_base (Path | str): Base directory to download results to.
140
+ checksum_attribute_key (str): The key used to validate the checksum of the output artifacts.
138
141
 
139
142
  Raises:
140
143
  ValueError: If the provided path is not a directory.
@@ -152,7 +155,7 @@ class ApplicationRun:
152
155
  while application_run_status == ApplicationRunStatus.RUNNING:
153
156
  for item in self.results():
154
157
  if item.status == ItemStatus.SUCCEEDED:
155
- self.ensure_artifacts_downloaded(application_run_dir, item)
158
+ self.ensure_artifacts_downloaded(application_run_dir, item, checksum_attribute_key)
156
159
  sleep(5)
157
160
  application_run_status = self.details().status
158
161
  print(self)
@@ -161,12 +164,14 @@ class ApplicationRun:
161
164
  for item in self.results():
162
165
  match item.status:
163
166
  case ItemStatus.SUCCEEDED:
164
- self.ensure_artifacts_downloaded(application_run_dir, item)
167
+ self.ensure_artifacts_downloaded(application_run_dir, item, checksum_attribute_key)
165
168
  case ItemStatus.ERROR_SYSTEM | ItemStatus.ERROR_USER:
166
169
  print(f"{item.reference} failed with {item.status.value}: {item.error}")
167
170
 
168
171
  @staticmethod
169
- def ensure_artifacts_downloaded(base_folder: Path, item: ItemResultReadResponse) -> None:
172
+ def ensure_artifacts_downloaded(
173
+ base_folder: Path, item: ItemResultReadResponse, checksum_attribute_key: str = "checksum_base64_crc32c"
174
+ ) -> None:
170
175
  """Ensures all artifacts for an item are downloaded.
171
176
 
172
177
  Downloads missing or partially downloaded artifacts and verifies their integrity.
@@ -174,6 +179,7 @@ class ApplicationRun:
174
179
  Args:
175
180
  base_folder (Path): Base directory to download artifacts to.
176
181
  item (ItemResultReadResponse): The item result containing the artifacts to download.
182
+ checksum_attribute_key (str): The key used to validate the checksum of the output artifacts.
177
183
 
178
184
  Raises:
179
185
  ValueError: If checksums don't match.
@@ -187,7 +193,7 @@ class ApplicationRun:
187
193
  item_dir.mkdir(exist_ok=True, parents=True)
188
194
  file_ending = mime_type_to_file_ending(get_mime_type_for_artifact(artifact))
189
195
  file_path = item_dir / f"{artifact.name}{file_ending}"
190
- checksum = artifact.metadata["checksum_crc32c"]
196
+ checksum = artifact.metadata[checksum_attribute_key]
191
197
 
192
198
  if file_path.exists():
193
199
  file_checksum = calculate_file_crc32c(file_path)
@@ -8,8 +8,9 @@ from logging import Handler
8
8
  from pathlib import Path
9
9
  from typing import Annotated, Literal
10
10
 
11
+ import appdirs
11
12
  import click
12
- from pydantic import AfterValidator, Field
13
+ from pydantic import Field, ValidationInfo, field_validator
13
14
  from pydantic_settings import BaseSettings, SettingsConfigDict
14
15
  from rich.console import Console
15
16
  from rich.logging import RichHandler
@@ -95,10 +96,11 @@ class LogSettings(BaseSettings):
95
96
  ]
96
97
  file_name: Annotated[
97
98
  str,
98
- AfterValidator(_validate_file_name),
99
99
  Field(
100
100
  description="Name of the log file",
101
- default="/dev/stdout" if __is_running_in_read_only_environment__ else f"{__project_name__}.log",
101
+ default="/dev/stdout"
102
+ if __is_running_in_read_only_environment__
103
+ else appdirs.user_data_dir(__project_name__) + f"/{__project_name__}.log",
102
104
  ),
103
105
  ]
104
106
  console_enabled: Annotated[
@@ -106,6 +108,24 @@ class LogSettings(BaseSettings):
106
108
  Field(description="Enable logging to console", default=False),
107
109
  ]
108
110
 
111
+ @field_validator("file_name")
112
+ @classmethod
113
+ def validate_file_name_when_enabled(cls, file_name: str, info: ValidationInfo) -> str:
114
+ """
115
+ Validate file_name only when file_enabled is True.
116
+
117
+ Args:
118
+ file_name: The file name to validate.
119
+ info: Validation info containing other field values.
120
+
121
+ Returns:
122
+ str: The validated file name.
123
+ """
124
+ # Check if file_enabled is True in the provided data
125
+ if info.data.get("file_enabled", False):
126
+ _validate_file_name(file_name)
127
+ return file_name
128
+
109
129
 
110
130
  class CustomFilter(LogggingFilter):
111
131
  """Filter to exclude specific dependencies or their messages from logging."""
@@ -1,20 +0,0 @@
1
- Copyright OpenJS Foundation and other contributors, https://openjsf.org/
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,28 +0,0 @@
1
- Copyright (C) 2009 CodePlex Foundation
2
- Copyright (C) 2010-2024 OpenSeadragon contributors
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions are met:
6
-
7
- - Redistributions of source code must retain the above copyright notice,
8
- this list of conditions and the following disclaimer.
9
-
10
- - Redistributions in binary form must reproduce the above copyright notice,
11
- this list of conditions and the following disclaimer in the documentation
12
- and/or other materials provided with the distribution.
13
-
14
- - Neither the name of CodePlex Foundation nor the names of its contributors
15
- may be used to endorse or promote products derived from this software
16
- without specific prior written permission.
17
-
18
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- POSSIBILITY OF SUCH DAMAGE.
@@ -1,9 +0,0 @@
1
- This software was developed at the National Institute of Standards and
2
- Technology by employees of the Federal Government in the course of
3
- their official duties. Pursuant to title 17 Section 105 of the United
4
- States Code this software is not subject to copyright protection and is
5
- in the public domain. This software is an experimental system. NIST assumes
6
- no responsibility whatsoever for its use by other parties, and makes no
7
- guarantees, expressed or implied, about its quality, reliability, or
8
- any other characteristic. We would appreciate acknowledgement if the
9
- software is used.
@@ -1,20 +0,0 @@
1
- Copyright OpenJS Foundation and other contributors, https://openjsf.org/
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,28 +0,0 @@
1
- Copyright (C) 2009 CodePlex Foundation
2
- Copyright (C) 2010-2024 OpenSeadragon contributors
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions are met:
6
-
7
- - Redistributions of source code must retain the above copyright notice,
8
- this list of conditions and the following disclaimer.
9
-
10
- - Redistributions in binary form must reproduce the above copyright notice,
11
- this list of conditions and the following disclaimer in the documentation
12
- and/or other materials provided with the distribution.
13
-
14
- - Neither the name of CodePlex Foundation nor the names of its contributors
15
- may be used to endorse or promote products derived from this software
16
- without specific prior written permission.
17
-
18
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- POSSIBILITY OF SUCH DAMAGE.
@@ -1,9 +0,0 @@
1
- This software was developed at the National Institute of Standards and
2
- Technology by employees of the Federal Government in the course of
3
- their official duties. Pursuant to title 17 Section 105 of the United
4
- States Code this software is not subject to copyright protection and is
5
- in the public domain. This software is an experimental system. NIST assumes
6
- no responsibility whatsoever for its use by other parties, and makes no
7
- guarantees, expressed or implied, about its quality, reliability, or
8
- any other characteristic. We would appreciate acknowledgement if the
9
- software is used.
@@ -1,20 +0,0 @@
1
- Copyright OpenJS Foundation and other contributors, https://openjsf.org/
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,28 +0,0 @@
1
- Copyright (C) 2009 CodePlex Foundation
2
- Copyright (C) 2010-2024 OpenSeadragon contributors
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions are met:
6
-
7
- - Redistributions of source code must retain the above copyright notice,
8
- this list of conditions and the following disclaimer.
9
-
10
- - Redistributions in binary form must reproduce the above copyright notice,
11
- this list of conditions and the following disclaimer in the documentation
12
- and/or other materials provided with the distribution.
13
-
14
- - Neither the name of CodePlex Foundation nor the names of its contributors
15
- may be used to endorse or promote products derived from this software
16
- without specific prior written permission.
17
-
18
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- POSSIBILITY OF SUCH DAMAGE.
@@ -1,9 +0,0 @@
1
- This software was developed at the National Institute of Standards and
2
- Technology by employees of the Federal Government in the course of
3
- their official duties. Pursuant to title 17 Section 105 of the United
4
- States Code this software is not subject to copyright protection and is
5
- in the public domain. This software is an experimental system. NIST assumes
6
- no responsibility whatsoever for its use by other parties, and makes no
7
- guarantees, expressed or implied, about its quality, reliability, or
8
- any other characteristic. We would appreciate acknowledgement if the
9
- software is used.
@@ -1,20 +0,0 @@
1
- Copyright OpenJS Foundation and other contributors, https://openjsf.org/
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,28 +0,0 @@
1
- Copyright (C) 2009 CodePlex Foundation
2
- Copyright (C) 2010-2024 OpenSeadragon contributors
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions are met:
6
-
7
- - Redistributions of source code must retain the above copyright notice,
8
- this list of conditions and the following disclaimer.
9
-
10
- - Redistributions in binary form must reproduce the above copyright notice,
11
- this list of conditions and the following disclaimer in the documentation
12
- and/or other materials provided with the distribution.
13
-
14
- - Neither the name of CodePlex Foundation nor the names of its contributors
15
- may be used to endorse or promote products derived from this software
16
- without specific prior written permission.
17
-
18
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- POSSIBILITY OF SUCH DAMAGE.
@@ -1,9 +0,0 @@
1
- This software was developed at the National Institute of Standards and
2
- Technology by employees of the Federal Government in the course of
3
- their official duties. Pursuant to title 17 Section 105 of the United
4
- States Code this software is not subject to copyright protection and is
5
- in the public domain. This software is an experimental system. NIST assumes
6
- no responsibility whatsoever for its use by other parties, and makes no
7
- guarantees, expressed or implied, about its quality, reliability, or
8
- any other characteristic. We would appreciate acknowledgement if the
9
- software is used.
@@ -1,20 +0,0 @@
1
- Copyright OpenJS Foundation and other contributors, https://openjsf.org/
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,28 +0,0 @@
1
- Copyright (C) 2009 CodePlex Foundation
2
- Copyright (C) 2010-2024 OpenSeadragon contributors
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions are met:
6
-
7
- - Redistributions of source code must retain the above copyright notice,
8
- this list of conditions and the following disclaimer.
9
-
10
- - Redistributions in binary form must reproduce the above copyright notice,
11
- this list of conditions and the following disclaimer in the documentation
12
- and/or other materials provided with the distribution.
13
-
14
- - Neither the name of CodePlex Foundation nor the names of its contributors
15
- may be used to endorse or promote products derived from this software
16
- without specific prior written permission.
17
-
18
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- POSSIBILITY OF SUCH DAMAGE.
@@ -1,9 +0,0 @@
1
- This software was developed at the National Institute of Standards and
2
- Technology by employees of the Federal Government in the course of
3
- their official duties. Pursuant to title 17 Section 105 of the United
4
- States Code this software is not subject to copyright protection and is
5
- in the public domain. This software is an experimental system. NIST assumes
6
- no responsibility whatsoever for its use by other parties, and makes no
7
- guarantees, expressed or implied, about its quality, reliability, or
8
- any other characteristic. We would appreciate acknowledgement if the
9
- software is used.
@@ -1,20 +0,0 @@
1
- Copyright OpenJS Foundation and other contributors, https://openjsf.org/
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,28 +0,0 @@
1
- Copyright (C) 2009 CodePlex Foundation
2
- Copyright (C) 2010-2024 OpenSeadragon contributors
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions are met:
6
-
7
- - Redistributions of source code must retain the above copyright notice,
8
- this list of conditions and the following disclaimer.
9
-
10
- - Redistributions in binary form must reproduce the above copyright notice,
11
- this list of conditions and the following disclaimer in the documentation
12
- and/or other materials provided with the distribution.
13
-
14
- - Neither the name of CodePlex Foundation nor the names of its contributors
15
- may be used to endorse or promote products derived from this software
16
- without specific prior written permission.
17
-
18
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- POSSIBILITY OF SUCH DAMAGE.