UncountablePythonSDK 0.0.114__py3-none-any.whl → 0.0.116__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.

Files changed (34) hide show
  1. examples/integration-server/jobs/materials_auto/example_http.py +35 -0
  2. examples/integration-server/jobs/materials_auto/example_instrument.py +38 -0
  3. examples/integration-server/jobs/materials_auto/profile.yaml +15 -0
  4. pkgs/type_spec/builder.py +18 -5
  5. pkgs/type_spec/config.py +26 -5
  6. pkgs/type_spec/cross_output_links.py +9 -7
  7. pkgs/type_spec/emit_open_api.py +9 -2
  8. pkgs/type_spec/emit_open_api_util.py +1 -0
  9. pkgs/type_spec/emit_python.py +4 -1
  10. pkgs/type_spec/emit_typescript.py +46 -30
  11. pkgs/type_spec/emit_typescript_util.py +16 -0
  12. pkgs/type_spec/load_types.py +1 -1
  13. pkgs/type_spec/open_api_util.py +9 -1
  14. pkgs/type_spec/parts/base.ts.prepart +1 -0
  15. pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +19 -5
  16. uncountable/core/environment.py +1 -1
  17. uncountable/integration/http_server/__init__.py +5 -0
  18. uncountable/integration/http_server/types.py +67 -0
  19. uncountable/integration/job.py +129 -5
  20. uncountable/integration/server.py +2 -2
  21. uncountable/integration/telemetry.py +1 -1
  22. uncountable/integration/webhook_server/entrypoint.py +37 -112
  23. uncountable/types/api/entity/create_or_update_entity.py +1 -0
  24. uncountable/types/api/entity/lookup_entity.py +15 -1
  25. uncountable/types/async_batch_processor.py +3 -0
  26. uncountable/types/client_base.py +52 -0
  27. uncountable/types/entity_t.py +8 -0
  28. uncountable/types/integration_server_t.py +2 -0
  29. uncountable/types/job_definition.py +2 -0
  30. uncountable/types/job_definition_t.py +25 -2
  31. {uncountablepythonsdk-0.0.114.dist-info → uncountablepythonsdk-0.0.116.dist-info}/METADATA +1 -1
  32. {uncountablepythonsdk-0.0.114.dist-info → uncountablepythonsdk-0.0.116.dist-info}/RECORD +34 -30
  33. {uncountablepythonsdk-0.0.114.dist-info → uncountablepythonsdk-0.0.116.dist-info}/WHEEL +0 -0
  34. {uncountablepythonsdk-0.0.114.dist-info → uncountablepythonsdk-0.0.116.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,7 @@ import uncountable.types.api.chemical.convert_chemical_formats as convert_chemic
22
22
  import uncountable.types.api.entity.create_entities as create_entities_t
23
23
  import uncountable.types.api.entity.create_entity as create_entity_t
24
24
  import uncountable.types.api.inputs.create_inputs as create_inputs_t
25
+ import uncountable.types.api.recipes.create_mix_order as create_mix_order_t
25
26
  import uncountable.types.api.entity.create_or_update_entity as create_or_update_entity_t
26
27
  import uncountable.types.api.recipes.create_recipe as create_recipe_t
27
28
  import uncountable.types.api.recipe_links.create_recipe_link as create_recipe_link_t
@@ -31,6 +32,8 @@ import uncountable.types.api.recipes.edit_recipe_inputs as edit_recipe_inputs_t
31
32
  from uncountable.types import entity_t
32
33
  import uncountable.types.api.batch.execute_batch as execute_batch_t
33
34
  import uncountable.types.api.batch.execute_batch_load_async as execute_batch_load_async_t
35
+ import uncountable.types.api.entity.export_entities as export_entities_t
36
+ from uncountable.types import exports_t
34
37
  from uncountable.types import field_values_t
35
38
  from uncountable.types import generic_upload_t
36
39
  import uncountable.types.api.recipes.get_column_calculation_values as get_column_calculation_values_t
@@ -382,6 +385,26 @@ class ClientMethods(ABC):
382
385
  )
383
386
  return self.do_request(api_request=api_request, return_type=create_inputs_t.Data)
384
387
 
388
+ def create_mix_order(
389
+ self,
390
+ *,
391
+ recipe_key: identifier_t.IdentifierKey,
392
+ recipe_workflow_step_identifier: recipe_workflow_steps_t.RecipeWorkflowStepIdentifier,
393
+ ) -> create_mix_order_t.Data:
394
+ """Creates mix order on a recipe workflow step
395
+
396
+ """
397
+ args = create_mix_order_t.Arguments(
398
+ recipe_key=recipe_key,
399
+ recipe_workflow_step_identifier=recipe_workflow_step_identifier,
400
+ )
401
+ api_request = APIRequest(
402
+ method=create_mix_order_t.ENDPOINT_METHOD,
403
+ endpoint=create_mix_order_t.ENDPOINT_PATH,
404
+ args=args,
405
+ )
406
+ return self.do_request(api_request=api_request, return_type=create_mix_order_t.Data)
407
+
385
408
  def create_or_update_entity(
386
409
  self,
387
410
  *,
@@ -389,15 +412,18 @@ class ClientMethods(ABC):
389
412
  definition_key: identifier_t.IdentifierKey,
390
413
  field_values: list[field_values_t.FieldArgumentValue],
391
414
  entity_key: identifier_t.IdentifierKey | None = None,
415
+ on_create_init_field_values: list[field_values_t.FieldArgumentValue] | None = None,
392
416
  ) -> create_or_update_entity_t.Data:
393
417
  """Creates or updates field values for an entity
394
418
 
419
+ :param on_create_init_field_values: Field values set only when the entity is created (will be ignored if entity already exists)
395
420
  """
396
421
  args = create_or_update_entity_t.Arguments(
397
422
  entity_key=entity_key,
398
423
  entity_type=entity_type,
399
424
  definition_key=definition_key,
400
425
  field_values=field_values,
426
+ on_create_init_field_values=on_create_init_field_values,
401
427
  )
402
428
  api_request = APIRequest(
403
429
  method=create_or_update_entity_t.ENDPOINT_METHOD,
@@ -576,6 +602,32 @@ class ClientMethods(ABC):
576
602
  )
577
603
  return self.do_request(api_request=api_request, return_type=execute_batch_load_async_t.Data)
578
604
 
605
+ def export_entities(
606
+ self,
607
+ *,
608
+ config_key: identifier_t.IdentifierKey,
609
+ type: exports_t.ExportType = exports_t.ExportType.EXCEL,
610
+ client_timezone: exports_t.ListingExportUserTimezone | None = None,
611
+ limit: int | None = None,
612
+ ) -> export_entities_t.Data:
613
+ """Uses a structured loading configuration to export entities in the system. This endpoint is asynchronous, and returns the job ID that can be used to query the status of the export.
614
+
615
+ :param config_key: The configuration reference for the listing config
616
+ :param limit: The number of data points to return. If not filled in, all filtered entities will be included in the export.
617
+ """
618
+ args = export_entities_t.Arguments(
619
+ config_key=config_key,
620
+ client_timezone=client_timezone,
621
+ limit=limit,
622
+ type=type,
623
+ )
624
+ api_request = APIRequest(
625
+ method=export_entities_t.ENDPOINT_METHOD,
626
+ endpoint=export_entities_t.ENDPOINT_PATH,
627
+ args=args,
628
+ )
629
+ return self.do_request(api_request=api_request, return_type=export_entities_t.Data)
630
+
579
631
  def get_column_calculation_values(
580
632
  self,
581
633
  *,
@@ -42,6 +42,7 @@ __all__: list[str] = [
42
42
  "condition_match": "Condition Match",
43
43
  "condition_parameter": "Condition Parameter",
44
44
  "condition_parameter_mat_family": "Condition Parameter Material Family",
45
+ "condition_parameter_matches": "Condition Parameter Matches",
45
46
  "condition_parameter_rule": "Condition Parameter Rule",
46
47
  "condition_parameter_value": "Condition Parameter Value",
47
48
  "constraint": "Constraint",
@@ -110,6 +111,7 @@ __all__: list[str] = [
110
111
  "output_calculation_entity_mapping": "Output Calculation Entity Mapping",
111
112
  "output_category_all": "Output Category",
112
113
  "output_condition": "Output Condition",
114
+ "output_condition_condition_parameter": "Output Condition Condition Parameter",
113
115
  "output_default_condition": "Output Default Condition",
114
116
  "output_condition_parameter": "Output Condition Parameter",
115
117
  "output_condition_parameter_analytical_method_category": "Output Condition Parameter Analytical Method Category",
@@ -131,12 +133,14 @@ __all__: list[str] = [
131
133
  "recipe_audit_log": "Experiment Audit Log",
132
134
  "recipe_calculation": "Recipe Calculation",
133
135
  "recipe_check": "Experiment Check",
136
+ "recipe_component_witness": "Recipe Component Witness",
134
137
  "recipe_export": "Recipe Export",
135
138
  "recipe_goal": "Experiment Goal",
136
139
  "recipe_ingredient": "Recipe Ingredient",
137
140
  "recipe_ingredient_actual": "Recipe Ingredient Actual",
138
141
  "recipe_ingredients_compounded": "Recipe Ingredients Compounded",
139
142
  "recipe_ingredients_compounded_calculation": "Recipe Ingredients Compounded Calculation",
143
+ "recipe_link": "Experiment Link",
140
144
  "recipe_output": "Recipe Output",
141
145
  "recipe_output_annotation": "Recipe Output Annotation",
142
146
  "recipe_output_metadata": "Recipe Output Metadata",
@@ -223,6 +227,7 @@ class EntityType(StrEnum):
223
227
  CONDITION_MATCH = "condition_match"
224
228
  CONDITION_PARAMETER = "condition_parameter"
225
229
  CONDITION_PARAMETER_MAT_FAMILY = "condition_parameter_mat_family"
230
+ CONDITION_PARAMETER_MATCHES = "condition_parameter_matches"
226
231
  CONDITION_PARAMETER_RULE = "condition_parameter_rule"
227
232
  CONDITION_PARAMETER_VALUE = "condition_parameter_value"
228
233
  CONSTRAINT = "constraint"
@@ -291,6 +296,7 @@ class EntityType(StrEnum):
291
296
  OUTPUT_CALCULATION_ENTITY_MAPPING = "output_calculation_entity_mapping"
292
297
  OUTPUT_CATEGORY_ALL = "output_category_all"
293
298
  OUTPUT_CONDITION = "output_condition"
299
+ OUTPUT_CONDITION_CONDITION_PARAMETER = "output_condition_condition_parameter"
294
300
  OUTPUT_DEFAULT_CONDITION = "output_default_condition"
295
301
  OUTPUT_CONDITION_PARAMETER = "output_condition_parameter"
296
302
  OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD_CATEGORY = "output_condition_parameter_analytical_method_category"
@@ -312,12 +318,14 @@ class EntityType(StrEnum):
312
318
  RECIPE_AUDIT_LOG = "recipe_audit_log"
313
319
  RECIPE_CALCULATION = "recipe_calculation"
314
320
  RECIPE_CHECK = "recipe_check"
321
+ RECIPE_COMPONENT_WITNESS = "recipe_component_witness"
315
322
  RECIPE_EXPORT = "recipe_export"
316
323
  RECIPE_GOAL = "recipe_goal"
317
324
  RECIPE_INGREDIENT = "recipe_ingredient"
318
325
  RECIPE_INGREDIENT_ACTUAL = "recipe_ingredient_actual"
319
326
  RECIPE_INGREDIENTS_COMPOUNDED = "recipe_ingredients_compounded"
320
327
  RECIPE_INGREDIENTS_COMPOUNDED_CALCULATION = "recipe_ingredients_compounded_calculation"
328
+ RECIPE_LINK = "recipe_link"
321
329
  RECIPE_OUTPUT = "recipe_output"
322
330
  RECIPE_OUTPUT_ANNOTATION = "recipe_output_annotation"
323
331
  RECIPE_OUTPUT_METADATA = "recipe_output_metadata"
@@ -23,6 +23,8 @@ __all__: list[str] = [
23
23
  # DO NOT MODIFY -- This file is generated by type_spec
24
24
  class IntegrationEnvironment(StrEnum):
25
25
  LOCAL = "local"
26
+ DEV = "dev"
27
+ TEST = "test"
26
28
  PROD = "prod"
27
29
 
28
30
 
@@ -18,6 +18,8 @@ from .job_definition_t import JobExecutor as JobExecutor
18
18
  from .job_definition_t import JobLoggingSettings as JobLoggingSettings
19
19
  from .job_definition_t import JobDefinitionBase as JobDefinitionBase
20
20
  from .job_definition_t import CronJobDefinition as CronJobDefinition
21
+ from .job_definition_t import HttpJobDefinitionBase as HttpJobDefinitionBase
22
+ from .job_definition_t import CustomHttpJobDefinition as CustomHttpJobDefinition
21
23
  from .job_definition_t import WebhookJobDefinition as WebhookJobDefinition
22
24
  from .job_definition_t import JobDefinition as JobDefinition
23
25
  from .job_definition_t import ProfileDefinition as ProfileDefinition
@@ -20,11 +20,13 @@ from . import secret_retrieval_t
20
20
 
21
21
  __all__: list[str] = [
22
22
  "CronJobDefinition",
23
+ "CustomHttpJobDefinition",
23
24
  "GenericUploadDataSource",
24
25
  "GenericUploadDataSourceBase",
25
26
  "GenericUploadDataSourceS3",
26
27
  "GenericUploadDataSourceSFTP",
27
28
  "GenericUploadDataSourceType",
29
+ "HttpJobDefinitionBase",
28
30
  "JobDefinition",
29
31
  "JobDefinitionBase",
30
32
  "JobDefinitionType",
@@ -46,6 +48,7 @@ __all__: list[str] = [
46
48
  class JobDefinitionType(StrEnum):
47
49
  CRON = "cron"
48
50
  WEBHOOK = "webhook"
51
+ CUSTOM_HTTP = "custom_http"
49
52
 
50
53
 
51
54
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -201,25 +204,45 @@ class CronJobDefinition(JobDefinitionBase):
201
204
  cron_spec: str
202
205
 
203
206
 
207
+ # DO NOT MODIFY -- This file is generated by type_spec
208
+ @serial_class(
209
+ named_type_path="sdk.job_definition.HttpJobDefinitionBase",
210
+ )
211
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
212
+ class HttpJobDefinitionBase(JobDefinitionBase):
213
+ pass
214
+
215
+
216
+ # DO NOT MODIFY -- This file is generated by type_spec
217
+ @serial_class(
218
+ named_type_path="sdk.job_definition.CustomHttpJobDefinition",
219
+ parse_require={"type"},
220
+ )
221
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
222
+ class CustomHttpJobDefinition(HttpJobDefinitionBase):
223
+ type: typing.Literal[JobDefinitionType.CUSTOM_HTTP] = JobDefinitionType.CUSTOM_HTTP
224
+
225
+
204
226
  # DO NOT MODIFY -- This file is generated by type_spec
205
227
  @serial_class(
206
228
  named_type_path="sdk.job_definition.WebhookJobDefinition",
207
229
  parse_require={"type"},
208
230
  )
209
231
  @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
210
- class WebhookJobDefinition(JobDefinitionBase):
232
+ class WebhookJobDefinition(HttpJobDefinitionBase):
211
233
  type: typing.Literal[JobDefinitionType.WEBHOOK] = JobDefinitionType.WEBHOOK
212
234
  signature_key_secret: secret_retrieval_t.SecretRetrieval
213
235
 
214
236
 
215
237
  # DO NOT MODIFY -- This file is generated by type_spec
216
238
  JobDefinition = typing.Annotated[
217
- CronJobDefinition | WebhookJobDefinition,
239
+ CronJobDefinition | CustomHttpJobDefinition | WebhookJobDefinition,
218
240
  serial_union_annotation(
219
241
  named_type_path="sdk.job_definition.JobDefinition",
220
242
  discriminator="type",
221
243
  discriminator_map={
222
244
  "cron": CronJobDefinition,
245
+ "custom_http": CustomHttpJobDefinition,
223
246
  "webhook": WebhookJobDefinition,
224
247
  },
225
248
  ),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.114
3
+ Version: 0.0.116
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
@@ -26,9 +26,11 @@ examples/upload_files.py,sha256=qMaSvMSdTMPOOP55y1AwEurc0SOdZAMvEydlqJPsGpg,432
26
26
  examples/integration-server/pyproject.toml,sha256=i4Px7I__asDvP4WlAd2PncfRRQ-U4t5xp0tqT9YYs3s,9149
27
27
  examples/integration-server/jobs/materials_auto/concurrent_cron.py,sha256=xsK3H9ZEaniedC2nJUB0rqOcFI8y-ojfl_nLSJb9AMM,312
28
28
  examples/integration-server/jobs/materials_auto/example_cron.py,sha256=7VVQ-UJsq3DbGpN3XPnorRVZYo-vCwbfSU3VVDluIzA,699
29
+ examples/integration-server/jobs/materials_auto/example_http.py,sha256=eVq-Fss_AhmztxOMqqO-GYGF3KvPt1O5HbNwwC2arh8,1037
30
+ examples/integration-server/jobs/materials_auto/example_instrument.py,sha256=6qq6a8S5soKC-ypVswZEhkLzB_mxd4dxCSIoXKrbGDs,1261
29
31
  examples/integration-server/jobs/materials_auto/example_runsheet_wh.py,sha256=_wILTnbzzLf9zrcQb_KQKytxxcya1ej6MqQnoUSS4fA,1180
30
32
  examples/integration-server/jobs/materials_auto/example_wh.py,sha256=PN-skP27yJwDZboWk5g5EZEc3AKfVayQLfnopjsDKJc,659
31
- examples/integration-server/jobs/materials_auto/profile.yaml,sha256=T9Q4Oh-BVHCoxAIY_Po4TWeEQNrXJ-d9w8tr3voYkM0,1555
33
+ examples/integration-server/jobs/materials_auto/profile.yaml,sha256=btUdn8hStM6Zp4zr0kBI2lL461MqDdzfSuF4LvuSQ8k,1926
32
34
  pkgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
35
  pkgs/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
36
  pkgs/argument_parser/__init__.py,sha256=VWUOOtJ-ueRF2lkIJzgQe4xhBKR9IPkgf9vY28nF35s,870
@@ -62,29 +64,29 @@ pkgs/strenum_compat/__init__.py,sha256=wXRFeNvBm8RU6dy1PFJ5sRLgUIEeH_DVR95Sv5qpG
62
64
  pkgs/strenum_compat/strenum_compat.py,sha256=uOUAgpYTjHs1MX8dG81jRlyTkt3KNbkV_25zp7xTX2s,36
63
65
  pkgs/type_spec/__init__.py,sha256=h5DmJTca4QVV10sZR1x0-MlkZfuGYDfapR3zHvXfzto,19
64
66
  pkgs/type_spec/__main__.py,sha256=5bJaX9Y_-FavP0qwzhk-z-V97UY7uaezJTa1zhO_HHQ,1048
65
- pkgs/type_spec/builder.py,sha256=XqkKO-GxV2DLS_iDN9tnQJfNcefz5yMAwyjnMog87jE,54049
66
- pkgs/type_spec/config.py,sha256=K6WebgeI3Saew0IEBcm1s2fauw_CyvH183emVrNoUXg,5327
67
- pkgs/type_spec/cross_output_links.py,sha256=bVNn0a4LMVTRLg_zjtiHnoTwdINHfftjWoH6tGdxhlk,3124
67
+ pkgs/type_spec/builder.py,sha256=17_hkJI5jDb_IGOHZCiZDJ8_er-amVH0-WRpqJb7hEE,54365
68
+ pkgs/type_spec/config.py,sha256=m0Rky7Rg2jMglDPQChF30p5h5P86Ap1GObwzLzmypNE,5829
69
+ pkgs/type_spec/cross_output_links.py,sha256=ttFNfuQmR3sNnPSeUER5IPgLiYc-FB5gjlf7RyFYMpc,3293
68
70
  pkgs/type_spec/emit_io_ts.py,sha256=CUvBs0boB_X-Kndh66yYcqFfq3oC_LGs8YffLkJ0ZXA,5707
69
- pkgs/type_spec/emit_open_api.py,sha256=B9cGFR7TU90_yky-HdNq1sDIJOuP3eU4o3j7nNgIpkU,26047
70
- pkgs/type_spec/emit_open_api_util.py,sha256=xnc4ymNzEyAS1Q2cV6Ma9Y6mQ1MbPPi2WaHKTSFETr8,2346
71
- pkgs/type_spec/emit_python.py,sha256=JCT_o6sPJRaAL1J-TlMT-RN8d4bzLcYJF2iwNTcGlBA,52651
72
- pkgs/type_spec/emit_typescript.py,sha256=0HRzxlbIP91rzbVkAntF4TKZppoKcWsqnDLAIRc1bng,10927
73
- pkgs/type_spec/emit_typescript_util.py,sha256=pYhzRb-U-B5peWdfJDQ0i9kI80Ojf2wbfkvJutk9rTw,10975
74
- pkgs/type_spec/load_types.py,sha256=GndEKQtICCQi4oXsL6cZ9khm8lBB830e6hx0wML4dHs,4278
71
+ pkgs/type_spec/emit_open_api.py,sha256=5M0lAEbjm0bRPjuGpChMS1eB4oCkb2Hd3e7mr-rLv0Y,26345
72
+ pkgs/type_spec/emit_open_api_util.py,sha256=bTmRvrGP82-eB75hwf9ySI7pDEC87FNQTF18VKEWSXY,2367
73
+ pkgs/type_spec/emit_python.py,sha256=aURsc-wWdamVDCrIWxA7s8_MLAMjLdXZor6ykkibzXY,52707
74
+ pkgs/type_spec/emit_typescript.py,sha256=FINir79bz4tJYgJuUylNJFvqChzaFlHNCfZ5D7A6B1I,11447
75
+ pkgs/type_spec/emit_typescript_util.py,sha256=ChP4oF2ZJoL0qErGCL0nscj0w_yH6TBgE92MtQS8nPI,11638
76
+ pkgs/type_spec/load_types.py,sha256=JL7tX2H_cy3p5HjGuvNFJlY4pDSbDVnYFsh9mK16-ic,4302
75
77
  pkgs/type_spec/non_discriminated_union_exceptions.py,sha256=JB4WNDJWc3e9WMOabX4aTd0-6K7n1hctIW2lGf1bYts,612
76
- pkgs/type_spec/open_api_util.py,sha256=DYnlygaMIqDQtSuYpUpd5lpA9JG4JHd_-iGe-BY2lhw,7333
78
+ pkgs/type_spec/open_api_util.py,sha256=muEX3hYIhlLFA9XDfMruk2687w6bKrZnluIVVqEtDao,7642
77
79
  pkgs/type_spec/test.py,sha256=4ueujBq-pEgnX3Z69HyPmD-bullFXmpixcpVzfOkhP4,489
78
80
  pkgs/type_spec/util.py,sha256=S_SGTJU192x-wIbngVUTvXhQENMbBfxluigLmnItGI8,4848
79
81
  pkgs/type_spec/actions_registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
82
  pkgs/type_spec/actions_registry/__main__.py,sha256=SRw6kIhHTW7W2wGijYq66JARzoc4KpPmbLqwvnETyTE,4277
81
83
  pkgs/type_spec/actions_registry/emit_typescript.py,sha256=W1lI36ITdJ7MBf37wlTB7H3X9Ljt217vIGMv4e3fxfY,5986
82
84
  pkgs/type_spec/parts/base.py.prepart,sha256=Xy8my5ol_Iu0hpQpvgsmqGLkGcMsLSg-cgjm4Yp-QI4,2369
83
- pkgs/type_spec/parts/base.ts.prepart,sha256=2FJJvpg2olCcavxj0nbYWdwKl6KeScour2JjSvN42l8,1001
85
+ pkgs/type_spec/parts/base.ts.prepart,sha256=42-1_N_K04t4c6pE62V4wBw3bR5bgPxhmXUk__A7gAs,1002
84
86
  pkgs/type_spec/type_info/__main__.py,sha256=TLNvCHGcmaj_8Sj5bAQNpuNaaw2dpDzoFDWZds0V4Qo,1002
85
87
  pkgs/type_spec/type_info/emit_type_info.py,sha256=xRjZiwDDii4Bq8yVfcgE8YFechoKAcGmYXBk3Dq-K-s,15387
86
88
  pkgs/type_spec/ui_entry_actions/__init__.py,sha256=WiHE_BexOEZWbkkbD7EnFau1aMLNmfgQywG9PTQNCkw,135
87
- pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py,sha256=iVjThgDpfkuqeq0LENaCRrrGkWQ6kMIhVa-yZWXSflM,8981
89
+ pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py,sha256=65qUEp9zVcAsHEe3QjOTlPfLf45kH980fOXZXKNmOC8,9503
88
90
  pkgs/type_spec/value_spec/__init__.py,sha256=Z-grlcZtxAfEXhPHsK0nD7PFLGsv4eqvunaPN7_TA84,83
89
91
  pkgs/type_spec/value_spec/__main__.py,sha256=oM5lcV6Hv_03okjtfWn2fzSHsarFVa9ArU_g02XnQJw,8879
90
92
  pkgs/type_spec/value_spec/convert_type.py,sha256=OvP7dwUMHXNHVXWYT4jkaYJ96S3a2SnFuC_iMdYVB7s,2927
@@ -95,7 +97,7 @@ uncountable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
97
  uncountable/core/__init__.py,sha256=RFv0kO6rKFf1PtBPu83hCGmxqkJamRtsgQ9_-ztw7tA,341
96
98
  uncountable/core/async_batch.py,sha256=9pYGFzVCQXt8059qFHgutweGIFPquJ5Xfq6NT5P-1K0,1206
97
99
  uncountable/core/client.py,sha256=nzUkHIVbYQmMUEBJhQdLzRC70eeYOACEbKSRY4w0Jlw,13367
98
- uncountable/core/environment.py,sha256=6cc-nUvUIbJMI0OSEg3dWI-iNgSYhCdUKKn607Z3QpM,1040
100
+ uncountable/core/environment.py,sha256=4gdJB0ZhRxKlqSKLaE4vUvEUGZ5fy8IAwXcGDRdYt7E,1037
99
101
  uncountable/core/file_upload.py,sha256=bgvXk9vfF5qlhy2NAUcEEG7Q7i-c1wr2HrpaWD7HldU,4516
100
102
  uncountable/core/types.py,sha256=s2CjqYJpsmbC7xMwxxT7kJ_V9bwokrjjWVVjpMcQpKI,333
101
103
  uncountable/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -103,11 +105,11 @@ uncountable/integration/cli.py,sha256=h3RE0l1SdjkveOKeY2amlmrJppK4HEQJXk8VG9UJRW
103
105
  uncountable/integration/construct_client.py,sha256=I53mGcdS88hba3HFwgXmWQaTd1d5u0jWNSwyc_vlVsQ,1937
104
106
  uncountable/integration/cron.py,sha256=6eH-kIs3sdYPCyb62_L2M7U_uQTdMTdwY5hreEJb0hw,887
105
107
  uncountable/integration/entrypoint.py,sha256=BHOYPQgKvZE6HG8Rv15MkdYl8lRkvfDgv1OdLo0oQ9Q,433
106
- uncountable/integration/job.py,sha256=lRQhOfm8kRlUnT1BMQRMZ49n1IzOup5VRH0AiZ2AFo4,3214
108
+ uncountable/integration/job.py,sha256=X8mNoy01Q6h26eNuPi50XwV6YLgaqYCGWt2PFDEddZU,7111
107
109
  uncountable/integration/scan_profiles.py,sha256=RHBmPc5E10YZzf4cmglwrn2yAy0jHBhQ-P_GlAk2TeU,2919
108
110
  uncountable/integration/scheduler.py,sha256=t75ANJN21DElUFvEdtgueTluF7y17jTtBDDF8f3NRDM,4812
109
- uncountable/integration/server.py,sha256=m_DYRosGbHuPhygM32Xo-jRBl_oaUhOYsBBD1qwwKh4,4697
110
- uncountable/integration/telemetry.py,sha256=jeeycEnGcW0Fk-f7JI5d-k8Ih4FLoNBCxvSJlJ98wwU,7418
111
+ uncountable/integration/server.py,sha256=lL9zmzqkQRf7V1fBT20SvIy-7ryz5hFf7DF4QX4pj1E,4699
112
+ uncountable/integration/telemetry.py,sha256=VunRaMC9ykPaxUE_s6SarQieKrGNtTSyAr9omc315OI,7419
111
113
  uncountable/integration/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
114
  uncountable/integration/db/connect.py,sha256=mE3bdV0huclH2iT_dXCQdRL4LkjIuf_myAR64RTWXEs,498
113
115
  uncountable/integration/db/session.py,sha256=96cGQXpe6IugBTdSsjdP0S5yhJ6toSmbVB6qhc3FJzE,693
@@ -115,6 +117,8 @@ uncountable/integration/executors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
115
117
  uncountable/integration/executors/executors.py,sha256=Kzisp1eKufGCWrHIw4mmAj-l1UQ2oJsJR7I-_mksnVs,5441
116
118
  uncountable/integration/executors/generic_upload_executor.py,sha256=z0HfvuBR1wUbRpMVxJQ5Jlzbdk8G7YmAGENmze85Tr8,12076
117
119
  uncountable/integration/executors/script_executor.py,sha256=BBQ9f0l7uH2hgKf60jtm-pONzwk-EeOhM2qBAbv_URo,846
120
+ uncountable/integration/http_server/__init__.py,sha256=WY2HMcL0UCAGYv8y6Pz-j0azbDGXwubFF21EH_zNPkc,189
121
+ uncountable/integration/http_server/types.py,sha256=zVXXN8FPstrF9qFduwQBtxPG8I4AOK41nXAnxrtSgxw,1832
118
122
  uncountable/integration/queue_runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
119
123
  uncountable/integration/queue_runner/job_scheduler.py,sha256=lLP3R8RVE_4CJ9D-AsJSsZVciKCISsvgUMRs4tIZZpE,6557
120
124
  uncountable/integration/queue_runner/queue_runner.py,sha256=0BmYu5zHdothTevGsB-nXg6MBd1UD-WkP3h1WCKMdQg,710
@@ -135,10 +139,10 @@ uncountable/integration/queue_runner/datastore/interface.py,sha256=j4D-zVvLq-48V
135
139
  uncountable/integration/queue_runner/datastore/model.py,sha256=8-RI5A2yPZVGBLWINVmMd6VOl_oHtqGtnaNXcapAChw,577
136
140
  uncountable/integration/secret_retrieval/__init__.py,sha256=3QXVj35w8rRMxVvmmsViFYDi3lcb3g70incfalOEm6o,87
137
141
  uncountable/integration/secret_retrieval/retrieve_secret.py,sha256=LBEf18KHtXZxg-ZZ80stJ1vW39AWf0CQllP6pNu3Eq8,2994
138
- uncountable/integration/webhook_server/entrypoint.py,sha256=yQWQq_k3kbJkSsEEt6k22YwhXekezJZfV0rnn-hP-Yo,5516
142
+ uncountable/integration/webhook_server/entrypoint.py,sha256=NQawXl_JCRojdVniS5RF7dobQQKW_Wy03bwy-uXknuA,3441
139
143
  uncountable/types/__init__.py,sha256=eqeDMCXTr9Mwo10RSGMa4znfu_7TVp_0gYJxPKmLCfQ,9990
140
144
  uncountable/types/async_batch.py,sha256=yCCWrrLQfxXVqZp-KskxLBNkNmuELdz4PJjx8ULppgs,662
141
- uncountable/types/async_batch_processor.py,sha256=Y8rp-GtuhwUBg18yb5T7bQpb48vsQpACGrvaIiFYLrU,21765
145
+ uncountable/types/async_batch_processor.py,sha256=h_8Snzt3lbEFlZAZFByt4Hg4dv2YlxMijHjTHjZ0aXY,22062
142
146
  uncountable/types/async_batch_t.py,sha256=JuswurXlYW38MfAXJ0UWb7hE2rmzFaHBAsNhRYAyMD4,3779
143
147
  uncountable/types/async_jobs.py,sha256=JI0ScfawaqMRbJ2jbgW3YQLhijPnBeYdMnZJjygSxHg,322
144
148
  uncountable/types/async_jobs_t.py,sha256=u4xd3i512PZ-9592Q2ZgWh_faMiI4UMm0F_gOmZnerI,1389
@@ -150,7 +154,7 @@ uncountable/types/calculations.py,sha256=fApOFpgBemt_t7IVneVR0VdI3X5EOxiG6Xhzr6R
150
154
  uncountable/types/calculations_t.py,sha256=pl-lhjyDQuj11Sf9g1-0BsSkN7Ez8UxDp8-KMQ_3enM,709
151
155
  uncountable/types/chemical_structure.py,sha256=ujyragaD26-QG5jgKnWhO7TN3N1V9b_04T2WhqNYxxo,281
152
156
  uncountable/types/chemical_structure_t.py,sha256=VFFyits_vx4t5L2euu_qFiSpsGJjURkDPr3ISnr3nPc,855
153
- uncountable/types/client_base.py,sha256=4Aq_o11-T_HpZ5-6-y4TP8-Uj4xP0Hv99yvvqLCwl7I,73993
157
+ uncountable/types/client_base.py,sha256=Qd8kxA0C76FKTAuoJOVjEw48mInfV_IXH2CBBTyYwAs,76382
154
158
  uncountable/types/client_config.py,sha256=qLpHt4O_B098CyN6qQajoxZ2zjZ1DILXLUEGyyGP0TQ,280
155
159
  uncountable/types/client_config_t.py,sha256=yTFIYAitMrcc4oV9J-HADODS_Hwi45z-piz7rr7QT04,781
156
160
  uncountable/types/curves.py,sha256=QyEyC20jsG-LGKVx6miiF-w70vKMwNkILFBDIJ5Ok9g,345
@@ -158,7 +162,7 @@ uncountable/types/curves_t.py,sha256=DxYepdC3QKKR7mepOOBoyarNcFZQdUa5ZYH-hwCY3BI
158
162
  uncountable/types/data.py,sha256=u2isf4XEug3Eu-xSIoqGaCQmW2dFaKBHCkP_WKYwwBc,500
159
163
  uncountable/types/data_t.py,sha256=vFoypK_WMGfN28r1sSlDYHZNUdBQC0XCN7-_Mlo4FJk,2832
160
164
  uncountable/types/entity.py,sha256=Zclk1LYcRaYrMDhqyCjMSLEg0fE6_q8LHvV22Qvscgs,566
161
- uncountable/types/entity_t.py,sha256=tyRdNrRCcWRyOO_dXEUa6G7KTHLCMJWBueK5cIBSx34,20166
165
+ uncountable/types/entity_t.py,sha256=Q-Ji3IMpQxXoY680ZOYz5Zkcy_wrz3lgQOnKqoU9noA,20666
162
166
  uncountable/types/experiment_groups.py,sha256=qUpFOx1AKgzaT_4khCOv5Xs6jwiQGbvHH-GUh3v1nv4,288
163
167
  uncountable/types/experiment_groups_t.py,sha256=29Ct-WPejpYMuGfnFfOoosU9iSfjzxpabpBX6oTPFUA,761
164
168
  uncountable/types/exports.py,sha256=VMmxUO2PpV1Y63hZ2AnVor4H-B6aswJ7YpSru_u89lU,334
@@ -178,9 +182,9 @@ uncountable/types/input_attributes_t.py,sha256=8NJQeq_8MkUNn5BlDx34opp3eeZl8Sw1n
178
182
  uncountable/types/inputs.py,sha256=3ghg39_oiLF5HqWF_wNwYv4HMR1lrKLfeRLn5ptIGw4,446
179
183
  uncountable/types/inputs_t.py,sha256=eSVA7LNgLI3ja83GJm4sA9KhPICVV4zj2Dd4OhbuY9g,2158
180
184
  uncountable/types/integration_server.py,sha256=VonA8h8TGnVBiss5W8-K82lA01JQa7TLk0ubFo8iiBQ,364
181
- uncountable/types/integration_server_t.py,sha256=QAwAB-rlfYh14ZzfVUQd-Bfky3LkPcsSEBhRH3UGvZE,1270
182
- uncountable/types/job_definition.py,sha256=6BkLZrmTfIYh45XFGZ5HOYveued0YXvl17YTlXblXjw,1646
183
- uncountable/types/job_definition_t.py,sha256=6ZJ9rlqXwbOB-G_U8YoWUDPvPak6_11kV2qT2jx8t9Q,8688
185
+ uncountable/types/integration_server_t.py,sha256=pgtoyuW6QvGRawidJZFB-WnOdwCE4OIoJAvGfussZKU,1304
186
+ uncountable/types/job_definition.py,sha256=hYp5jPYLLYm3NKEqzQrQfXL0Ms5KgEQGTON13YWSPYk,1804
187
+ uncountable/types/job_definition_t.py,sha256=E4IQvcYF3VDHbwRlvopy8y-HNAyEMZpwy7jkmp74fgQ,9563
184
188
  uncountable/types/outputs.py,sha256=I6zP2WHXg_jXgMqmuEJuJOlsjKjQGHjfs1JOwW9YxBM,260
185
189
  uncountable/types/outputs_t.py,sha256=atsOkBBgnMeCgPaKPidk9eNouWVnynSrMI_ZbqxRJeY,795
186
190
  uncountable/types/overrides.py,sha256=fOvj8P9K9ul8fnTwA--l140EWHuc1BFq8tXgtBkYld4,410
@@ -232,13 +236,13 @@ uncountable/types/api/condition_parameters/upsert_condition_match.py,sha256=7I9l
232
236
  uncountable/types/api/entity/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
233
237
  uncountable/types/api/entity/create_entities.py,sha256=cCDEra2SHvGWvz7nIxxMDSQN6OWrHMTT0JSomWUesto,1794
234
238
  uncountable/types/api/entity/create_entity.py,sha256=urT6C7iGAa7_rCv9Wcz6GM_lKg1tP55E__rjNkj-Rjc,1879
235
- uncountable/types/api/entity/create_or_update_entity.py,sha256=OK05B9nqlxsCU41iVCI_Nn66qVeQfqgdf2oZn7kUPFM,1445
239
+ uncountable/types/api/entity/create_or_update_entity.py,sha256=cxjJIcZTKOg8Y5kGzctYKayfnr8BNZDOM5YfI4dBSf0,1532
236
240
  uncountable/types/api/entity/export_entities.py,sha256=zz_4P6bQAt7gU2o2to9zUh0HHLQKaxLkbFGfbgY3KVk,1395
237
241
  uncountable/types/api/entity/get_entities_data.py,sha256=hu0UfkU4PTyv3_CBZ7YmR8L8BKMq8hx6zH43XtUm16E,1616
238
242
  uncountable/types/api/entity/grant_entity_permissions.py,sha256=4CvVIMvpdok8K1Bh6wMlwuUmoeP_-nL9y2GCEM6uAhY,1536
239
243
  uncountable/types/api/entity/list_entities.py,sha256=LLc_QRH2LI7qPamxwF8DAPJCnfDo1Nw_0VGNDl6CMXI,2139
240
244
  uncountable/types/api/entity/lock_entity.py,sha256=nwkjtF89ZWV6_1cLe8R47-G542b8i3FvBIjauOJlObE,1311
241
- uncountable/types/api/entity/lookup_entity.py,sha256=zwCpQRtAiJoDH9gUlGL1fmHhUEW-PTL_jMMBNDfWOjk,3232
245
+ uncountable/types/api/entity/lookup_entity.py,sha256=NIDdYl0iscueC68tfZ1lKp5vTq2NMDYtQ3cG6o2tBaI,3905
242
246
  uncountable/types/api/entity/resolve_entity_ids.py,sha256=2FyZxTjPHwCzCg92JjH-akcbPu2d9L14Oh6hRVkKDxA,1523
243
247
  uncountable/types/api/entity/set_entity_field_values.py,sha256=oiNjAfdMvuFaLbppEaGejzr7Br6XB2D11WaXVCyx8c4,1324
244
248
  uncountable/types/api/entity/set_values.py,sha256=7pG15cAos1gem7-HtEMJ4AXisopXrzWsiuqiqh8AzQc,1249
@@ -315,7 +319,7 @@ uncountable/types/api/triggers/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr
315
319
  uncountable/types/api/triggers/run_trigger.py,sha256=dgDX_sRWSJ36UuzMZhG25oHV1HIOUKYY2G3fjKugZrw,1204
316
320
  uncountable/types/api/uploader/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
317
321
  uncountable/types/api/uploader/invoke_uploader.py,sha256=Bj7Dq4A90k00suacwk3bLA_dCb2aovS1kAbVam2AQnM,1395
318
- uncountablepythonsdk-0.0.114.dist-info/METADATA,sha256=58rVRRIi9Ru8HTpgr8TOE5xNOxwkKfkDlbM7-i1Ptd8,2143
319
- uncountablepythonsdk-0.0.114.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
320
- uncountablepythonsdk-0.0.114.dist-info/top_level.txt,sha256=1UVGjAU-6hJY9qw2iJ7nCBeEwZ793AEN5ZfKX9A1uj4,31
321
- uncountablepythonsdk-0.0.114.dist-info/RECORD,,
322
+ uncountablepythonsdk-0.0.116.dist-info/METADATA,sha256=oPQJIEgmWPjJGw_pV9kIAdtXYNfSegMl15O4xPvJ080,2143
323
+ uncountablepythonsdk-0.0.116.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
324
+ uncountablepythonsdk-0.0.116.dist-info/top_level.txt,sha256=1UVGjAU-6hJY9qw2iJ7nCBeEwZ793AEN5ZfKX9A1uj4,31
325
+ uncountablepythonsdk-0.0.116.dist-info/RECORD,,