UncountablePythonSDK 0.0.103__py3-none-any.whl → 0.0.104__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.
- examples/integration-server/jobs/materials_auto/example_wh.py +4 -0
- pkgs/serialization/serial_class.py +11 -0
- pkgs/type_spec/builder.py +3 -0
- pkgs/type_spec/emit_python.py +8 -0
- uncountable/types/api/recipes/add_time_series_data.py +1 -0
- uncountable/types/api/recipes/edit_recipe_inputs.py +2 -0
- uncountable/types/api/recipes/get_recipe_links.py +1 -0
- uncountable/types/api/recipes/lock_recipes.py +1 -0
- uncountable/types/api/recipes/set_recipe_outputs.py +1 -0
- uncountable/types/api/recipes/unlock_recipes.py +1 -0
- uncountable/types/client_config_t.py +1 -0
- uncountable/types/field_values.py +1 -0
- uncountable/types/field_values_t.py +15 -1
- uncountable/types/generic_upload_t.py +1 -0
- uncountable/types/job_definition_t.py +2 -0
- uncountable/types/recipe_workflow_steps_t.py +1 -0
- uncountable/types/response_t.py +1 -0
- {uncountablepythonsdk-0.0.103.dist-info → uncountablepythonsdk-0.0.104.dist-info}/METADATA +1 -1
- {uncountablepythonsdk-0.0.103.dist-info → uncountablepythonsdk-0.0.104.dist-info}/RECORD +21 -21
- {uncountablepythonsdk-0.0.103.dist-info → uncountablepythonsdk-0.0.104.dist-info}/WHEEL +0 -0
- {uncountablepythonsdk-0.0.103.dist-info → uncountablepythonsdk-0.0.104.dist-info}/top_level.txt +0 -0
|
@@ -13,3 +13,7 @@ class WebhookExample(WebhookJob):
|
|
|
13
13
|
def run(self, args: JobArguments, payload: typing.Any) -> JobResult:
|
|
14
14
|
args.logger.log_info(f"webhook invoked with payload: {payload}")
|
|
15
15
|
return JobResult(success=True)
|
|
16
|
+
|
|
17
|
+
@property
|
|
18
|
+
def webhook_payload_type(self) -> typing.Any:
|
|
19
|
+
return dict
|
|
@@ -17,6 +17,7 @@ class _SerialClassData(SerialBase):
|
|
|
17
17
|
to_string_values: set[str] = dataclasses.field(default_factory=set)
|
|
18
18
|
parse_require: set[str] = dataclasses.field(default_factory=set)
|
|
19
19
|
named_type_path: str | None = None
|
|
20
|
+
explicit_defaults: set[str] = dataclasses.field(default_factory=set)
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
EMPTY_SERIAL_CLASS_DATA = _SerialClassData()
|
|
@@ -30,6 +31,7 @@ def serial_class(
|
|
|
30
31
|
parse_require: set[str] | None = None,
|
|
31
32
|
named_type_path: str | None = None,
|
|
32
33
|
is_dynamic_allowed: bool = False,
|
|
34
|
+
explicit_defaults: set[str] | None = None,
|
|
33
35
|
) -> Callable[[ClassT], ClassT]:
|
|
34
36
|
"""
|
|
35
37
|
An additional decorator to a dataclass that specifies serialization options.
|
|
@@ -52,6 +54,9 @@ def serial_class(
|
|
|
52
54
|
requiring them for the API input.
|
|
53
55
|
@param named_type_path
|
|
54
56
|
The type_spec type-path to this type. This applies only to named types.
|
|
57
|
+
@param explicit_defaults
|
|
58
|
+
Fields that have explicit defaults in the definition. This is useful for
|
|
59
|
+
falling back onto these defaults when the field is mandatory but receives a null value.
|
|
55
60
|
"""
|
|
56
61
|
|
|
57
62
|
def decorate(orig_class: ClassT) -> ClassT:
|
|
@@ -63,6 +68,7 @@ def serial_class(
|
|
|
63
68
|
named_type_path=named_type_path,
|
|
64
69
|
from_decorator=True,
|
|
65
70
|
is_dynamic_allowed=is_dynamic_allowed,
|
|
71
|
+
explicit_defaults=explicit_defaults or set(),
|
|
66
72
|
)
|
|
67
73
|
return orig_class
|
|
68
74
|
|
|
@@ -90,6 +96,9 @@ class SerialClassDataInspector(SerialInspector[ClassT]):
|
|
|
90
96
|
def has_parse_require(self, key: str) -> bool:
|
|
91
97
|
return key in self.current.parse_require
|
|
92
98
|
|
|
99
|
+
def has_explicit_default(self, key: str) -> bool:
|
|
100
|
+
return key in self.current.explicit_defaults
|
|
101
|
+
|
|
93
102
|
|
|
94
103
|
def get_merged_serial_class_data(type_class: type[Any]) -> _SerialClassData | None:
|
|
95
104
|
base_class_data = (
|
|
@@ -115,6 +124,8 @@ def get_merged_serial_class_data(type_class: type[Any]) -> _SerialClassData | No
|
|
|
115
124
|
| curr_base_class_data.to_string_values,
|
|
116
125
|
parse_require=base_class_data.parse_require
|
|
117
126
|
| curr_base_class_data.parse_require,
|
|
127
|
+
explicit_defaults=base_class_data.explicit_defaults
|
|
128
|
+
| curr_base_class_data.explicit_defaults,
|
|
118
129
|
)
|
|
119
130
|
return base_class_data
|
|
120
131
|
|
pkgs/type_spec/builder.py
CHANGED
|
@@ -62,6 +62,7 @@ class SpecProperty:
|
|
|
62
62
|
# Holds extra information that will be emitted along with type_info. The builder knows nothing
|
|
63
63
|
# about the contents of this information.
|
|
64
64
|
ext_info: Any = None
|
|
65
|
+
explicit_default: bool = False
|
|
65
66
|
|
|
66
67
|
|
|
67
68
|
class NameCase(StrEnum):
|
|
@@ -389,6 +390,7 @@ class SpecTypeDefn(SpecType):
|
|
|
389
390
|
ptype = builder.parse_type(self.namespace, data_type, scope=self)
|
|
390
391
|
|
|
391
392
|
default_spec = data.get("default", MISSING)
|
|
393
|
+
explicit_default = default_spec != MISSING
|
|
392
394
|
if default_spec == MISSING:
|
|
393
395
|
has_default = False
|
|
394
396
|
default = None
|
|
@@ -419,6 +421,7 @@ class SpecTypeDefn(SpecType):
|
|
|
419
421
|
parse_require=parse_require,
|
|
420
422
|
desc=data.get("desc", None),
|
|
421
423
|
ext_info=ext_info,
|
|
424
|
+
explicit_default=explicit_default,
|
|
422
425
|
)
|
|
423
426
|
finally:
|
|
424
427
|
builder.pop_where()
|
pkgs/type_spec/emit_python.py
CHANGED
|
@@ -697,6 +697,7 @@ class EmittedPropertiesMetadata:
|
|
|
697
697
|
unconverted_values: set[str]
|
|
698
698
|
to_string_values: set[str]
|
|
699
699
|
parse_require: set[str]
|
|
700
|
+
explicit_defaults: set[str]
|
|
700
701
|
|
|
701
702
|
|
|
702
703
|
def _emit_type_properties(
|
|
@@ -728,6 +729,7 @@ def _emit_properties(
|
|
|
728
729
|
unconverted_values: set[str] = set()
|
|
729
730
|
to_string_values: set[str] = set()
|
|
730
731
|
parse_require: set[str] = set()
|
|
732
|
+
explicit_defaults: set[str] = set()
|
|
731
733
|
|
|
732
734
|
if len(properties) > 0:
|
|
733
735
|
|
|
@@ -748,6 +750,9 @@ def _emit_properties(
|
|
|
748
750
|
if prop.parse_require:
|
|
749
751
|
parse_require.add(py_name)
|
|
750
752
|
|
|
753
|
+
if prop.explicit_default:
|
|
754
|
+
explicit_defaults.add(py_name)
|
|
755
|
+
|
|
751
756
|
ref_type = refer_to(ctx, stype)
|
|
752
757
|
default = None
|
|
753
758
|
if prop.extant == builder.PropertyExtant.missing:
|
|
@@ -791,6 +796,7 @@ def _emit_properties(
|
|
|
791
796
|
unconverted_values=unconverted_values,
|
|
792
797
|
to_string_values=to_string_values,
|
|
793
798
|
parse_require=parse_require,
|
|
799
|
+
explicit_defaults=explicit_defaults,
|
|
794
800
|
)
|
|
795
801
|
|
|
796
802
|
|
|
@@ -881,6 +887,7 @@ def _emit_type(ctx: Context, stype: builder.SpecType) -> None:
|
|
|
881
887
|
unconverted_values = emitted_properties_metadata.unconverted_values
|
|
882
888
|
to_string_values = emitted_properties_metadata.to_string_values
|
|
883
889
|
parse_require = emitted_properties_metadata.parse_require
|
|
890
|
+
explicit_defaults = emitted_properties_metadata.explicit_defaults
|
|
884
891
|
|
|
885
892
|
_emit_generics(ctx, generics)
|
|
886
893
|
|
|
@@ -902,6 +909,7 @@ def _emit_type(ctx: Context, stype: builder.SpecType) -> None:
|
|
|
902
909
|
write_values("unconverted_values", unconverted_values)
|
|
903
910
|
write_values("to_string_values", to_string_values)
|
|
904
911
|
write_values("parse_require", parse_require)
|
|
912
|
+
write_values("explicit_defaults", explicit_defaults)
|
|
905
913
|
|
|
906
914
|
ctx.out.write(")\n")
|
|
907
915
|
|
|
@@ -45,6 +45,7 @@ class TimeSeriesDatum:
|
|
|
45
45
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
46
46
|
@serial_class(
|
|
47
47
|
named_type_path="sdk.api.recipes.add_time_series_data.Arguments",
|
|
48
|
+
explicit_defaults={"on_conflict"},
|
|
48
49
|
)
|
|
49
50
|
@dataclasses.dataclass(kw_only=True)
|
|
50
51
|
class Arguments:
|
|
@@ -81,6 +81,7 @@ class RecipeInputEditClearInputs(RecipeInputEditBase):
|
|
|
81
81
|
@serial_class(
|
|
82
82
|
named_type_path="sdk.api.recipes.edit_recipe_inputs.RecipeInputEditInputBase",
|
|
83
83
|
to_string_values={"value_numeric"},
|
|
84
|
+
explicit_defaults={"input_value_type", "quantity_basis"},
|
|
84
85
|
)
|
|
85
86
|
@dataclasses.dataclass(kw_only=True)
|
|
86
87
|
class RecipeInputEditInputBase(RecipeInputEditBase):
|
|
@@ -196,6 +197,7 @@ class PlaceholderDisplayMode(StrEnum):
|
|
|
196
197
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
197
198
|
@serial_class(
|
|
198
199
|
named_type_path="sdk.api.recipes.edit_recipe_inputs.PlaceholderBase",
|
|
200
|
+
explicit_defaults={"display_mode", "require_for_creation"},
|
|
199
201
|
)
|
|
200
202
|
@dataclasses.dataclass(kw_only=True)
|
|
201
203
|
class PlaceholderBase:
|
|
@@ -25,6 +25,7 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_links"
|
|
|
25
25
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
26
|
@serial_class(
|
|
27
27
|
named_type_path="sdk.api.recipes.get_recipe_links.Arguments",
|
|
28
|
+
explicit_defaults={"depth"},
|
|
28
29
|
)
|
|
29
30
|
@dataclasses.dataclass(kw_only=True)
|
|
30
31
|
class Arguments:
|
|
@@ -48,6 +48,7 @@ class NullBehavior(StrEnum):
|
|
|
48
48
|
@serial_class(
|
|
49
49
|
named_type_path="sdk.api.recipes.set_recipe_outputs.RecipeOutputValue",
|
|
50
50
|
to_string_values={"value_numeric"},
|
|
51
|
+
explicit_defaults={"null_behavior"},
|
|
51
52
|
)
|
|
52
53
|
@dataclasses.dataclass(kw_only=True)
|
|
53
54
|
class RecipeOutputValue:
|
|
@@ -31,6 +31,7 @@ class RecipeUnlockType(StrEnum):
|
|
|
31
31
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
32
32
|
@serial_class(
|
|
33
33
|
named_type_path="sdk.api.recipes.unlock_recipes.Arguments",
|
|
34
|
+
explicit_defaults={"type"},
|
|
34
35
|
)
|
|
35
36
|
@dataclasses.dataclass(kw_only=True)
|
|
36
37
|
class Arguments:
|
|
@@ -17,6 +17,7 @@ __all__: list[str] = [
|
|
|
17
17
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
18
18
|
@serial_class(
|
|
19
19
|
named_type_path="sdk.client_config.ClientConfigOptions",
|
|
20
|
+
explicit_defaults={"allow_insecure_tls"},
|
|
20
21
|
)
|
|
21
22
|
@dataclasses.dataclass(kw_only=True)
|
|
22
23
|
class ClientConfigOptions:
|
|
@@ -19,6 +19,7 @@ from .field_values_t import FieldValueText as FieldValueText
|
|
|
19
19
|
from .field_values_t import FieldValueBoolean as FieldValueBoolean
|
|
20
20
|
from .field_values_t import FieldValueNumeric as FieldValueNumeric
|
|
21
21
|
from .field_values_t import FieldValueBatchReference as FieldValueBatchReference
|
|
22
|
+
from .field_values_t import FieldValueNull as FieldValueNull
|
|
22
23
|
from .field_values_t import FieldValue as FieldValue
|
|
23
24
|
from .field_values_t import FieldArgumentValue as FieldArgumentValue
|
|
24
25
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -29,6 +29,7 @@ __all__: list[str] = [
|
|
|
29
29
|
"FieldValueFiles",
|
|
30
30
|
"FieldValueId",
|
|
31
31
|
"FieldValueIds",
|
|
32
|
+
"FieldValueNull",
|
|
32
33
|
"FieldValueNumeric",
|
|
33
34
|
"FieldValueText",
|
|
34
35
|
"FieldValueType",
|
|
@@ -96,6 +97,7 @@ class FieldValueType(StrEnum):
|
|
|
96
97
|
BATCH_REFERENCE = "batch_reference"
|
|
97
98
|
FIELD_OPTION = "field_option"
|
|
98
99
|
FIELD_OPTIONS = "field_options"
|
|
100
|
+
NULL_VALUE = "null_value"
|
|
99
101
|
|
|
100
102
|
|
|
101
103
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -128,6 +130,7 @@ class ValueResolution(StrEnum):
|
|
|
128
130
|
@serial_class(
|
|
129
131
|
named_type_path="sdk.field_values.FieldValueFieldOption",
|
|
130
132
|
parse_require={"type"},
|
|
133
|
+
explicit_defaults={"value_resolution"},
|
|
131
134
|
)
|
|
132
135
|
@dataclasses.dataclass(kw_only=True)
|
|
133
136
|
class FieldValueFieldOption(FieldValueBase):
|
|
@@ -140,6 +143,7 @@ class FieldValueFieldOption(FieldValueBase):
|
|
|
140
143
|
@serial_class(
|
|
141
144
|
named_type_path="sdk.field_values.FieldValueFieldOptions",
|
|
142
145
|
parse_require={"type"},
|
|
146
|
+
explicit_defaults={"value_resolution"},
|
|
143
147
|
)
|
|
144
148
|
@dataclasses.dataclass(kw_only=True)
|
|
145
149
|
class FieldValueFieldOptions(FieldValueBase):
|
|
@@ -218,9 +222,19 @@ class FieldValueBatchReference(FieldValueBase):
|
|
|
218
222
|
data_key: str
|
|
219
223
|
|
|
220
224
|
|
|
225
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
226
|
+
@serial_class(
|
|
227
|
+
named_type_path="sdk.field_values.FieldValueNull",
|
|
228
|
+
parse_require={"type"},
|
|
229
|
+
)
|
|
230
|
+
@dataclasses.dataclass(kw_only=True)
|
|
231
|
+
class FieldValueNull(FieldValueBase):
|
|
232
|
+
type: typing.Literal[FieldValueType.NULL_VALUE] = FieldValueType.NULL_VALUE
|
|
233
|
+
|
|
234
|
+
|
|
221
235
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
222
236
|
FieldValue = typing.Annotated[
|
|
223
|
-
FieldValueFiles | FieldValueId | FieldValueIds | FieldValueText | FieldValueBoolean | FieldValueNumeric | FieldValueBatchReference | FieldValueFieldOption | FieldValueFieldOptions,
|
|
237
|
+
FieldValueFiles | FieldValueId | FieldValueIds | FieldValueText | FieldValueBoolean | FieldValueNumeric | FieldValueBatchReference | FieldValueFieldOption | FieldValueFieldOptions | FieldValueNull,
|
|
224
238
|
serial_union_annotation(
|
|
225
239
|
named_type_path="sdk.field_values.FieldValue",
|
|
226
240
|
),
|
|
@@ -109,6 +109,7 @@ UploadDestination = typing.Annotated[
|
|
|
109
109
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
110
110
|
@serial_class(
|
|
111
111
|
named_type_path="sdk.generic_upload.GenericUploadStrategy",
|
|
112
|
+
explicit_defaults={"skip_moving_files"},
|
|
112
113
|
)
|
|
113
114
|
@dataclasses.dataclass(kw_only=True)
|
|
114
115
|
class GenericUploadStrategy:
|
|
@@ -168,6 +168,7 @@ JobExecutor = typing.Annotated[
|
|
|
168
168
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
169
169
|
@serial_class(
|
|
170
170
|
named_type_path="sdk.job_definition.JobLoggingSettings",
|
|
171
|
+
explicit_defaults={"enabled"},
|
|
171
172
|
)
|
|
172
173
|
@dataclasses.dataclass(kw_only=True)
|
|
173
174
|
class JobLoggingSettings:
|
|
@@ -178,6 +179,7 @@ class JobLoggingSettings:
|
|
|
178
179
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
179
180
|
@serial_class(
|
|
180
181
|
named_type_path="sdk.job_definition.JobDefinitionBase",
|
|
182
|
+
explicit_defaults={"enabled"},
|
|
181
183
|
)
|
|
182
184
|
@dataclasses.dataclass(kw_only=True)
|
|
183
185
|
class JobDefinitionBase:
|
|
@@ -59,6 +59,7 @@ class RecipeWorkflowStepPosition(StrEnum):
|
|
|
59
59
|
@serial_class(
|
|
60
60
|
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierWorkflowStep",
|
|
61
61
|
parse_require={"type"},
|
|
62
|
+
explicit_defaults={"position"},
|
|
62
63
|
)
|
|
63
64
|
@dataclasses.dataclass(kw_only=True)
|
|
64
65
|
class RecipeWorkflowStepIdentifierWorkflowStep(RecipeWorkflowStepIdentifierBase):
|
uncountable/types/response_t.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.104
|
|
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
|
|
@@ -24,7 +24,7 @@ examples/set_recipe_output_file_sdk.py,sha256=Lz1amqppnWTX83z-C090wCJ4hcKmCD3kb-
|
|
|
24
24
|
examples/upload_files.py,sha256=qMaSvMSdTMPOOP55y1AwEurc0SOdZAMvEydlqJPsGpg,432
|
|
25
25
|
examples/integration-server/pyproject.toml,sha256=VjUN8AZWIzliyLVX2hLfoMAOzxGini62g1287kJflr4,9127
|
|
26
26
|
examples/integration-server/jobs/materials_auto/example_cron.py,sha256=7VVQ-UJsq3DbGpN3XPnorRVZYo-vCwbfSU3VVDluIzA,699
|
|
27
|
-
examples/integration-server/jobs/materials_auto/example_wh.py,sha256=
|
|
27
|
+
examples/integration-server/jobs/materials_auto/example_wh.py,sha256=kN6l5KQIyoDh7aFnvvMp6j8KyVfLUQoKXMhoer_iBto,564
|
|
28
28
|
examples/integration-server/jobs/materials_auto/profile.yaml,sha256=XlOXSRplMJ13T6900pv1wDKxeE9V1hZZTMuvup1MiBM,896
|
|
29
29
|
pkgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
30
|
pkgs/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -46,7 +46,7 @@ pkgs/serialization/annotation.py,sha256=wn9yb4a4DrsyPAYqY9mVswJarP4lsOkgfnvchrg5
|
|
|
46
46
|
pkgs/serialization/missing_sentry.py,sha256=89SomyM0sBWLr_N0SPOyxU3hWcm1ljL-veTazZ1-GU8,811
|
|
47
47
|
pkgs/serialization/opaque_key.py,sha256=8ak7aMCGWkKDjnG374yqy8gtnCCUzG2DSJEBfoPgi0c,194
|
|
48
48
|
pkgs/serialization/serial_alias.py,sha256=zP0wAy7NGvpyOe-TGUwHy3wPF0XZTIwFLh_caDX67BU,1343
|
|
49
|
-
pkgs/serialization/serial_class.py,sha256=
|
|
49
|
+
pkgs/serialization/serial_class.py,sha256=uBfleDXvSZcPfPSzLIqKTocXix5i-lMjidnS9-xQXR8,6711
|
|
50
50
|
pkgs/serialization/serial_generic.py,sha256=vAC0-o9fkco2lM_YvBavY0JDYncDxbW3jFboYeHRImw,461
|
|
51
51
|
pkgs/serialization/serial_union.py,sha256=IdWsSsM8j-qGfl5Wv6haX37ZS1SKob8XT8cilBBOVIo,2670
|
|
52
52
|
pkgs/serialization/yaml.py,sha256=yoJtu7_ixnJV6uTxA_U1PpK5F_ixT08AKVh5ocyYwXM,1466
|
|
@@ -59,13 +59,13 @@ pkgs/strenum_compat/__init__.py,sha256=wXRFeNvBm8RU6dy1PFJ5sRLgUIEeH_DVR95Sv5qpG
|
|
|
59
59
|
pkgs/strenum_compat/strenum_compat.py,sha256=uOUAgpYTjHs1MX8dG81jRlyTkt3KNbkV_25zp7xTX2s,36
|
|
60
60
|
pkgs/type_spec/__init__.py,sha256=h5DmJTca4QVV10sZR1x0-MlkZfuGYDfapR3zHvXfzto,19
|
|
61
61
|
pkgs/type_spec/__main__.py,sha256=5bJaX9Y_-FavP0qwzhk-z-V97UY7uaezJTa1zhO_HHQ,1048
|
|
62
|
-
pkgs/type_spec/builder.py,sha256=
|
|
62
|
+
pkgs/type_spec/builder.py,sha256=5JP_BLTEweV3Ck3w_UbWGMVmzy65DfqtFLel-3Z5B9Y,52869
|
|
63
63
|
pkgs/type_spec/config.py,sha256=HThKnWQ4zkWOyUIb12hTodsrvEnhSzOvhHKCOeTM0iY,5302
|
|
64
64
|
pkgs/type_spec/cross_output_links.py,sha256=nmyWUaFRk7MLTdJiosfKkhOb4VLE71A3DDKKwTZAncY,3123
|
|
65
65
|
pkgs/type_spec/emit_io_ts.py,sha256=CUvBs0boB_X-Kndh66yYcqFfq3oC_LGs8YffLkJ0ZXA,5707
|
|
66
66
|
pkgs/type_spec/emit_open_api.py,sha256=kHP4jKRica4Us28_9G2iHq9K7BrUdsl8daIIHZaPdws,25000
|
|
67
67
|
pkgs/type_spec/emit_open_api_util.py,sha256=UwaUcgqTwl_D8s2y6ic3fC23VllVcP0w_2iUg9ThYCA,2361
|
|
68
|
-
pkgs/type_spec/emit_python.py,sha256=
|
|
68
|
+
pkgs/type_spec/emit_python.py,sha256=nVCKbXfFCGUrYkLWZehJgcrR_7o5pAbqb97f_EeYEn8,52732
|
|
69
69
|
pkgs/type_spec/emit_typescript.py,sha256=0HRzxlbIP91rzbVkAntF4TKZppoKcWsqnDLAIRc1bng,10927
|
|
70
70
|
pkgs/type_spec/emit_typescript_util.py,sha256=8ophCR8MX0IvYtLYu3omfPQk2H6BeYGd2psRir9ImmQ,10550
|
|
71
71
|
pkgs/type_spec/load_types.py,sha256=GndEKQtICCQi4oXsL6cZ9khm8lBB830e6hx0wML4dHs,4278
|
|
@@ -146,19 +146,19 @@ uncountable/types/chemical_structure.py,sha256=ujyragaD26-QG5jgKnWhO7TN3N1V9b_04
|
|
|
146
146
|
uncountable/types/chemical_structure_t.py,sha256=iYmGER_vXqoksv2Nr189qU1Zm70s-U49Eiv0DkWaB1I,773
|
|
147
147
|
uncountable/types/client_base.py,sha256=EMf8jyO2gJ3M_2ypkddkF_4O-bjLJ7n4qSWQW0EHYZ8,71372
|
|
148
148
|
uncountable/types/client_config.py,sha256=qLpHt4O_B098CyN6qQajoxZ2zjZ1DILXLUEGyyGP0TQ,280
|
|
149
|
-
uncountable/types/client_config_t.py,sha256=
|
|
149
|
+
uncountable/types/client_config_t.py,sha256=ovNtGbinjSYZiC-rpYINhtEb4HcwXBDmlJDaFx8Qano,745
|
|
150
150
|
uncountable/types/curves.py,sha256=QyEyC20jsG-LGKVx6miiF-w70vKMwNkILFBDIJ5Ok9g,345
|
|
151
151
|
uncountable/types/curves_t.py,sha256=2_9qdrSl1XAvIG57lo45KWNpa0wXgZ97OkSRCPRrudc,1347
|
|
152
152
|
uncountable/types/entity.py,sha256=Zclk1LYcRaYrMDhqyCjMSLEg0fE6_q8LHvV22Qvscgs,566
|
|
153
153
|
uncountable/types/entity_t.py,sha256=MujknU1WOE77q1qS67ub3QSBYhed2j8lbZpSkkotsRs,17874
|
|
154
154
|
uncountable/types/experiment_groups.py,sha256=qUpFOx1AKgzaT_4khCOv5Xs6jwiQGbvHH-GUh3v1nv4,288
|
|
155
155
|
uncountable/types/experiment_groups_t.py,sha256=_fAYZwqYLR3cFdv2vwLOYs5TvH5CEWDEbh3kFpg26zY,700
|
|
156
|
-
uncountable/types/field_values.py,sha256=
|
|
157
|
-
uncountable/types/field_values_t.py,sha256=
|
|
156
|
+
uncountable/types/field_values.py,sha256=xWIK_wLbXLpBI-zjtXzlaYEdfm-0bxnbr9xcsIjUBr8,1457
|
|
157
|
+
uncountable/types/field_values_t.py,sha256=L3bRwVSjqXWAE2itpjAbuBmEQZSZG0XV226CP26MJ-Q,7378
|
|
158
158
|
uncountable/types/fields.py,sha256=M0_ZZr0QdNLXkdHAGo5mfU90kEtHedCSKrcod-FG30Y,245
|
|
159
159
|
uncountable/types/fields_t.py,sha256=Ze-X83HyM7q4oMk5LLRfPqvRojyAx6dDqIUPX70gNYc,644
|
|
160
160
|
uncountable/types/generic_upload.py,sha256=bNep2nT0fbKAlJaGvHWPmuvfX5KtS8kgTqTh8FQk1NA,858
|
|
161
|
-
uncountable/types/generic_upload_t.py,sha256=
|
|
161
|
+
uncountable/types/generic_upload_t.py,sha256=yvM1uaEVXy8H9OsBWr-ltzeyTuDKDZ6ZuvwBbB779m8,3801
|
|
162
162
|
uncountable/types/id_source.py,sha256=sBlDfUwHQ7bGWMschSD_aPQL7LVnCPiV2RAlPLXrAqk,546
|
|
163
163
|
uncountable/types/id_source_t.py,sha256=XzxQWkD0iQoq6LxtpCVWylYtOvq5dXslu_2ML1xNP_U,1838
|
|
164
164
|
uncountable/types/identifier.py,sha256=J-ptCFE0_R0bBAvrYp-gvHk8H9Qq9rhbmeyXgwb9nos,482
|
|
@@ -170,7 +170,7 @@ uncountable/types/inputs_t.py,sha256=0b3U77JcZT4hgUvbP_i-E5RoJbJnRxn3OKBqGWu32TM
|
|
|
170
170
|
uncountable/types/integration_server.py,sha256=VonA8h8TGnVBiss5W8-K82lA01JQa7TLk0ubFo8iiBQ,364
|
|
171
171
|
uncountable/types/integration_server_t.py,sha256=37zyqeet54P9m6pxaZfLOgZCqqZA2dxJ5gl6NCoelQ0,1188
|
|
172
172
|
uncountable/types/job_definition.py,sha256=6BkLZrmTfIYh45XFGZ5HOYveued0YXvl17YTlXblXjw,1646
|
|
173
|
-
uncountable/types/job_definition_t.py,sha256=
|
|
173
|
+
uncountable/types/job_definition_t.py,sha256=GQcs1mpl3QO1opqGAs5dmtdPwxpTPIq52Ei2pq7n9s0,7907
|
|
174
174
|
uncountable/types/outputs.py,sha256=I6zP2WHXg_jXgMqmuEJuJOlsjKjQGHjfs1JOwW9YxBM,260
|
|
175
175
|
uncountable/types/outputs_t.py,sha256=ZJhKKkksJ-K7iuuumCly9edU8TRv-eWol4PKG7XPo3E,734
|
|
176
176
|
uncountable/types/overrides.py,sha256=fOvj8P9K9ul8fnTwA--l140EWHuc1BFq8tXgtBkYld4,410
|
|
@@ -196,11 +196,11 @@ uncountable/types/recipe_output_metadata_t.py,sha256=llf9O2vK6AFRva5hx0VdiKXT9XQ
|
|
|
196
196
|
uncountable/types/recipe_tags.py,sha256=tKIwHY677lZCxrmOk1bbuZQgDuf1n1cNyp6c5r1uRbo,270
|
|
197
197
|
uncountable/types/recipe_tags_t.py,sha256=7qi9m8NAq7BdocIBdYyMVArFnPJrwuX0B9qoqlJiwzM,670
|
|
198
198
|
uncountable/types/recipe_workflow_steps.py,sha256=fb55_sREdeZrtguIZOuy4ZcTLbRBNAxQ3A0oGbH8muA,950
|
|
199
|
-
uncountable/types/recipe_workflow_steps_t.py,sha256=
|
|
199
|
+
uncountable/types/recipe_workflow_steps_t.py,sha256=8MhOr-x9Fm9OiAefAwn2BDR8gadSqjKdGvi55U8a7c8,3442
|
|
200
200
|
uncountable/types/recipes.py,sha256=6Z7bagYXX15kGlhYt_OFiYSD3lqFp4H0EquI1fUfYyk,286
|
|
201
201
|
uncountable/types/recipes_t.py,sha256=GBT56H34_pqAdeTgcye6ZNZLR1V47lG_S-R_uV-XUh8,652
|
|
202
202
|
uncountable/types/response.py,sha256=SJTwjTxZGItGJJYPZ_T1zTooEbtR5ZA8GT_cf8aXfn8,253
|
|
203
|
-
uncountable/types/response_t.py,sha256=
|
|
203
|
+
uncountable/types/response_t.py,sha256=XQ-0PHv3uxyVSJdoT50f0gDynTfC3jKa1MlNugBMdcE,680
|
|
204
204
|
uncountable/types/secret_retrieval.py,sha256=poY_nuZBIjNu64Wa0x5Ytsmh3OdAxps2kzuDgv1sa_8,571
|
|
205
205
|
uncountable/types/secret_retrieval_t.py,sha256=hcJRp2OLPd5m7twve63F8gloL8KFJiCtyJD17H6WiAc,2138
|
|
206
206
|
uncountable/types/units.py,sha256=yxuddayiE8cnzrjQiIsURisWc-Vm1F37uyS3fjM--Ao,254
|
|
@@ -269,7 +269,7 @@ uncountable/types/api/recipe_metadata/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrH
|
|
|
269
269
|
uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py,sha256=fW-6_vBIGa5Wx8JvEdpKb3orXD60DX_wOeHnmMPduc8,1550
|
|
270
270
|
uncountable/types/api/recipes/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
271
271
|
uncountable/types/api/recipes/add_recipe_to_project.py,sha256=vJL6DljCu4okNHvXJ5_uaBj0-QDEm9iTvVGMLYyDd2U,1061
|
|
272
|
-
uncountable/types/api/recipes/add_time_series_data.py,sha256=
|
|
272
|
+
uncountable/types/api/recipes/add_time_series_data.py,sha256=xD7W4PjoWnGamimGY4DsJlyDjFz4SnhpTDjwtheVaQM,1776
|
|
273
273
|
uncountable/types/api/recipes/archive_recipes.py,sha256=07Rjd9kwh5pMpiMXNr9OfjOB4vYXeuLjQtBxrXkXC7o,1024
|
|
274
274
|
uncountable/types/api/recipes/associate_recipe_as_input.py,sha256=TtsAJRT9vRjnsIh0IvfFimA2hstZvgyn6rpaDIsDfK4,1194
|
|
275
275
|
uncountable/types/api/recipes/associate_recipe_as_lot.py,sha256=_4SgFfH-wFxW9Vevv9k3G3T10Uz8CMLjuiDEv1oT2So,1138
|
|
@@ -277,29 +277,29 @@ uncountable/types/api/recipes/clear_recipe_outputs.py,sha256=BfTQrV79UePkJ4HSSix
|
|
|
277
277
|
uncountable/types/api/recipes/create_recipe.py,sha256=tVeQgikCWAwGtxpq2vLyXd5Aeqo_8Tde64x5GAOJl50,1472
|
|
278
278
|
uncountable/types/api/recipes/create_recipes.py,sha256=J1CBE13d8JaVpUxOftFg1Plo8RKa0vc-A2nHdO1yoj8,1862
|
|
279
279
|
uncountable/types/api/recipes/disassociate_recipe_as_input.py,sha256=zWUfwJlkgWexblqKCKCF5HWR40ynQ8rg_PPo2WPGISY,1106
|
|
280
|
-
uncountable/types/api/recipes/edit_recipe_inputs.py,sha256=
|
|
280
|
+
uncountable/types/api/recipes/edit_recipe_inputs.py,sha256=nhPN0MdAx7FtdGKB3xbWQ3rdHk1QtblcT3D-DC1hexE,9963
|
|
281
281
|
uncountable/types/api/recipes/get_column_calculation_values.py,sha256=9eqURjD2Mwm2lyV1bJIq66Z7a3enLhhx_scZBt4SYYc,1671
|
|
282
282
|
uncountable/types/api/recipes/get_curve.py,sha256=C-elYAKcBw7P5bWwN-8p_SWj15l5aBJrKNR8yjphZ-Q,1085
|
|
283
283
|
uncountable/types/api/recipes/get_recipe_calculations.py,sha256=iBmkhKC1qBFxuPPziM3LD6tGsdsN_xb4NcUaJwF6cHU,1679
|
|
284
|
-
uncountable/types/api/recipes/get_recipe_links.py,sha256=
|
|
284
|
+
uncountable/types/api/recipes/get_recipe_links.py,sha256=Hn35wrJlJHQ00MhpHlva0Oc29Dy0lg013VCW4eWl0SU,1182
|
|
285
285
|
uncountable/types/api/recipes/get_recipe_names.py,sha256=HXv39OI6GRedSAKOhurEQEY_djaxvJcxlTTWghLgA5I,1274
|
|
286
286
|
uncountable/types/api/recipes/get_recipe_output_metadata.py,sha256=7lF2cnRsBLPDSsjlNIy-aJ4Dao5-qe7WrNaf4XNmq74,1703
|
|
287
287
|
uncountable/types/api/recipes/get_recipes_data.py,sha256=srZBvl8dCdoo7yil0D1ohAxnbMaCS28ctCH93NaYQd0,6099
|
|
288
|
-
uncountable/types/api/recipes/lock_recipes.py,sha256=
|
|
288
|
+
uncountable/types/api/recipes/lock_recipes.py,sha256=G5BAPZe3WUMd2Okc8FC9YJBMrfI0mrD-ZY-6sup9vZg,1613
|
|
289
289
|
uncountable/types/api/recipes/remove_recipe_from_project.py,sha256=_KWbYnMMEOZAaC_jdXZvCEYXJaVhs3x27ZWlJbq3CV4,1076
|
|
290
290
|
uncountable/types/api/recipes/set_recipe_inputs.py,sha256=RvWj2SOtcuy_msp9pUjz20O3Y_EjEMKd48o-RhpCDNE,1583
|
|
291
291
|
uncountable/types/api/recipes/set_recipe_metadata.py,sha256=R4GVqpMJdJuoSXsJx1e4vhmWqKKTPMyPPEArwV45crI,1104
|
|
292
292
|
uncountable/types/api/recipes/set_recipe_output_annotations.py,sha256=yczFBmuB0grzNWsnXspCPUsDA608M9wGkJ2dugyxG4U,3526
|
|
293
293
|
uncountable/types/api/recipes/set_recipe_output_file.py,sha256=W_qvEkZxzDczwU9EZ7zKyBmLGnO6GFqMsJ3zwXCnpA0,1502
|
|
294
|
-
uncountable/types/api/recipes/set_recipe_outputs.py,sha256=
|
|
294
|
+
uncountable/types/api/recipes/set_recipe_outputs.py,sha256=EhcEDuha4fcdN15Cr4LaRHs96gQa3jsjMYNBfpOKI8M,2407
|
|
295
295
|
uncountable/types/api/recipes/set_recipe_tags.py,sha256=HS5GG-nTy0vTNTANG-ROawku0VhzOs0hIzGKfRFefYY,3098
|
|
296
296
|
uncountable/types/api/recipes/unarchive_recipes.py,sha256=G0jYuarNZLmTCQ6m5_ZAUwBl4M8_cqKRlP-jMJp-Rcw,1000
|
|
297
|
-
uncountable/types/api/recipes/unlock_recipes.py,sha256=
|
|
297
|
+
uncountable/types/api/recipes/unlock_recipes.py,sha256=D2CyWCt6eO5Fa2pRN4GScF2XT1SjlSWvUiqPiU7Dng8,1290
|
|
298
298
|
uncountable/types/api/triggers/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
299
299
|
uncountable/types/api/triggers/run_trigger.py,sha256=diX1ix_5hkti1F1uYoZhP5iyc6GHAU5coKgqq5syLhI,1059
|
|
300
300
|
uncountable/types/api/uploader/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
301
301
|
uncountable/types/api/uploader/invoke_uploader.py,sha256=-loZzBihKqx63eP-f5RuV1mu6tgkRTZmIc545kklZLk,1273
|
|
302
|
-
uncountablepythonsdk-0.0.
|
|
303
|
-
uncountablepythonsdk-0.0.
|
|
304
|
-
uncountablepythonsdk-0.0.
|
|
305
|
-
uncountablepythonsdk-0.0.
|
|
302
|
+
uncountablepythonsdk-0.0.104.dist-info/METADATA,sha256=MiX-WD_O3X1LwaYaOmc1JHv_rY9YlAY_q-9i6UA-CNg,2112
|
|
303
|
+
uncountablepythonsdk-0.0.104.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
|
304
|
+
uncountablepythonsdk-0.0.104.dist-info/top_level.txt,sha256=1UVGjAU-6hJY9qw2iJ7nCBeEwZ793AEN5ZfKX9A1uj4,31
|
|
305
|
+
uncountablepythonsdk-0.0.104.dist-info/RECORD,,
|
|
File without changes
|
{uncountablepythonsdk-0.0.103.dist-info → uncountablepythonsdk-0.0.104.dist-info}/top_level.txt
RENAMED
|
File without changes
|