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.
- benchling_sdk/benchling.py +50 -0
- benchling_sdk/errors.py +2 -1
- benchling_sdk/models/__init__.py +159 -3
- benchling_sdk/models/webhooks/v0/__init__.py +27 -37
- benchling_sdk/services/v2/alpha/v2_alpha_assembly_service.py +62 -0
- benchling_sdk/services/v2/beta/v2_beta_analysis_service.py +46 -0
- benchling_sdk/services/v2/beta/v2_beta_app_definition_service.py +45 -0
- benchling_sdk/services/v2/beta/v2_beta_app_service.py +1 -1
- benchling_sdk/services/v2/beta/v2_beta_audit_service.py +41 -0
- benchling_sdk/services/v2/beta/v2_beta_entry_service.py +13 -8
- benchling_sdk/services/v2/stable/aa_sequence_service.py +63 -6
- benchling_sdk/services/v2/stable/codon_usage_table_service.py +73 -0
- benchling_sdk/services/v2/stable/dna_sequence_service.py +12 -0
- benchling_sdk/services/v2/stable/enzyme_service.py +72 -0
- benchling_sdk/services/v2/stable/instrument_query_service.py +28 -0
- benchling_sdk/services/v2/stable/monomer_service.py +144 -0
- benchling_sdk/services/v2/stable/organization_service.py +104 -2
- benchling_sdk/services/v2/stable/team_service.py +120 -2
- benchling_sdk/services/v2/v2_alpha_service.py +15 -0
- benchling_sdk/services/v2/v2_beta_service.py +43 -1
- benchling_sdk/services/v2/v2_stable_service.py +58 -0
- {benchling_sdk-1.17.0a0.dist-info → benchling_sdk-1.18.0.dist-info}/METADATA +3 -3
- {benchling_sdk-1.17.0a0.dist-info → benchling_sdk-1.18.0.dist-info}/RECORD +25 -19
- benchling_sdk/apps/config/helpers.py +0 -157
- benchling_sdk/apps/config/mock_config.py +0 -635
- {benchling_sdk-1.17.0a0.dist-info → benchling_sdk-1.18.0.dist-info}/LICENSE +0 -0
- {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.
|
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
|
18
|
+
Requires-Dist: attrs (>=20.1.0)
|
19
19
|
Requires-Dist: backoff (>=1.10.0,<3)
|
20
|
-
Requires-Dist: benchling-api-client (==2.0.
|
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=
|
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=
|
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=
|
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=
|
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/
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
111
|
-
benchling_sdk/services/v2/v2_beta_service.py,sha256=
|
112
|
-
benchling_sdk/services/v2/v2_stable_service.py,sha256=
|
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.
|
115
|
-
benchling_sdk-1.
|
116
|
-
benchling_sdk-1.
|
117
|
-
benchling_sdk-1.
|
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")
|