UncountablePythonSDK 0.0.112__py3-none-any.whl → 0.0.113__py3-none-any.whl
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.
Potentially problematic release.
This version of UncountablePythonSDK might be problematic. Click here for more details.
- pkgs/filesystem_utils/_blob_session.py +8 -1
- uncountable/integration/scan_profiles.py +1 -1
- uncountable/integration/secret_retrieval/retrieve_secret.py +1 -1
- uncountable/types/api/recipes/set_recipe_outputs.py +1 -1
- uncountable/types/data.py +2 -2
- uncountable/types/data_t.py +37 -28
- {uncountablepythonsdk-0.0.112.dist-info → uncountablepythonsdk-0.0.113.dist-info}/METADATA +1 -1
- {uncountablepythonsdk-0.0.112.dist-info → uncountablepythonsdk-0.0.113.dist-info}/RECORD +10 -10
- {uncountablepythonsdk-0.0.112.dist-info → uncountablepythonsdk-0.0.113.dist-info}/WHEEL +1 -1
- {uncountablepythonsdk-0.0.112.dist-info → uncountablepythonsdk-0.0.113.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from io import BytesIO
|
|
2
2
|
|
|
3
|
+
from azure.core.credentials import AzureSasCredential
|
|
3
4
|
from azure.storage.blob import BlobServiceClient, ContainerClient
|
|
4
5
|
|
|
5
6
|
from pkgs.filesystem_utils.file_type_utils import (
|
|
@@ -122,7 +123,13 @@ class BlobSession(FileSystemSession):
|
|
|
122
123
|
)
|
|
123
124
|
dest_blob_client = self.container_client.get_blob_client(dest_file.filepath)
|
|
124
125
|
|
|
125
|
-
|
|
126
|
+
source_url = (
|
|
127
|
+
f"{source_blob_client.url}?{self.config.credential.signature}"
|
|
128
|
+
if isinstance(self.config.credential, AzureSasCredential)
|
|
129
|
+
else source_blob_client.url
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
dest_blob_client.start_copy_from_url(source_url)
|
|
126
133
|
source_blob_client.delete_blob()
|
|
127
134
|
|
|
128
135
|
def delete_files(self, filepaths: list[FileSystemObject]) -> None:
|
|
@@ -26,7 +26,7 @@ def load_profiles() -> list[job_definition_t.ProfileMetadata]:
|
|
|
26
26
|
profile_name = profile_file.name
|
|
27
27
|
try:
|
|
28
28
|
definition = profile_parser.parse_yaml_resource(
|
|
29
|
-
package="."
|
|
29
|
+
package=f"{profiles_module}.{profile_name}",
|
|
30
30
|
resource="profile.yaml",
|
|
31
31
|
)
|
|
32
32
|
for job in definition.jobs:
|
|
@@ -54,7 +54,7 @@ def _load_secret_overrides(profile_name: str) -> dict[SecretRetrieval, str]:
|
|
|
54
54
|
profiles_module = os.environ["UNC_PROFILES_MODULE"]
|
|
55
55
|
try:
|
|
56
56
|
overrides = overrides_parser.parse_yaml_resource(
|
|
57
|
-
package="."
|
|
57
|
+
package=f"{profiles_module}.{profile_name}",
|
|
58
58
|
resource="local_overrides.yaml",
|
|
59
59
|
)
|
|
60
60
|
return {
|
|
@@ -60,7 +60,7 @@ class RecipeOutputValue:
|
|
|
60
60
|
value_numeric: Decimal | None = None
|
|
61
61
|
value_str: str | None = None
|
|
62
62
|
value_curve: CurveValues | None = None
|
|
63
|
-
value_color: data_t.
|
|
63
|
+
value_color: data_t.SupportedColorFormatColor | None = None
|
|
64
64
|
formatting: recipes_t.RecipeAttributeFormatting | None = None
|
|
65
65
|
field_values: list[field_values_t.ArgumentValueRefName | field_values_t.ArgumentValueId] | None = None
|
|
66
66
|
|
uncountable/types/data.py
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
# isort: skip_file
|
|
4
4
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
5
5
|
# Kept only for SDK backwards compatibility
|
|
6
|
+
from .data_t import ColorFormat as ColorFormat
|
|
6
7
|
from .data_t import RgbColor as RgbColor
|
|
7
8
|
from .data_t import CielabColor as CielabColor
|
|
8
9
|
from .data_t import XyzColor as XyzColor
|
|
9
10
|
from .data_t import LChColor as LChColor
|
|
10
|
-
from .data_t import
|
|
11
|
-
from .data_t import RecipeOutputColor as RecipeOutputColor
|
|
11
|
+
from .data_t import SupportedColorFormatColor as SupportedColorFormatColor
|
|
12
12
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/data_t.py
CHANGED
|
@@ -6,27 +6,39 @@ from __future__ import annotations
|
|
|
6
6
|
import typing # noqa: F401
|
|
7
7
|
import datetime # noqa: F401
|
|
8
8
|
from decimal import Decimal # noqa: F401
|
|
9
|
+
from enum import StrEnum
|
|
9
10
|
import dataclasses
|
|
10
11
|
from pkgs.serialization import serial_class
|
|
12
|
+
from pkgs.serialization import serial_union_annotation
|
|
11
13
|
from . import base_t
|
|
12
14
|
|
|
13
15
|
__all__: list[str] = [
|
|
14
16
|
"CielabColor",
|
|
15
|
-
"
|
|
17
|
+
"ColorFormat",
|
|
16
18
|
"LChColor",
|
|
17
|
-
"RecipeOutputColor",
|
|
18
19
|
"RgbColor",
|
|
20
|
+
"SupportedColorFormatColor",
|
|
19
21
|
"XyzColor",
|
|
20
22
|
]
|
|
21
23
|
|
|
22
24
|
|
|
25
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
+
class ColorFormat(StrEnum):
|
|
27
|
+
RGB = "rgb"
|
|
28
|
+
LAB = "lab"
|
|
29
|
+
XYZ = "xyz"
|
|
30
|
+
LCH = "lch"
|
|
31
|
+
|
|
32
|
+
|
|
23
33
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
24
34
|
@serial_class(
|
|
25
35
|
named_type_path="sdk.data.RgbColor",
|
|
26
|
-
unconverted_keys={"B", "G", "R"},
|
|
36
|
+
unconverted_keys={"B", "G", "R", "type"},
|
|
37
|
+
parse_require={"type"},
|
|
27
38
|
)
|
|
28
39
|
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
29
40
|
class RgbColor:
|
|
41
|
+
type: typing.Literal[ColorFormat.RGB] = ColorFormat.RGB
|
|
30
42
|
R: Decimal
|
|
31
43
|
G: Decimal
|
|
32
44
|
B: Decimal
|
|
@@ -35,10 +47,12 @@ class RgbColor:
|
|
|
35
47
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
36
48
|
@serial_class(
|
|
37
49
|
named_type_path="sdk.data.CielabColor",
|
|
38
|
-
unconverted_keys={"L", "a", "b"},
|
|
50
|
+
unconverted_keys={"L", "a", "b", "type"},
|
|
51
|
+
parse_require={"type"},
|
|
39
52
|
)
|
|
40
53
|
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
41
54
|
class CielabColor:
|
|
55
|
+
type: typing.Literal[ColorFormat.LAB] = ColorFormat.LAB
|
|
42
56
|
L: Decimal
|
|
43
57
|
a: Decimal
|
|
44
58
|
b: Decimal
|
|
@@ -47,10 +61,12 @@ class CielabColor:
|
|
|
47
61
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
48
62
|
@serial_class(
|
|
49
63
|
named_type_path="sdk.data.XyzColor",
|
|
50
|
-
unconverted_keys={"X", "Y", "Z"},
|
|
64
|
+
unconverted_keys={"X", "Y", "Z", "type"},
|
|
65
|
+
parse_require={"type"},
|
|
51
66
|
)
|
|
52
67
|
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
53
68
|
class XyzColor:
|
|
69
|
+
type: typing.Literal[ColorFormat.XYZ] = ColorFormat.XYZ
|
|
54
70
|
X: Decimal
|
|
55
71
|
Y: Decimal
|
|
56
72
|
Z: Decimal
|
|
@@ -59,36 +75,29 @@ class XyzColor:
|
|
|
59
75
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
60
76
|
@serial_class(
|
|
61
77
|
named_type_path="sdk.data.LChColor",
|
|
62
|
-
unconverted_keys={"C", "L", "h"},
|
|
78
|
+
unconverted_keys={"C", "L", "h", "type"},
|
|
79
|
+
parse_require={"type"},
|
|
63
80
|
)
|
|
64
81
|
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
65
82
|
class LChColor:
|
|
83
|
+
type: typing.Literal[ColorFormat.LCH] = ColorFormat.LCH
|
|
66
84
|
L: Decimal
|
|
67
85
|
C: Decimal
|
|
68
86
|
h: Decimal
|
|
69
87
|
|
|
70
88
|
|
|
71
89
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
named_type_path="sdk.data.RecipeOutputColor",
|
|
86
|
-
unconverted_keys={"CIELAB", "LCH", "RGB", "XYZ"},
|
|
87
|
-
)
|
|
88
|
-
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
89
|
-
class RecipeOutputColor:
|
|
90
|
-
RGB: RgbColor
|
|
91
|
-
CIELAB: CielabColor
|
|
92
|
-
XYZ: XyzColor | None = None
|
|
93
|
-
LCH: LChColor | None = None
|
|
90
|
+
SupportedColorFormatColor = typing.Annotated[
|
|
91
|
+
RgbColor | CielabColor | XyzColor | LChColor,
|
|
92
|
+
serial_union_annotation(
|
|
93
|
+
named_type_path="sdk.data.SupportedColorFormatColor",
|
|
94
|
+
discriminator="type",
|
|
95
|
+
discriminator_map={
|
|
96
|
+
"rgb": RgbColor,
|
|
97
|
+
"lab": CielabColor,
|
|
98
|
+
"xyz": XyzColor,
|
|
99
|
+
"lch": LChColor,
|
|
100
|
+
},
|
|
101
|
+
),
|
|
102
|
+
]
|
|
94
103
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.113
|
|
4
4
|
Summary: Uncountable SDK
|
|
5
5
|
Project-URL: Homepage, https://github.com/uncountableinc/uncountable-python-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/uncountableinc/uncountable-python-sdk.git
|
|
@@ -36,7 +36,7 @@ pkgs/argument_parser/_is_namedtuple.py,sha256=Rjc1bKanIPPogl3qG5JPBxglG1TqWYOo1n
|
|
|
36
36
|
pkgs/argument_parser/argument_parser.py,sha256=0CLEx2ua6tN0QbxJ2asP7JnKjEJR_I62tF0_AILlKq8,20981
|
|
37
37
|
pkgs/argument_parser/case_convert.py,sha256=NuJLJUJRbyVb6_Slen4uqaStEHbcOS1d-hBBfDrrw-c,605
|
|
38
38
|
pkgs/filesystem_utils/__init__.py,sha256=2a0d2rEPlEEYwhm3Wckny4VCp4ZS7JtYSXmwdwNCRjo,1332
|
|
39
|
-
pkgs/filesystem_utils/_blob_session.py,sha256=
|
|
39
|
+
pkgs/filesystem_utils/_blob_session.py,sha256=4GicmwgGHVcqO8pOTu-EJakKMb1-IsxT9QnVi2D0oKU,5143
|
|
40
40
|
pkgs/filesystem_utils/_gdrive_session.py,sha256=xelwsGfxhxKX0LFwOv9UJ3_jSHyhYyHiLH6EUXNZgHo,11059
|
|
41
41
|
pkgs/filesystem_utils/_local_session.py,sha256=xFEYhAvNqrOYqwt4jrEYOuYkjJn0zclZhTelW_Q1-rw,2325
|
|
42
42
|
pkgs/filesystem_utils/_s3_session.py,sha256=DdD6M90z1VyTiuRdTmjvBNJOEFHBPyEU8wGKRKwHvOU,4027
|
|
@@ -102,7 +102,7 @@ uncountable/integration/construct_client.py,sha256=I53mGcdS88hba3HFwgXmWQaTd1d5u
|
|
|
102
102
|
uncountable/integration/cron.py,sha256=6eH-kIs3sdYPCyb62_L2M7U_uQTdMTdwY5hreEJb0hw,887
|
|
103
103
|
uncountable/integration/entrypoint.py,sha256=BHOYPQgKvZE6HG8Rv15MkdYl8lRkvfDgv1OdLo0oQ9Q,433
|
|
104
104
|
uncountable/integration/job.py,sha256=lRQhOfm8kRlUnT1BMQRMZ49n1IzOup5VRH0AiZ2AFo4,3214
|
|
105
|
-
uncountable/integration/scan_profiles.py,sha256=
|
|
105
|
+
uncountable/integration/scan_profiles.py,sha256=RHBmPc5E10YZzf4cmglwrn2yAy0jHBhQ-P_GlAk2TeU,2919
|
|
106
106
|
uncountable/integration/scheduler.py,sha256=t75ANJN21DElUFvEdtgueTluF7y17jTtBDDF8f3NRDM,4812
|
|
107
107
|
uncountable/integration/server.py,sha256=m_DYRosGbHuPhygM32Xo-jRBl_oaUhOYsBBD1qwwKh4,4697
|
|
108
108
|
uncountable/integration/telemetry.py,sha256=jeeycEnGcW0Fk-f7JI5d-k8Ih4FLoNBCxvSJlJ98wwU,7418
|
|
@@ -132,7 +132,7 @@ uncountable/integration/queue_runner/datastore/datastore_sqlite.py,sha256=OdE4gS
|
|
|
132
132
|
uncountable/integration/queue_runner/datastore/interface.py,sha256=j4D-zVvLq-48VTVwHVei82UVUJ_P3cxiseyiTl0MoNw,534
|
|
133
133
|
uncountable/integration/queue_runner/datastore/model.py,sha256=8-RI5A2yPZVGBLWINVmMd6VOl_oHtqGtnaNXcapAChw,577
|
|
134
134
|
uncountable/integration/secret_retrieval/__init__.py,sha256=3QXVj35w8rRMxVvmmsViFYDi3lcb3g70incfalOEm6o,87
|
|
135
|
-
uncountable/integration/secret_retrieval/retrieve_secret.py,sha256=
|
|
135
|
+
uncountable/integration/secret_retrieval/retrieve_secret.py,sha256=LBEf18KHtXZxg-ZZ80stJ1vW39AWf0CQllP6pNu3Eq8,2994
|
|
136
136
|
uncountable/integration/webhook_server/entrypoint.py,sha256=yQWQq_k3kbJkSsEEt6k22YwhXekezJZfV0rnn-hP-Yo,5516
|
|
137
137
|
uncountable/types/__init__.py,sha256=199fdKdrfJRLLa-fZEkXM0ohyKrSMOXRiW0aYu_KsM4,9760
|
|
138
138
|
uncountable/types/async_batch.py,sha256=yCCWrrLQfxXVqZp-KskxLBNkNmuELdz4PJjx8ULppgs,662
|
|
@@ -153,8 +153,8 @@ uncountable/types/client_config.py,sha256=qLpHt4O_B098CyN6qQajoxZ2zjZ1DILXLUEGyy
|
|
|
153
153
|
uncountable/types/client_config_t.py,sha256=yTFIYAitMrcc4oV9J-HADODS_Hwi45z-piz7rr7QT04,781
|
|
154
154
|
uncountable/types/curves.py,sha256=QyEyC20jsG-LGKVx6miiF-w70vKMwNkILFBDIJ5Ok9g,345
|
|
155
155
|
uncountable/types/curves_t.py,sha256=DxYepdC3QKKR7mepOOBoyarNcFZQdUa5ZYH-hwCY3BI,1469
|
|
156
|
-
uncountable/types/data.py,sha256=
|
|
157
|
-
uncountable/types/data_t.py,sha256=
|
|
156
|
+
uncountable/types/data.py,sha256=u2isf4XEug3Eu-xSIoqGaCQmW2dFaKBHCkP_WKYwwBc,500
|
|
157
|
+
uncountable/types/data_t.py,sha256=vFoypK_WMGfN28r1sSlDYHZNUdBQC0XCN7-_Mlo4FJk,2832
|
|
158
158
|
uncountable/types/entity.py,sha256=Zclk1LYcRaYrMDhqyCjMSLEg0fE6_q8LHvV22Qvscgs,566
|
|
159
159
|
uncountable/types/entity_t.py,sha256=XMxUpBmUVx8poTsKjbYmJZIAtcO_hR4cOmutmDRtrfA,20121
|
|
160
160
|
uncountable/types/experiment_groups.py,sha256=qUpFOx1AKgzaT_4khCOv5Xs6jwiQGbvHH-GUh3v1nv4,288
|
|
@@ -299,7 +299,7 @@ uncountable/types/api/recipes/set_recipe_inputs.py,sha256=GSuT-Vgrn8-OG_eFuPCElI
|
|
|
299
299
|
uncountable/types/api/recipes/set_recipe_metadata.py,sha256=lrMB_wyOKjTLl9fiKT30M2HBU7lPwjtDsqZY8ODA-oA,1249
|
|
300
300
|
uncountable/types/api/recipes/set_recipe_output_annotations.py,sha256=OEMKfY_CEpsSa1xZXsM2ncUOV7acbZTMZYXiLjzJlfQ,3892
|
|
301
301
|
uncountable/types/api/recipes/set_recipe_output_file.py,sha256=2q63zD5-JEfWk5AffNHwERjzn8MzfQCtgGTKZQhcwsU,1685
|
|
302
|
-
uncountable/types/api/recipes/set_recipe_outputs.py,sha256=
|
|
302
|
+
uncountable/types/api/recipes/set_recipe_outputs.py,sha256=L1AHz1-seHIWmQ8zpZ4J3p9FrN7zXfSOGbT5YEkuEE8,2697
|
|
303
303
|
uncountable/types/api/recipes/set_recipe_tags.py,sha256=C4GzlHVfTDUA2CrgDqfYrDpS9jgOBf9bIgu4iqGvdno,3464
|
|
304
304
|
uncountable/types/api/recipes/unarchive_recipes.py,sha256=ke3JPaj6hRdTjP-Qot8Gc-_ptTYqC_1ZF3kKbPJ0H88,1145
|
|
305
305
|
uncountable/types/api/recipes/unlock_recipes.py,sha256=bwFFsgeozIMuyR9XmeUK1s3RuH1R8jRsFiF8SUKxBAg,1403
|
|
@@ -309,7 +309,7 @@ uncountable/types/api/triggers/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr
|
|
|
309
309
|
uncountable/types/api/triggers/run_trigger.py,sha256=dgDX_sRWSJ36UuzMZhG25oHV1HIOUKYY2G3fjKugZrw,1204
|
|
310
310
|
uncountable/types/api/uploader/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
311
311
|
uncountable/types/api/uploader/invoke_uploader.py,sha256=Bj7Dq4A90k00suacwk3bLA_dCb2aovS1kAbVam2AQnM,1395
|
|
312
|
-
uncountablepythonsdk-0.0.
|
|
313
|
-
uncountablepythonsdk-0.0.
|
|
314
|
-
uncountablepythonsdk-0.0.
|
|
315
|
-
uncountablepythonsdk-0.0.
|
|
312
|
+
uncountablepythonsdk-0.0.113.dist-info/METADATA,sha256=9c3i5y6Lt9K-BN75Eya66-OGE1GXI59cpaQRlShbDVU,2143
|
|
313
|
+
uncountablepythonsdk-0.0.113.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
|
|
314
|
+
uncountablepythonsdk-0.0.113.dist-info/top_level.txt,sha256=1UVGjAU-6hJY9qw2iJ7nCBeEwZ793AEN5ZfKX9A1uj4,31
|
|
315
|
+
uncountablepythonsdk-0.0.113.dist-info/RECORD,,
|
{uncountablepythonsdk-0.0.112.dist-info → uncountablepythonsdk-0.0.113.dist-info}/top_level.txt
RENAMED
|
File without changes
|