UncountablePythonSDK 0.0.97__py3-none-any.whl → 0.0.99__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.
- {UncountablePythonSDK-0.0.97.dist-info → UncountablePythonSDK-0.0.99.dist-info}/METADATA +1 -1
- {UncountablePythonSDK-0.0.97.dist-info → UncountablePythonSDK-0.0.99.dist-info}/RECORD +12 -13
- pkgs/serialization_util/serialization_helpers.py +1 -4
- uncountable/integration/executors/generic_upload_executor.py +35 -1
- uncountable/integration/scheduler.py +2 -1
- uncountable/types/api/material_families/update_entity_material_families.py +1 -1
- uncountable/types/api/recipe_links/create_recipe_link.py +2 -2
- uncountable/types/api/recipe_links/remove_recipe_link.py +1 -1
- uncountable/types/client_base.py +4 -4
- uncountable/types/entity_t.py +1 -1
- pkgs/serialization_util/_env_flags.py +0 -3
- {UncountablePythonSDK-0.0.97.dist-info → UncountablePythonSDK-0.0.99.dist-info}/WHEEL +0 -0
- {UncountablePythonSDK-0.0.97.dist-info → UncountablePythonSDK-0.0.99.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.99
|
|
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
|
|
@@ -51,11 +51,10 @@ pkgs/serialization/serial_generic.py,sha256=vAC0-o9fkco2lM_YvBavY0JDYncDxbW3jFbo
|
|
|
51
51
|
pkgs/serialization/serial_union.py,sha256=IdWsSsM8j-qGfl5Wv6haX37ZS1SKob8XT8cilBBOVIo,2670
|
|
52
52
|
pkgs/serialization/yaml.py,sha256=yoJtu7_ixnJV6uTxA_U1PpK5F_ixT08AKVh5ocyYwXM,1466
|
|
53
53
|
pkgs/serialization_util/__init__.py,sha256=YykkhqGNKiLCo-D5vSTq6WiPNfCyPXyr-mQO5e5Klak,513
|
|
54
|
-
pkgs/serialization_util/_env_flags.py,sha256=5kBchfeYS_MRWWSdUE3EljXTtOZX-YYH7inh48d-Qz8,90
|
|
55
54
|
pkgs/serialization_util/_get_type_for_serialization.py,sha256=dW5_W9MFd6wgWfW5qlWork-GBb-QFLtiOZkjk2Zqn2M,1177
|
|
56
55
|
pkgs/serialization_util/convert_to_snakecase.py,sha256=H2BAo5ZdcCDN77RpLb-uP0s7-FQ5Ukwnsd3VYc1vD0M,583
|
|
57
56
|
pkgs/serialization_util/dataclasses.py,sha256=uhNGXQPQLZblDFQuuwkAGmKOPiRyfDzCdg72CVtYJGA,390
|
|
58
|
-
pkgs/serialization_util/serialization_helpers.py,sha256=
|
|
57
|
+
pkgs/serialization_util/serialization_helpers.py,sha256=KgLk6z9Y9TbkJyoMKffzBnPTtSRrE9CxnPuErVWoBSQ,6550
|
|
59
58
|
pkgs/strenum_compat/__init__.py,sha256=wXRFeNvBm8RU6dy1PFJ5sRLgUIEeH_DVR95Sv5qpGbk,59
|
|
60
59
|
pkgs/strenum_compat/strenum_compat.py,sha256=uOUAgpYTjHs1MX8dG81jRlyTkt3KNbkV_25zp7xTX2s,36
|
|
61
60
|
pkgs/type_spec/__init__.py,sha256=h5DmJTca4QVV10sZR1x0-MlkZfuGYDfapR3zHvXfzto,19
|
|
@@ -99,7 +98,7 @@ uncountable/integration/cron.py,sha256=6eH-kIs3sdYPCyb62_L2M7U_uQTdMTdwY5hreEJb0
|
|
|
99
98
|
uncountable/integration/entrypoint.py,sha256=BHOYPQgKvZE6HG8Rv15MkdYl8lRkvfDgv1OdLo0oQ9Q,433
|
|
100
99
|
uncountable/integration/job.py,sha256=zamfyEhtZh0cWyd8DvVq64RlaA1aX_wtOALv6Kf7tyo,2354
|
|
101
100
|
uncountable/integration/scan_profiles.py,sha256=760zbv7O7wXxHUHqUkFBpd1Afe8hqxMPU3ugwZGdhEo,2925
|
|
102
|
-
uncountable/integration/scheduler.py,sha256=
|
|
101
|
+
uncountable/integration/scheduler.py,sha256=99Vq9RBdK_clu4-dS7JtU4aqcxZicG8Njt992if2jK8,4811
|
|
103
102
|
uncountable/integration/server.py,sha256=m_DYRosGbHuPhygM32Xo-jRBl_oaUhOYsBBD1qwwKh4,4697
|
|
104
103
|
uncountable/integration/telemetry.py,sha256=QFvvJdzc15CvdaRLFaJeru0OouAFbYdhHYYovbT8bXg,7425
|
|
105
104
|
uncountable/integration/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -107,7 +106,7 @@ uncountable/integration/db/connect.py,sha256=mE3bdV0huclH2iT_dXCQdRL4LkjIuf_myAR
|
|
|
107
106
|
uncountable/integration/db/session.py,sha256=96cGQXpe6IugBTdSsjdP0S5yhJ6toSmbVB6qhc3FJzE,693
|
|
108
107
|
uncountable/integration/executors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
109
108
|
uncountable/integration/executors/executors.py,sha256=Kzisp1eKufGCWrHIw4mmAj-l1UQ2oJsJR7I-_mksnVs,5441
|
|
110
|
-
uncountable/integration/executors/generic_upload_executor.py,sha256=
|
|
109
|
+
uncountable/integration/executors/generic_upload_executor.py,sha256=0j3mySzvpy40yu3JEMCeRMaIF2ML8xzNKjHHTGV0-5A,12075
|
|
111
110
|
uncountable/integration/executors/script_executor.py,sha256=BBQ9f0l7uH2hgKf60jtm-pONzwk-EeOhM2qBAbv_URo,846
|
|
112
111
|
uncountable/integration/queue_runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
113
112
|
uncountable/integration/queue_runner/job_scheduler.py,sha256=2acmeWscG87MZsifxwMRMGJ4sQgQVNJNr5CqIPUg75E,6288
|
|
@@ -144,13 +143,13 @@ uncountable/types/calculations.py,sha256=fApOFpgBemt_t7IVneVR0VdI3X5EOxiG6Xhzr6R
|
|
|
144
143
|
uncountable/types/calculations_t.py,sha256=LE_HWYPf7yxNTpH5sVPaC0e98OxJ5hUOhHezeJNKDtk,648
|
|
145
144
|
uncountable/types/chemical_structure.py,sha256=ujyragaD26-QG5jgKnWhO7TN3N1V9b_04T2WhqNYxxo,281
|
|
146
145
|
uncountable/types/chemical_structure_t.py,sha256=iYmGER_vXqoksv2Nr189qU1Zm70s-U49Eiv0DkWaB1I,773
|
|
147
|
-
uncountable/types/client_base.py,sha256=
|
|
146
|
+
uncountable/types/client_base.py,sha256=9NmhVYQGhMtc78o9K4w0N-3u42avw8DuzSEettyyMs8,69144
|
|
148
147
|
uncountable/types/client_config.py,sha256=qLpHt4O_B098CyN6qQajoxZ2zjZ1DILXLUEGyyGP0TQ,280
|
|
149
148
|
uncountable/types/client_config_t.py,sha256=k_UkjemqiVuJBiFUjJYk3h673Nahr0nGZvfEZFzsC0k,699
|
|
150
149
|
uncountable/types/curves.py,sha256=QyEyC20jsG-LGKVx6miiF-w70vKMwNkILFBDIJ5Ok9g,345
|
|
151
150
|
uncountable/types/curves_t.py,sha256=2_9qdrSl1XAvIG57lo45KWNpa0wXgZ97OkSRCPRrudc,1347
|
|
152
151
|
uncountable/types/entity.py,sha256=Zclk1LYcRaYrMDhqyCjMSLEg0fE6_q8LHvV22Qvscgs,566
|
|
153
|
-
uncountable/types/entity_t.py,sha256=
|
|
152
|
+
uncountable/types/entity_t.py,sha256=k3kJhPl9bEGtcIlu1BOzdpMAszaFDVHUTZRrDWvW2Fo,17565
|
|
154
153
|
uncountable/types/experiment_groups.py,sha256=qUpFOx1AKgzaT_4khCOv5Xs6jwiQGbvHH-GUh3v1nv4,288
|
|
155
154
|
uncountable/types/experiment_groups_t.py,sha256=_fAYZwqYLR3cFdv2vwLOYs5TvH5CEWDEbh3kFpg26zY,700
|
|
156
155
|
uncountable/types/field_values.py,sha256=hERqHIDmWPQpdW7BLitdA-DNiutmll-ggecwEO7FoVU,1181
|
|
@@ -250,7 +249,7 @@ uncountable/types/api/inputs/set_input_category.py,sha256=a2sV0pE_EsZd6DBS3ud2KL
|
|
|
250
249
|
uncountable/types/api/inputs/set_input_subcategories.py,sha256=y-Wttpmddpe7ps9OxsVe96x3t1R_p5h4xShJxI7i5MY,1175
|
|
251
250
|
uncountable/types/api/inputs/set_intermediate_type.py,sha256=8eodqt_J6OqmU4qyfbjgc43UrlG8xBfUEY-e9oRDFxI,1286
|
|
252
251
|
uncountable/types/api/material_families/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
253
|
-
uncountable/types/api/material_families/update_entity_material_families.py,sha256=
|
|
252
|
+
uncountable/types/api/material_families/update_entity_material_families.py,sha256=cSb7dedp6qgxxe01GDs1yN7RKJa854_7NFPEfmjNIuU,1639
|
|
254
253
|
uncountable/types/api/outputs/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
255
254
|
uncountable/types/api/outputs/get_output_data.py,sha256=Sg2gkAN9k9171eW1-5spsHKERgIFfPkX8mGe_t0ep2c,2703
|
|
256
255
|
uncountable/types/api/outputs/get_output_names.py,sha256=m4lSzpZF1g0CBtQBzOS0MH6hsuVOMs0FlJAKlTz6hW4,1356
|
|
@@ -261,8 +260,8 @@ uncountable/types/api/project/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8
|
|
|
261
260
|
uncountable/types/api/project/get_projects.py,sha256=DHThOC3XesjDPjle3LTW93ef6DTjrVKIK2AZcbv2_s0,1466
|
|
262
261
|
uncountable/types/api/project/get_projects_data.py,sha256=wp-mL40BNR9I1NXBXYVWlCGxLOFsT2T9B0aoFTYCuZA,1675
|
|
263
262
|
uncountable/types/api/recipe_links/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
264
|
-
uncountable/types/api/recipe_links/create_recipe_link.py,sha256=
|
|
265
|
-
uncountable/types/api/recipe_links/remove_recipe_link.py,sha256=
|
|
263
|
+
uncountable/types/api/recipe_links/create_recipe_link.py,sha256=xrn7jk1VtCP1Obo-ssWOxrZVvgQHiIPZUKRBueobP4k,1450
|
|
264
|
+
uncountable/types/api/recipe_links/remove_recipe_link.py,sha256=wxh18Q-CFsX6evJ6ASTiJUcQU1dIMEPOuoMWJdAJ1Oc,1422
|
|
266
265
|
uncountable/types/api/recipe_metadata/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
267
266
|
uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py,sha256=fW-6_vBIGa5Wx8JvEdpKb3orXD60DX_wOeHnmMPduc8,1550
|
|
268
267
|
uncountable/types/api/recipes/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
@@ -296,7 +295,7 @@ uncountable/types/api/triggers/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr
|
|
|
296
295
|
uncountable/types/api/triggers/run_trigger.py,sha256=diX1ix_5hkti1F1uYoZhP5iyc6GHAU5coKgqq5syLhI,1059
|
|
297
296
|
uncountable/types/api/uploader/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
298
297
|
uncountable/types/api/uploader/invoke_uploader.py,sha256=-loZzBihKqx63eP-f5RuV1mu6tgkRTZmIc545kklZLk,1273
|
|
299
|
-
UncountablePythonSDK-0.0.
|
|
300
|
-
UncountablePythonSDK-0.0.
|
|
301
|
-
UncountablePythonSDK-0.0.
|
|
302
|
-
UncountablePythonSDK-0.0.
|
|
298
|
+
UncountablePythonSDK-0.0.99.dist-info/METADATA,sha256=usEsc4-kmTVinca7Rvady4lYj1YADAcblFhxICJ5oh8,2114
|
|
299
|
+
UncountablePythonSDK-0.0.99.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
300
|
+
UncountablePythonSDK-0.0.99.dist-info/top_level.txt,sha256=1UVGjAU-6hJY9qw2iJ7nCBeEwZ793AEN5ZfKX9A1uj4,31
|
|
301
|
+
UncountablePythonSDK-0.0.99.dist-info/RECORD,,
|
|
@@ -23,7 +23,6 @@ from pkgs.serialization import (
|
|
|
23
23
|
get_serial_class_data,
|
|
24
24
|
)
|
|
25
25
|
|
|
26
|
-
from ._env_flags import USE_FASTJSON
|
|
27
26
|
from ._get_type_for_serialization import SerializationType, get_serialization_type
|
|
28
27
|
from .dataclasses import iterate_fields
|
|
29
28
|
|
|
@@ -110,9 +109,7 @@ def _get_dataclass_conversion_lookups(dataclass_type: Any) -> DataclassConversio
|
|
|
110
109
|
if scd.has_to_string_value(key):
|
|
111
110
|
value_conversion_functions[key] = _to_string_value
|
|
112
111
|
elif scd.has_unconverted_value(key):
|
|
113
|
-
value_conversion_functions[key] =
|
|
114
|
-
serialize_for_storage if USE_FASTJSON else identity
|
|
115
|
-
)
|
|
112
|
+
value_conversion_functions[key] = serialize_for_storage
|
|
116
113
|
else:
|
|
117
114
|
value_conversion_functions[key] = serialize_for_api
|
|
118
115
|
|
|
@@ -33,6 +33,27 @@ from uncountable.types.job_definition_t import (
|
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
|
|
36
|
+
def _get_extension(filename: str) -> str | None:
|
|
37
|
+
_, ext = os.path.splitext(filename)
|
|
38
|
+
return ext.strip().lower()
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _run_keyword_detection(data: io.BytesIO, keyword: str) -> bool:
|
|
42
|
+
try:
|
|
43
|
+
text = io.TextIOWrapper(data)
|
|
44
|
+
for line in text:
|
|
45
|
+
if (
|
|
46
|
+
keyword in line
|
|
47
|
+
or re.search(keyword, line, flags=re.IGNORECASE) is not None
|
|
48
|
+
):
|
|
49
|
+
return True
|
|
50
|
+
return False
|
|
51
|
+
except re.error:
|
|
52
|
+
return False
|
|
53
|
+
except UnicodeError:
|
|
54
|
+
return False
|
|
55
|
+
|
|
56
|
+
|
|
36
57
|
def _filter_files_by_keyword(
|
|
37
58
|
remote_directory: GenericRemoteDirectoryScope,
|
|
38
59
|
files: list[FileObjectData],
|
|
@@ -41,7 +62,20 @@ def _filter_files_by_keyword(
|
|
|
41
62
|
if remote_directory.detection_keyword is None:
|
|
42
63
|
return files
|
|
43
64
|
|
|
44
|
-
|
|
65
|
+
filtered_files = []
|
|
66
|
+
|
|
67
|
+
for file in files:
|
|
68
|
+
extension = _get_extension(file.filename)
|
|
69
|
+
|
|
70
|
+
if extension not in (".txt", ".csv"):
|
|
71
|
+
raise NotImplementedError(
|
|
72
|
+
"keyword detection is only supported for csv, txt files"
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
if _run_keyword_detection(file.file_IO, remote_directory.detection_keyword):
|
|
76
|
+
filtered_files.append(file)
|
|
77
|
+
|
|
78
|
+
return filtered_files
|
|
45
79
|
|
|
46
80
|
|
|
47
81
|
def _filter_by_filename(
|
|
@@ -32,7 +32,7 @@ ENDPOINT_PATH = "api/external/material_families/external_update_entity_material_
|
|
|
32
32
|
@dataclasses.dataclass(kw_only=True)
|
|
33
33
|
class Arguments:
|
|
34
34
|
entity_key: identifier_t.IdentifierKey
|
|
35
|
-
entity_type: typing.Literal[entity_t.EntityType.RECIPE_METADATA] | typing.Literal[entity_t.EntityType.INGREDIENT] | typing.Literal[entity_t.EntityType.OUTPUT] | typing.Literal[entity_t.EntityType.CONDITION_PARAMETER] | typing.Literal[entity_t.EntityType.INGREDIENT_ATTRIBUTE]
|
|
35
|
+
entity_type: typing.Literal[entity_t.EntityType.RECIPE_METADATA] | typing.Literal[entity_t.EntityType.INGREDIENT] | typing.Literal[entity_t.EntityType.OUTPUT] | typing.Literal[entity_t.EntityType.CONDITION_PARAMETER] | typing.Literal[entity_t.EntityType.INGREDIENT_ATTRIBUTE] | typing.Literal[entity_t.EntityType.INGREDIENT_CATEGORY_ALL]
|
|
36
36
|
material_family_ids: list[base_t.ObjectId]
|
|
37
37
|
update_type: post_base_t.UpdateType
|
|
38
38
|
|
|
@@ -31,8 +31,8 @@ ENDPOINT_PATH = "api/external/recipe_links/create_recipe_link"
|
|
|
31
31
|
class Arguments:
|
|
32
32
|
recipe_from_key: identifier_t.IdentifierKey
|
|
33
33
|
recipe_to_key: identifier_t.IdentifierKey
|
|
34
|
-
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK]
|
|
35
|
-
name: str
|
|
34
|
+
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK] | typing.Literal[recipe_links_t.RecipeLinkType.PREVIOUS_EXPERIMENT]
|
|
35
|
+
name: str | None = None
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -31,7 +31,7 @@ ENDPOINT_PATH = "api/external/recipe_links/remove_recipe_link"
|
|
|
31
31
|
class Arguments:
|
|
32
32
|
recipe_from_key: identifier_t.IdentifierKey
|
|
33
33
|
recipe_to_key: identifier_t.IdentifierKey
|
|
34
|
-
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK]
|
|
34
|
+
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK] | typing.Literal[recipe_links_t.RecipeLinkType.PREVIOUS_EXPERIMENT]
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/client_base.py
CHANGED
|
@@ -377,8 +377,8 @@ class ClientMethods(ABC):
|
|
|
377
377
|
*,
|
|
378
378
|
recipe_from_key: identifier_t.IdentifierKey,
|
|
379
379
|
recipe_to_key: identifier_t.IdentifierKey,
|
|
380
|
-
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK],
|
|
381
|
-
name: str,
|
|
380
|
+
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK] | typing.Literal[recipe_links_t.RecipeLinkType.PREVIOUS_EXPERIMENT],
|
|
381
|
+
name: str | None = None,
|
|
382
382
|
) -> create_recipe_link_t.Data:
|
|
383
383
|
"""Create a link between two recipes. Skip if the link already exists
|
|
384
384
|
|
|
@@ -1125,7 +1125,7 @@ class ClientMethods(ABC):
|
|
|
1125
1125
|
*,
|
|
1126
1126
|
recipe_from_key: identifier_t.IdentifierKey,
|
|
1127
1127
|
recipe_to_key: identifier_t.IdentifierKey,
|
|
1128
|
-
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK],
|
|
1128
|
+
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK] | typing.Literal[recipe_links_t.RecipeLinkType.PREVIOUS_EXPERIMENT],
|
|
1129
1129
|
) -> remove_recipe_link_t.Data:
|
|
1130
1130
|
"""Remove a link between two recipes. Skip if the link doesn't already exist
|
|
1131
1131
|
|
|
@@ -1577,7 +1577,7 @@ class ClientMethods(ABC):
|
|
|
1577
1577
|
self,
|
|
1578
1578
|
*,
|
|
1579
1579
|
entity_key: identifier_t.IdentifierKey,
|
|
1580
|
-
entity_type: typing.Literal[entity_t.EntityType.RECIPE_METADATA] | typing.Literal[entity_t.EntityType.INGREDIENT] | typing.Literal[entity_t.EntityType.OUTPUT] | typing.Literal[entity_t.EntityType.CONDITION_PARAMETER] | typing.Literal[entity_t.EntityType.INGREDIENT_ATTRIBUTE],
|
|
1580
|
+
entity_type: typing.Literal[entity_t.EntityType.RECIPE_METADATA] | typing.Literal[entity_t.EntityType.INGREDIENT] | typing.Literal[entity_t.EntityType.OUTPUT] | typing.Literal[entity_t.EntityType.CONDITION_PARAMETER] | typing.Literal[entity_t.EntityType.INGREDIENT_ATTRIBUTE] | typing.Literal[entity_t.EntityType.INGREDIENT_CATEGORY_ALL],
|
|
1581
1581
|
material_family_ids: list[base_t.ObjectId],
|
|
1582
1582
|
update_type: post_base_t.UpdateType,
|
|
1583
1583
|
) -> update_entity_material_families_t.Data:
|
uncountable/types/entity_t.py
CHANGED
|
@@ -346,7 +346,7 @@ class EntityType(StrEnum):
|
|
|
346
346
|
|
|
347
347
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
348
348
|
LimitedEntityType = typing.Annotated[
|
|
349
|
-
typing.Literal[EntityType.LAB_REQUEST] | typing.Literal[EntityType.APPROVAL] | typing.Literal[EntityType.CUSTOM_ENTITY] | typing.Literal[EntityType.INGREDIENT_ATTRIBUTE] | typing.Literal[EntityType.INVENTORY_AMOUNT] | typing.Literal[EntityType.TASK] | typing.Literal[EntityType.PROJECT] | typing.Literal[EntityType.EQUIPMENT] | typing.Literal[EntityType.INV_LOCAL_LOCATIONS] | typing.Literal[EntityType.FIELD_OPTION_SET] | typing.Literal[EntityType.WEBHOOK] | typing.Literal[EntityType.SPECS] | typing.Literal[EntityType.GOAL] | typing.Literal[EntityType.INGREDIENT_TAG_MAP] | typing.Literal[EntityType.INGREDIENT_TAG] | typing.Literal[EntityType.CONDITION_PARAMETER] | typing.Literal[EntityType.OUTPUT] | typing.Literal[EntityType.OUTPUT_CONDITION_PARAMETER] | typing.Literal[EntityType.ASYNC_JOB] | typing.Literal[EntityType.CONSTRAINT],
|
|
349
|
+
typing.Literal[EntityType.LAB_REQUEST] | typing.Literal[EntityType.APPROVAL] | typing.Literal[EntityType.CUSTOM_ENTITY] | typing.Literal[EntityType.INGREDIENT_ATTRIBUTE] | typing.Literal[EntityType.INVENTORY_AMOUNT] | typing.Literal[EntityType.TASK] | typing.Literal[EntityType.PROJECT] | typing.Literal[EntityType.EQUIPMENT] | typing.Literal[EntityType.INV_LOCAL_LOCATIONS] | typing.Literal[EntityType.FIELD_OPTION_SET] | typing.Literal[EntityType.WEBHOOK] | typing.Literal[EntityType.SPECS] | typing.Literal[EntityType.GOAL] | typing.Literal[EntityType.INGREDIENT_TAG_MAP] | typing.Literal[EntityType.INGREDIENT_TAG] | typing.Literal[EntityType.CONDITION_PARAMETER] | typing.Literal[EntityType.OUTPUT] | typing.Literal[EntityType.OUTPUT_CONDITION_PARAMETER] | typing.Literal[EntityType.ASYNC_JOB] | typing.Literal[EntityType.CONSTRAINT] | typing.Literal[EntityType.INGREDIENT_CATEGORY_ALL],
|
|
350
350
|
serial_alias_annotation(
|
|
351
351
|
named_type_path="sdk.entity.LimitedEntityType",
|
|
352
352
|
),
|
|
File without changes
|
{UncountablePythonSDK-0.0.97.dist-info → UncountablePythonSDK-0.0.99.dist-info}/top_level.txt
RENAMED
|
File without changes
|