aignostics 0.2.36__tar.gz → 0.2.37__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.
- {aignostics-0.2.36 → aignostics-0.2.37}/PKG-INFO +1 -1
- {aignostics-0.2.36 → aignostics-0.2.37}/examples/notebook.py +1 -1
- {aignostics-0.2.36 → aignostics-0.2.37}/pyproject.toml +2 -2
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/bucket/_service.py +4 -4
- aignostics-0.2.37/src/aignostics/bucket/_settings.py +86 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_settings.py +1 -1
- aignostics-0.2.36/src/aignostics/bucket/_settings.py +0 -53
- {aignostics-0.2.36 → aignostics-0.2.37}/.gitignore +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/LICENSE +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/README.md +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/.openapi-generator/FILES +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/.openapi-generator/VERSION +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/api/public_api.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/api_client.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/api_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/configuration.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/exceptions.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/application_read_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/application_run_status.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/application_version_read_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/http_validation_error.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/input_artifact_creation_request.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/input_artifact_read_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/item_creation_request.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/item_result_read_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/item_status.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/output_artifact_read_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/output_artifact_result_read_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/output_artifact_scope.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/payload_input_artifact.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/payload_item.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/payload_output_artifact.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/run_creation_request.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/run_creation_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/run_read_response.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/transfer_urls.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/user_payload.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/validation_error.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/validation_error_loc_inner.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/rest.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/docs/PublicApi.md +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/examples/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/examples/e2e.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/examples/notebook.ipynb +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/examples/script.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_cli.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/_frame.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/_page_application_describe.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/_page_application_run_describe.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/_page_builder.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/_page_index.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/_utils.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/canceled.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/done.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/empty.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/error.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/error_alt.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-1.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-2.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-3.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-4.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-5.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/image-not-found.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/pending.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/pending_alt.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/ruo.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/ruo.svg +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_service.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_settings.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_utils.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/bucket/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/bucket/_cli.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/bucket/_gui.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/bucket/assets/Google-Cloud-logo.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/bucket/assets/Google-Cloud-logo.svg +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/cli.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/constants.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/dataset/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/dataset/_cli.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/dataset/_gui.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/dataset/_idc_index.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/dataset/_service.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/dataset/assets/NIH-IDC-logo.svg +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/gui/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/gui/_frame.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/gui/_theme.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2 +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/gui/assets/logo.png +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/notebook/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/notebook/_gui.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/notebook/_notebook.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/notebook/_service.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/notebook/assets/python.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/_authentication.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/_client.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/_constants.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/_messages.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/_service.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/_settings.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/_utils.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/resources/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/resources/applications.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/resources/runs.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/platform/resources/utils.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/_cli.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/_gui.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/_service.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/_settings.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/annotate.groovy +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/assets/download.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/assets/microscope.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/qupath/assets/update.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/system/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/system/_cli.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/system/_exceptions.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/system/_gui.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/system/_service.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/system/_settings.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/system/assets/system.lottie +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/.vendored/bottle.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_cli.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_console.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_constants.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_di.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_fs.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_gui.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_health.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_log.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_logfire.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_notebook.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_process.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_sentry.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/_service.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/utils/boot.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/wsi/__init__.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/wsi/_cli.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/wsi/_gui.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/wsi/_openslide_handler.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/wsi/_pydicom_handler.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/wsi/_service.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/wsi/_utils.py +0 -0
- {aignostics-0.2.36 → aignostics-0.2.37}/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.
|
|
3
|
+
Version: 0.2.37
|
|
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/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "aignostics"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.37"
|
|
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 = [
|
|
@@ -356,7 +356,7 @@ source = ["src/"]
|
|
|
356
356
|
|
|
357
357
|
|
|
358
358
|
[tool.bumpversion]
|
|
359
|
-
current_version = "0.2.
|
|
359
|
+
current_version = "0.2.37"
|
|
360
360
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
|
|
361
361
|
serialize = ["{major}.{minor}.{patch}"]
|
|
362
362
|
search = "{current_version}"
|
|
@@ -28,13 +28,13 @@ class Service(BaseService):
|
|
|
28
28
|
"""Initialize service."""
|
|
29
29
|
super().__init__(Settings)
|
|
30
30
|
|
|
31
|
-
def info(self) -> dict[str, Any]:
|
|
31
|
+
def info(self) -> dict[str, Any]:
|
|
32
32
|
"""Determine info of this service.
|
|
33
33
|
|
|
34
34
|
Returns:
|
|
35
35
|
dict[str,Any]: The info of this service.
|
|
36
36
|
"""
|
|
37
|
-
return {}
|
|
37
|
+
return {"settings": self._settings.model_dump()}
|
|
38
38
|
|
|
39
39
|
def health(self) -> Health: # noqa: PLR6301
|
|
40
40
|
"""Determine health of this service.
|
|
@@ -97,7 +97,7 @@ class Service(BaseService):
|
|
|
97
97
|
url = self._get_s3_client().generate_presigned_url(
|
|
98
98
|
ClientMethod="put_object",
|
|
99
99
|
Params={"Bucket": self._settings.name if bucket_name is None else bucket_name, "Key": object_key},
|
|
100
|
-
ExpiresIn=
|
|
100
|
+
ExpiresIn=self._settings.upload_signed_url_expiration_seconds,
|
|
101
101
|
)
|
|
102
102
|
return cast("str", url)
|
|
103
103
|
|
|
@@ -163,7 +163,7 @@ class Service(BaseService):
|
|
|
163
163
|
url = self._get_s3_client().generate_presigned_url(
|
|
164
164
|
ClientMethod="get_object",
|
|
165
165
|
Params={"Bucket": self._settings.name if bucket_name is None else bucket_name, "Key": object_key},
|
|
166
|
-
ExpiresIn=
|
|
166
|
+
ExpiresIn=self._settings.download_signed_url_expiration_seconds,
|
|
167
167
|
)
|
|
168
168
|
return cast("str", url)
|
|
169
169
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"""Settings of the bucket module."""
|
|
2
|
+
|
|
3
|
+
from enum import StrEnum
|
|
4
|
+
from typing import Annotated
|
|
5
|
+
|
|
6
|
+
from pydantic import Field, PlainSerializer, SecretStr
|
|
7
|
+
from pydantic_settings import SettingsConfigDict
|
|
8
|
+
|
|
9
|
+
from ..utils import OpaqueSettings, __env_file__, __project_name__ # noqa: TID252
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class BucketProtocol(StrEnum):
|
|
13
|
+
GS = "gs"
|
|
14
|
+
S3 = "s3"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Settings(OpaqueSettings):
|
|
18
|
+
"""Settings."""
|
|
19
|
+
|
|
20
|
+
model_config = SettingsConfigDict(
|
|
21
|
+
env_prefix=f"{__project_name__.upper()}_BUCKET_",
|
|
22
|
+
extra="ignore",
|
|
23
|
+
env_file=__env_file__,
|
|
24
|
+
env_file_encoding="utf-8",
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
protocol: Annotated[
|
|
28
|
+
BucketProtocol,
|
|
29
|
+
Field(
|
|
30
|
+
description=("Protocol to access the cloud bucket, default is gs"),
|
|
31
|
+
default="gs",
|
|
32
|
+
),
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
name: Annotated[
|
|
36
|
+
str,
|
|
37
|
+
Field(description=("Name of the cloud bucket")),
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
region_name: Annotated[
|
|
41
|
+
str,
|
|
42
|
+
Field(description=("Region of the cloud bucket"), default="EUROPE-WEST3"),
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
hmac_access_key_id: Annotated[
|
|
46
|
+
SecretStr,
|
|
47
|
+
PlainSerializer(func=OpaqueSettings.serialize_sensitive_info, return_type=str, when_used="always"),
|
|
48
|
+
Field(description=("HMAC access key ID of the cloud bucket")),
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
hmac_secret_access_key: Annotated[
|
|
52
|
+
SecretStr,
|
|
53
|
+
PlainSerializer(func=OpaqueSettings.serialize_sensitive_info, return_type=str, when_used="always"),
|
|
54
|
+
Field(description=("HMAC secret access key of the cloud bucket")),
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
upload_signed_url_expiration_seconds: Annotated[
|
|
58
|
+
int,
|
|
59
|
+
Field(
|
|
60
|
+
description=("Expiration time for signed URLs created and used by the Python SDK to upload to the bucket."),
|
|
61
|
+
default=2
|
|
62
|
+
* 60
|
|
63
|
+
* 60, # The Python SDK creates the signed upload URLs immediately before uploading, so 2h is sufficient.
|
|
64
|
+
ge=60, # Minimum expiration time is 60 seconds, see https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html
|
|
65
|
+
le=7
|
|
66
|
+
* 24
|
|
67
|
+
* 60
|
|
68
|
+
* 60, # Limit to 7 days as this is the max e.g. at AWS, see https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html
|
|
69
|
+
),
|
|
70
|
+
]
|
|
71
|
+
|
|
72
|
+
download_signed_url_expiration_seconds: Annotated[
|
|
73
|
+
int,
|
|
74
|
+
Field(
|
|
75
|
+
description=(
|
|
76
|
+
"Expiration time of the signed URLs provided by the Python SDK to the platform on submitting "
|
|
77
|
+
"application runs."
|
|
78
|
+
),
|
|
79
|
+
default=7 * 24 * 60 * 60, # The platform queues application runs, so we set a gracious default of 7d.
|
|
80
|
+
ge=60, # Minimum expiration time is 60 seconds, see https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html
|
|
81
|
+
le=7
|
|
82
|
+
* 24
|
|
83
|
+
* 60
|
|
84
|
+
* 60, # Limit to 7 days as this is the max e.g. at AWS, see https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html
|
|
85
|
+
),
|
|
86
|
+
]
|
|
@@ -34,7 +34,7 @@ class OpaqueSettings(BaseSettings):
|
|
|
34
34
|
def serialize_sensitive_info(input_value: SecretStr, info: FieldSerializationInfo) -> str | None:
|
|
35
35
|
if not input_value:
|
|
36
36
|
return None
|
|
37
|
-
if info.context.get(UNHIDE_SENSITIVE_INFO, False):
|
|
37
|
+
if info.context and info.context.get(UNHIDE_SENSITIVE_INFO, False):
|
|
38
38
|
return input_value.get_secret_value()
|
|
39
39
|
return str(input_value)
|
|
40
40
|
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"""Settings of the bucket module."""
|
|
2
|
-
|
|
3
|
-
from enum import StrEnum
|
|
4
|
-
from typing import Annotated
|
|
5
|
-
|
|
6
|
-
from pydantic import Field, SecretStr
|
|
7
|
-
from pydantic_settings import SettingsConfigDict
|
|
8
|
-
|
|
9
|
-
from ..utils import OpaqueSettings, __env_file__, __project_name__ # noqa: TID252
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class BucketProtocol(StrEnum):
|
|
13
|
-
GS = "gs"
|
|
14
|
-
S3 = "s3"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class Settings(OpaqueSettings):
|
|
18
|
-
"""Settings."""
|
|
19
|
-
|
|
20
|
-
model_config = SettingsConfigDict(
|
|
21
|
-
env_prefix=f"{__project_name__.upper()}_BUCKET_",
|
|
22
|
-
extra="ignore",
|
|
23
|
-
env_file=__env_file__,
|
|
24
|
-
env_file_encoding="utf-8",
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
protocol: Annotated[
|
|
28
|
-
BucketProtocol,
|
|
29
|
-
Field(
|
|
30
|
-
description=("Protocol to access the cloud bucket, default is gs"),
|
|
31
|
-
default="gs",
|
|
32
|
-
),
|
|
33
|
-
]
|
|
34
|
-
|
|
35
|
-
name: Annotated[
|
|
36
|
-
str,
|
|
37
|
-
Field(description=("Name of the cloud bucket")),
|
|
38
|
-
]
|
|
39
|
-
|
|
40
|
-
region_name: Annotated[
|
|
41
|
-
str,
|
|
42
|
-
Field(description=("Region of the cloud bucket"), default="EUROPE-WEST3"),
|
|
43
|
-
]
|
|
44
|
-
|
|
45
|
-
hmac_access_key_id: Annotated[
|
|
46
|
-
SecretStr,
|
|
47
|
-
Field(description=("HMAC access key ID of the cloud bucket")),
|
|
48
|
-
]
|
|
49
|
-
|
|
50
|
-
hmac_secret_access_key: Annotated[
|
|
51
|
-
SecretStr,
|
|
52
|
-
Field(description=("HMAC secret access key of the cloud bucket")),
|
|
53
|
-
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/application_run_status.py
RENAMED
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/http_validation_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/item_creation_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/output_artifact_scope.py
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/payload_input_artifact.py
RENAMED
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/payload_output_artifact.py
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/run_creation_request.py
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/run_creation_response.py
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/run_read_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/codegen/out/aignx/codegen/models/validation_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/canceled.lottie
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/error_alt.lottie
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-1.png
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-2.png
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-3.png
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-4.png
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/home-card-5.png
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/image-not-found.png
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/pending.lottie
RENAMED
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/application/_gui/assets/pending_alt.lottie
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aignostics-0.2.36 → aignostics-0.2.37}/src/aignostics/gui/assets/cabin-v27-latin-regular.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|