aignostics 0.2.128__tar.gz → 0.2.129__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 (168) hide show
  1. {aignostics-0.2.128 → aignostics-0.2.129}/PKG-INFO +5 -4
  2. {aignostics-0.2.128 → aignostics-0.2.129}/examples/notebook.py +1 -1
  3. {aignostics-0.2.128 → aignostics-0.2.129}/pyproject.toml +6 -5
  4. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/dataset/_service.py +24 -11
  5. aignostics-0.2.129/src/aignostics.py +36 -0
  6. aignostics-0.2.128/src/aignostics.py +0 -16
  7. {aignostics-0.2.128 → aignostics-0.2.129}/.gitignore +0 -0
  8. {aignostics-0.2.128 → aignostics-0.2.129}/LICENSE +0 -0
  9. {aignostics-0.2.128 → aignostics-0.2.129}/README.md +0 -0
  10. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/.openapi-generator/FILES +0 -0
  11. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/.openapi-generator/VERSION +0 -0
  12. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/api/public_api.py +0 -0
  13. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/api_client.py +0 -0
  14. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/api_response.py +0 -0
  15. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/configuration.py +0 -0
  16. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/exceptions.py +0 -0
  17. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/__init__.py +0 -0
  18. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/application_read_response.py +0 -0
  19. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/application_run_status.py +0 -0
  20. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/application_version_read_response.py +0 -0
  21. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/http_validation_error.py +0 -0
  22. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/input_artifact_creation_request.py +0 -0
  23. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/input_artifact_read_response.py +0 -0
  24. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/item_creation_request.py +0 -0
  25. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/item_result_read_response.py +0 -0
  26. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/item_status.py +0 -0
  27. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/me_read_response.py +0 -0
  28. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/organization_read_response.py +0 -0
  29. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/output_artifact_read_response.py +0 -0
  30. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/output_artifact_result_read_response.py +0 -0
  31. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/output_artifact_scope.py +0 -0
  32. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/payload_input_artifact.py +0 -0
  33. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/payload_item.py +0 -0
  34. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/payload_output_artifact.py +0 -0
  35. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/run_creation_request.py +0 -0
  36. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/run_creation_response.py +0 -0
  37. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/run_read_response.py +0 -0
  38. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/transfer_urls.py +0 -0
  39. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/user_payload.py +0 -0
  40. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/user_read_response.py +0 -0
  41. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/validation_error.py +0 -0
  42. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/models/validation_error_loc_inner.py +0 -0
  43. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/aignx/codegen/rest.py +0 -0
  44. {aignostics-0.2.128 → aignostics-0.2.129}/codegen/out/docs/PublicApi.md +0 -0
  45. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-macos-13/extracted/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  46. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-macos-13/extracted/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  47. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-macos-latest/extracted/aignostics.app/Contents/Frameworks/boto3/examples/cloudfront.rst +0 -0
  48. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-macos-latest/extracted/aignostics.app/Contents/Frameworks/boto3/examples/s3.rst +0 -0
  49. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-ubuntu-24.04-arm/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  50. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-ubuntu-24.04-arm/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  51. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-ubuntu-latest/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  52. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-ubuntu-latest/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  53. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-windows-latest/extracted/aignostics/_internal/boto3/examples/cloudfront.rst +0 -0
  54. {aignostics-0.2.128 → aignostics-0.2.129}/dist_native_all/dist_native-windows-latest/extracted/aignostics/_internal/boto3/examples/s3.rst +0 -0
  55. {aignostics-0.2.128 → aignostics-0.2.129}/examples/__init__.py +0 -0
  56. {aignostics-0.2.128 → aignostics-0.2.129}/examples/notebook.ipynb +0 -0
  57. {aignostics-0.2.128 → aignostics-0.2.129}/examples/script.py +0 -0
  58. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/__init__.py +0 -0
  59. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/__init__.py +0 -0
  60. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_cli.py +0 -0
  61. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/_frame.py +0 -0
  62. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/_page_application_describe.py +0 -0
  63. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/_page_application_run_describe.py +0 -0
  64. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/_page_builder.py +0 -0
  65. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/_page_index.py +0 -0
  66. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/_utils.py +0 -0
  67. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/.gitignore +0 -0
  68. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/canceled.lottie +0 -0
  69. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/done.lottie +0 -0
  70. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/empty.lottie +0 -0
  71. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/error.lottie +0 -0
  72. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/error_alt.lottie +0 -0
  73. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/home-card-1.png +0 -0
  74. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/home-card-2.png +0 -0
  75. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/home-card-3.png +0 -0
  76. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/home-card-4.png +0 -0
  77. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/home-card-5.png +0 -0
  78. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/image-not-found.png +0 -0
  79. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/pending.lottie +0 -0
  80. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/pending_alt.lottie +0 -0
  81. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/ruo.png +0 -0
  82. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_gui/assets/ruo.svg +0 -0
  83. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_service.py +0 -0
  84. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_settings.py +0 -0
  85. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/application/_utils.py +0 -0
  86. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/bucket/__init__.py +0 -0
  87. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/bucket/_cli.py +0 -0
  88. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/bucket/_gui.py +0 -0
  89. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/bucket/_service.py +0 -0
  90. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/bucket/_settings.py +0 -0
  91. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/bucket/assets/Google-Cloud-logo.png +0 -0
  92. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/bucket/assets/Google-Cloud-logo.svg +0 -0
  93. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/cli.py +0 -0
  94. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/constants.py +0 -0
  95. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/dataset/__init__.py +0 -0
  96. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/dataset/_cli.py +0 -0
  97. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/dataset/_gui.py +0 -0
  98. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/dataset/assets/NIH-IDC-logo.svg +0 -0
  99. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/gui/__init__.py +0 -0
  100. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/gui/_error.py +0 -0
  101. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/gui/_frame.py +0 -0
  102. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/gui/_theme.py +0 -0
  103. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2 +0 -0
  104. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/gui/assets/cat.lottie +0 -0
  105. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/gui/assets/logo.png +0 -0
  106. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/notebook/__init__.py +0 -0
  107. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/notebook/_gui.py +0 -0
  108. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/notebook/_notebook.py +0 -0
  109. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/notebook/_service.py +0 -0
  110. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/notebook/assets/python.lottie +0 -0
  111. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/__init__.py +0 -0
  112. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/_authentication.py +0 -0
  113. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/_cli.py +0 -0
  114. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/_client.py +0 -0
  115. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/_constants.py +0 -0
  116. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/_messages.py +0 -0
  117. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/_service.py +0 -0
  118. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/_settings.py +0 -0
  119. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/_utils.py +0 -0
  120. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/resources/__init__.py +0 -0
  121. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/resources/applications.py +0 -0
  122. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/resources/runs.py +0 -0
  123. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/platform/resources/utils.py +0 -0
  124. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/__init__.py +0 -0
  125. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/_cli.py +0 -0
  126. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/_gui.py +0 -0
  127. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/_service.py +0 -0
  128. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/_settings.py +0 -0
  129. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/assets/download.lottie +0 -0
  130. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/assets/microscope.lottie +0 -0
  131. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/assets/update.lottie +0 -0
  132. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/scripts/add.groovy +0 -0
  133. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/scripts/annotate.groovy +0 -0
  134. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/scripts/inspect.groovy +0 -0
  135. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/qupath/scripts/test.groovy +0 -0
  136. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/system/__init__.py +0 -0
  137. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/system/_cli.py +0 -0
  138. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/system/_exceptions.py +0 -0
  139. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/system/_gui.py +0 -0
  140. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/system/_service.py +0 -0
  141. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/system/_settings.py +0 -0
  142. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/system/assets/system.lottie +0 -0
  143. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/third_party/bottle.py +0 -0
  144. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/third_party/idc_index.py +0 -0
  145. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/__init__.py +0 -0
  146. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_cli.py +0 -0
  147. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_console.py +0 -0
  148. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_constants.py +0 -0
  149. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_di.py +0 -0
  150. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_fs.py +0 -0
  151. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_gui.py +0 -0
  152. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_health.py +0 -0
  153. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_log.py +0 -0
  154. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_logfire.py +0 -0
  155. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_notebook.py +0 -0
  156. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_process.py +0 -0
  157. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_sentry.py +0 -0
  158. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_service.py +0 -0
  159. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/_settings.py +0 -0
  160. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/utils/boot.py +0 -0
  161. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/wsi/__init__.py +0 -0
  162. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/wsi/_cli.py +0 -0
  163. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/wsi/_gui.py +0 -0
  164. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/wsi/_openslide_handler.py +0 -0
  165. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/wsi/_pydicom_handler.py +0 -0
  166. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/wsi/_service.py +0 -0
  167. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/wsi/_utils.py +0 -0
  168. {aignostics-0.2.128 → aignostics-0.2.129}/src/aignostics/wsi/assets/fallback.png +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aignostics
3
- Version: 0.2.128
3
+ Version: 0.2.129
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/
@@ -49,7 +49,7 @@ Classifier: Programming Language :: Python :: 3.13
49
49
  Classifier: Typing :: Typed
50
50
  Requires-Python: <4.0,>=3.11
51
51
  Requires-Dist: appdirs>=1.4.4
52
- Requires-Dist: boto3>=1.40.6
52
+ Requires-Dist: boto3>=1.40.7
53
53
  Requires-Dist: dicom-validator>=0.7.1
54
54
  Requires-Dist: dicomweb-client[gcp]>=0.59.2
55
55
  Requires-Dist: duckdb<=1.4.0,>=0.10.0
@@ -65,7 +65,7 @@ Requires-Dist: ijson>=3.4.0
65
65
  Requires-Dist: jsf>=0.11.2
66
66
  Requires-Dist: jsonschema>=4.24.1
67
67
  Requires-Dist: logfire[system-metrics]>=4.2.0
68
- Requires-Dist: nicegui[native]>=2.22.1
68
+ Requires-Dist: nicegui[native]>=2.22.2
69
69
  Requires-Dist: openslide-bin>=4.0.0.8
70
70
  Requires-Dist: openslide-python>=1.4.2
71
71
  Requires-Dist: opentelemetry-instrumentation-fastapi>=0.53b0
@@ -78,6 +78,7 @@ Requires-Dist: opentelemetry-instrumentation-urllib3>=0.53b0
78
78
  Requires-Dist: opentelemetry-instrumentation-urllib>=0.53b0
79
79
  Requires-Dist: packaging>=25.0
80
80
  Requires-Dist: pandas<=2.3.1
81
+ Requires-Dist: pip-system-certs>=5.2
81
82
  Requires-Dist: platformdirs>=4.3.8
82
83
  Requires-Dist: psutil>=7.0.0
83
84
  Requires-Dist: pydantic-settings>=2.10.1
@@ -101,7 +102,7 @@ Provides-Extra: jupyter
101
102
  Requires-Dist: jupyter>=1.1.1; extra == 'jupyter'
102
103
  Provides-Extra: marimo
103
104
  Requires-Dist: cloudpathlib>=0.21.1; extra == 'marimo'
104
- Requires-Dist: marimo>=0.14.11; extra == 'marimo'
105
+ Requires-Dist: marimo>=0.14.17; extra == 'marimo'
105
106
  Requires-Dist: matplotlib>=3.10.3; extra == 'marimo'
106
107
  Requires-Dist: shapely>=2.1.0; extra == 'marimo'
107
108
  Provides-Extra: pyinstaller
@@ -2,7 +2,7 @@
2
2
  # requires-python = ">=3.13"
3
3
  # dependencies = [
4
4
  # "marimo",
5
- # "aignostics==0.2.128",
5
+ # "aignostics==0.2.129",
6
6
  # ]
7
7
  # ///
8
8
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aignostics"
3
- version = "0.2.128"
3
+ version = "0.2.129"
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 = [
@@ -77,7 +77,7 @@ dependencies = [
77
77
  "fastapi[standard,all]>=0.116.1",
78
78
  "humanize>=4.12.3",
79
79
  "logfire[system-metrics]>=4.2.0",
80
- "nicegui[native]>=2.22.1",
80
+ "nicegui[native]>=2.22.2",
81
81
  "opentelemetry-instrumentation-fastapi>=0.53b0",
82
82
  "opentelemetry-instrumentation-httpx>=0.53b0",
83
83
  "opentelemetry-instrumentation-jinja2>=0.53b0",
@@ -97,7 +97,7 @@ dependencies = [
97
97
  "uptime>=3.0.1",
98
98
  # Custom
99
99
  "appdirs>=1.4.4",
100
- "boto3>=1.40.6",
100
+ "boto3>=1.40.7",
101
101
  "dicom-validator>=0.7.1",
102
102
  "dicomweb-client[gcp]>=0.59.2",
103
103
  "duckdb>=0.10.0,<=1.4.0",
@@ -125,6 +125,7 @@ dependencies = [
125
125
  "tqdm>=4.67.1",
126
126
  "urllib3>=2.5.0",
127
127
  "wsidicom>=0.27.1",
128
+ "pip-system-certs>=5.2",
128
129
  ]
129
130
 
130
131
  [project.optional-dependencies]
@@ -132,7 +133,7 @@ pyinstaller = ["pyinstaller>=6.14.0"]
132
133
  jupyter = ["jupyter>=1.1.1"]
133
134
  marimo = [
134
135
  "cloudpathlib>=0.21.1",
135
- "marimo>=0.14.11",
136
+ "marimo>=0.14.17",
136
137
  "matplotlib>=3.10.3",
137
138
  "shapely>=2.1.0",
138
139
  ]
@@ -356,7 +357,7 @@ source = ["src/"]
356
357
 
357
358
 
358
359
  [tool.bumpversion]
359
- current_version = "0.2.128"
360
+ current_version = "0.2.129"
360
361
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
361
362
  serialize = ["{major}.{minor}.{patch}"]
362
363
  search = "{current_version}"
@@ -155,7 +155,7 @@ class Service(BaseService):
155
155
  logger.debug("Process completed, setting progress to 100%")
156
156
 
157
157
  @staticmethod
158
- def download_with_queue( # noqa: PLR0915
158
+ def download_with_queue( # noqa: PLR0915, C901
159
159
  queue: Queue, # type: ignore[type-arg]
160
160
  source: str,
161
161
  target: str = str(Path.cwd()),
@@ -237,16 +237,29 @@ client.download_from_selection(
237
237
  """
238
238
 
239
239
  # Run the download in a subprocess
240
- logger.debug(
241
- "Starting download subprocess with executable '%s' and script:\n%s", sys.executable, script_content
242
- )
243
- process = subprocess.Popen( # noqa: S603
244
- [sys.executable, "-c", script_content],
245
- stdout=subprocess.PIPE,
246
- stderr=subprocess.PIPE,
247
- text=True,
248
- bufsize=1,
249
- )
240
+ if getattr(sys, "frozen", False):
241
+ # When running under PyInstaller, sys.executable points to the PyInstaller executable.
242
+ # We use a special flag to execute the script without launching the GUI.
243
+ # See src/aignostics.py
244
+ logger.debug("Running under PyInstaller - using --exec-script flag")
245
+ process = subprocess.Popen( # noqa: S603
246
+ [sys.executable, "--exec-script", script_content],
247
+ stdout=subprocess.PIPE,
248
+ stderr=subprocess.PIPE,
249
+ text=True,
250
+ bufsize=1,
251
+ )
252
+ else:
253
+ logger.debug(
254
+ "Starting download subprocess with executable '%s' and script:\n%s", sys.executable, script_content
255
+ )
256
+ process = subprocess.Popen( # noqa: S603
257
+ [sys.executable, "-c", script_content],
258
+ stdout=subprocess.PIPE,
259
+ stderr=subprocess.PIPE,
260
+ text=True,
261
+ bufsize=1,
262
+ )
250
263
 
251
264
  # Register process for cleanup
252
265
  _active_processes.append(process)
@@ -0,0 +1,36 @@
1
+ """Aignostics Launchpad launcher for pyinstaller."""
2
+
3
+ import os
4
+ import sys
5
+ from multiprocessing import freeze_support
6
+
7
+ freeze_support()
8
+
9
+ os.environ["LOGFIRE_PYDANTIC_RECORD"] = "off"
10
+
11
+ from aignostics.constants import MODULES_TO_INSTRUMENT # noqa: E402
12
+ from aignostics.utils import boot, get_logger, gui_run # noqa: E402
13
+
14
+ boot(MODULES_TO_INSTRUMENT)
15
+ logger = get_logger(__name__)
16
+
17
+ # Constants for command line argument handling
18
+ EXEC_SCRIPT_FLAG = "--exec-script"
19
+ MIN_ARGS_FOR_SCRIPT = 3 # program name, flag, and script content
20
+
21
+ # Check if we should execute a script instead of launching the GUI
22
+ if len(sys.argv) > 1 and sys.argv[1] == EXEC_SCRIPT_FLAG:
23
+ # Execute the script passed as the second argument
24
+ if len(sys.argv) >= MIN_ARGS_FOR_SCRIPT:
25
+ script_content = sys.argv[2]
26
+ try:
27
+ exec(script_content) # noqa: S102
28
+ except Exception:
29
+ logger.exception("Failed to execute script")
30
+ sys.exit(1)
31
+ else:
32
+ logger.error("No script content provided")
33
+ sys.exit(1)
34
+ else:
35
+ # Normal GUI launch
36
+ gui_run(native=True, with_api=False, title="Aignostics Launchpad", icon="🔬")
@@ -1,16 +0,0 @@
1
- """Aignostics Launchpad launcher for pyinstaller."""
2
-
3
- import os
4
- from multiprocessing import freeze_support
5
-
6
- freeze_support()
7
-
8
- os.environ["LOGFIRE_PYDANTIC_RECORD"] = "off"
9
-
10
- from aignostics.constants import MODULES_TO_INSTRUMENT # noqa: E402
11
- from aignostics.utils import boot, get_logger, gui_run # noqa: E402
12
-
13
- boot(MODULES_TO_INSTRUMENT)
14
- logger = get_logger(__name__)
15
-
16
- gui_run(native=True, with_api=False, title="Aignostics Launchpad", icon="🔬")
File without changes
File without changes
File without changes