UncountablePythonSDK 0.0.183__py3-none-any.whl → 0.0.184__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.
- docs/requirements.txt +1 -1
- examples/integration-server/pyproject.toml +1 -1
- pkgs/type_spec/actions_registry/__main__.py +1 -0
- pkgs/type_spec/actions_registry/emit_python.py +2 -0
- pkgs/type_spec/actions_registry/emit_typescript.py +4 -0
- pkgs/type_spec/builder.py +6 -0
- pkgs/type_spec/emit_python.py +34 -6
- uncountable/types/entity_t.py +13 -1
- uncountable/types/uploader.py +2 -0
- uncountable/types/uploader_t.py +26 -1
- {uncountablepythonsdk-0.0.183.dist-info → uncountablepythonsdk-0.0.184.dist-info}/METADATA +1 -1
- {uncountablepythonsdk-0.0.183.dist-info → uncountablepythonsdk-0.0.184.dist-info}/RECORD +14 -14
- {uncountablepythonsdk-0.0.183.dist-info → uncountablepythonsdk-0.0.184.dist-info}/WHEEL +0 -0
- {uncountablepythonsdk-0.0.183.dist-info → uncountablepythonsdk-0.0.184.dist-info}/top_level.txt +0 -0
docs/requirements.txt
CHANGED
|
@@ -82,6 +82,7 @@ def main() -> None:
|
|
|
82
82
|
short_description=definition.short_description,
|
|
83
83
|
description=definition.description,
|
|
84
84
|
icon=definition.icon,
|
|
85
|
+
action=definition.action,
|
|
85
86
|
ref_name=ref_name,
|
|
86
87
|
module=actions_registry_t.ActionsRegistryModule(
|
|
87
88
|
ts_name(module_str, name_case=builder.NameCase.convert)
|
|
@@ -51,6 +51,8 @@ def _emit_action_definition(
|
|
|
51
51
|
out.write(f"{sub_indent}description={_py_str(action.description)},\n")
|
|
52
52
|
if action.icon is not None:
|
|
53
53
|
out.write(f"{sub_indent}icon={_py_str(action.icon)},\n")
|
|
54
|
+
if action.action is not None:
|
|
55
|
+
out.write(f"{sub_indent}action={_py_str(action.action)},\n")
|
|
54
56
|
out.write(f"{sub_indent}ref_name={_py_str(action.ref_name)},\n")
|
|
55
57
|
out.write(
|
|
56
58
|
f"{sub_indent}module=actions_registry_t.ActionsRegistryModule.{action.module.name},\n"
|
|
@@ -130,6 +130,10 @@ def _emit_action_definition(
|
|
|
130
130
|
out.write(
|
|
131
131
|
f"{sub_indent}icon: {encode_common_string(action_definition.icon)},\n"
|
|
132
132
|
)
|
|
133
|
+
if action_definition.action is not None:
|
|
134
|
+
out.write(
|
|
135
|
+
f"{sub_indent}action: {encode_common_string(action_definition.action)},\n"
|
|
136
|
+
)
|
|
133
137
|
out.write(
|
|
134
138
|
f"{sub_indent}shortDescription: {encode_common_string(action_definition.short_description)},\n"
|
|
135
139
|
)
|
pkgs/type_spec/builder.py
CHANGED
|
@@ -1106,6 +1106,7 @@ class SpecEndpoint:
|
|
|
1106
1106
|
desc: str | None = None
|
|
1107
1107
|
account_type: str | None
|
|
1108
1108
|
route_group: str | None
|
|
1109
|
+
allow_non_materials_path: bool = False
|
|
1109
1110
|
|
|
1110
1111
|
# function, path details per api endpoint
|
|
1111
1112
|
path_per_api_endpoint: dict[str, EndpointSpecificPath]
|
|
@@ -1135,6 +1136,7 @@ class SpecEndpoint:
|
|
|
1135
1136
|
"has_attachment",
|
|
1136
1137
|
"account_type",
|
|
1137
1138
|
"route_group",
|
|
1139
|
+
"allow_non_materials_path",
|
|
1138
1140
|
]
|
|
1139
1141
|
+ list(builder.api_endpoints.keys()),
|
|
1140
1142
|
)
|
|
@@ -1188,6 +1190,10 @@ class SpecEndpoint:
|
|
|
1188
1190
|
assert isinstance(suppress_ts, bool)
|
|
1189
1191
|
self.suppress_ts = suppress_ts
|
|
1190
1192
|
|
|
1193
|
+
allow_non_materials_path = data.get("allow_non_materials_path", False)
|
|
1194
|
+
assert isinstance(allow_non_materials_path, bool)
|
|
1195
|
+
self.allow_non_materials_path = allow_non_materials_path
|
|
1196
|
+
|
|
1191
1197
|
self.result_type = ResultType(data.get("result_type", ResultType.json.value))
|
|
1192
1198
|
self.has_attachment = data.get("has_attachment", False)
|
|
1193
1199
|
self.desc = data.get("desc")
|
pkgs/type_spec/emit_python.py
CHANGED
|
@@ -1166,13 +1166,25 @@ def _emit_routes(*, builder: builder.SpecBuilder, config: PythonConfig) -> None:
|
|
|
1166
1166
|
continue
|
|
1167
1167
|
|
|
1168
1168
|
endpoints.append(endpoint)
|
|
1169
|
+
|
|
1170
|
+
has_route_opts = any(
|
|
1171
|
+
endpoint.allow_non_materials_path for endpoint in endpoints
|
|
1172
|
+
)
|
|
1173
|
+
route_opts_import = ["RouteOpts"] if has_route_opts else []
|
|
1174
|
+
static_route_imports = ", ".join(
|
|
1175
|
+
sorted(["StaticRouteType", *route_opts_import])
|
|
1176
|
+
)
|
|
1177
|
+
dynamic_route_imports = ", ".join(
|
|
1178
|
+
sorted(["DynamicRouteType", *route_opts_import])
|
|
1179
|
+
)
|
|
1180
|
+
|
|
1169
1181
|
static_out = io.StringIO()
|
|
1170
1182
|
static_out.write(
|
|
1171
1183
|
f"""{MODIFY_NOTICE}{LINT_HEADER}{ROUTE_NOTICE}
|
|
1172
1184
|
|
|
1173
1185
|
# Static routes for use locally and to ensure linting/mypy finds all modules
|
|
1174
1186
|
|
|
1175
|
-
from main.site.framework.types import
|
|
1187
|
+
from main.site.framework.types import {static_route_imports}
|
|
1176
1188
|
"""
|
|
1177
1189
|
)
|
|
1178
1190
|
|
|
@@ -1218,7 +1230,7 @@ ROUTES: list[StaticRouteType] = [
|
|
|
1218
1230
|
|
|
1219
1231
|
# Dynamic loaded routes to provide faster startup times
|
|
1220
1232
|
|
|
1221
|
-
from main.site.framework.types import
|
|
1233
|
+
from main.site.framework.types import {dynamic_route_imports}
|
|
1222
1234
|
|
|
1223
1235
|
ROUTE_PREFIX = "/{last_endpoint.path_per_api_endpoint[endpoint_root].path_root}"
|
|
1224
1236
|
|
|
@@ -1226,19 +1238,35 @@ ROUTES: list[DynamicRouteType] = [
|
|
|
1226
1238
|
"""
|
|
1227
1239
|
)
|
|
1228
1240
|
|
|
1241
|
+
route_opts_out = io.StringIO()
|
|
1229
1242
|
for endpoint in sorted_endpoints:
|
|
1230
1243
|
endpoint_function_path = endpoint.path_per_api_endpoint[endpoint_root]
|
|
1244
|
+
route = f"{endpoint_function_path.path_dirname}/{endpoint_function_path.path_basename}"
|
|
1231
1245
|
dynamic_out.write(
|
|
1232
|
-
f'{INDENT}("{
|
|
1246
|
+
f'{INDENT}("{route}", "{endpoint_function_path.function}", ["{endpoint.method.upper()}"]),\n'
|
|
1233
1247
|
)
|
|
1234
1248
|
|
|
1235
1249
|
assert endpoint_function_path.function
|
|
1236
1250
|
static_out.write(
|
|
1237
|
-
f'{INDENT}("{
|
|
1251
|
+
f'{INDENT}("{route}", {endpoint_function_path.function}, ["{endpoint.method.upper()}"]),\n'
|
|
1238
1252
|
)
|
|
1239
1253
|
|
|
1240
|
-
|
|
1241
|
-
|
|
1254
|
+
if endpoint.allow_non_materials_path:
|
|
1255
|
+
route_opts_out.write(
|
|
1256
|
+
f'{INDENT}"{route}": RouteOpts(allow_non_materials_path=True),\n'
|
|
1257
|
+
)
|
|
1258
|
+
|
|
1259
|
+
routes_close = f"{MODIFY_NOTICE}]\n"
|
|
1260
|
+
dynamic_out.write(routes_close)
|
|
1261
|
+
static_out.write(routes_close)
|
|
1262
|
+
|
|
1263
|
+
if has_route_opts:
|
|
1264
|
+
route_opts_emit = f"""
|
|
1265
|
+
ROUTE_OPTS: dict[str, RouteOpts] = {{
|
|
1266
|
+
{route_opts_out.getvalue()}{MODIFY_NOTICE}}}
|
|
1267
|
+
"""
|
|
1268
|
+
dynamic_out.write(route_opts_emit)
|
|
1269
|
+
static_out.write(route_opts_emit)
|
|
1242
1270
|
|
|
1243
1271
|
util.rewrite_file(f"{output}/routes_static.py", static_out.getvalue())
|
|
1244
1272
|
util.rewrite_file(f"{output}/routes_dynamic.py", dynamic_out.getvalue())
|
uncountable/types/entity_t.py
CHANGED
|
@@ -27,6 +27,7 @@ __all__: list[str] = [
|
|
|
27
27
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
28
28
|
@serial_string_enum(
|
|
29
29
|
labels={
|
|
30
|
+
"agent_memory": "Agent Memory",
|
|
30
31
|
"aggregated_data_view": "Aggregated Data View",
|
|
31
32
|
"analytical_method": "Analytical Method",
|
|
32
33
|
"analytical_method_category": "Analytical Method Category",
|
|
@@ -35,6 +36,8 @@ __all__: list[str] = [
|
|
|
35
36
|
"approval": "Approval",
|
|
36
37
|
"async_job": "Async Job",
|
|
37
38
|
"barcode": "Barcode",
|
|
39
|
+
"cad_document": "CAD Document",
|
|
40
|
+
"cad_relationship": "CAD Relationship",
|
|
38
41
|
"calculation": "Calculation",
|
|
39
42
|
"calendar": "Calendar",
|
|
40
43
|
"calendar_event": "Calendar Event",
|
|
@@ -57,6 +60,7 @@ __all__: list[str] = [
|
|
|
57
60
|
"credit_balance": "Credit Balance",
|
|
58
61
|
"curve_settings": "Curve Settings",
|
|
59
62
|
"custom_entity": "Custom Entity",
|
|
63
|
+
"data_pipeline": "Data Pipeline",
|
|
60
64
|
"dataset_binding": "Dataset Binding",
|
|
61
65
|
"default_permissions_new_project": "Default Permissions New Project",
|
|
62
66
|
"document": "Document",
|
|
@@ -90,6 +94,7 @@ __all__: list[str] = [
|
|
|
90
94
|
"external_ai_model": "External AI Model",
|
|
91
95
|
"external_ai_session": "External AI Session",
|
|
92
96
|
"external_ai_usage": "External AI Usage",
|
|
97
|
+
"external_ai_plugin": "External AI Plugin",
|
|
93
98
|
"external_oauth_provider": "External OAuth Provider",
|
|
94
99
|
"experiment_group": "Experiment Group",
|
|
95
100
|
"experiment_group_member": "Experiment Group Member",
|
|
@@ -206,6 +211,7 @@ __all__: list[str] = [
|
|
|
206
211
|
"regional_entity_group": "Regional Entity Group",
|
|
207
212
|
"regulation": "Regulation",
|
|
208
213
|
"regulation_cas": "Regulation CAS",
|
|
214
|
+
"regulation_product_category": "Regulation Product Category",
|
|
209
215
|
"metadata_value": "Metadata Value",
|
|
210
216
|
"report_definition": "Report Definition",
|
|
211
217
|
"reusable_field_condition": "Reusable Field Condition",
|
|
@@ -297,6 +303,7 @@ __all__: list[str] = [
|
|
|
297
303
|
},
|
|
298
304
|
)
|
|
299
305
|
class EntityType(StrEnum):
|
|
306
|
+
AGENT_MEMORY = "agent_memory"
|
|
300
307
|
AGGREGATED_DATA_VIEW = "aggregated_data_view"
|
|
301
308
|
ANALYTICAL_METHOD = "analytical_method"
|
|
302
309
|
ANALYTICAL_METHOD_CATEGORY = "analytical_method_category"
|
|
@@ -305,6 +312,8 @@ class EntityType(StrEnum):
|
|
|
305
312
|
APPROVAL = "approval"
|
|
306
313
|
ASYNC_JOB = "async_job"
|
|
307
314
|
BARCODE = "barcode"
|
|
315
|
+
CAD_DOCUMENT = "cad_document"
|
|
316
|
+
CAD_RELATIONSHIP = "cad_relationship"
|
|
308
317
|
CALCULATION = "calculation"
|
|
309
318
|
CALENDAR = "calendar"
|
|
310
319
|
CALENDAR_EVENT = "calendar_event"
|
|
@@ -327,6 +336,7 @@ class EntityType(StrEnum):
|
|
|
327
336
|
CREDIT_BALANCE = "credit_balance"
|
|
328
337
|
CURVE_SETTINGS = "curve_settings"
|
|
329
338
|
CUSTOM_ENTITY = "custom_entity"
|
|
339
|
+
DATA_PIPELINE = "data_pipeline"
|
|
330
340
|
DATASET_BINDING = "dataset_binding"
|
|
331
341
|
DEFAULT_PERMISSIONS_NEW_PROJECT = "default_permissions_new_project"
|
|
332
342
|
DOCUMENT = "document"
|
|
@@ -360,6 +370,7 @@ class EntityType(StrEnum):
|
|
|
360
370
|
EXTERNAL_AI_MODEL = "external_ai_model"
|
|
361
371
|
EXTERNAL_AI_SESSION = "external_ai_session"
|
|
362
372
|
EXTERNAL_AI_USAGE = "external_ai_usage"
|
|
373
|
+
EXTERNAL_AI_PLUGIN = "external_ai_plugin"
|
|
363
374
|
EXTERNAL_OAUTH_PROVIDER = "external_oauth_provider"
|
|
364
375
|
EXPERIMENT_GROUP = "experiment_group"
|
|
365
376
|
EXPERIMENT_GROUP_MEMBER = "experiment_group_member"
|
|
@@ -476,6 +487,7 @@ class EntityType(StrEnum):
|
|
|
476
487
|
REGIONAL_ENTITY_GROUP = "regional_entity_group"
|
|
477
488
|
REGULATION = "regulation"
|
|
478
489
|
REGULATION_CAS = "regulation_cas"
|
|
490
|
+
REGULATION_PRODUCT_CATEGORY = "regulation_product_category"
|
|
479
491
|
METADATA_VALUE = "metadata_value"
|
|
480
492
|
REPORT_DEFINITION = "report_definition"
|
|
481
493
|
REUSABLE_FIELD_CONDITION = "reusable_field_condition"
|
|
@@ -568,7 +580,7 @@ class EntityType(StrEnum):
|
|
|
568
580
|
|
|
569
581
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
570
582
|
LimitedEntityType = typing.Annotated[
|
|
571
|
-
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.NOTEBOOK] | typing.Literal[EntityType.OUTPUT] | typing.Literal[EntityType.OUTPUT_CONDITION_PARAMETER] | typing.Literal[EntityType.ASYNC_JOB] | typing.Literal[EntityType.CONSTRAINT] | typing.Literal[EntityType.CONSTRAINT_SET] | typing.Literal[EntityType.INGREDIENT_CATEGORY_ALL] | typing.Literal[EntityType.TIME_SERIES_SEGMENT] | typing.Literal[EntityType.EQUIPMENT_MAINTENANCE] | typing.Literal[EntityType.MAINTENANCE_SCHEDULE] | typing.Literal[EntityType.CONDITION_PARAMETER_RULE] | typing.Literal[EntityType.INGREDIENT] | typing.Literal[EntityType.TIMESHEET_ENTRY] | typing.Literal[EntityType.SAVE] | typing.Literal[EntityType.RECIPE_CHECK] | typing.Literal[EntityType.EXPERIMENT_GROUP_MEMBER] | typing.Literal[EntityType.CALENDAR_EVENT],
|
|
583
|
+
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.NOTEBOOK] | typing.Literal[EntityType.OUTPUT] | typing.Literal[EntityType.OUTPUT_CONDITION_PARAMETER] | typing.Literal[EntityType.ASYNC_JOB] | typing.Literal[EntityType.CONSTRAINT] | typing.Literal[EntityType.CONSTRAINT_SET] | typing.Literal[EntityType.INGREDIENT_CATEGORY_ALL] | typing.Literal[EntityType.TIME_SERIES_SEGMENT] | typing.Literal[EntityType.EQUIPMENT_MAINTENANCE] | typing.Literal[EntityType.MAINTENANCE_SCHEDULE] | typing.Literal[EntityType.CONDITION_PARAMETER_RULE] | typing.Literal[EntityType.INGREDIENT] | typing.Literal[EntityType.TIMESHEET_ENTRY] | typing.Literal[EntityType.SAVE] | typing.Literal[EntityType.RECIPE_CHECK] | typing.Literal[EntityType.EXPERIMENT_GROUP_MEMBER] | typing.Literal[EntityType.INPUT_GROUP] | typing.Literal[EntityType.INPUT_GROUP_MEMBER] | typing.Literal[EntityType.CALENDAR_EVENT],
|
|
572
584
|
serial_alias_annotation(
|
|
573
585
|
named_type_path="sdk.entity.LimitedEntityType",
|
|
574
586
|
),
|
uncountable/types/uploader.py
CHANGED
|
@@ -8,8 +8,10 @@ from .uploader_t import ChannelType as ChannelType
|
|
|
8
8
|
from .uploader_t import StructureElementType as StructureElementType
|
|
9
9
|
from .uploader_t import StructureElementBase as StructureElementBase
|
|
10
10
|
from .uploader_t import DecimalValue as DecimalValue
|
|
11
|
+
from .uploader_t import IdValue as IdValue
|
|
11
12
|
from .uploader_t import StringValue as StringValue
|
|
12
13
|
from .uploader_t import BaseData as BaseData
|
|
14
|
+
from .uploader_t import FileHeaderData as FileHeaderData
|
|
13
15
|
from .uploader_t import NumericHeaderData as NumericHeaderData
|
|
14
16
|
from .uploader_t import TextHeaderData as TextHeaderData
|
|
15
17
|
from .uploader_t import HeaderValue as HeaderValue
|
uncountable/types/uploader_t.py
CHANGED
|
@@ -10,6 +10,7 @@ from enum import StrEnum
|
|
|
10
10
|
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
12
|
from pkgs.serialization import serial_union_annotation
|
|
13
|
+
from . import base_t
|
|
13
14
|
|
|
14
15
|
__all__: list[str] = [
|
|
15
16
|
"BaseData",
|
|
@@ -17,9 +18,11 @@ __all__: list[str] = [
|
|
|
17
18
|
"ChannelType",
|
|
18
19
|
"DataChannel",
|
|
19
20
|
"DecimalValue",
|
|
21
|
+
"FileHeaderData",
|
|
20
22
|
"HeaderEntry",
|
|
21
23
|
"HeaderType",
|
|
22
24
|
"HeaderValue",
|
|
25
|
+
"IdValue",
|
|
23
26
|
"NumericChannelData",
|
|
24
27
|
"NumericHeaderData",
|
|
25
28
|
"ParsedFileData",
|
|
@@ -35,6 +38,7 @@ __all__: list[str] = [
|
|
|
35
38
|
|
|
36
39
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
37
40
|
class HeaderType(StrEnum):
|
|
41
|
+
FILE_HEADER = "file_header"
|
|
38
42
|
NUMERIC_HEADER = "numeric_header"
|
|
39
43
|
TEXT_HEADER = "text_header"
|
|
40
44
|
|
|
@@ -71,6 +75,15 @@ class DecimalValue:
|
|
|
71
75
|
value: Decimal
|
|
72
76
|
|
|
73
77
|
|
|
78
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
79
|
+
@serial_class(
|
|
80
|
+
named_type_path="sdk.uploader.IdValue",
|
|
81
|
+
)
|
|
82
|
+
@dataclasses.dataclass(slots=True, kw_only=True)
|
|
83
|
+
class IdValue:
|
|
84
|
+
value: base_t.ObjectId
|
|
85
|
+
|
|
86
|
+
|
|
74
87
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
75
88
|
@serial_class(
|
|
76
89
|
named_type_path="sdk.uploader.StringValue",
|
|
@@ -90,6 +103,17 @@ class BaseData:
|
|
|
90
103
|
type: str
|
|
91
104
|
|
|
92
105
|
|
|
106
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
107
|
+
@serial_class(
|
|
108
|
+
named_type_path="sdk.uploader.FileHeaderData",
|
|
109
|
+
parse_require={"type"},
|
|
110
|
+
)
|
|
111
|
+
@dataclasses.dataclass(slots=True, kw_only=True)
|
|
112
|
+
class FileHeaderData(BaseData):
|
|
113
|
+
type: typing.Literal[HeaderType.FILE_HEADER] = HeaderType.FILE_HEADER
|
|
114
|
+
data: IdValue | None
|
|
115
|
+
|
|
116
|
+
|
|
93
117
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
94
118
|
@serial_class(
|
|
95
119
|
named_type_path="sdk.uploader.NumericHeaderData",
|
|
@@ -114,11 +138,12 @@ class TextHeaderData(BaseData):
|
|
|
114
138
|
|
|
115
139
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
116
140
|
HeaderValue = typing.Annotated[
|
|
117
|
-
NumericHeaderData | TextHeaderData,
|
|
141
|
+
FileHeaderData | NumericHeaderData | TextHeaderData,
|
|
118
142
|
serial_union_annotation(
|
|
119
143
|
named_type_path="sdk.uploader.HeaderValue",
|
|
120
144
|
discriminator="type",
|
|
121
145
|
discriminator_map={
|
|
146
|
+
"file_header": FileHeaderData,
|
|
122
147
|
"numeric_header": NumericHeaderData,
|
|
123
148
|
"text_header": TextHeaderData,
|
|
124
149
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.184
|
|
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
|
|
@@ -3,7 +3,7 @@ docs/.gitignore,sha256=_ebkZUcwfvfnGEJ95rfj1lxoBNd6EE9ZvtOc7FsbfFE,7
|
|
|
3
3
|
docs/conf.py,sha256=KivJNvQWboXqJ07NMgcYY5tsV6CoIfyTpZh8jdn_5Qk,4239
|
|
4
4
|
docs/index.md,sha256=g4Yi5831fEkywYkkcFohYLkKzSI91SOZF7DxKsm9zgI,3193
|
|
5
5
|
docs/justfile,sha256=WymCEQ6W2A8Ak79iUPmecmuaUNN2htb7STUrz5K7ELE,273
|
|
6
|
-
docs/requirements.txt,sha256=
|
|
6
|
+
docs/requirements.txt,sha256=_GyKrMFrmjp2hKhTLlhGdKqD7kXs_bomeY4yGt1oI7c,172
|
|
7
7
|
docs/integration_examples/add_file_to_folder.md,sha256=ZCv8miP7ZlPjor-ZGDwy2oucyopqMPa3aXlmOEfbX10,1556
|
|
8
8
|
docs/integration_examples/create_ingredient.md,sha256=ufzAzPyGaDr9rCBDMGQAE8xahsCMkVfG8VLs1pb3qr0,1549
|
|
9
9
|
docs/integration_examples/create_output.md,sha256=aDn2TjzKgY-HnxnvgsZS578cvajmHpF1y2HKkHfdtd4,2104
|
|
@@ -33,7 +33,7 @@ examples/set_recipe_metadata_file.py,sha256=cRVXGz4UN4aqnNrNSzyBmikYHpe63lMIuzOp
|
|
|
33
33
|
examples/set_recipe_output_file_sdk.py,sha256=Lz1amqppnWTX83z-C090wCJ4hcKmCD3kb-4v0uBRi0Y,782
|
|
34
34
|
examples/stream_dataset_measurements.py,sha256=iLmDn7Yv-deeUsfDY9DhYckheoTfLhj5_ORjO0oLHng,5890
|
|
35
35
|
examples/upload_files.py,sha256=qMaSvMSdTMPOOP55y1AwEurc0SOdZAMvEydlqJPsGpg,432
|
|
36
|
-
examples/integration-server/pyproject.toml,sha256=
|
|
36
|
+
examples/integration-server/pyproject.toml,sha256=CxNt8vQ17Po7h4fOXT8jtbrFJosxBVTVY8kTuRyxtjY,11590
|
|
37
37
|
examples/integration-server/jobs/materials_auto/concurrent_cron.py,sha256=xsK3H9ZEaniedC2nJUB0rqOcFI8y-ojfl_nLSJb9AMM,312
|
|
38
38
|
examples/integration-server/jobs/materials_auto/example_cron.py,sha256=y1nAtGwbPJfIrfQsrHVmJLAHmQtCEHIy1g-0PjeXx04,735
|
|
39
39
|
examples/integration-server/jobs/materials_auto/example_http.py,sha256=hA--iNztlTwLaEBzlmoRZ6-hRTUExUUqLV0-ipU7_mo,1560
|
|
@@ -86,14 +86,14 @@ pkgs/strenum_compat/__init__.py,sha256=Bq1kcPIQsXRiLUGWc63QGnVa5BlhvuFWpMMvdNcHy
|
|
|
86
86
|
pkgs/strenum_compat/strenum_compat.py,sha256=uOUAgpYTjHs1MX8dG81jRlyTkt3KNbkV_25zp7xTX2s,36
|
|
87
87
|
pkgs/type_spec/__init__.py,sha256=h5DmJTca4QVV10sZR1x0-MlkZfuGYDfapR3zHvXfzto,19
|
|
88
88
|
pkgs/type_spec/__main__.py,sha256=snBwPNvzU46Rqp4HlYb5Urv10Rs36gUbsPoFZfQcWRY,1162
|
|
89
|
-
pkgs/type_spec/builder.py,sha256=
|
|
89
|
+
pkgs/type_spec/builder.py,sha256=i8uMhsG7cJa5Dxn25RQyJk9pgwvOd1mc-bO0O49tYxA,66376
|
|
90
90
|
pkgs/type_spec/builder_types.py,sha256=EFXvwd3DhuFcqMtG12U9RHNYXHxi_g6kY5AVPBo3fCg,253
|
|
91
91
|
pkgs/type_spec/config.py,sha256=8SQkCRAKzrcycR-9Tjt6J4-kNalN8IvbE7zo1FMlrZc,7226
|
|
92
92
|
pkgs/type_spec/cross_output_links.py,sha256=exmHrdr-Mrq6FyMXzWgmuKhE-uqo_rN5k_PcirQgrGU,3037
|
|
93
93
|
pkgs/type_spec/emit_io_ts.py,sha256=sIdS5f_C79SiaSqVS4HtQ8SFxA87ehXkj9CrmrpjTzg,5862
|
|
94
94
|
pkgs/type_spec/emit_open_api.py,sha256=C3PRRSQJpHUZkS4CeEMGywhbLYs_MD3t6u-DlVIe2WA,28638
|
|
95
95
|
pkgs/type_spec/emit_open_api_util.py,sha256=bTmRvrGP82-eB75hwf9ySI7pDEC87FNQTF18VKEWSXY,2367
|
|
96
|
-
pkgs/type_spec/emit_python.py,sha256=
|
|
96
|
+
pkgs/type_spec/emit_python.py,sha256=R66jEWVL0RcN15xDUvjNBe4YcT15hBfKyWU-k5ipbWo,59567
|
|
97
97
|
pkgs/type_spec/emit_scss.py,sha256=6psmBAJyu7cvfQAIvIIMk2U6VFG_xeWy1Ea4afv0XyM,1497
|
|
98
98
|
pkgs/type_spec/emit_typescript.py,sha256=Qu9f1Yv_wc449KHcBGO58hatbzvPvgMbZ11jferi3oY,11567
|
|
99
99
|
pkgs/type_spec/emit_typescript_util.py,sha256=dRiOm38M4DR5NtvJyaEoGXE8Zzrfnae6yuDC76OzCeU,14915
|
|
@@ -103,9 +103,9 @@ pkgs/type_spec/open_api_util.py,sha256=LX6ny4xNOWXQO3qWVM8elrSDTqWsj_7jFplax2POS
|
|
|
103
103
|
pkgs/type_spec/test.py,sha256=4ueujBq-pEgnX3Z69HyPmD-bullFXmpixcpVzfOkhP4,489
|
|
104
104
|
pkgs/type_spec/util.py,sha256=Yc7QTZDjlu4ndOu3BwxLy5gRwG2mhnXN_s-iY9SYnIo,4834
|
|
105
105
|
pkgs/type_spec/actions_registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
|
-
pkgs/type_spec/actions_registry/__main__.py,sha256=
|
|
107
|
-
pkgs/type_spec/actions_registry/emit_python.py,sha256=
|
|
108
|
-
pkgs/type_spec/actions_registry/emit_typescript.py,sha256=
|
|
106
|
+
pkgs/type_spec/actions_registry/__main__.py,sha256=hWUnmiG68xeW5GhnIolfHOvPY2GI_kxMgqwtOSgLlvo,4723
|
|
107
|
+
pkgs/type_spec/actions_registry/emit_python.py,sha256=atY1_Z9Ue6r1nBsMeoeX02vQCc_UpAnDLK7gdVNemZ4,3753
|
|
108
|
+
pkgs/type_spec/actions_registry/emit_typescript.py,sha256=XqmbX5OrgjdCGQf4-iNc_aZ7JiXgaVGt1wJcpAUh8SA,6787
|
|
109
109
|
pkgs/type_spec/parts/base.py.prepart,sha256=1BCL7DCPoot5CYR3O-IpcOvMVthe1cbTQkTiUeZvuk8,2316
|
|
110
110
|
pkgs/type_spec/parts/base.ts.prepart,sha256=m5aM7AU_42w3Lpbm_s3GYnuFxH3EcUlnFq7zOIE1fDo,1820
|
|
111
111
|
pkgs/type_spec/type_info/__main__.py,sha256=TLNvCHGcmaj_8Sj5bAQNpuNaaw2dpDzoFDWZds0V4Qo,1002
|
|
@@ -207,7 +207,7 @@ uncountable/types/data_t.py,sha256=U_dIh5GcyaJlkrHEI4Qf4TOo1uJX07PYO70sYzzKtTo,2
|
|
|
207
207
|
uncountable/types/dataset_measurements.py,sha256=CVwWePUC02B_R_UB86yfNBwnclR-5xpZaiCs2jWtu2A,512
|
|
208
208
|
uncountable/types/dataset_measurements_t.py,sha256=iVwh-3Z23aXmPJcUJ3s9axPeOs627DElE_dhfj_PRlQ,1711
|
|
209
209
|
uncountable/types/entity.py,sha256=Zclk1LYcRaYrMDhqyCjMSLEg0fE6_q8LHvV22Qvscgs,566
|
|
210
|
-
uncountable/types/entity_t.py,sha256=
|
|
210
|
+
uncountable/types/entity_t.py,sha256=1ysk_fygPjWr3MQlWQYLCZkcpxHGEiwDGebqMTGfaDo,29968
|
|
211
211
|
uncountable/types/experiment_groups.py,sha256=qUpFOx1AKgzaT_4khCOv5Xs6jwiQGbvHH-GUh3v1nv4,288
|
|
212
212
|
uncountable/types/experiment_groups_t.py,sha256=QjZBdjnbsD1D-VpPSSV6hBg-Q7mujjKvYtdMewtXNVU,712
|
|
213
213
|
uncountable/types/exports.py,sha256=VMmxUO2PpV1Y63hZ2AnVor4H-B6aswJ7YpSru_u89lU,334
|
|
@@ -292,8 +292,8 @@ uncountable/types/step_relationships.py,sha256=I6t7tj-VmHAhH8YpJPIUFBxPaRiXU_Zg-
|
|
|
292
292
|
uncountable/types/step_relationships_t.py,sha256=pS9NJxYUab0XsHnninHXR8V-4ohofSP67iIDIhPR_QI,5306
|
|
293
293
|
uncountable/types/units.py,sha256=yxuddayiE8cnzrjQiIsURisWc-Vm1F37uyS3fjM--Ao,254
|
|
294
294
|
uncountable/types/units_t.py,sha256=6u4JAQFzVtaLcKo15JHsDXZ09no5nlHRQKAhGfiySPE,655
|
|
295
|
-
uncountable/types/uploader.py,sha256=
|
|
296
|
-
uncountable/types/uploader_t.py,sha256=
|
|
295
|
+
uncountable/types/uploader.py,sha256=k9OEe6jxjlBcc3iiMl5LoLFEIuI-Z0z6-ec3OYMa5nQ,1322
|
|
296
|
+
uncountable/types/uploader_t.py,sha256=YrC8XQpMy6avkOTeBv-ma9iHE3pClJx6ZxgOVykKP3Q,6830
|
|
297
297
|
uncountable/types/users.py,sha256=R-bFIh07mMl6HyxP8hKmlT-QMbBXZPZ7mVuOIeOlCsg,254
|
|
298
298
|
uncountable/types/users_t.py,sha256=n2Ldc78cMU8gKynf2u9GvcKdelcKDRkjaOpAUO6Q5m4,678
|
|
299
299
|
uncountable/types/webhook.py,sha256=ZLXFWaup9ueboI8D4-V3sRGZyb0pFXjzOTywlk8ZfF0,264
|
|
@@ -433,7 +433,7 @@ uncountable/types/api/uploader/complete_async_parse.py,sha256=Os1HAubxTlbut6Gylj
|
|
|
433
433
|
uncountable/types/api/uploader/invoke_uploader.py,sha256=QU1KmAFgGHSWskZEKfaAww8rCj-hVNP0i4kMQE3x3Fc,1822
|
|
434
434
|
uncountable/types/api/user/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
|
|
435
435
|
uncountable/types/api/user/get_current_user_info.py,sha256=BT7bGp5SOHz3XdKWhhdZ6acnInafT2PgdJ-H4YH3W7c,1181
|
|
436
|
-
uncountablepythonsdk-0.0.
|
|
437
|
-
uncountablepythonsdk-0.0.
|
|
438
|
-
uncountablepythonsdk-0.0.
|
|
439
|
-
uncountablepythonsdk-0.0.
|
|
436
|
+
uncountablepythonsdk-0.0.184.dist-info/METADATA,sha256=mC6m3lEpjQAUsOqEx1Vcc7aoLKXtvnvRXmSUTJpJ1Rg,2211
|
|
437
|
+
uncountablepythonsdk-0.0.184.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
438
|
+
uncountablepythonsdk-0.0.184.dist-info/top_level.txt,sha256=1UVGjAU-6hJY9qw2iJ7nCBeEwZ793AEN5ZfKX9A1uj4,31
|
|
439
|
+
uncountablepythonsdk-0.0.184.dist-info/RECORD,,
|
|
File without changes
|
{uncountablepythonsdk-0.0.183.dist-info → uncountablepythonsdk-0.0.184.dist-info}/top_level.txt
RENAMED
|
File without changes
|