UncountablePythonSDK 0.0.128__py3-none-any.whl → 0.0.130__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 (40) hide show
  1. docs/requirements.txt +1 -1
  2. examples/integration-server/jobs/materials_auto/example_instrument.py +4 -3
  3. examples/integration-server/jobs/materials_auto/example_parse.py +56 -3
  4. examples/integration-server/jobs/materials_auto/example_predictions.py +2 -2
  5. examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +25 -22
  6. examples/integration-server/pyproject.toml +1 -1
  7. pkgs/argument_parser/argument_parser.py +20 -1
  8. pkgs/serialization_util/serialization_helpers.py +3 -1
  9. pkgs/type_spec/builder.py +9 -3
  10. pkgs/type_spec/builder_types.py +9 -0
  11. pkgs/type_spec/cross_output_links.py +2 -10
  12. pkgs/type_spec/emit_open_api.py +0 -12
  13. pkgs/type_spec/emit_python.py +72 -11
  14. pkgs/type_spec/emit_typescript_util.py +28 -6
  15. pkgs/type_spec/load_types.py +1 -1
  16. pkgs/type_spec/parts/base.ts.prepart +3 -0
  17. pkgs/type_spec/type_info/emit_type_info.py +13 -2
  18. uncountable/core/client.py +10 -3
  19. uncountable/integration/queue_runner/command_server/command_server.py +8 -7
  20. uncountable/integration/webhook_server/entrypoint.py +2 -0
  21. uncountable/types/__init__.py +8 -0
  22. uncountable/types/api/entity/list_aggregate.py +79 -0
  23. uncountable/types/api/entity/list_entities.py +25 -0
  24. uncountable/types/api/notebooks/__init__.py +1 -0
  25. uncountable/types/api/notebooks/add_notebook_content.py +119 -0
  26. uncountable/types/api/recipes/get_recipes_data.py +13 -0
  27. uncountable/types/async_batch_processor.py +20 -0
  28. uncountable/types/client_base.py +222 -0
  29. uncountable/types/client_config.py +1 -0
  30. uncountable/types/client_config_t.py +10 -0
  31. uncountable/types/entity_t.py +2 -0
  32. uncountable/types/integration_server_t.py +2 -0
  33. uncountable/types/listing.py +9 -0
  34. uncountable/types/listing_t.py +51 -0
  35. uncountable/types/structured_filters.py +21 -0
  36. uncountable/types/structured_filters_t.py +206 -0
  37. {uncountablepythonsdk-0.0.128.dist-info → uncountablepythonsdk-0.0.130.dist-info}/METADATA +1 -1
  38. {uncountablepythonsdk-0.0.128.dist-info → uncountablepythonsdk-0.0.130.dist-info}/RECORD +40 -32
  39. {uncountablepythonsdk-0.0.128.dist-info → uncountablepythonsdk-0.0.130.dist-info}/WHEEL +0 -0
  40. {uncountablepythonsdk-0.0.128.dist-info → uncountablepythonsdk-0.0.130.dist-info}/top_level.txt +0 -0
@@ -8,6 +8,7 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from pkgs.serialization import OpaqueKey
11
+ import uncountable.types.api.notebooks.add_notebook_content as add_notebook_content_t
11
12
  import uncountable.types.api.recipes.add_recipe_to_project as add_recipe_to_project_t
12
13
  import uncountable.types.api.recipes.add_time_series_data as add_time_series_data_t
13
14
  import uncountable.types.api.recipes.archive_recipes as archive_recipes_t
@@ -17,6 +18,7 @@ import uncountable.types.api.recipes.associate_recipe_as_lot as associate_recipe
17
18
  from uncountable.types import async_batch_t
18
19
  from uncountable.types import base_t
19
20
  import uncountable.types.api.recipes.clear_recipe_outputs as clear_recipe_outputs_t
21
+ from uncountable.types import client_config_t
20
22
  import uncountable.types.api.uploader.complete_async_parse as complete_async_parse_t
21
23
  import uncountable.types.api.runsheet.complete_async_upload as complete_async_upload_t
22
24
  import uncountable.types.api.chemical.convert_chemical_formats as convert_chemical_formats_t
@@ -59,6 +61,7 @@ import uncountable.types.api.entity.grant_entity_permissions as grant_entity_per
59
61
  from uncountable.types import id_source_t
60
62
  from uncountable.types import identifier_t
61
63
  import uncountable.types.api.uploader.invoke_uploader as invoke_uploader_t
64
+ import uncountable.types.api.entity.list_aggregate as list_aggregate_t
62
65
  import uncountable.types.api.entity.list_entities as list_entities_t
63
66
  import uncountable.types.api.id_source.list_id_source as list_id_source_t
64
67
  import uncountable.types.api.entity.lock_entity as lock_entity_t
@@ -113,6 +116,7 @@ class APIRequest:
113
116
  method: str
114
117
  endpoint: str
115
118
  args: typing.Any
119
+ request_options: client_config_t.RequestOptions | None = None
116
120
 
117
121
 
118
122
  class ClientMethods(ABC):
@@ -121,11 +125,39 @@ class ClientMethods(ABC):
121
125
  def do_request(self, *, api_request: APIRequest, return_type: type[DT]) -> DT:
122
126
  ...
123
127
 
128
+ def add_notebook_content(
129
+ self,
130
+ *,
131
+ notebook_key: identifier_t.IdentifierKey,
132
+ location: add_notebook_content_t.Location,
133
+ contents: list[add_notebook_content_t.InputContent],
134
+ _request_options: client_config_t.RequestOptions | None = None,
135
+ ) -> add_notebook_content_t.Data:
136
+ """Adds content to an existing notebook
137
+
138
+ :param notebook_key: Key of the notebook to add the content to
139
+ :param location: The location to add the content to in the notebook
140
+ :param contents: List of input content to add to the notebook
141
+ """
142
+ args = add_notebook_content_t.Arguments(
143
+ notebook_key=notebook_key,
144
+ location=location,
145
+ contents=contents,
146
+ )
147
+ api_request = APIRequest(
148
+ method=add_notebook_content_t.ENDPOINT_METHOD,
149
+ endpoint=add_notebook_content_t.ENDPOINT_PATH,
150
+ args=args,
151
+ request_options=_request_options,
152
+ )
153
+ return self.do_request(api_request=api_request, return_type=add_notebook_content_t.Data)
154
+
124
155
  def add_recipe_to_project(
125
156
  self,
126
157
  *,
127
158
  recipe_key: identifier_t.IdentifierKey,
128
159
  project_key: identifier_t.IdentifierKey,
160
+ _request_options: client_config_t.RequestOptions | None = None,
129
161
  ) -> add_recipe_to_project_t.Data:
130
162
  """Adds a recipe to a project
131
163
 
@@ -140,6 +172,7 @@ class ClientMethods(ABC):
140
172
  method=add_recipe_to_project_t.ENDPOINT_METHOD,
141
173
  endpoint=add_recipe_to_project_t.ENDPOINT_PATH,
142
174
  args=args,
175
+ request_options=_request_options,
143
176
  )
144
177
  return self.do_request(api_request=api_request, return_type=add_recipe_to_project_t.Data)
145
178
 
@@ -149,6 +182,7 @@ class ClientMethods(ABC):
149
182
  time_series_segment_key: identifier_t.IdentifierKey,
150
183
  time_series_data: list[add_time_series_data_t.TimeSeriesDatum],
151
184
  on_conflict: add_time_series_data_t.OnTimepointConflict = add_time_series_data_t.OnTimepointConflict.ERROR,
185
+ _request_options: client_config_t.RequestOptions | None = None,
152
186
  ) -> add_time_series_data_t.Data:
153
187
  """Add timepoint data to a time series segment.
154
188
 
@@ -165,6 +199,7 @@ class ClientMethods(ABC):
165
199
  method=add_time_series_data_t.ENDPOINT_METHOD,
166
200
  endpoint=add_time_series_data_t.ENDPOINT_PATH,
167
201
  args=args,
202
+ request_options=_request_options,
168
203
  )
169
204
  return self.do_request(api_request=api_request, return_type=add_time_series_data_t.Data)
170
205
 
@@ -173,6 +208,7 @@ class ClientMethods(ABC):
173
208
  *,
174
209
  recipes: list[identifier_t.IdentifierKey],
175
210
  reason: str | None = None,
211
+ _request_options: client_config_t.RequestOptions | None = None,
176
212
  ) -> archive_recipes_t.Data:
177
213
  """Archive the provided recipes and their children
178
214
 
@@ -187,6 +223,7 @@ class ClientMethods(ABC):
187
223
  method=archive_recipes_t.ENDPOINT_METHOD,
188
224
  endpoint=archive_recipes_t.ENDPOINT_PATH,
189
225
  args=args,
226
+ request_options=_request_options,
190
227
  )
191
228
  return self.do_request(api_request=api_request, return_type=archive_recipes_t.Data)
192
229
 
@@ -195,6 +232,7 @@ class ClientMethods(ABC):
195
232
  *,
196
233
  equipment_key: identifier_t.IdentifierKey,
197
234
  material_family_ids: list[base_t.ObjectId],
235
+ _request_options: client_config_t.RequestOptions | None = None,
198
236
  ) -> associate_equipment_input_t.Data:
199
237
  """Create or return the input association for equipment
200
238
 
@@ -209,6 +247,7 @@ class ClientMethods(ABC):
209
247
  method=associate_equipment_input_t.ENDPOINT_METHOD,
210
248
  endpoint=associate_equipment_input_t.ENDPOINT_PATH,
211
249
  args=args,
250
+ request_options=_request_options,
212
251
  )
213
252
  return self.do_request(api_request=api_request, return_type=associate_equipment_input_t.Data)
214
253
 
@@ -218,6 +257,7 @@ class ClientMethods(ABC):
218
257
  recipe_key: identifier_t.IdentifierKey,
219
258
  input_key: identifier_t.IdentifierKey | None = None,
220
259
  show_in_listings: bool | None = None,
260
+ _request_options: client_config_t.RequestOptions | None = None,
221
261
  ) -> associate_recipe_as_input_t.Data:
222
262
  """Create or return the input association for a recipe
223
263
 
@@ -234,6 +274,7 @@ class ClientMethods(ABC):
234
274
  method=associate_recipe_as_input_t.ENDPOINT_METHOD,
235
275
  endpoint=associate_recipe_as_input_t.ENDPOINT_PATH,
236
276
  args=args,
277
+ request_options=_request_options,
237
278
  )
238
279
  return self.do_request(api_request=api_request, return_type=associate_recipe_as_input_t.Data)
239
280
 
@@ -242,6 +283,7 @@ class ClientMethods(ABC):
242
283
  *,
243
284
  recipe_key: identifier_t.IdentifierKey,
244
285
  ingredient_key: identifier_t.IdentifierKey,
286
+ _request_options: client_config_t.RequestOptions | None = None,
245
287
  ) -> associate_recipe_as_lot_t.Data:
246
288
  """Create a new lot association for the provided recipe with the provided ingredient
247
289
 
@@ -256,6 +298,7 @@ class ClientMethods(ABC):
256
298
  method=associate_recipe_as_lot_t.ENDPOINT_METHOD,
257
299
  endpoint=associate_recipe_as_lot_t.ENDPOINT_PATH,
258
300
  args=args,
301
+ request_options=_request_options,
259
302
  )
260
303
  return self.do_request(api_request=api_request, return_type=associate_recipe_as_lot_t.Data)
261
304
 
@@ -263,6 +306,7 @@ class ClientMethods(ABC):
263
306
  self,
264
307
  *,
265
308
  recipe_key: identifier_t.IdentifierKey,
309
+ _request_options: client_config_t.RequestOptions | None = None,
266
310
  ) -> clear_recipe_outputs_t.Data:
267
311
  """Clears all output values & output metadata for a given recipe
268
312
 
@@ -275,6 +319,7 @@ class ClientMethods(ABC):
275
319
  method=clear_recipe_outputs_t.ENDPOINT_METHOD,
276
320
  endpoint=clear_recipe_outputs_t.ENDPOINT_PATH,
277
321
  args=args,
322
+ request_options=_request_options,
278
323
  )
279
324
  return self.do_request(api_request=api_request, return_type=clear_recipe_outputs_t.Data)
280
325
 
@@ -284,6 +329,7 @@ class ClientMethods(ABC):
284
329
  parsed_file_data: list[uploader_t.ParsedFileData],
285
330
  async_job_key: identifier_t.IdentifierKey,
286
331
  upload_destination: generic_upload_t.UploadDestinationRecipe,
332
+ _request_options: client_config_t.RequestOptions | None = None,
287
333
  ) -> complete_async_parse_t.Data:
288
334
  """Parses uploaded files asynchronously
289
335
 
@@ -297,6 +343,7 @@ class ClientMethods(ABC):
297
343
  method=complete_async_parse_t.ENDPOINT_METHOD,
298
344
  endpoint=complete_async_parse_t.ENDPOINT_PATH,
299
345
  args=args,
346
+ request_options=_request_options,
300
347
  )
301
348
  return self.do_request(api_request=api_request, return_type=complete_async_parse_t.Data)
302
349
 
@@ -305,6 +352,7 @@ class ClientMethods(ABC):
305
352
  *,
306
353
  async_job_id: base_t.ObjectId,
307
354
  file_id: base_t.ObjectId,
355
+ _request_options: client_config_t.RequestOptions | None = None,
308
356
  ) -> complete_async_upload_t.Data:
309
357
  """Processes an file id with a given async job id to be uploaded asynchronously
310
358
 
@@ -317,6 +365,7 @@ class ClientMethods(ABC):
317
365
  method=complete_async_upload_t.ENDPOINT_METHOD,
318
366
  endpoint=complete_async_upload_t.ENDPOINT_PATH,
319
367
  args=args,
368
+ request_options=_request_options,
320
369
  )
321
370
  return self.do_request(api_request=api_request, return_type=complete_async_upload_t.Data)
322
371
 
@@ -324,6 +373,7 @@ class ClientMethods(ABC):
324
373
  self,
325
374
  *,
326
375
  source_chemical_structures: list[convert_chemical_formats_t.ChemicalStructureFile],
376
+ _request_options: client_config_t.RequestOptions | None = None,
327
377
  ) -> convert_chemical_formats_t.Data:
328
378
  """Converts chemical formats, into the format used by Uncountable and usable in other APIs for eg. set_input_attribute_values
329
379
 
@@ -335,6 +385,7 @@ class ClientMethods(ABC):
335
385
  method=convert_chemical_formats_t.ENDPOINT_METHOD,
336
386
  endpoint=convert_chemical_formats_t.ENDPOINT_PATH,
337
387
  args=args,
388
+ request_options=_request_options,
338
389
  )
339
390
  return self.do_request(api_request=api_request, return_type=convert_chemical_formats_t.Data)
340
391
 
@@ -345,6 +396,7 @@ class ClientMethods(ABC):
345
396
  entities_to_create: list[create_entities_t.EntityToCreate],
346
397
  definition_id: base_t.ObjectId | None = None,
347
398
  definition_key: identifier_t.IdentifierKey | None = None,
399
+ _request_options: client_config_t.RequestOptions | None = None,
348
400
  ) -> create_entities_t.Data:
349
401
  """Creates new Uncountable entities
350
402
 
@@ -363,6 +415,7 @@ class ClientMethods(ABC):
363
415
  method=create_entities_t.ENDPOINT_METHOD,
364
416
  endpoint=create_entities_t.ENDPOINT_PATH,
365
417
  args=args,
418
+ request_options=_request_options,
366
419
  )
367
420
  return self.do_request(api_request=api_request, return_type=create_entities_t.Data)
368
421
 
@@ -374,6 +427,7 @@ class ClientMethods(ABC):
374
427
  definition_key: identifier_t.IdentifierKey | None = None,
375
428
  field_values: list[field_values_t.FieldRefNameValue] | None = None,
376
429
  parent_entity: entity_t.Entity | None = None,
430
+ _request_options: client_config_t.RequestOptions | None = None,
377
431
  ) -> create_entity_t.Data:
378
432
  """Creates a new Uncountable entity
379
433
 
@@ -393,6 +447,7 @@ class ClientMethods(ABC):
393
447
  method=create_entity_t.ENDPOINT_METHOD,
394
448
  endpoint=create_entity_t.ENDPOINT_PATH,
395
449
  args=args,
450
+ request_options=_request_options,
396
451
  )
397
452
  return self.do_request(api_request=api_request, return_type=create_entity_t.Data)
398
453
 
@@ -400,6 +455,7 @@ class ClientMethods(ABC):
400
455
  self,
401
456
  *,
402
457
  inputs_to_create: list[create_inputs_t.InputToCreate],
458
+ _request_options: client_config_t.RequestOptions | None = None,
403
459
  ) -> create_inputs_t.Data:
404
460
  """Creates new inputs
405
461
 
@@ -412,6 +468,7 @@ class ClientMethods(ABC):
412
468
  method=create_inputs_t.ENDPOINT_METHOD,
413
469
  endpoint=create_inputs_t.ENDPOINT_PATH,
414
470
  args=args,
471
+ request_options=_request_options,
415
472
  )
416
473
  return self.do_request(api_request=api_request, return_type=create_inputs_t.Data)
417
474
 
@@ -420,6 +477,7 @@ class ClientMethods(ABC):
420
477
  *,
421
478
  recipe_key: identifier_t.IdentifierKey,
422
479
  recipe_workflow_step_identifier: recipe_workflow_steps_t.RecipeWorkflowStepIdentifier,
480
+ _request_options: client_config_t.RequestOptions | None = None,
423
481
  ) -> create_mix_order_t.Data:
424
482
  """Creates mix order on a recipe workflow step
425
483
 
@@ -432,6 +490,7 @@ class ClientMethods(ABC):
432
490
  method=create_mix_order_t.ENDPOINT_METHOD,
433
491
  endpoint=create_mix_order_t.ENDPOINT_PATH,
434
492
  args=args,
493
+ request_options=_request_options,
435
494
  )
436
495
  return self.do_request(api_request=api_request, return_type=create_mix_order_t.Data)
437
496
 
@@ -443,6 +502,7 @@ class ClientMethods(ABC):
443
502
  field_values: list[field_values_t.FieldArgumentValue],
444
503
  entity_key: identifier_t.IdentifierKey | None = None,
445
504
  on_create_init_field_values: list[field_values_t.FieldArgumentValue] | None = None,
505
+ _request_options: client_config_t.RequestOptions | None = None,
446
506
  ) -> create_or_update_entity_t.Data:
447
507
  """Creates or updates field values for an entity
448
508
 
@@ -459,6 +519,7 @@ class ClientMethods(ABC):
459
519
  method=create_or_update_entity_t.ENDPOINT_METHOD,
460
520
  endpoint=create_or_update_entity_t.ENDPOINT_PATH,
461
521
  args=args,
522
+ request_options=_request_options,
462
523
  )
463
524
  return self.do_request(api_request=api_request, return_type=create_or_update_entity_t.Data)
464
525
 
@@ -473,6 +534,7 @@ class ClientMethods(ABC):
473
534
  recipe_metadata: list[recipe_metadata_t.MetadataValue] | None = None,
474
535
  identifiers: recipe_identifiers_t.RecipeIdentifiers | None = None,
475
536
  definition_key: identifier_t.IdentifierKey | None = None,
537
+ _request_options: client_config_t.RequestOptions | None = None,
476
538
  ) -> create_recipe_t.Data:
477
539
  """Returns the id of the recipe being created.
478
540
 
@@ -499,6 +561,7 @@ class ClientMethods(ABC):
499
561
  method=create_recipe_t.ENDPOINT_METHOD,
500
562
  endpoint=create_recipe_t.ENDPOINT_PATH,
501
563
  args=args,
564
+ request_options=_request_options,
502
565
  )
503
566
  return self.do_request(api_request=api_request, return_type=create_recipe_t.Data)
504
567
 
@@ -509,6 +572,7 @@ class ClientMethods(ABC):
509
572
  recipe_to_key: identifier_t.IdentifierKey,
510
573
  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],
511
574
  name: str | None = None,
575
+ _request_options: client_config_t.RequestOptions | None = None,
512
576
  ) -> create_recipe_link_t.Data:
513
577
  """Create a link between two recipes. Skip if the link already exists
514
578
 
@@ -527,6 +591,7 @@ class ClientMethods(ABC):
527
591
  method=create_recipe_link_t.ENDPOINT_METHOD,
528
592
  endpoint=create_recipe_link_t.ENDPOINT_PATH,
529
593
  args=args,
594
+ request_options=_request_options,
530
595
  )
531
596
  return self.do_request(api_request=api_request, return_type=create_recipe_link_t.Data)
532
597
 
@@ -536,6 +601,7 @@ class ClientMethods(ABC):
536
601
  material_family_id: base_t.ObjectId,
537
602
  recipe_definitions: list[create_recipes_t.CreateRecipeDefinition],
538
603
  project_id: base_t.ObjectId | None = None,
604
+ _request_options: client_config_t.RequestOptions | None = None,
539
605
  ) -> create_recipes_t.Data:
540
606
  """Creates recipes in Uncountable, optionally with metadata values, and returns the resulting ids in corresponding order
541
607
 
@@ -551,6 +617,7 @@ class ClientMethods(ABC):
551
617
  method=create_recipes_t.ENDPOINT_METHOD,
552
618
  endpoint=create_recipes_t.ENDPOINT_PATH,
553
619
  args=args,
620
+ request_options=_request_options,
554
621
  )
555
622
  return self.do_request(api_request=api_request, return_type=create_recipes_t.Data)
556
623
 
@@ -558,6 +625,7 @@ class ClientMethods(ABC):
558
625
  self,
559
626
  *,
560
627
  recipe_key: identifier_t.IdentifierKey,
628
+ _request_options: client_config_t.RequestOptions | None = None,
561
629
  ) -> disassociate_recipe_as_input_t.Data:
562
630
  """Remove any association between a recipe and ingredients
563
631
 
@@ -570,6 +638,7 @@ class ClientMethods(ABC):
570
638
  method=disassociate_recipe_as_input_t.ENDPOINT_METHOD,
571
639
  endpoint=disassociate_recipe_as_input_t.ENDPOINT_PATH,
572
640
  args=args,
641
+ request_options=_request_options,
573
642
  )
574
643
  return self.do_request(api_request=api_request, return_type=disassociate_recipe_as_input_t.Data)
575
644
 
@@ -579,6 +648,7 @@ class ClientMethods(ABC):
579
648
  recipe_key: identifier_t.IdentifierKey,
580
649
  recipe_workflow_step_identifier: recipe_workflow_steps_t.RecipeWorkflowStepIdentifier,
581
650
  edits: list[edit_recipe_inputs_t.RecipeInputEdit],
651
+ _request_options: client_config_t.RequestOptions | None = None,
582
652
  ) -> edit_recipe_inputs_t.Data:
583
653
  """Clear, update, or add inputs on a recipe
584
654
 
@@ -593,6 +663,7 @@ class ClientMethods(ABC):
593
663
  method=edit_recipe_inputs_t.ENDPOINT_METHOD,
594
664
  endpoint=edit_recipe_inputs_t.ENDPOINT_PATH,
595
665
  args=args,
666
+ request_options=_request_options,
596
667
  )
597
668
  return self.do_request(api_request=api_request, return_type=edit_recipe_inputs_t.Data)
598
669
 
@@ -600,6 +671,7 @@ class ClientMethods(ABC):
600
671
  self,
601
672
  *,
602
673
  requests: list[execute_batch_t.BatchRequest],
674
+ _request_options: client_config_t.RequestOptions | None = None,
603
675
  ) -> execute_batch_t.Data:
604
676
  """Run multiple API calls via one request
605
677
 
@@ -611,6 +683,7 @@ class ClientMethods(ABC):
611
683
  method=execute_batch_t.ENDPOINT_METHOD,
612
684
  endpoint=execute_batch_t.ENDPOINT_PATH,
613
685
  args=args,
686
+ request_options=_request_options,
614
687
  )
615
688
  return self.do_request(api_request=api_request, return_type=execute_batch_t.Data)
616
689
 
@@ -618,6 +691,7 @@ class ClientMethods(ABC):
618
691
  self,
619
692
  *,
620
693
  requests: list[async_batch_t.AsyncBatchRequest],
694
+ _request_options: client_config_t.RequestOptions | None = None,
621
695
  ) -> execute_batch_load_async_t.Data:
622
696
  """Run multiple API calls via one request
623
697
 
@@ -629,6 +703,7 @@ class ClientMethods(ABC):
629
703
  method=execute_batch_load_async_t.ENDPOINT_METHOD,
630
704
  endpoint=execute_batch_load_async_t.ENDPOINT_PATH,
631
705
  args=args,
706
+ request_options=_request_options,
632
707
  )
633
708
  return self.do_request(api_request=api_request, return_type=execute_batch_load_async_t.Data)
634
709
 
@@ -640,6 +715,7 @@ class ClientMethods(ABC):
640
715
  client_timezone: exports_t.ListingExportUserTimezone | None = None,
641
716
  limit: int | None = None,
642
717
  attributes: list[export_entities_t.ListingAttribute] | None = None,
718
+ _request_options: client_config_t.RequestOptions | None = None,
643
719
  ) -> export_entities_t.Data:
644
720
  """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.
645
721
 
@@ -657,6 +733,7 @@ class ClientMethods(ABC):
657
733
  method=export_entities_t.ENDPOINT_METHOD,
658
734
  endpoint=export_entities_t.ENDPOINT_PATH,
659
735
  args=args,
736
+ request_options=_request_options,
660
737
  )
661
738
  return self.do_request(api_request=api_request, return_type=export_entities_t.Data)
662
739
 
@@ -665,6 +742,7 @@ class ClientMethods(ABC):
665
742
  *,
666
743
  recipe_keys: list[identifier_t.IdentifierKey],
667
744
  calculation_key: identifier_t.IdentifierKey,
745
+ _request_options: client_config_t.RequestOptions | None = None,
668
746
  ) -> get_column_calculation_values_t.Data:
669
747
  """Get the values for a column calculations for recipes
670
748
 
@@ -679,17 +757,24 @@ class ClientMethods(ABC):
679
757
  method=get_column_calculation_values_t.ENDPOINT_METHOD,
680
758
  endpoint=get_column_calculation_values_t.ENDPOINT_PATH,
681
759
  args=args,
760
+ request_options=_request_options,
682
761
  )
683
762
  return self.do_request(api_request=api_request, return_type=get_column_calculation_values_t.Data)
684
763
 
685
764
  def get_current_user_info(
686
765
  self,
766
+ *,
767
+ _request_options: client_config_t.RequestOptions | None = None,
687
768
  ) -> get_current_user_info_t.Data:
769
+ """Return information about the current user
770
+
771
+ """
688
772
  args = get_current_user_info_t.Arguments()
689
773
  api_request = APIRequest(
690
774
  method=get_current_user_info_t.ENDPOINT_METHOD,
691
775
  endpoint=get_current_user_info_t.ENDPOINT_PATH,
692
776
  args=args,
777
+ request_options=_request_options,
693
778
  )
694
779
  return self.do_request(api_request=api_request, return_type=get_current_user_info_t.Data)
695
780
 
@@ -698,6 +783,7 @@ class ClientMethods(ABC):
698
783
  *,
699
784
  recipe_output_id: base_t.ObjectId | None = None,
700
785
  recipe_input_id: base_t.ObjectId | None = None,
786
+ _request_options: client_config_t.RequestOptions | None = None,
701
787
  ) -> get_curve_t.Data:
702
788
  """Returns an array of values for the specified curve id.
703
789
 
@@ -712,6 +798,7 @@ class ClientMethods(ABC):
712
798
  method=get_curve_t.ENDPOINT_METHOD,
713
799
  endpoint=get_curve_t.ENDPOINT_PATH,
714
800
  args=args,
801
+ request_options=_request_options,
715
802
  )
716
803
  return self.do_request(api_request=api_request, return_type=get_curve_t.Data)
717
804
 
@@ -720,6 +807,7 @@ class ClientMethods(ABC):
720
807
  *,
721
808
  entity_ids: list[base_t.ObjectId],
722
809
  entity_type: entity_t.EntityType,
810
+ _request_options: client_config_t.RequestOptions | None = None,
723
811
  ) -> get_entities_data_t.Data:
724
812
  """Gets the details for a passed entity
725
813
 
@@ -734,6 +822,7 @@ class ClientMethods(ABC):
734
822
  method=get_entities_data_t.ENDPOINT_METHOD,
735
823
  endpoint=get_entities_data_t.ENDPOINT_PATH,
736
824
  args=args,
825
+ request_options=_request_options,
737
826
  )
738
827
  return self.do_request(api_request=api_request, return_type=get_entities_data_t.Data)
739
828
 
@@ -745,6 +834,7 @@ class ClientMethods(ABC):
745
834
  is_parameter: bool | None,
746
835
  offset: int | None = None,
747
836
  limit: int | None = None,
837
+ _request_options: client_config_t.RequestOptions | None = None,
748
838
  ) -> get_input_data_t.Data:
749
839
  """Gets the attribute, categorization and other metadata associated with a set of inputs. An input is either an ingredient or process parameter, with metadata and calculations assigned separately
750
840
 
@@ -765,6 +855,7 @@ class ClientMethods(ABC):
765
855
  method=get_input_data_t.ENDPOINT_METHOD,
766
856
  endpoint=get_input_data_t.ENDPOINT_PATH,
767
857
  args=args,
858
+ request_options=_request_options,
768
859
  )
769
860
  return self.do_request(api_request=api_request, return_type=get_input_data_t.Data)
770
861
 
@@ -772,6 +863,7 @@ class ClientMethods(ABC):
772
863
  self,
773
864
  *,
774
865
  material_family_id: base_t.ObjectId,
866
+ _request_options: client_config_t.RequestOptions | None = None,
775
867
  ) -> get_input_group_names_t.Data:
776
868
  """Gets the name of all input groups in a material family that either the user created, or are shared to all users.
777
869
 
@@ -784,6 +876,7 @@ class ClientMethods(ABC):
784
876
  method=get_input_group_names_t.ENDPOINT_METHOD,
785
877
  endpoint=get_input_group_names_t.ENDPOINT_PATH,
786
878
  args=args,
879
+ request_options=_request_options,
787
880
  )
788
881
  return self.do_request(api_request=api_request, return_type=get_input_group_names_t.Data)
789
882
 
@@ -794,6 +887,7 @@ class ClientMethods(ABC):
794
887
  is_parameter: bool | None,
795
888
  offset: int | None = None,
796
889
  limit: int | None = None,
890
+ _request_options: client_config_t.RequestOptions | None = None,
797
891
  ) -> get_input_names_t.Data:
798
892
  """Gets the name of all inputs for a material family. An input is either an ingredient or process parameter, with metadata and calculations assigned separately
799
893
 
@@ -812,6 +906,7 @@ class ClientMethods(ABC):
812
906
  method=get_input_names_t.ENDPOINT_METHOD,
813
907
  endpoint=get_input_names_t.ENDPOINT_PATH,
814
908
  args=args,
909
+ request_options=_request_options,
815
910
  )
816
911
  return self.do_request(api_request=api_request, return_type=get_input_names_t.Data)
817
912
 
@@ -819,6 +914,7 @@ class ClientMethods(ABC):
819
914
  self,
820
915
  *,
821
916
  input_ids: list[base_t.ObjectId],
917
+ _request_options: client_config_t.RequestOptions | None = None,
822
918
  ) -> get_inputs_data_t.Data:
823
919
  """Gets the details for passed input ids
824
920
 
@@ -831,6 +927,7 @@ class ClientMethods(ABC):
831
927
  method=get_inputs_data_t.ENDPOINT_METHOD,
832
928
  endpoint=get_inputs_data_t.ENDPOINT_PATH,
833
929
  args=args,
930
+ request_options=_request_options,
834
931
  )
835
932
  return self.do_request(api_request=api_request, return_type=get_inputs_data_t.Data)
836
933
 
@@ -841,6 +938,7 @@ class ClientMethods(ABC):
841
938
  output_ids: list[base_t.ObjectId] | None = None,
842
939
  offset: int | None = None,
843
940
  limit: int | None = None,
941
+ _request_options: client_config_t.RequestOptions | None = None,
844
942
  ) -> get_output_data_t.Data:
845
943
  """Gets the attribute, categorization and other metadata associated with a set of outputs
846
944
 
@@ -859,6 +957,7 @@ class ClientMethods(ABC):
859
957
  method=get_output_data_t.ENDPOINT_METHOD,
860
958
  endpoint=get_output_data_t.ENDPOINT_PATH,
861
959
  args=args,
960
+ request_options=_request_options,
862
961
  )
863
962
  return self.do_request(api_request=api_request, return_type=get_output_data_t.Data)
864
963
 
@@ -868,6 +967,7 @@ class ClientMethods(ABC):
868
967
  material_family_id: base_t.ObjectId,
869
968
  offset: int | None = None,
870
969
  limit: int | None = None,
970
+ _request_options: client_config_t.RequestOptions | None = None,
871
971
  ) -> get_output_names_t.Data:
872
972
  """Gets the name of all outputs for a material family. An output represents a measurement value of any time (numeric, text, curve, etc). This includes calculations based off of other outputs, such as a calculated change over time
873
973
 
@@ -884,6 +984,7 @@ class ClientMethods(ABC):
884
984
  method=get_output_names_t.ENDPOINT_METHOD,
885
985
  endpoint=get_output_names_t.ENDPOINT_PATH,
886
986
  args=args,
987
+ request_options=_request_options,
887
988
  )
888
989
  return self.do_request(api_request=api_request, return_type=get_output_names_t.Data)
889
990
 
@@ -892,6 +993,7 @@ class ClientMethods(ABC):
892
993
  *,
893
994
  all_material_families: bool,
894
995
  material_family_id: base_t.ObjectId | None,
996
+ _request_options: client_config_t.RequestOptions | None = None,
895
997
  ) -> get_projects_t.Data:
896
998
  """Gets either all projects created in the platform, or the projects associated with a material family ID. Projects are where experiments are placed in Uncountable, similar to folders in a directory structure
897
999
 
@@ -906,6 +1008,7 @@ class ClientMethods(ABC):
906
1008
  method=get_projects_t.ENDPOINT_METHOD,
907
1009
  endpoint=get_projects_t.ENDPOINT_PATH,
908
1010
  args=args,
1011
+ request_options=_request_options,
909
1012
  )
910
1013
  return self.do_request(api_request=api_request, return_type=get_projects_t.Data)
911
1014
 
@@ -915,6 +1018,7 @@ class ClientMethods(ABC):
915
1018
  project_ids: list[base_t.ObjectId],
916
1019
  offset: int | None = None,
917
1020
  limit: int | None = None,
1021
+ _request_options: client_config_t.RequestOptions | None = None,
918
1022
  ) -> get_projects_data_t.Data:
919
1023
  """Gets either all data associated with a set of projects created in the platform. Because Uncountables recipe structure is complex, various data values are exploded out to increase efficiency in parsing, and this page is paginated to prevent too large of return values
920
1024
 
@@ -931,6 +1035,7 @@ class ClientMethods(ABC):
931
1035
  method=get_projects_data_t.ENDPOINT_METHOD,
932
1036
  endpoint=get_projects_data_t.ENDPOINT_PATH,
933
1037
  args=args,
1038
+ request_options=_request_options,
934
1039
  )
935
1040
  return self.do_request(api_request=api_request, return_type=get_projects_data_t.Data)
936
1041
 
@@ -939,6 +1044,7 @@ class ClientMethods(ABC):
939
1044
  *,
940
1045
  recipe_ids: list[base_t.ObjectId],
941
1046
  calculation_ids: list[base_t.ObjectId] | None = None,
1047
+ _request_options: client_config_t.RequestOptions | None = None,
942
1048
  ) -> get_recipe_calculations_t.Data:
943
1049
  """Gets the calculations for the passed recipes
944
1050
 
@@ -953,6 +1059,7 @@ class ClientMethods(ABC):
953
1059
  method=get_recipe_calculations_t.ENDPOINT_METHOD,
954
1060
  endpoint=get_recipe_calculations_t.ENDPOINT_PATH,
955
1061
  args=args,
1062
+ request_options=_request_options,
956
1063
  )
957
1064
  return self.do_request(api_request=api_request, return_type=get_recipe_calculations_t.Data)
958
1065
 
@@ -962,6 +1069,7 @@ class ClientMethods(ABC):
962
1069
  recipe_ids: list[base_t.ObjectId],
963
1070
  depth: int = 1,
964
1071
  link_types: list[recipe_links_t.RecipeLinkType] | None,
1072
+ _request_options: client_config_t.RequestOptions | None = None,
965
1073
  ) -> get_recipe_links_t.Data:
966
1074
  """Gets the links for the passed recipes
967
1075
 
@@ -978,6 +1086,7 @@ class ClientMethods(ABC):
978
1086
  method=get_recipe_links_t.ENDPOINT_METHOD,
979
1087
  endpoint=get_recipe_links_t.ENDPOINT_PATH,
980
1088
  args=args,
1089
+ request_options=_request_options,
981
1090
  )
982
1091
  return self.do_request(api_request=api_request, return_type=get_recipe_links_t.Data)
983
1092
 
@@ -988,6 +1097,7 @@ class ClientMethods(ABC):
988
1097
  recipe_metadata_ids: list[base_t.ObjectId] | None,
989
1098
  offset: int | None = None,
990
1099
  limit: int | None = None,
1100
+ _request_options: client_config_t.RequestOptions | None = None,
991
1101
  ) -> get_recipe_metadata_data_t.Data:
992
1102
  """Gets the recipe metadata. Recipe metadata is data associated with experiments that is not an input, output or calculation, such as a sample ID.
993
1103
 
@@ -1006,6 +1116,7 @@ class ClientMethods(ABC):
1006
1116
  method=get_recipe_metadata_data_t.ENDPOINT_METHOD,
1007
1117
  endpoint=get_recipe_metadata_data_t.ENDPOINT_PATH,
1008
1118
  args=args,
1119
+ request_options=_request_options,
1009
1120
  )
1010
1121
  return self.do_request(api_request=api_request, return_type=get_recipe_metadata_data_t.Data)
1011
1122
 
@@ -1013,6 +1124,7 @@ class ClientMethods(ABC):
1013
1124
  self,
1014
1125
  *,
1015
1126
  project_id: base_t.ObjectId,
1127
+ _request_options: client_config_t.RequestOptions | None = None,
1016
1128
  ) -> get_recipe_names_t.Data:
1017
1129
  """Gets the name of all recipes (or experiments, used as synonyms by Uncountable) for a project. The call external_get_projects can be used to find projects
1018
1130
 
@@ -1025,6 +1137,7 @@ class ClientMethods(ABC):
1025
1137
  method=get_recipe_names_t.ENDPOINT_METHOD,
1026
1138
  endpoint=get_recipe_names_t.ENDPOINT_PATH,
1027
1139
  args=args,
1140
+ request_options=_request_options,
1028
1141
  )
1029
1142
  return self.do_request(api_request=api_request, return_type=get_recipe_names_t.Data)
1030
1143
 
@@ -1032,6 +1145,7 @@ class ClientMethods(ABC):
1032
1145
  self,
1033
1146
  *,
1034
1147
  recipe_output_ids: list[base_t.ObjectId],
1148
+ _request_options: client_config_t.RequestOptions | None = None,
1035
1149
  ) -> get_recipe_output_metadata_t.Data:
1036
1150
  """Gets the metadata values for the passed recipe outputs
1037
1151
 
@@ -1044,6 +1158,7 @@ class ClientMethods(ABC):
1044
1158
  method=get_recipe_output_metadata_t.ENDPOINT_METHOD,
1045
1159
  endpoint=get_recipe_output_metadata_t.ENDPOINT_PATH,
1046
1160
  args=args,
1161
+ request_options=_request_options,
1047
1162
  )
1048
1163
  return self.do_request(api_request=api_request, return_type=get_recipe_output_metadata_t.Data)
1049
1164
 
@@ -1055,6 +1170,7 @@ class ClientMethods(ABC):
1055
1170
  offset: int | None = None,
1056
1171
  limit: int | None = None,
1057
1172
  empty_output_behavior: get_recipes_data_t.RecipeOutputInclusion | None = None,
1173
+ _request_options: client_config_t.RequestOptions | None = None,
1058
1174
  ) -> get_recipes_data_t.Data:
1059
1175
  """Gets all data associated with a set of recipes. Because Uncountables recipe structure is complex, various data values are exploded out to increase efficiency in parsing, and this page is paginated to prevent too large of return values
1060
1176
 
@@ -1075,6 +1191,7 @@ class ClientMethods(ABC):
1075
1191
  method=get_recipes_data_t.ENDPOINT_METHOD,
1076
1192
  endpoint=get_recipes_data_t.ENDPOINT_PATH,
1077
1193
  args=args,
1194
+ request_options=_request_options,
1078
1195
  )
1079
1196
  return self.do_request(api_request=api_request, return_type=get_recipes_data_t.Data)
1080
1197
 
@@ -1087,6 +1204,7 @@ class ClientMethods(ABC):
1087
1204
  user_keys: list[identifier_t.IdentifierKey] | None = None,
1088
1205
  user_group_keys: list[identifier_t.IdentifierKey] | None = None,
1089
1206
  all_users: bool | None = None,
1207
+ _request_options: client_config_t.RequestOptions | None = None,
1090
1208
  ) -> grant_entity_permissions_t.Data:
1091
1209
  """Grant entity permissions to a list of users or user groups or to all users.
1092
1210
 
@@ -1103,6 +1221,7 @@ class ClientMethods(ABC):
1103
1221
  method=grant_entity_permissions_t.ENDPOINT_METHOD,
1104
1222
  endpoint=grant_entity_permissions_t.ENDPOINT_PATH,
1105
1223
  args=args,
1224
+ request_options=_request_options,
1106
1225
  )
1107
1226
  return self.do_request(api_request=api_request, return_type=grant_entity_permissions_t.Data)
1108
1227
 
@@ -1113,6 +1232,7 @@ class ClientMethods(ABC):
1113
1232
  destination: generic_upload_t.UploadDestination,
1114
1233
  file_id: base_t.ObjectId | None = None,
1115
1234
  file_ids: list[base_t.ObjectId] | None = None,
1235
+ _request_options: client_config_t.RequestOptions | None = None,
1116
1236
  ) -> invoke_uploader_t.Data:
1117
1237
  """Runs a file through an uploader.
1118
1238
 
@@ -1128,9 +1248,40 @@ class ClientMethods(ABC):
1128
1248
  method=invoke_uploader_t.ENDPOINT_METHOD,
1129
1249
  endpoint=invoke_uploader_t.ENDPOINT_PATH,
1130
1250
  args=args,
1251
+ request_options=_request_options,
1131
1252
  )
1132
1253
  return self.do_request(api_request=api_request, return_type=invoke_uploader_t.Data)
1133
1254
 
1255
+ def list_aggregate(
1256
+ self,
1257
+ *,
1258
+ config_reference: str,
1259
+ attribute_values: list[list_aggregate_t.AttributeValue] | None = None,
1260
+ offset: int | None = None,
1261
+ limit: int | None = None,
1262
+ _request_options: client_config_t.RequestOptions | None = None,
1263
+ ) -> list_aggregate_t.Data:
1264
+ """Uses a structured loading configuration to list aggregated data from the platform
1265
+
1266
+ :param config_reference: The configuration reference name for the listing config
1267
+ :param attribute_values: Attributes to pass to the configuration for parameterizing filters
1268
+ :param offset: Used for pagination. Pagination is done based on the sorting of the config. [Pagination More Info](#pagination)
1269
+ :param limit: The number of data points to return. If not filled in, it will be set to 100, and cannot be set higher than 100. [Pagination More Info](#pagination)
1270
+ """
1271
+ args = list_aggregate_t.Arguments(
1272
+ config_reference=config_reference,
1273
+ attribute_values=attribute_values,
1274
+ offset=offset,
1275
+ limit=limit,
1276
+ )
1277
+ api_request = APIRequest(
1278
+ method=list_aggregate_t.ENDPOINT_METHOD,
1279
+ endpoint=list_aggregate_t.ENDPOINT_PATH,
1280
+ args=args,
1281
+ request_options=_request_options,
1282
+ )
1283
+ return self.do_request(api_request=api_request, return_type=list_aggregate_t.Data)
1284
+
1134
1285
  def list_entities(
1135
1286
  self,
1136
1287
  *,
@@ -1139,6 +1290,8 @@ class ClientMethods(ABC):
1139
1290
  attributes: dict[OpaqueKey, base_t.JsonValue] | None = None,
1140
1291
  offset: int | None = None,
1141
1292
  limit: int | None = None,
1293
+ additional_filter_configs: list[list_entities_t.AdditionalFilterConfig] | None = None,
1294
+ _request_options: client_config_t.RequestOptions | None = None,
1142
1295
  ) -> list_entities_t.Data:
1143
1296
  """Uses a structured loading configuration to list entities in the system
1144
1297
 
@@ -1147,6 +1300,7 @@ class ClientMethods(ABC):
1147
1300
  :param attributes: Attributes to pass to the configuration for parameterizing filters
1148
1301
  :param offset: Used for pagination. Pagination is done based on the sorting of the config. [Pagination More Info](#pagination)
1149
1302
  :param limit: The number of data points to return. If not filled in, it will be set to 100, and cannot be set higher than 100. [Pagination More Info](#pagination)
1303
+ :param additional_filter_configs: Advanced property: Additional filter configurations to apply to the listing. A maximum of 10 additional filter configs are supported.
1150
1304
  """
1151
1305
  args = list_entities_t.Arguments(
1152
1306
  entity_type=entity_type,
@@ -1154,11 +1308,13 @@ class ClientMethods(ABC):
1154
1308
  attributes=attributes,
1155
1309
  offset=offset,
1156
1310
  limit=limit,
1311
+ additional_filter_configs=additional_filter_configs,
1157
1312
  )
1158
1313
  api_request = APIRequest(
1159
1314
  method=list_entities_t.ENDPOINT_METHOD,
1160
1315
  endpoint=list_entities_t.ENDPOINT_PATH,
1161
1316
  args=args,
1317
+ request_options=_request_options,
1162
1318
  )
1163
1319
  return self.do_request(api_request=api_request, return_type=list_entities_t.Data)
1164
1320
 
@@ -1169,6 +1325,7 @@ class ClientMethods(ABC):
1169
1325
  search_label: str,
1170
1326
  offset: int | None = None,
1171
1327
  limit: int | None = None,
1328
+ _request_options: client_config_t.RequestOptions | None = None,
1172
1329
  ) -> list_id_source_t.Data:
1173
1330
  """Lists id and label pairs
1174
1331
 
@@ -1187,6 +1344,7 @@ class ClientMethods(ABC):
1187
1344
  method=list_id_source_t.ENDPOINT_METHOD,
1188
1345
  endpoint=list_id_source_t.ENDPOINT_PATH,
1189
1346
  args=args,
1347
+ request_options=_request_options,
1190
1348
  )
1191
1349
  return self.do_request(api_request=api_request, return_type=list_id_source_t.Data)
1192
1350
 
@@ -1196,6 +1354,7 @@ class ClientMethods(ABC):
1196
1354
  entity_key: identifier_t.IdentifierKey,
1197
1355
  entity_type: entity_t.EntityType,
1198
1356
  globally_removable: bool | None = None,
1357
+ _request_options: client_config_t.RequestOptions | None = None,
1199
1358
  ) -> lock_entity_t.Data:
1200
1359
  """Lock an entity
1201
1360
 
@@ -1211,6 +1370,7 @@ class ClientMethods(ABC):
1211
1370
  method=lock_entity_t.ENDPOINT_METHOD,
1212
1371
  endpoint=lock_entity_t.ENDPOINT_PATH,
1213
1372
  args=args,
1373
+ request_options=_request_options,
1214
1374
  )
1215
1375
  return self.do_request(api_request=api_request, return_type=lock_entity_t.Data)
1216
1376
 
@@ -1222,6 +1382,7 @@ class ClientMethods(ABC):
1222
1382
  globally_removable: bool,
1223
1383
  lock_samples: bool | None = None,
1224
1384
  comments: str | None = None,
1385
+ _request_options: client_config_t.RequestOptions | None = None,
1225
1386
  ) -> lock_recipes_t.Data:
1226
1387
  """Lock experiments. Experiments will require unlocking to be editable. Edits to the experiments are blocked while they are locked.
1227
1388
 
@@ -1245,6 +1406,7 @@ class ClientMethods(ABC):
1245
1406
  method=lock_recipes_t.ENDPOINT_METHOD,
1246
1407
  endpoint=lock_recipes_t.ENDPOINT_PATH,
1247
1408
  args=args,
1409
+ request_options=_request_options,
1248
1410
  )
1249
1411
  return self.do_request(api_request=api_request, return_type=lock_recipes_t.Data)
1250
1412
 
@@ -1253,6 +1415,7 @@ class ClientMethods(ABC):
1253
1415
  *,
1254
1416
  entity_type: entity_t.EntityType,
1255
1417
  query: lookup_entity_t.LookupEntityQuery,
1418
+ _request_options: client_config_t.RequestOptions | None = None,
1256
1419
  ) -> lookup_entity_t.Data:
1257
1420
  """Look up an entity based on an identifier or field values
1258
1421
 
@@ -1265,6 +1428,7 @@ class ClientMethods(ABC):
1265
1428
  method=lookup_entity_t.ENDPOINT_METHOD,
1266
1429
  endpoint=lookup_entity_t.ENDPOINT_PATH,
1267
1430
  args=args,
1431
+ request_options=_request_options,
1268
1432
  )
1269
1433
  return self.do_request(api_request=api_request, return_type=lookup_entity_t.Data)
1270
1434
 
@@ -1273,6 +1437,7 @@ class ClientMethods(ABC):
1273
1437
  *,
1274
1438
  spec: id_source_t.IdSourceSpec,
1275
1439
  names: list[str],
1440
+ _request_options: client_config_t.RequestOptions | None = None,
1276
1441
  ) -> match_id_source_t.Data:
1277
1442
  """Lists id and label pairs
1278
1443
 
@@ -1287,6 +1452,7 @@ class ClientMethods(ABC):
1287
1452
  method=match_id_source_t.ENDPOINT_METHOD,
1288
1453
  endpoint=match_id_source_t.ENDPOINT_PATH,
1289
1454
  args=args,
1455
+ request_options=_request_options,
1290
1456
  )
1291
1457
  return self.do_request(api_request=api_request, return_type=match_id_source_t.Data)
1292
1458
 
@@ -1298,6 +1464,7 @@ class ClientMethods(ABC):
1298
1464
  message: str,
1299
1465
  display_notice: bool = False,
1300
1466
  entity: entity_t.EntityIdentifier | None = None,
1467
+ _request_options: client_config_t.RequestOptions | None = None,
1301
1468
  ) -> push_notification_t.Data:
1302
1469
  """Push a notification to a user or user group
1303
1470
 
@@ -1313,6 +1480,7 @@ class ClientMethods(ABC):
1313
1480
  method=push_notification_t.ENDPOINT_METHOD,
1314
1481
  endpoint=push_notification_t.ENDPOINT_PATH,
1315
1482
  args=args,
1483
+ request_options=_request_options,
1316
1484
  )
1317
1485
  return self.do_request(api_request=api_request, return_type=push_notification_t.Data)
1318
1486
 
@@ -1320,6 +1488,7 @@ class ClientMethods(ABC):
1320
1488
  self,
1321
1489
  *,
1322
1490
  socket_request: sockets_t.SocketTokenRequest,
1491
+ _request_options: client_config_t.RequestOptions | None = None,
1323
1492
  ) -> register_sockets_token_t.Data:
1324
1493
  """Request token for connecting to sockets server
1325
1494
 
@@ -1331,6 +1500,7 @@ class ClientMethods(ABC):
1331
1500
  method=register_sockets_token_t.ENDPOINT_METHOD,
1332
1501
  endpoint=register_sockets_token_t.ENDPOINT_PATH,
1333
1502
  args=args,
1503
+ request_options=_request_options,
1334
1504
  )
1335
1505
  return self.do_request(api_request=api_request, return_type=register_sockets_token_t.Data)
1336
1506
 
@@ -1339,6 +1509,7 @@ class ClientMethods(ABC):
1339
1509
  *,
1340
1510
  recipe_key: identifier_t.IdentifierKey,
1341
1511
  project_key: identifier_t.IdentifierKey,
1512
+ _request_options: client_config_t.RequestOptions | None = None,
1342
1513
  ) -> remove_recipe_from_project_t.Data:
1343
1514
  """Removes a recipe from a project
1344
1515
 
@@ -1353,6 +1524,7 @@ class ClientMethods(ABC):
1353
1524
  method=remove_recipe_from_project_t.ENDPOINT_METHOD,
1354
1525
  endpoint=remove_recipe_from_project_t.ENDPOINT_PATH,
1355
1526
  args=args,
1527
+ request_options=_request_options,
1356
1528
  )
1357
1529
  return self.do_request(api_request=api_request, return_type=remove_recipe_from_project_t.Data)
1358
1530
 
@@ -1362,6 +1534,7 @@ class ClientMethods(ABC):
1362
1534
  recipe_from_key: identifier_t.IdentifierKey,
1363
1535
  recipe_to_key: identifier_t.IdentifierKey,
1364
1536
  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],
1537
+ _request_options: client_config_t.RequestOptions | None = None,
1365
1538
  ) -> remove_recipe_link_t.Data:
1366
1539
  """Remove a link between two recipes. Skip if the link doesn't already exist
1367
1540
 
@@ -1378,6 +1551,7 @@ class ClientMethods(ABC):
1378
1551
  method=remove_recipe_link_t.ENDPOINT_METHOD,
1379
1552
  endpoint=remove_recipe_link_t.ENDPOINT_PATH,
1380
1553
  args=args,
1554
+ request_options=_request_options,
1381
1555
  )
1382
1556
  return self.do_request(api_request=api_request, return_type=remove_recipe_link_t.Data)
1383
1557
 
@@ -1386,6 +1560,7 @@ class ClientMethods(ABC):
1386
1560
  *,
1387
1561
  entity_ids: list[str | base_t.ObjectId],
1388
1562
  entity_type: entity_t.EntityType,
1563
+ _request_options: client_config_t.RequestOptions | None = None,
1389
1564
  ) -> resolve_entity_ids_t.Data:
1390
1565
  """Gets the names for passed in ids
1391
1566
 
@@ -1400,6 +1575,7 @@ class ClientMethods(ABC):
1400
1575
  method=resolve_entity_ids_t.ENDPOINT_METHOD,
1401
1576
  endpoint=resolve_entity_ids_t.ENDPOINT_PATH,
1402
1577
  args=args,
1578
+ request_options=_request_options,
1403
1579
  )
1404
1580
  return self.do_request(api_request=api_request, return_type=resolve_entity_ids_t.Data)
1405
1581
 
@@ -1407,6 +1583,7 @@ class ClientMethods(ABC):
1407
1583
  self,
1408
1584
  *,
1409
1585
  requested_conditions: list[resolve_output_conditions_t.ConditionRequest],
1586
+ _request_options: client_config_t.RequestOptions | None = None,
1410
1587
  ) -> resolve_output_conditions_t.Data:
1411
1588
  """For the provided set of condition parameter id and values, returns the existing or newly created output condition id for that value and id pair.
1412
1589
 
@@ -1418,6 +1595,7 @@ class ClientMethods(ABC):
1418
1595
  method=resolve_output_conditions_t.ENDPOINT_METHOD,
1419
1596
  endpoint=resolve_output_conditions_t.ENDPOINT_PATH,
1420
1597
  args=args,
1598
+ request_options=_request_options,
1421
1599
  )
1422
1600
  return self.do_request(api_request=api_request, return_type=resolve_output_conditions_t.Data)
1423
1601
 
@@ -1426,6 +1604,7 @@ class ClientMethods(ABC):
1426
1604
  *,
1427
1605
  trigger_ref_name: str,
1428
1606
  entity: entity_t.Entity | None = None,
1607
+ _request_options: client_config_t.RequestOptions | None = None,
1429
1608
  ) -> run_trigger_t.Data:
1430
1609
  """Runs a trigger. Requires admin access
1431
1610
 
@@ -1438,6 +1617,7 @@ class ClientMethods(ABC):
1438
1617
  method=run_trigger_t.ENDPOINT_METHOD,
1439
1618
  endpoint=run_trigger_t.ENDPOINT_PATH,
1440
1619
  args=args,
1620
+ request_options=_request_options,
1441
1621
  )
1442
1622
  return self.do_request(api_request=api_request, return_type=run_trigger_t.Data)
1443
1623
 
@@ -1449,6 +1629,7 @@ class ClientMethods(ABC):
1449
1629
  update_type: post_base_t.UpdateType,
1450
1630
  user_group_ids: list[int] | None = None,
1451
1631
  user_ids: list[int] | None = None,
1632
+ _request_options: client_config_t.RequestOptions | None = None,
1452
1633
  ) -> set_core_permissions_t.Data:
1453
1634
  """Sets recipe related permissions
1454
1635
 
@@ -1468,6 +1649,7 @@ class ClientMethods(ABC):
1468
1649
  method=set_core_permissions_t.ENDPOINT_METHOD,
1469
1650
  endpoint=set_core_permissions_t.ENDPOINT_PATH,
1470
1651
  args=args,
1652
+ request_options=_request_options,
1471
1653
  )
1472
1654
  return self.do_request(api_request=api_request, return_type=set_core_permissions_t.Data)
1473
1655
 
@@ -1476,6 +1658,7 @@ class ClientMethods(ABC):
1476
1658
  *,
1477
1659
  entity_identifier: entity_t.EntityIdentifier,
1478
1660
  field_values: list[field_values_t.FieldArgumentValue],
1661
+ _request_options: client_config_t.RequestOptions | None = None,
1479
1662
  ) -> set_entity_field_values_t.Data:
1480
1663
  """Sets field values for an entity
1481
1664
 
@@ -1490,6 +1673,7 @@ class ClientMethods(ABC):
1490
1673
  method=set_entity_field_values_t.ENDPOINT_METHOD,
1491
1674
  endpoint=set_entity_field_values_t.ENDPOINT_PATH,
1492
1675
  args=args,
1676
+ request_options=_request_options,
1493
1677
  )
1494
1678
  return self.do_request(api_request=api_request, return_type=set_entity_field_values_t.Data)
1495
1679
 
@@ -1497,6 +1681,7 @@ class ClientMethods(ABC):
1497
1681
  self,
1498
1682
  *,
1499
1683
  attribute_values: list[set_input_attribute_values_t.InputAttributeValue],
1684
+ _request_options: client_config_t.RequestOptions | None = None,
1500
1685
  ) -> set_input_attribute_values_t.Data:
1501
1686
  """Sets attribute values for an input
1502
1687
 
@@ -1509,6 +1694,7 @@ class ClientMethods(ABC):
1509
1694
  method=set_input_attribute_values_t.ENDPOINT_METHOD,
1510
1695
  endpoint=set_input_attribute_values_t.ENDPOINT_PATH,
1511
1696
  args=args,
1697
+ request_options=_request_options,
1512
1698
  )
1513
1699
  return self.do_request(api_request=api_request, return_type=set_input_attribute_values_t.Data)
1514
1700
 
@@ -1518,6 +1704,7 @@ class ClientMethods(ABC):
1518
1704
  input_key: identifier_t.IdentifierKey,
1519
1705
  category_id: int | None,
1520
1706
  material_family_ids: list[int] | None = None,
1707
+ _request_options: client_config_t.RequestOptions | None = None,
1521
1708
  ) -> set_input_category_t.Data:
1522
1709
  """Sets subcategories for an input
1523
1710
 
@@ -1534,6 +1721,7 @@ class ClientMethods(ABC):
1534
1721
  method=set_input_category_t.ENDPOINT_METHOD,
1535
1722
  endpoint=set_input_category_t.ENDPOINT_PATH,
1536
1723
  args=args,
1724
+ request_options=_request_options,
1537
1725
  )
1538
1726
  return self.do_request(api_request=api_request, return_type=set_input_category_t.Data)
1539
1727
 
@@ -1543,6 +1731,7 @@ class ClientMethods(ABC):
1543
1731
  input_key: identifier_t.IdentifierKey,
1544
1732
  subcategory_ids: list[int],
1545
1733
  update_type: post_base_t.UpdateType,
1734
+ _request_options: client_config_t.RequestOptions | None = None,
1546
1735
  ) -> set_input_subcategories_t.Data:
1547
1736
  """Sets subcategories for an input
1548
1737
 
@@ -1559,6 +1748,7 @@ class ClientMethods(ABC):
1559
1748
  method=set_input_subcategories_t.ENDPOINT_METHOD,
1560
1749
  endpoint=set_input_subcategories_t.ENDPOINT_PATH,
1561
1750
  args=args,
1751
+ request_options=_request_options,
1562
1752
  )
1563
1753
  return self.do_request(api_request=api_request, return_type=set_input_subcategories_t.Data)
1564
1754
 
@@ -1567,6 +1757,7 @@ class ClientMethods(ABC):
1567
1757
  *,
1568
1758
  input_key: identifier_t.IdentifierKey,
1569
1759
  intermediate_type: set_intermediate_type_t.IntermediateType,
1760
+ _request_options: client_config_t.RequestOptions | None = None,
1570
1761
  ) -> set_intermediate_type_t.Data:
1571
1762
  """Sets the type of an intermediate ingredient.
1572
1763
 
@@ -1581,6 +1772,7 @@ class ClientMethods(ABC):
1581
1772
  method=set_intermediate_type_t.ENDPOINT_METHOD,
1582
1773
  endpoint=set_intermediate_type_t.ENDPOINT_PATH,
1583
1774
  args=args,
1775
+ request_options=_request_options,
1584
1776
  )
1585
1777
  return self.do_request(api_request=api_request, return_type=set_intermediate_type_t.Data)
1586
1778
 
@@ -1588,6 +1780,7 @@ class ClientMethods(ABC):
1588
1780
  self,
1589
1781
  *,
1590
1782
  input_data: list[set_recipe_inputs_t.RecipeInputValue],
1783
+ _request_options: client_config_t.RequestOptions | None = None,
1591
1784
  ) -> set_recipe_inputs_t.Data:
1592
1785
  """Sets inputs values for an experiment. Values set can be numeric, text or categorical types in the Uncountable system
1593
1786
 
@@ -1600,6 +1793,7 @@ class ClientMethods(ABC):
1600
1793
  method=set_recipe_inputs_t.ENDPOINT_METHOD,
1601
1794
  endpoint=set_recipe_inputs_t.ENDPOINT_PATH,
1602
1795
  args=args,
1796
+ request_options=_request_options,
1603
1797
  )
1604
1798
  return self.do_request(api_request=api_request, return_type=set_recipe_inputs_t.Data)
1605
1799
 
@@ -1608,6 +1802,7 @@ class ClientMethods(ABC):
1608
1802
  *,
1609
1803
  recipe_key: identifier_t.IdentifierKey,
1610
1804
  recipe_metadata: list[recipe_metadata_t.MetadataValue],
1805
+ _request_options: client_config_t.RequestOptions | None = None,
1611
1806
  ) -> set_recipe_metadata_t.Data:
1612
1807
  """Set metadata values on a recipe
1613
1808
 
@@ -1622,6 +1817,7 @@ class ClientMethods(ABC):
1622
1817
  method=set_recipe_metadata_t.ENDPOINT_METHOD,
1623
1818
  endpoint=set_recipe_metadata_t.ENDPOINT_PATH,
1624
1819
  args=args,
1820
+ request_options=_request_options,
1625
1821
  )
1626
1822
  return self.do_request(api_request=api_request, return_type=set_recipe_metadata_t.Data)
1627
1823
 
@@ -1629,6 +1825,7 @@ class ClientMethods(ABC):
1629
1825
  self,
1630
1826
  *,
1631
1827
  updates: list[set_recipe_output_annotations_t.RecipeOutputUpdateAnnotations],
1828
+ _request_options: client_config_t.RequestOptions | None = None,
1632
1829
  ) -> set_recipe_output_annotations_t.Data:
1633
1830
  """Update annotations for an experiments outputs
1634
1831
 
@@ -1641,6 +1838,7 @@ class ClientMethods(ABC):
1641
1838
  method=set_recipe_output_annotations_t.ENDPOINT_METHOD,
1642
1839
  endpoint=set_recipe_output_annotations_t.ENDPOINT_PATH,
1643
1840
  args=args,
1841
+ request_options=_request_options,
1644
1842
  )
1645
1843
  return self.do_request(api_request=api_request, return_type=set_recipe_output_annotations_t.Data)
1646
1844
 
@@ -1648,6 +1846,7 @@ class ClientMethods(ABC):
1648
1846
  self,
1649
1847
  *,
1650
1848
  output_file_data: set_recipe_output_file_t.RecipeOutputFileValue,
1849
+ _request_options: client_config_t.RequestOptions | None = None,
1651
1850
  ) -> set_recipe_output_file_t.Data:
1652
1851
  """Sets output file value for an experiment. Include a single file as part of the FormData of the request with the filename as the key
1653
1852
 
@@ -1660,6 +1859,7 @@ class ClientMethods(ABC):
1660
1859
  method=set_recipe_output_file_t.ENDPOINT_METHOD,
1661
1860
  endpoint=set_recipe_output_file_t.ENDPOINT_PATH,
1662
1861
  args=args,
1862
+ request_options=_request_options,
1663
1863
  )
1664
1864
  return self.do_request(api_request=api_request, return_type=set_recipe_output_file_t.Data)
1665
1865
 
@@ -1667,6 +1867,7 @@ class ClientMethods(ABC):
1667
1867
  self,
1668
1868
  *,
1669
1869
  output_data: list[set_recipe_outputs_t.RecipeOutputValue],
1870
+ _request_options: client_config_t.RequestOptions | None = None,
1670
1871
  ) -> set_recipe_outputs_t.Data:
1671
1872
  """Sets output values for an experiment. Values set can be numeric, text or categorical types in the Uncountable system
1672
1873
 
@@ -1679,6 +1880,7 @@ class ClientMethods(ABC):
1679
1880
  method=set_recipe_outputs_t.ENDPOINT_METHOD,
1680
1881
  endpoint=set_recipe_outputs_t.ENDPOINT_PATH,
1681
1882
  args=args,
1883
+ request_options=_request_options,
1682
1884
  )
1683
1885
  return self.do_request(api_request=api_request, return_type=set_recipe_outputs_t.Data)
1684
1886
 
@@ -1687,6 +1889,7 @@ class ClientMethods(ABC):
1687
1889
  *,
1688
1890
  recipe_key: identifier_t.IdentifierKey,
1689
1891
  recipe_tag_update: set_recipe_tags_t.RecipeTagUpdate,
1892
+ _request_options: client_config_t.RequestOptions | None = None,
1690
1893
  ) -> set_recipe_tags_t.Data:
1691
1894
  """Modifies recipes tags for a recipe
1692
1895
 
@@ -1701,6 +1904,7 @@ class ClientMethods(ABC):
1701
1904
  method=set_recipe_tags_t.ENDPOINT_METHOD,
1702
1905
  endpoint=set_recipe_tags_t.ENDPOINT_PATH,
1703
1906
  args=args,
1907
+ request_options=_request_options,
1704
1908
  )
1705
1909
  return self.do_request(api_request=api_request, return_type=set_recipe_tags_t.Data)
1706
1910
 
@@ -1711,6 +1915,7 @@ class ClientMethods(ABC):
1711
1915
  value: set_recipe_total_t.ValueNumeric,
1712
1916
  recipe_workflow_step_identifier: recipe_workflow_steps_t.RecipeWorkflowStepIdentifier | None = None,
1713
1917
  calculation_key: identifier_t.IdentifierKey | None = None,
1918
+ _request_options: client_config_t.RequestOptions | None = None,
1714
1919
  ) -> set_recipe_total_t.Data:
1715
1920
  """Updates the Set Total value for a recipe or one of its workflow steps
1716
1921
 
@@ -1729,6 +1934,7 @@ class ClientMethods(ABC):
1729
1934
  method=set_recipe_total_t.ENDPOINT_METHOD,
1730
1935
  endpoint=set_recipe_total_t.ENDPOINT_PATH,
1731
1936
  args=args,
1937
+ request_options=_request_options,
1732
1938
  )
1733
1939
  return self.do_request(api_request=api_request, return_type=set_recipe_total_t.Data)
1734
1940
 
@@ -1737,6 +1943,7 @@ class ClientMethods(ABC):
1737
1943
  *,
1738
1944
  entity: entity_t.Entity,
1739
1945
  values: list[field_values_t.ArgumentValueRefName],
1946
+ _request_options: client_config_t.RequestOptions | None = None,
1740
1947
  ) -> set_values_t.Data:
1741
1948
  """Sets field values for an entity
1742
1949
 
@@ -1749,6 +1956,7 @@ class ClientMethods(ABC):
1749
1956
  method=set_values_t.ENDPOINT_METHOD,
1750
1957
  endpoint=set_values_t.ENDPOINT_PATH,
1751
1958
  args=args,
1959
+ request_options=_request_options,
1752
1960
  )
1753
1961
  return self.do_request(api_request=api_request, return_type=set_values_t.Data)
1754
1962
 
@@ -1757,6 +1965,7 @@ class ClientMethods(ABC):
1757
1965
  *,
1758
1966
  entity: entity_t.Entity,
1759
1967
  transition: transition_entity_phase_t.TransitionIdentifier,
1968
+ _request_options: client_config_t.RequestOptions | None = None,
1760
1969
  ) -> transition_entity_phase_t.Data:
1761
1970
  """Transitions an entity from one phase to another
1762
1971
 
@@ -1769,6 +1978,7 @@ class ClientMethods(ABC):
1769
1978
  method=transition_entity_phase_t.ENDPOINT_METHOD,
1770
1979
  endpoint=transition_entity_phase_t.ENDPOINT_PATH,
1771
1980
  args=args,
1981
+ request_options=_request_options,
1772
1982
  )
1773
1983
  return self.do_request(api_request=api_request, return_type=transition_entity_phase_t.Data)
1774
1984
 
@@ -1776,6 +1986,7 @@ class ClientMethods(ABC):
1776
1986
  self,
1777
1987
  *,
1778
1988
  recipes: list[identifier_t.IdentifierKey],
1989
+ _request_options: client_config_t.RequestOptions | None = None,
1779
1990
  ) -> unarchive_recipes_t.Data:
1780
1991
  """Unarchive/restore the provided recipes
1781
1992
 
@@ -1788,6 +1999,7 @@ class ClientMethods(ABC):
1788
1999
  method=unarchive_recipes_t.ENDPOINT_METHOD,
1789
2000
  endpoint=unarchive_recipes_t.ENDPOINT_PATH,
1790
2001
  args=args,
2002
+ request_options=_request_options,
1791
2003
  )
1792
2004
  return self.do_request(api_request=api_request, return_type=unarchive_recipes_t.Data)
1793
2005
 
@@ -1796,6 +2008,7 @@ class ClientMethods(ABC):
1796
2008
  *,
1797
2009
  entity_key: identifier_t.IdentifierKey,
1798
2010
  entity_type: entity_t.EntityType,
2011
+ _request_options: client_config_t.RequestOptions | None = None,
1799
2012
  ) -> unlock_entity_t.Data:
1800
2013
  """Unlock an entity
1801
2014
 
@@ -1809,6 +2022,7 @@ class ClientMethods(ABC):
1809
2022
  method=unlock_entity_t.ENDPOINT_METHOD,
1810
2023
  endpoint=unlock_entity_t.ENDPOINT_PATH,
1811
2024
  args=args,
2025
+ request_options=_request_options,
1812
2026
  )
1813
2027
  return self.do_request(api_request=api_request, return_type=unlock_entity_t.Data)
1814
2028
 
@@ -1818,6 +2032,7 @@ class ClientMethods(ABC):
1818
2032
  type: unlock_recipes_t.RecipeUnlockType = unlock_recipes_t.RecipeUnlockType.STANDARD,
1819
2033
  recipes: list[identifier_t.IdentifierKey],
1820
2034
  unlock_samples: bool | None = None,
2035
+ _request_options: client_config_t.RequestOptions | None = None,
1821
2036
  ) -> unlock_recipes_t.Data:
1822
2037
  """Unlock experiments. Experiments will edtiable after unlocking if they are currently locked.
1823
2038
 
@@ -1834,6 +2049,7 @@ class ClientMethods(ABC):
1834
2049
  method=unlock_recipes_t.ENDPOINT_METHOD,
1835
2050
  endpoint=unlock_recipes_t.ENDPOINT_PATH,
1836
2051
  args=args,
2052
+ request_options=_request_options,
1837
2053
  )
1838
2054
  return self.do_request(api_request=api_request, return_type=unlock_recipes_t.Data)
1839
2055
 
@@ -1844,6 +2060,7 @@ class ClientMethods(ABC):
1844
2060
  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],
1845
2061
  material_family_ids: list[base_t.ObjectId],
1846
2062
  update_type: post_base_t.UpdateType,
2063
+ _request_options: client_config_t.RequestOptions | None = None,
1847
2064
  ) -> update_entity_material_families_t.Data:
1848
2065
  """Updates the material families that the entity is available in
1849
2066
 
@@ -1862,6 +2079,7 @@ class ClientMethods(ABC):
1862
2079
  method=update_entity_material_families_t.ENDPOINT_METHOD,
1863
2080
  endpoint=update_entity_material_families_t.ENDPOINT_PATH,
1864
2081
  args=args,
2082
+ request_options=_request_options,
1865
2083
  )
1866
2084
  return self.do_request(api_request=api_request, return_type=update_entity_material_families_t.Data)
1867
2085
 
@@ -1873,6 +2091,7 @@ class ClientMethods(ABC):
1873
2091
  condition_parameters: list[upsert_condition_match_t.ConditionParameter] | None = None,
1874
2092
  output_conditions: list[identifier_t.IdentifierKey] | None = None,
1875
2093
  existing_condition_match: identifier_t.IdentifierKey | None = None,
2094
+ _request_options: client_config_t.RequestOptions | None = None,
1876
2095
  ) -> upsert_condition_match_t.Data:
1877
2096
  """Creates or updates condition match
1878
2097
 
@@ -1888,6 +2107,7 @@ class ClientMethods(ABC):
1888
2107
  method=upsert_condition_match_t.ENDPOINT_METHOD,
1889
2108
  endpoint=upsert_condition_match_t.ENDPOINT_PATH,
1890
2109
  args=args,
2110
+ request_options=_request_options,
1891
2111
  )
1892
2112
  return self.do_request(api_request=api_request, return_type=upsert_condition_match_t.Data)
1893
2113
 
@@ -1896,6 +2116,7 @@ class ClientMethods(ABC):
1896
2116
  *,
1897
2117
  option_set_key: identifier_t.IdentifierKey,
1898
2118
  field_options: list[upsert_field_options_t.FieldOption],
2119
+ _request_options: client_config_t.RequestOptions | None = None,
1899
2120
  ) -> upsert_field_options_t.Data:
1900
2121
  """Creates or updates field options for an option set
1901
2122
 
@@ -1910,5 +2131,6 @@ class ClientMethods(ABC):
1910
2131
  method=upsert_field_options_t.ENDPOINT_METHOD,
1911
2132
  endpoint=upsert_field_options_t.ENDPOINT_PATH,
1912
2133
  args=args,
2134
+ request_options=_request_options,
1913
2135
  )
1914
2136
  return self.do_request(api_request=api_request, return_type=upsert_field_options_t.Data)