benchling-sdk 1.17.0a0__py3-none-any.whl → 1.18.0__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.
Files changed (27) hide show
  1. benchling_sdk/benchling.py +50 -0
  2. benchling_sdk/errors.py +2 -1
  3. benchling_sdk/models/__init__.py +159 -3
  4. benchling_sdk/models/webhooks/v0/__init__.py +27 -37
  5. benchling_sdk/services/v2/alpha/v2_alpha_assembly_service.py +62 -0
  6. benchling_sdk/services/v2/beta/v2_beta_analysis_service.py +46 -0
  7. benchling_sdk/services/v2/beta/v2_beta_app_definition_service.py +45 -0
  8. benchling_sdk/services/v2/beta/v2_beta_app_service.py +1 -1
  9. benchling_sdk/services/v2/beta/v2_beta_audit_service.py +41 -0
  10. benchling_sdk/services/v2/beta/v2_beta_entry_service.py +13 -8
  11. benchling_sdk/services/v2/stable/aa_sequence_service.py +63 -6
  12. benchling_sdk/services/v2/stable/codon_usage_table_service.py +73 -0
  13. benchling_sdk/services/v2/stable/dna_sequence_service.py +12 -0
  14. benchling_sdk/services/v2/stable/enzyme_service.py +72 -0
  15. benchling_sdk/services/v2/stable/instrument_query_service.py +28 -0
  16. benchling_sdk/services/v2/stable/monomer_service.py +144 -0
  17. benchling_sdk/services/v2/stable/organization_service.py +104 -2
  18. benchling_sdk/services/v2/stable/team_service.py +120 -2
  19. benchling_sdk/services/v2/v2_alpha_service.py +15 -0
  20. benchling_sdk/services/v2/v2_beta_service.py +43 -1
  21. benchling_sdk/services/v2/v2_stable_service.py +58 -0
  22. {benchling_sdk-1.17.0a0.dist-info → benchling_sdk-1.18.0.dist-info}/METADATA +3 -3
  23. {benchling_sdk-1.17.0a0.dist-info → benchling_sdk-1.18.0.dist-info}/RECORD +25 -19
  24. benchling_sdk/apps/config/helpers.py +0 -157
  25. benchling_sdk/apps/config/mock_config.py +0 -635
  26. {benchling_sdk-1.17.0a0.dist-info → benchling_sdk-1.18.0.dist-info}/LICENSE +0 -0
  27. {benchling_sdk-1.17.0a0.dist-info → benchling_sdk-1.18.0.dist-info}/WHEEL +0 -0
@@ -16,6 +16,7 @@ if TYPE_CHECKING:
16
16
  from benchling_sdk.services.v2.stable.assay_run_service import AssayRunService
17
17
  from benchling_sdk.services.v2.stable.blob_service import BlobService
18
18
  from benchling_sdk.services.v2.stable.box_service import BoxService
19
+ from benchling_sdk.services.v2.stable.codon_usage_table_service import CodonUsageTableService
19
20
  from benchling_sdk.services.v2.stable.container_service import ContainerService
20
21
  from benchling_sdk.services.v2.stable.custom_entity_service import CustomEntityService
21
22
  from benchling_sdk.services.v2.stable.custom_notation_service import CustomNotationService
@@ -25,16 +26,19 @@ if TYPE_CHECKING:
25
26
  from benchling_sdk.services.v2.stable.dropdown_service import DropdownService
26
27
  from benchling_sdk.services.v2.stable.entity_service import EntityService
27
28
  from benchling_sdk.services.v2.stable.entry_service import EntryService
29
+ from benchling_sdk.services.v2.stable.enzyme_service import EnzymeService
28
30
  from benchling_sdk.services.v2.stable.event_service import EventService
29
31
  from benchling_sdk.services.v2.stable.export_service import ExportService
30
32
  from benchling_sdk.services.v2.stable.feature_library_service import FeatureLibraryService
31
33
  from benchling_sdk.services.v2.stable.folder_service import FolderService
34
+ from benchling_sdk.services.v2.stable.instrument_query_service import InstrumentQueryService
32
35
  from benchling_sdk.services.v2.stable.inventory_service import InventoryService
33
36
  from benchling_sdk.services.v2.stable.lab_automation_service import LabAutomationService
34
37
  from benchling_sdk.services.v2.stable.label_template_service import LabelTemplateService
35
38
  from benchling_sdk.services.v2.stable.location_service import LocationService
36
39
  from benchling_sdk.services.v2.stable.mixture_service import MixtureService
37
40
  from benchling_sdk.services.v2.stable.molecule_service import MoleculeService
41
+ from benchling_sdk.services.v2.stable.monomer_service import MonomerService
38
42
  from benchling_sdk.services.v2.stable.nucleotide_alignments_service import NucleotideAlignmentsService
39
43
  from benchling_sdk.services.v2.stable.oligo_service import OligoService
40
44
  from benchling_sdk.services.v2.stable.organization_service import OrganizationService
@@ -179,6 +183,20 @@ class V2StableService(BaseService):
179
183
 
180
184
  return self._create_service(BoxService)
181
185
 
186
+ @cached_property
187
+ def codon_usage_tables(self) -> CodonUsageTableService:
188
+ """
189
+ Codon Usage Tables.
190
+
191
+ Benchling curates codon usage data for a variety of organisms to support operations such as Codon
192
+ Optimization and Back Translation.
193
+
194
+ See https://benchling.com/api/reference#/Codon%20Usage%20Tables
195
+ """
196
+ from .stable.codon_usage_table_service import CodonUsageTableService
197
+
198
+ return self._create_service(CodonUsageTableService)
199
+
182
200
  @cached_property
183
201
  def containers(self) -> ContainerService:
184
202
  """
@@ -323,6 +341,19 @@ class V2StableService(BaseService):
323
341
 
324
342
  return self._create_service(EntryService)
325
343
 
344
+ @cached_property
345
+ def enzymes(self) -> EnzymeService:
346
+ """
347
+ Enzymes.
348
+
349
+ Restriction enzymes are curated by Benchling for operations such as Digests and Codon Optimization.
350
+
351
+ See https://benchling.com/api/reference#/Enzymes
352
+ """
353
+ from .stable.enzyme_service import EnzymeService
354
+
355
+ return self._create_service(EnzymeService)
356
+
326
357
  @cached_property
327
358
  def events(self) -> EventService:
328
359
  """
@@ -377,6 +408,19 @@ class V2StableService(BaseService):
377
408
 
378
409
  return self._create_service(FolderService)
379
410
 
411
+ @cached_property
412
+ def instrument_queries(self) -> InstrumentQueryService:
413
+ """
414
+ Instrument Queries.
415
+
416
+ Instrument Queries are used to query the instrument service.
417
+
418
+ See https://benchling.com/api/reference#/Instrument%20Queries
419
+ """
420
+ from .stable.instrument_query_service import InstrumentQueryService
421
+
422
+ return self._create_service(InstrumentQueryService)
423
+
380
424
  @cached_property
381
425
  def inventory(self) -> InventoryService:
382
426
  """
@@ -444,6 +488,20 @@ class V2StableService(BaseService):
444
488
 
445
489
  return self._create_service(MixtureService)
446
490
 
491
+ @cached_property
492
+ def monomers(self) -> MonomerService:
493
+ """
494
+ Monomers.
495
+
496
+ Monomers are chemical building blocks with specified structures used to compose modified
497
+ nucleotides. Note that monomer write endpoints require tenant admin permissions.
498
+
499
+ See https://benchling.com/api/reference#/Monomers
500
+ """
501
+ from .stable.monomer_service import MonomerService
502
+
503
+ return self._create_service(MonomerService)
504
+
447
505
  @cached_property
448
506
  def molecules(self) -> MoleculeService:
449
507
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: benchling-sdk
3
- Version: 1.17.0a0
3
+ Version: 1.18.0
4
4
  Summary: SDK for interacting with the Benchling Platform.
5
5
  License: Apache-2.0
6
6
  Author: Benchling Support
@@ -15,9 +15,9 @@ Classifier: Programming Language :: Python :: 3.11
15
15
  Provides-Extra: cryptography
16
16
  Provides-Extra: python-jose
17
17
  Requires-Dist: PyYAML (>=6.0,<7.0)
18
- Requires-Dist: attrs (>=20.1.0,<24)
18
+ Requires-Dist: attrs (>=20.1.0)
19
19
  Requires-Dist: backoff (>=1.10.0,<3)
20
- Requires-Dist: benchling-api-client (==2.0.313)
20
+ Requires-Dist: benchling-api-client (==2.0.336)
21
21
  Requires-Dist: certifi (>=2022.12.7)
22
22
  Requires-Dist: cryptography (>=42.0.0) ; extra == "cryptography"
23
23
  Requires-Dist: dataclasses-json (>=0.5.2,<0.6.0)
@@ -10,8 +10,6 @@ benchling_sdk/apps/config/cryptography_helpers.py,sha256=VCzgQURLAitYjcjdwFzMPSK
10
10
  benchling_sdk/apps/config/decryption_provider.py,sha256=-HgjkBto8mYlooV0LXFenfaiP7PDhHRnKEHkK1P6gh4,2184
11
11
  benchling_sdk/apps/config/errors.py,sha256=-qkfLdcUTuuRD-V4L2l7nzQWnWTRuifDtkNDv8tfHoo,800
12
12
  benchling_sdk/apps/config/framework.py,sha256=a2cIkPugEVUfBNtHm2cbE3Qu326xb-SpMuM0Gi6U-3Q,13337
13
- benchling_sdk/apps/config/helpers.py,sha256=LTLDR0GCDoo_8Sx4kepQnMmgVEQT7MHfKAxIoAvV9TM,7077
14
- benchling_sdk/apps/config/mock_config.py,sha256=EPUCxWiUSsWxWilnHAJIq-_f1q6ckZkXoIFv1S25hnM,26967
15
13
  benchling_sdk/apps/config/types.py,sha256=XKfSGv-75CU-j1XwfXBGq8zbtnkF-PQnuY6Z2U47-Tg,953
16
14
  benchling_sdk/apps/framework.py,sha256=G15mv20FH7FLHJrnXMPcuFdUsP3Va-grvb5A4eq0Qlk,3175
17
15
  benchling_sdk/apps/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -27,10 +25,10 @@ benchling_sdk/auth/__init__.py,sha256=N4pJYVUnTLzg5HO9ZldHaI-Am97i6AOCdQS0M5QcVp
27
25
  benchling_sdk/auth/api_key_auth.py,sha256=Ui-cnvGMjcwVPV_b2GdBaoTjEyHJIu9CjtZScVBEUvU,641
28
26
  benchling_sdk/auth/bearer_token_auth.py,sha256=nymI8V91evcnK-TWKkBXZwck8U1qSh4WaseyQbvF-Cg,1268
29
27
  benchling_sdk/auth/client_credentials_oauth2.py,sha256=auHj8FAJxUrDf1HJp9wfmcC_pJ-3rj4tdQbsUIvSUQs,5801
30
- benchling_sdk/benchling.py,sha256=jhOPq0CTZOOoWA_BWioR-kuoLxcozSYrY1fR7mqT1Ck,27400
28
+ benchling_sdk/benchling.py,sha256=b6LGyX5j_Itp4WPJnaDCqgUcqtUrC1yWXs2rF1BlFys,29154
31
29
  benchling_sdk/docs/__init__.py,sha256=ySHo76PzLndmXOVWrF80VjB5Pi48G82CCQNdzUEzbCY,38
32
30
  benchling_sdk/docs/__main__.py,sha256=1ZlGXdn2gHGC0fAuan5i54mh35VkDf5mhY9VeKNyCRA,244
33
- benchling_sdk/errors.py,sha256=9JCjkY7wQ-K-_GStgYZrSns35FNExZSx-t5Xdlh-U0I,8239
31
+ benchling_sdk/errors.py,sha256=Vv3y7FcoLSqrO7ydKDeGbii4WuWUjjaTmJsNjeJmX-A,8263
34
32
  benchling_sdk/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
33
  benchling_sdk/helpers/client_helpers.py,sha256=o8pEyZlBq0eX2bhzRY7IwmGy2wIsI-L20YxSEL5q9m8,833
36
34
  benchling_sdk/helpers/constants.py,sha256=dIJ83Qa4grP0n1NixmGNXsh-lK2VG-ioPpBd_AYBmlw,1094
@@ -43,53 +41,61 @@ benchling_sdk/helpers/response_helpers.py,sha256=vtmb9lEEKy3dRFre3Q0R4XaLBEaS_rr
43
41
  benchling_sdk/helpers/retry_helpers.py,sha256=Sd7F8HMGPs31svYW-1z-SujbWUBn3qlZUk52hZ5G7xw,2814
44
42
  benchling_sdk/helpers/serialization_helpers.py,sha256=IUS0uGU_EiZvb8O-bTViUaROmxKcvdX3JeR9iKsWAG8,3662
45
43
  benchling_sdk/helpers/transaction_manager.py,sha256=HcSDsgGK7Rb93bgv6fpb4HvQUT-tqP0lXgVa_bWCDh4,3663
46
- benchling_sdk/models/__init__.py,sha256=k-e3q2PmdRKW6zgatgdwAq2UsUZ1r-2e37ZH9OmCKZc,361448
44
+ benchling_sdk/models/__init__.py,sha256=4m3QBFbghDfeU3hAf3h-DELjhcH1MUtvc0kJyGRG-q0,372428
47
45
  benchling_sdk/models/webhooks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
- benchling_sdk/models/webhooks/v0/__init__.py,sha256=tZOza_-DC-yG-MzePP-k88ksz-PpbOcsZW5chNpCYQs,49581
46
+ benchling_sdk/models/webhooks/v0/__init__.py,sha256=1wFW1YYOZ0ebYIcb_Tv72lnUFfVAYyJy4qCf1qZ8wAY,49147
49
47
  benchling_sdk/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
50
48
  benchling_sdk/services/__init__.py,sha256=K7N-sxMKhIsFroLe_tJIRcKJJuoShTCxiD_bfUz9958,85
51
49
  benchling_sdk/services/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
50
  benchling_sdk/services/v2/alpha/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
51
  benchling_sdk/services/v2/alpha/v2_alpha_app_service.py,sha256=cR3nk6oxV2B-ewcUooQ4iqMZJQaj_wvwGyON2eL08Hc,1443
52
+ benchling_sdk/services/v2/alpha/v2_alpha_assembly_service.py,sha256=2qtaeiODSiAtZ9AhGKZ3JFmzrKy4p52SL86JjxZQwjU,2518
54
53
  benchling_sdk/services/v2/base_service.py,sha256=BoplYqaZCk_p9LAJ_U1doEdDD4HmvT9UPfGKeXW53dY,1254
55
54
  benchling_sdk/services/v2/beta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- benchling_sdk/services/v2/beta/v2_beta_app_service.py,sha256=nVOEQ3ESkUo2e4p_MYMq-VUpEx2wNpJIY7ZZ8UuHnuQ,1385
55
+ benchling_sdk/services/v2/beta/v2_beta_analysis_service.py,sha256=TAvq1rcRFecL4YfJPYfk_b3B0bAkWujY5EbN53DmeUM,1664
56
+ benchling_sdk/services/v2/beta/v2_beta_app_definition_service.py,sha256=hL08s7YDrrXfA2CuXYonMC4UQT_ibF2IFl5ELDa4Qck,1788
57
+ benchling_sdk/services/v2/beta/v2_beta_app_service.py,sha256=9al78xzvxuzh39uPy6_HWRwBVwt2EIF8KXRNVI7rwng,1361
58
+ benchling_sdk/services/v2/beta/v2_beta_audit_service.py,sha256=LSCpl6xbl0XLh9oAsaHHXiJCNC7KWE3vgFcVnAnOha8,1815
57
59
  benchling_sdk/services/v2/beta/v2_beta_collaboration_service.py,sha256=epLHLdDRfj8ni2-45WWFSpOgQG-kTmbxTffRP1mnim0,5753
58
60
  benchling_sdk/services/v2/beta/v2_beta_data_frame_service.py,sha256=oqCVyYBK7YECXYIDWJ5VIaiAO-W7GXC7xd0Wy1swTmU,14853
59
- benchling_sdk/services/v2/beta/v2_beta_entry_service.py,sha256=XP00N8NGuAMpJMkeiSTqDR-LFRvwRMVzFHIzQJvOfbA,1053
61
+ benchling_sdk/services/v2/beta/v2_beta_entry_service.py,sha256=lShn7mFVCf4z7alCSfqAPfEvuzgUZtUdtSZQgJEuki4,1339
60
62
  benchling_sdk/services/v2/beta/v2_beta_folder_service.py,sha256=b6-D_eDTF1e2l2YLhr4qkKtLXtH_BUVCcHhaB_CBNAM,4959
61
63
  benchling_sdk/services/v2/beta/v2_beta_project_service.py,sha256=8Wk0u6dtiewytfuJ2RaybMOfqih7YF74cJF_wsetJpM,4926
62
64
  benchling_sdk/services/v2/beta/v2_beta_worklist_service.py,sha256=tFMe-7Wbw3qISe-T5EsnYVsmcd1P8Aw1NoWmNA5MroU,5544
63
65
  benchling_sdk/services/v2/stable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- benchling_sdk/services/v2/stable/aa_sequence_service.py,sha256=75l2QsE6WZ5EJvSDmImZhGi-kc6TPYCFnVpojOKpB1c,13492
66
+ benchling_sdk/services/v2/stable/aa_sequence_service.py,sha256=RRfBRkT2ndSO7dTan-5wLzERwoH6h2hkppaSEcJJp5I,15702
65
67
  benchling_sdk/services/v2/stable/api_service.py,sha256=e0RNp4Jne9UTaHOYMOxxXJpsyUO3WMSFPzN7hB8iliU,12371
66
68
  benchling_sdk/services/v2/stable/app_service.py,sha256=dy9FMVvMiJrkYbxZswKuB37EB9K_jCqQr9FfAa0BMgE,23126
67
69
  benchling_sdk/services/v2/stable/assay_result_service.py,sha256=_qtSpMznVrGHlB2VnHI87IPjVQHCX1pZbLPJ_LYuW7U,13362
68
70
  benchling_sdk/services/v2/stable/assay_run_service.py,sha256=tLpG1pAztEoaDatqlgYlRZ_LgwDly1_UeWt4G4UXvd4,9023
69
71
  benchling_sdk/services/v2/stable/blob_service.py,sha256=KwchH3FGzPLfZx85GEG3voQp_ZxyVL_dds_9awRWa0Q,17115
70
72
  benchling_sdk/services/v2/stable/box_service.py,sha256=M40smqG-jQlioyRfLBu9Cr9aQmdh06crsYbH1fiZ0BM,12359
73
+ benchling_sdk/services/v2/stable/codon_usage_table_service.py,sha256=NdKSOdmVLeqQ5sa8c63VCWfzzRVGsL0krL1JROB8xSg,2820
71
74
  benchling_sdk/services/v2/stable/container_service.py,sha256=8g3gwcI5fSuSbEQCtrksAiqcksky9lHXxyoyf0lbAR0,18639
72
75
  benchling_sdk/services/v2/stable/custom_entity_service.py,sha256=LOATrTh7Vv6dXWlUqyH8Eet3bwBm0BNoVbCZYiqWu80,12188
73
76
  benchling_sdk/services/v2/stable/custom_notation_service.py,sha256=LCnt8hoCkkSRbz-bXUaYbuMaE-1XdYmXB0MgeQ30POc,2141
74
77
  benchling_sdk/services/v2/stable/dna_alignments_service.py,sha256=leJaPt7Uk1PyxfO9LXTVi2DjLyqcXgeMselftJaGJA4,7445
75
78
  benchling_sdk/services/v2/stable/dna_oligo_service.py,sha256=0D3X98UxWWolkCG_IxiPE3oiFMwyqC7vJlJCyEbNDt4,11128
76
- benchling_sdk/services/v2/stable/dna_sequence_service.py,sha256=8s4Lgitf4k-Ma0XuXhvG-68A1v4YXZzvtqt9VgukOUQ,16310
79
+ benchling_sdk/services/v2/stable/dna_sequence_service.py,sha256=bH6Efmr1_bT6MNVpsBC8oNZOifLBi7_x-WVW8laDoDw,16743
77
80
  benchling_sdk/services/v2/stable/dropdown_service.py,sha256=AcnATXU_TChhSm9NX8dx9wnbxeBwACzThw5zM3yPYmk,4919
78
81
  benchling_sdk/services/v2/stable/entity_service.py,sha256=NGDjng4rwiL6EeDCEs5oy9ciKV6CPv71S1l7A8zM0Uk,2190
79
82
  benchling_sdk/services/v2/stable/entry_service.py,sha256=7HypcoX0vWDi5hFMtqFO6RpKc6IclO3HMQaWdvKNXyQ,13706
83
+ benchling_sdk/services/v2/stable/enzyme_service.py,sha256=f6CwpvjBDqgVLmAPuXjTAPcej_BuE8isZh7JqdPhI0E,2597
80
84
  benchling_sdk/services/v2/stable/event_service.py,sha256=--j-oqKR-Ld5d4QiJ6aofOr9LTBCM7maqwRvo2goSPA,2538
81
85
  benchling_sdk/services/v2/stable/export_service.py,sha256=T8ir9yRyA8rMUXagLAWYR4cYtOzxt6JxjlnQwExk_HU,1080
82
86
  benchling_sdk/services/v2/stable/feature_library_service.py,sha256=h3vdttbJzWWG-297FedtmDXSFEUP0KVGU5Y2D_VW-KA,9767
83
87
  benchling_sdk/services/v2/stable/folder_service.py,sha256=dgibCL02gFOJrIr5G6QUiKQoSy284RcDKk-vcOXus_I,5219
88
+ benchling_sdk/services/v2/stable/instrument_query_service.py,sha256=wk_mtpY3uOPVY1nP3XtLNwAER-1aWQqqiBB2bABbk68,961
84
89
  benchling_sdk/services/v2/stable/inventory_service.py,sha256=kHcRrR1Zp92XwpAN5iFdWbrTjEhPnhaHS8iSRYY3X4s,1761
85
90
  benchling_sdk/services/v2/stable/lab_automation_service.py,sha256=vfKLrH6eZn9v2uDYKaLroBeAcu_F6OjOuJIBm2L6-No,9869
86
91
  benchling_sdk/services/v2/stable/label_template_service.py,sha256=VS25LUpUsJnkU_AFTTKjwMruVgE5-izLoc-_wrqr4Pk,1300
87
92
  benchling_sdk/services/v2/stable/location_service.py,sha256=4RVFEBRQZnNOm2AXdJcBYHVVPEtDsvihlKskbtez_d0,8026
88
93
  benchling_sdk/services/v2/stable/mixture_service.py,sha256=nNwh67Or1BQYZxcatcg-OEEw82Jr6UnxsYVRB9Y18GY,9952
89
94
  benchling_sdk/services/v2/stable/molecule_service.py,sha256=7BiurkHuS1ufMeZdRQ7UDb9Z7iTpcVeUIs2i9afHIdQ,10530
95
+ benchling_sdk/services/v2/stable/monomer_service.py,sha256=-52xKiNHYYX_XE5yaC4t8ZGsUkg7j-TdZqAvqd5TnYA,4354
90
96
  benchling_sdk/services/v2/stable/nucleotide_alignments_service.py,sha256=ab52E-PVeBF693QA8R8OxwtsppyDiehvrkveNPIhjTI,6100
91
97
  benchling_sdk/services/v2/stable/oligo_service.py,sha256=0cmQIpsijY-X2-6Bd33NVk5JRdS0OSoLjgTrZHIOra8,12173
92
- benchling_sdk/services/v2/stable/organization_service.py,sha256=j9B2cUCgPPTMjtFW70-dMUFQJAqpUXNTh8LJ7gvcOGo,4927
98
+ benchling_sdk/services/v2/stable/organization_service.py,sha256=RGo4QHdzaTLhKcHPZvvS3AJ-8sE5dDPBQ4DNQCtxPuE,8375
93
99
  benchling_sdk/services/v2/stable/plate_service.py,sha256=2KU9sZ7x3niQQQHlhQ_yFKy4GoddJQ5v-kxG808T1mE,13226
94
100
  benchling_sdk/services/v2/stable/printer_service.py,sha256=XhXCwbNAamndWLuHn9UE2ehkkl6vCN5hhxBUvr93Uzk,1181
95
101
  benchling_sdk/services/v2/stable/project_service.py,sha256=Mb3ibiOQJ3uRnJLoDLYgPgrFE80N1bdYQz9LwpbrMtg,4140
@@ -99,7 +105,7 @@ benchling_sdk/services/v2/stable/rna_oligo_service.py,sha256=16Q2ijthmpbkDm6_9Ee
99
105
  benchling_sdk/services/v2/stable/rna_sequence_service.py,sha256=F1_wx7t4SOsb_yswH-X4cLeqhqZTQe1oE6D7dg52Fcw,14163
100
106
  benchling_sdk/services/v2/stable/schema_service.py,sha256=W64obUUqBcDbMbBOtDVb_bl-VUQGARoeb2u4I96k9Tk,23509
101
107
  benchling_sdk/services/v2/stable/task_service.py,sha256=61vimlvZf2R93SitGyd883Yk5pmStavnPDkxuwFvzfU,4983
102
- benchling_sdk/services/v2/stable/team_service.py,sha256=SYwI2Bv3rWDYnoEKb-MX_yhe39fErewJ4Sx0aon-ej0,4723
108
+ benchling_sdk/services/v2/stable/team_service.py,sha256=nLOuT8fvQOkElfbCunBgcaRDdRw-353S_4sWRT-Ixro,8467
103
109
  benchling_sdk/services/v2/stable/user_service.py,sha256=NkMPz2rPaF6iXNWTBAOWSiXVif2rHYGbYAzaHg4Fhig,7528
104
110
  benchling_sdk/services/v2/stable/warehouse_service.py,sha256=_gVTwJZ5BcaNBG0k8I0a4MRahajkV7TNtREfuQGwR74,1286
105
111
  benchling_sdk/services/v2/stable/workflow_flowchart_config_version_service.py,sha256=HqSFSD9EDWaYAkCdHWjqpIPRuQbbNaJKkDHvQaK1Ggk,1323
@@ -107,11 +113,11 @@ benchling_sdk/services/v2/stable/workflow_flowchart_service.py,sha256=wkqk9fwIbO
107
113
  benchling_sdk/services/v2/stable/workflow_output_service.py,sha256=VD0RvOBCkgX_YwUoQYQPR_PyGJXuIau5beq9bK75VXM,9993
108
114
  benchling_sdk/services/v2/stable/workflow_task_group_service.py,sha256=SSfHDH-Eniz09HG_qSPSfSVHU3BpvTbgGhOQS4iWcAw,8848
109
115
  benchling_sdk/services/v2/stable/workflow_task_service.py,sha256=pOhwFmWVk1jh3A9C70LpLhYjlgk2DcGCfjO8Uup9ScQ,12819
110
- benchling_sdk/services/v2/v2_alpha_service.py,sha256=sGj6cG7IkoolrKSBI1AVNIL5te_X6QOPGXn_WmHuSDc,1600
111
- benchling_sdk/services/v2/v2_beta_service.py,sha256=extNpmdBP9yGQsE4k_CEPkwlqlTT9HGw7F3qiR11cJs,4651
112
- benchling_sdk/services/v2/v2_stable_service.py,sha256=ASx8MtvZqfKNBMUnuzGwPKdH1gV4e3VnJYy6XSxxyNo,26129
116
+ benchling_sdk/services/v2/v2_alpha_service.py,sha256=rl4niKxjU-Rvdx5W6cjyXd4rUMod-QcWdfZdVHSnMb4,2190
117
+ benchling_sdk/services/v2/v2_beta_service.py,sha256=SEv2AsZG0phf_B4ORqjRO-3VBkYehu1hlUhRFHrpX3c,6093
118
+ benchling_sdk/services/v2/v2_stable_service.py,sha256=21TzqEFHygMUFv0z0z8_MtXpSHLgwYC7YbIIsHrljaw,28232
113
119
  benchling_sdk/services/v2_service.py,sha256=cGX-Ps0hu7Oh1M7a0tu2zDN8-QG63dNDoK7w4eYo_OQ,3093
114
- benchling_sdk-1.17.0a0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
115
- benchling_sdk-1.17.0a0.dist-info/METADATA,sha256=_L1ZSipf-ARFHsMdvBVOjHqaw0IrKVfRuSI0UboMUyU,2114
116
- benchling_sdk-1.17.0a0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
117
- benchling_sdk-1.17.0a0.dist-info/RECORD,,
120
+ benchling_sdk-1.18.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
121
+ benchling_sdk-1.18.0.dist-info/METADATA,sha256=fA4iDSxO-S_Kty11oC5D6eV4lCljcLzIGIb600MtoCI,2108
122
+ benchling_sdk-1.18.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
123
+ benchling_sdk-1.18.0.dist-info/RECORD,,
@@ -1,157 +0,0 @@
1
- from datetime import datetime
2
- from typing import List, Optional, Union
3
-
4
- from benchling_api_client.v2.beta.models.base_manifest_config import BaseManifestConfig
5
- from benchling_api_client.v2.beta.models.dropdown_dependency import DropdownDependency
6
- from benchling_api_client.v2.beta.models.dropdown_dependency_types import DropdownDependencyTypes
7
- from benchling_api_client.v2.beta.models.entity_schema_dependency import EntitySchemaDependency
8
- from benchling_api_client.v2.beta.models.entity_schema_dependency_type import EntitySchemaDependencyType
9
- from benchling_api_client.v2.beta.models.field_definitions_manifest import FieldDefinitionsManifest
10
- from benchling_api_client.v2.beta.models.manifest_array_config import ManifestArrayConfig
11
- from benchling_api_client.v2.beta.models.manifest_float_scalar_config import ManifestFloatScalarConfig
12
- from benchling_api_client.v2.beta.models.manifest_integer_scalar_config import ManifestIntegerScalarConfig
13
- from benchling_api_client.v2.beta.models.manifest_scalar_config import ManifestScalarConfig
14
- from benchling_api_client.v2.beta.models.manifest_text_scalar_config import ManifestTextScalarConfig
15
- from benchling_api_client.v2.beta.models.resource_dependency import ResourceDependency
16
- from benchling_api_client.v2.beta.models.resource_dependency_types import ResourceDependencyTypes
17
- from benchling_api_client.v2.beta.models.scalar_config_types import ScalarConfigTypes
18
- from benchling_api_client.v2.beta.models.schema_dependency import SchemaDependency
19
- from benchling_api_client.v2.beta.models.schema_dependency_subtypes import SchemaDependencySubtypes
20
- from benchling_api_client.v2.beta.models.schema_dependency_types import SchemaDependencyTypes
21
- from benchling_api_client.v2.beta.models.workflow_task_schema_dependency import WorkflowTaskSchemaDependency
22
- from benchling_api_client.v2.beta.models.workflow_task_schema_dependency_output import (
23
- WorkflowTaskSchemaDependencyOutput,
24
- )
25
- from benchling_api_client.v2.beta.models.workflow_task_schema_dependency_type import (
26
- WorkflowTaskSchemaDependencyType,
27
- )
28
- from benchling_api_client.v2.extensions import UnknownType
29
- from benchling_api_client.v2.stable.extensions import NotPresentError
30
-
31
- _ArrayElementDependency = Union[
32
- SchemaDependency,
33
- EntitySchemaDependency,
34
- WorkflowTaskSchemaDependency,
35
- DropdownDependency,
36
- ResourceDependency,
37
- ManifestScalarConfig,
38
- ]
39
-
40
-
41
- class _UnsupportedSubTypeError(Exception):
42
- """Error when an unsupported subtype is encountered."""
43
-
44
- pass
45
-
46
-
47
- def _field_definitions_from_dependency(
48
- dependency: Union[
49
- EntitySchemaDependency,
50
- SchemaDependency,
51
- WorkflowTaskSchemaDependency,
52
- WorkflowTaskSchemaDependencyOutput,
53
- ]
54
- ) -> List[FieldDefinitionsManifest]:
55
- """Safely return a list of field definitions from a schema dependency or empty list."""
56
- try:
57
- if hasattr(dependency, "field_definitions"):
58
- return dependency.field_definitions
59
- # We can't seem to handle this programmatically by checking isinstance() or field truthiness
60
- except NotPresentError:
61
- pass
62
- return []
63
-
64
-
65
- def _element_definition_from_dependency(dependency: ManifestArrayConfig) -> List[_ArrayElementDependency]:
66
- """Safely return an element definition as a list of dependencies from an array dependency or empty list."""
67
- try:
68
- if hasattr(dependency, "element_definition"):
69
- return [
70
- _fix_element_definition_deserialization(element) for element in dependency.element_definition
71
- ]
72
- # We can't seem to handle this programmatically by checking isinstance() or field truthiness
73
- except NotPresentError:
74
- pass
75
- return []
76
-
77
-
78
- def _enum_from_dependency(
79
- dependency: Union[
80
- ManifestFloatScalarConfig,
81
- ManifestIntegerScalarConfig,
82
- ManifestTextScalarConfig,
83
- ]
84
- ) -> List:
85
- """Safely return an enum from a scalar config."""
86
- try:
87
- if hasattr(dependency, "enum"):
88
- return dependency.enum
89
- # We can't seem to handle this programmatically by checking isinstance() or field truthiness
90
- except NotPresentError:
91
- pass
92
- return []
93
-
94
-
95
- # TODO BNCH-57036 All element definitions currently deserialize to UnknownType. Hack around this temporarily
96
- def _fix_element_definition_deserialization(
97
- element: Union[UnknownType, _ArrayElementDependency]
98
- ) -> _ArrayElementDependency:
99
- if isinstance(element, UnknownType):
100
- if "type" in element.value:
101
- element_type = element.value["type"]
102
- if element_type == WorkflowTaskSchemaDependencyType.WORKFLOW_TASK_SCHEMA:
103
- return WorkflowTaskSchemaDependency.from_dict(element.value)
104
- elif element_type == EntitySchemaDependencyType.ENTITY_SCHEMA:
105
- return EntitySchemaDependency.from_dict(element.value)
106
- elif element_type in [member.value for member in SchemaDependencyTypes]:
107
- return SchemaDependency.from_dict(element.value)
108
- elif element_type == DropdownDependencyTypes.DROPDOWN:
109
- return DropdownDependency.from_dict(element.value)
110
- elif element_type in [member.value for member in ResourceDependencyTypes]:
111
- return ResourceDependency.from_dict(element.value)
112
- elif element_type in [member.value for member in ScalarConfigTypes]:
113
- return type(element_type).from_dict(element.value)
114
- raise NotImplementedError(f"No array deserialization fix for {element}")
115
- return element
116
-
117
-
118
- def _workflow_task_schema_output_from_dependency(
119
- dependency: WorkflowTaskSchemaDependency,
120
- ) -> Optional[WorkflowTaskSchemaDependencyOutput]:
121
- """Safely return a workflow task schema output from a workflow task schema or None."""
122
- try:
123
- if hasattr(dependency, "output"):
124
- return dependency.output
125
- # We can't seem to handle this programmatically by checking isinstance() or output truthiness
126
- except NotPresentError:
127
- pass
128
- return None
129
-
130
-
131
- def _options_from_dependency(dependency: DropdownDependency) -> List[BaseManifestConfig]:
132
- """Safely return a list of options from a dropdown dependency or empty list."""
133
- try:
134
- if hasattr(dependency, "options"):
135
- return dependency.options
136
- # We can't seem to handle this programmatically by checking isinstance() or field truthiness
137
- except NotPresentError:
138
- pass
139
- return []
140
-
141
-
142
- def _subtype_from_entity_schema_dependency(
143
- dependency: EntitySchemaDependency,
144
- ) -> Optional[SchemaDependencySubtypes]:
145
- """Safely return an entity schema dependency's subtype, if present."""
146
- try:
147
- if hasattr(dependency, "subtype") and dependency.subtype:
148
- return dependency.subtype
149
- # We can't seem to handle this programmatically by checking isinstance() or field truthiness
150
- except NotPresentError:
151
- pass
152
- return None
153
-
154
-
155
- def datetime_config_value_to_str(value: datetime) -> str:
156
- """Convert a datetime value to a valid string accepted by a datetime app config item."""
157
- return value.strftime("%Y-%m-%d %I:%M:%S %p")