benchling-sdk 1.11.0a6__py3-none-any.whl → 1.12.0a1__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 +14 -0
- benchling_sdk/models/__init__.py +6 -0
- benchling_sdk/services/v2/beta/v2_beta_aa_sequence_service.py +2 -30
- benchling_sdk/services/v2/stable/aa_sequence_service.py +31 -0
- benchling_sdk/services/v2/stable/custom_entity_service.py +26 -0
- benchling_sdk/services/v2/stable/dna_oligo_service.py +31 -0
- benchling_sdk/services/v2/stable/dna_sequence_service.py +66 -0
- benchling_sdk/services/v2/{beta/v2_beta_entity_service.py → stable/entity_service.py} +16 -9
- benchling_sdk/services/v2/stable/molecule_service.py +46 -12
- benchling_sdk/services/v2/stable/plate_service.py +40 -0
- benchling_sdk/services/v2/stable/rna_oligo_service.py +31 -0
- benchling_sdk/services/v2/stable/rna_sequence_service.py +35 -0
- benchling_sdk/services/v2/stable/user_service.py +12 -0
- benchling_sdk/services/v2/v2_beta_service.py +0 -96
- benchling_sdk/services/v2/v2_stable_service.py +21 -1
- {benchling_sdk-1.11.0a6.dist-info → benchling_sdk-1.12.0a1.dist-info}/METADATA +2 -2
- {benchling_sdk-1.11.0a6.dist-info → benchling_sdk-1.12.0a1.dist-info}/RECORD +19 -23
- benchling_sdk/services/v2/beta/v2_beta_custom_entity_service.py +0 -43
- benchling_sdk/services/v2/beta/v2_beta_dna_oligo_service.py +0 -41
- benchling_sdk/services/v2/beta/v2_beta_dna_sequence_service.py +0 -43
- benchling_sdk/services/v2/beta/v2_beta_rna_oligo_service.py +0 -41
- {benchling_sdk-1.11.0a6.dist-info → benchling_sdk-1.12.0a1.dist-info}/LICENSE +0 -0
- {benchling_sdk-1.11.0a6.dist-info → benchling_sdk-1.12.0a1.dist-info}/WHEEL +0 -0
benchling_sdk/benchling.py
CHANGED
@@ -26,6 +26,7 @@ if TYPE_CHECKING:
|
|
26
26
|
from benchling_sdk.services.v2.stable.dna_oligo_service import DnaOligoService
|
27
27
|
from benchling_sdk.services.v2.stable.dna_sequence_service import DnaSequenceService
|
28
28
|
from benchling_sdk.services.v2.stable.dropdown_service import DropdownService
|
29
|
+
from benchling_sdk.services.v2.stable.entity_service import EntityService
|
29
30
|
from benchling_sdk.services.v2.stable.entry_service import EntryService
|
30
31
|
from benchling_sdk.services.v2.stable.event_service import EventService
|
31
32
|
from benchling_sdk.services.v2.stable.export_service import ExportService
|
@@ -362,6 +363,19 @@ class Benchling(object):
|
|
362
363
|
"""
|
363
364
|
return self.v2.stable.dropdowns
|
364
365
|
|
366
|
+
@property
|
367
|
+
def entities(self) -> EntityService:
|
368
|
+
"""
|
369
|
+
Entities.
|
370
|
+
|
371
|
+
Entities include DNA and AA sequences, oligos, molecules, custom entities, and
|
372
|
+
other biological objects in Benchling. Entities support schemas, tags, and aliases,
|
373
|
+
and can be registered.
|
374
|
+
|
375
|
+
See https://benchling.com/api/reference#/Entities
|
376
|
+
"""
|
377
|
+
return self.v2.stable.entities
|
378
|
+
|
365
379
|
@property
|
366
380
|
def entries(self) -> EntryService:
|
367
381
|
"""
|
benchling_sdk/models/__init__.py
CHANGED
@@ -687,6 +687,7 @@ __all__ = [
|
|
687
687
|
"MoleculesArchiveReason",
|
688
688
|
"MoleculesBulkCreateRequest",
|
689
689
|
"MoleculesBulkUpdateRequest",
|
690
|
+
"MoleculesBulkUpsertRequest",
|
690
691
|
"MoleculesPaginatedList",
|
691
692
|
"MoleculesUnarchive",
|
692
693
|
"Monomer",
|
@@ -1731,6 +1732,7 @@ if TYPE_CHECKING:
|
|
1731
1732
|
import benchling_api_client.v2.stable.models.molecules_archive_reason
|
1732
1733
|
import benchling_api_client.v2.stable.models.molecules_bulk_create_request
|
1733
1734
|
import benchling_api_client.v2.stable.models.molecules_bulk_update_request
|
1735
|
+
import benchling_api_client.v2.stable.models.molecules_bulk_upsert_request
|
1734
1736
|
import benchling_api_client.v2.stable.models.molecules_paginated_list
|
1735
1737
|
import benchling_api_client.v2.stable.models.molecules_unarchive
|
1736
1738
|
import benchling_api_client.v2.stable.models.monomer
|
@@ -3519,6 +3521,9 @@ if TYPE_CHECKING:
|
|
3519
3521
|
MoleculesBulkUpdateRequest = (
|
3520
3522
|
benchling_api_client.v2.stable.models.molecules_bulk_update_request.MoleculesBulkUpdateRequest
|
3521
3523
|
)
|
3524
|
+
MoleculesBulkUpsertRequest = (
|
3525
|
+
benchling_api_client.v2.stable.models.molecules_bulk_upsert_request.MoleculesBulkUpsertRequest
|
3526
|
+
)
|
3522
3527
|
MoleculesPaginatedList = (
|
3523
3528
|
benchling_api_client.v2.stable.models.molecules_paginated_list.MoleculesPaginatedList
|
3524
3529
|
)
|
@@ -4963,6 +4968,7 @@ else:
|
|
4963
4968
|
"MoleculesArchiveReason": "benchling_api_client.v2.stable.models.molecules_archive_reason",
|
4964
4969
|
"MoleculesBulkCreateRequest": "benchling_api_client.v2.stable.models.molecules_bulk_create_request",
|
4965
4970
|
"MoleculesBulkUpdateRequest": "benchling_api_client.v2.stable.models.molecules_bulk_update_request",
|
4971
|
+
"MoleculesBulkUpsertRequest": "benchling_api_client.v2.stable.models.molecules_bulk_upsert_request",
|
4966
4972
|
"MoleculesPaginatedList": "benchling_api_client.v2.stable.models.molecules_paginated_list",
|
4967
4973
|
"MoleculesUnarchive": "benchling_api_client.v2.stable.models.molecules_unarchive",
|
4968
4974
|
"Monomer": "benchling_api_client.v2.stable.models.monomer",
|
@@ -1,17 +1,11 @@
|
|
1
|
-
from benchling_api_client.v2.beta.api.aa_sequences import
|
2
|
-
bulk_upsert_aa_sequences,
|
3
|
-
find_matching_regions_aa_sequences,
|
4
|
-
upsert_aa_sequence,
|
5
|
-
)
|
6
|
-
from benchling_api_client.v2.beta.models.aa_sequence_upsert import AaSequenceUpsert
|
7
|
-
from benchling_api_client.v2.beta.models.aa_sequences_bulk_upsert_request import AaSequencesBulkUpsertRequest
|
1
|
+
from benchling_api_client.v2.beta.api.aa_sequences import find_matching_regions_aa_sequences
|
8
2
|
from benchling_api_client.v2.beta.models.aa_sequences_find_matching_region import (
|
9
3
|
AaSequencesFindMatchingRegion,
|
10
4
|
)
|
11
5
|
|
12
6
|
from benchling_sdk.helpers.decorators import api_method
|
13
7
|
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
14
|
-
from benchling_sdk.models import
|
8
|
+
from benchling_sdk.models import AsyncTaskLink
|
15
9
|
from benchling_sdk.services.v2.base_service import BaseService
|
16
10
|
|
17
11
|
|
@@ -26,28 +20,6 @@ class V2BetaAaSequenceService(BaseService):
|
|
26
20
|
See https://benchling.com/api/v2-beta/reference#/AA%20Sequences
|
27
21
|
"""
|
28
22
|
|
29
|
-
@api_method
|
30
|
-
def upsert(self, entity_registry_id: str, aa_sequence: AaSequenceUpsert) -> AaSequence:
|
31
|
-
"""
|
32
|
-
Create or modify an Amino Acid Sequence.
|
33
|
-
|
34
|
-
See https://benchling.com/api/v2-beta/reference#/AA%20Sequences/upsertAaSequence
|
35
|
-
"""
|
36
|
-
response = upsert_aa_sequence.sync_detailed(
|
37
|
-
client=self.client, entity_registry_id=entity_registry_id, json_body=aa_sequence
|
38
|
-
)
|
39
|
-
return model_from_detailed(response)
|
40
|
-
|
41
|
-
@api_method
|
42
|
-
def bulk_upsert(self, body: AaSequencesBulkUpsertRequest) -> AsyncTaskLink:
|
43
|
-
"""
|
44
|
-
Bulk create or update AA sequences.
|
45
|
-
|
46
|
-
See https://benchling.com/api/v2-beta/reference#/AA%20Sequences/bulkUpsertAASequences
|
47
|
-
"""
|
48
|
-
response = bulk_upsert_aa_sequences.sync_detailed(client=self.client, json_body=body)
|
49
|
-
return model_from_detailed(response)
|
50
|
-
|
51
23
|
@api_method
|
52
24
|
def find_matching_regions(self, find_matching_region: AaSequencesFindMatchingRegion) -> AsyncTaskLink:
|
53
25
|
"""
|
@@ -6,11 +6,13 @@ from benchling_api_client.v2.stable.api.aa_sequences import (
|
|
6
6
|
bulk_create_aa_sequences,
|
7
7
|
bulk_get_aa_sequences,
|
8
8
|
bulk_update_aa_sequences,
|
9
|
+
bulk_upsert_aa_sequences,
|
9
10
|
create_aa_sequence,
|
10
11
|
get_aa_sequence,
|
11
12
|
list_aa_sequences,
|
12
13
|
unarchive_aa_sequences,
|
13
14
|
update_aa_sequence,
|
15
|
+
upsert_aa_sequence,
|
14
16
|
)
|
15
17
|
from benchling_api_client.v2.types import Response
|
16
18
|
|
@@ -34,9 +36,11 @@ from benchling_sdk.models import (
|
|
34
36
|
AaSequencesArchive,
|
35
37
|
AaSequencesBulkCreateRequest,
|
36
38
|
AaSequencesBulkUpdateRequest,
|
39
|
+
AaSequencesBulkUpsertRequest,
|
37
40
|
AaSequencesPaginatedList,
|
38
41
|
AaSequencesUnarchive,
|
39
42
|
AaSequenceUpdate,
|
43
|
+
AaSequenceUpsert,
|
40
44
|
AsyncTaskLink,
|
41
45
|
AutoAnnotateAaSequences,
|
42
46
|
EntityArchiveReason,
|
@@ -281,3 +285,30 @@ class AaSequenceService(BaseService):
|
|
281
285
|
"""
|
282
286
|
response = auto_annotate_aa_sequences.sync_detailed(client=self.client, json_body=auto_annotate)
|
283
287
|
return model_from_detailed(response)
|
288
|
+
|
289
|
+
@api_method
|
290
|
+
def upsert(self, entity_registry_id: str, aa_sequence: AaSequenceUpsert) -> AaSequence:
|
291
|
+
"""
|
292
|
+
Create or modify an Amino Acid Sequence.
|
293
|
+
|
294
|
+
See https://benchling.com/api/reference#/AA%20Sequences/upsertAaSequence
|
295
|
+
"""
|
296
|
+
response = upsert_aa_sequence.sync_detailed(
|
297
|
+
client=self.client, entity_registry_id=entity_registry_id, json_body=aa_sequence
|
298
|
+
)
|
299
|
+
return model_from_detailed(response)
|
300
|
+
|
301
|
+
@api_method
|
302
|
+
def bulk_upsert(
|
303
|
+
self, body: AaSequencesBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
304
|
+
) -> AsyncTaskLink:
|
305
|
+
"""
|
306
|
+
Bulk create or update AA sequences.
|
307
|
+
|
308
|
+
See https://benchling.com/api/reference#/AA%20Sequences/bulkUpsertAASequences
|
309
|
+
"""
|
310
|
+
returning_string = optional_array_query_param(returning)
|
311
|
+
response = bulk_upsert_aa_sequences.sync_detailed(
|
312
|
+
client=self.client, json_body=body, returning=none_as_unset(returning_string)
|
313
|
+
)
|
314
|
+
return model_from_detailed(response)
|
@@ -5,11 +5,13 @@ from benchling_api_client.v2.stable.api.custom_entities import (
|
|
5
5
|
bulk_create_custom_entities,
|
6
6
|
bulk_get_custom_entities,
|
7
7
|
bulk_update_custom_entities,
|
8
|
+
bulk_upsert_custom_entities,
|
8
9
|
create_custom_entity,
|
9
10
|
get_custom_entity,
|
10
11
|
list_custom_entities,
|
11
12
|
unarchive_custom_entities,
|
12
13
|
update_custom_entity,
|
14
|
+
upsert_custom_entity,
|
13
15
|
)
|
14
16
|
from benchling_api_client.v2.types import Response
|
15
17
|
|
@@ -30,6 +32,7 @@ from benchling_sdk.models import (
|
|
30
32
|
CustomEntitiesArchive,
|
31
33
|
CustomEntitiesBulkCreateRequest,
|
32
34
|
CustomEntitiesBulkUpdateRequest,
|
35
|
+
CustomEntitiesBulkUpsertRequest,
|
33
36
|
CustomEntitiesPaginatedList,
|
34
37
|
CustomEntitiesUnarchive,
|
35
38
|
CustomEntity,
|
@@ -37,6 +40,7 @@ from benchling_sdk.models import (
|
|
37
40
|
CustomEntityBulkUpdate,
|
38
41
|
CustomEntityCreate,
|
39
42
|
CustomEntityUpdate,
|
43
|
+
CustomEntityUpsertRequest,
|
40
44
|
EntityArchiveReason,
|
41
45
|
ListCustomEntitiesSort,
|
42
46
|
)
|
@@ -266,3 +270,25 @@ class CustomEntityService(BaseService):
|
|
266
270
|
body = CustomEntitiesBulkUpdateRequest(list(entities))
|
267
271
|
response = bulk_update_custom_entities.sync_detailed(client=self.client, json_body=body)
|
268
272
|
return model_from_detailed(response)
|
273
|
+
|
274
|
+
@api_method
|
275
|
+
def upsert(self, entity_registry_id: str, entity: CustomEntityUpsertRequest) -> CustomEntity:
|
276
|
+
"""
|
277
|
+
Create or modify a custom entity.
|
278
|
+
|
279
|
+
See https://benchling.com/api/reference#/Custom%20Entities/upsertCustomEntity
|
280
|
+
"""
|
281
|
+
response = upsert_custom_entity.sync_detailed(
|
282
|
+
client=self.client, entity_registry_id=entity_registry_id, json_body=entity
|
283
|
+
)
|
284
|
+
return model_from_detailed(response)
|
285
|
+
|
286
|
+
@api_method
|
287
|
+
def bulk_upsert(self, body: CustomEntitiesBulkUpsertRequest) -> AsyncTaskLink:
|
288
|
+
"""
|
289
|
+
Bulk update custom entities.
|
290
|
+
|
291
|
+
See https://benchling.com/api/reference#/Custom%20Entities/bulkUpsertCustomEntities
|
292
|
+
"""
|
293
|
+
response = bulk_upsert_custom_entities.sync_detailed(client=self.client, json_body=body)
|
294
|
+
return model_from_detailed(response)
|
@@ -4,11 +4,13 @@ from benchling_api_client.v2.stable.api.dna_oligos import (
|
|
4
4
|
archive_dna_oligos,
|
5
5
|
bulk_create_dna_oligos,
|
6
6
|
bulk_update_dna_oligos,
|
7
|
+
bulk_upsert_dna_oligos,
|
7
8
|
create_dna_oligo,
|
8
9
|
get_dna_oligo,
|
9
10
|
list_dna_oligos,
|
10
11
|
unarchive_dna_oligos,
|
11
12
|
update_dna_oligo,
|
13
|
+
upsert_dna_oligo,
|
12
14
|
)
|
13
15
|
from benchling_api_client.v2.types import Response
|
14
16
|
|
@@ -31,11 +33,13 @@ from benchling_sdk.models import (
|
|
31
33
|
DnaOligosArchive,
|
32
34
|
DnaOligosBulkCreateRequest,
|
33
35
|
DnaOligosBulkUpdateRequest,
|
36
|
+
DnaOligosBulkUpsertRequest,
|
34
37
|
DnaOligosPaginatedList,
|
35
38
|
DnaOligosUnarchive,
|
36
39
|
DnaOligoUpdate,
|
37
40
|
EntityArchiveReason,
|
38
41
|
ListDNAOligosSort,
|
42
|
+
OligoUpsertRequest,
|
39
43
|
)
|
40
44
|
from benchling_sdk.services.v2.base_service import BaseService
|
41
45
|
|
@@ -243,3 +247,30 @@ class DnaOligoService(BaseService):
|
|
243
247
|
body = DnaOligosBulkUpdateRequest(list(dna_oligos))
|
244
248
|
response = bulk_update_dna_oligos.sync_detailed(client=self.client, json_body=body)
|
245
249
|
return model_from_detailed(response)
|
250
|
+
|
251
|
+
@api_method
|
252
|
+
def upsert(self, entity_registry_id: str, dna_oligo: OligoUpsertRequest) -> DnaOligo:
|
253
|
+
"""
|
254
|
+
Create or modify a DNA Oligo.
|
255
|
+
|
256
|
+
See https://benchling.com/api/reference#/DNA%20Oligos/upsertDNAOligo
|
257
|
+
"""
|
258
|
+
response = upsert_dna_oligo.sync_detailed(
|
259
|
+
client=self.client, entity_registry_id=entity_registry_id, json_body=dna_oligo
|
260
|
+
)
|
261
|
+
return model_from_detailed(response)
|
262
|
+
|
263
|
+
@api_method
|
264
|
+
def bulk_upsert(
|
265
|
+
self, body: DnaOligosBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
266
|
+
) -> AsyncTaskLink:
|
267
|
+
"""
|
268
|
+
Bulk create or update DNA Oligos.
|
269
|
+
|
270
|
+
See https://benchling.com/api/reference#/DNA%20Oligos/bulkUpsertDnaOligos
|
271
|
+
"""
|
272
|
+
returning_string = optional_array_query_param(returning)
|
273
|
+
response = bulk_upsert_dna_oligos.sync_detailed(
|
274
|
+
client=self.client, json_body=body, returning=none_as_unset(returning_string)
|
275
|
+
)
|
276
|
+
return model_from_detailed(response)
|
@@ -8,11 +8,15 @@ from benchling_api_client.v2.stable.api.dna_sequences import (
|
|
8
8
|
bulk_create_dna_sequences,
|
9
9
|
bulk_get_dna_sequences,
|
10
10
|
bulk_update_dna_sequences,
|
11
|
+
bulk_upsert_dna_sequences,
|
11
12
|
create_dna_sequence,
|
12
13
|
get_dna_sequence,
|
13
14
|
list_dna_sequences,
|
15
|
+
match_bases_dna_sequences,
|
16
|
+
search_dna_sequences,
|
14
17
|
unarchive_dna_sequences,
|
15
18
|
update_dna_sequence,
|
19
|
+
upsert_dna_sequence,
|
16
20
|
)
|
17
21
|
from benchling_api_client.v2.types import Response
|
18
22
|
|
@@ -39,11 +43,15 @@ from benchling_sdk.models import (
|
|
39
43
|
DnaSequencesArchive,
|
40
44
|
DnaSequencesBulkCreateRequest,
|
41
45
|
DnaSequencesBulkUpdateRequest,
|
46
|
+
DnaSequencesBulkUpsertRequest,
|
42
47
|
DnaSequencesPaginatedList,
|
43
48
|
DnaSequencesUnarchive,
|
44
49
|
DnaSequenceUpdate,
|
50
|
+
DnaSequenceUpsertRequest,
|
45
51
|
EntityArchiveReason,
|
46
52
|
ListDNASequencesSort,
|
53
|
+
MatchBasesRequest,
|
54
|
+
SearchBasesRequest,
|
47
55
|
)
|
48
56
|
from benchling_sdk.services.v2.base_service import BaseService
|
49
57
|
|
@@ -306,3 +314,61 @@ class DnaSequenceService(BaseService):
|
|
306
314
|
"""
|
307
315
|
response = auto_annotate_dna_sequences.sync_detailed(client=self.client, json_body=auto_annotate)
|
308
316
|
return model_from_detailed(response)
|
317
|
+
|
318
|
+
@api_method
|
319
|
+
def upsert(self, entity_registry_id: str, dna_sequence: DnaSequenceUpsertRequest) -> DnaSequence:
|
320
|
+
"""
|
321
|
+
Create or modify a DNA sequence.
|
322
|
+
|
323
|
+
See https://benchling.com/api/reference#/DNA%20Sequences/upsertDNASequence
|
324
|
+
"""
|
325
|
+
response = upsert_dna_sequence.sync_detailed(
|
326
|
+
client=self.client, entity_registry_id=entity_registry_id, json_body=dna_sequence
|
327
|
+
)
|
328
|
+
return model_from_detailed(response)
|
329
|
+
|
330
|
+
@api_method
|
331
|
+
def bulk_upsert(
|
332
|
+
self, body: DnaSequencesBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
333
|
+
) -> AsyncTaskLink:
|
334
|
+
"""
|
335
|
+
Bulk create or update DNA sequences.
|
336
|
+
|
337
|
+
See https://benchling.com/api/reference#/DNA%20Sequences/bulkUpsertDnaSequences
|
338
|
+
"""
|
339
|
+
returning_string = optional_array_query_param(returning)
|
340
|
+
response = bulk_upsert_dna_sequences.sync_detailed(
|
341
|
+
client=self.client, json_body=body, returning=none_as_unset(returning_string)
|
342
|
+
)
|
343
|
+
return model_from_detailed(response)
|
344
|
+
|
345
|
+
@api_method
|
346
|
+
def match_bases(self, match_bases_request: MatchBasesRequest) -> DnaSequencesPaginatedList:
|
347
|
+
"""
|
348
|
+
Match bases.
|
349
|
+
|
350
|
+
Returns DNA Sequences that exactly match the provided bases.
|
351
|
+
|
352
|
+
See https://benchling.com/api/reference#/DNA%20Sequences/matchBasesDnaSequences
|
353
|
+
"""
|
354
|
+
response = match_bases_dna_sequences.sync_detailed(
|
355
|
+
client=self.client,
|
356
|
+
json_body=match_bases_request,
|
357
|
+
)
|
358
|
+
return model_from_detailed(response)
|
359
|
+
|
360
|
+
@api_method
|
361
|
+
def search_bases(self, search_bases_request: SearchBasesRequest) -> DnaSequencesPaginatedList:
|
362
|
+
"""
|
363
|
+
Search bases.
|
364
|
+
|
365
|
+
Returns DNA Sequences that contain the provided bases.
|
366
|
+
Search indexing is asynchronous, so results may be not be available immediately after creation.
|
367
|
+
|
368
|
+
See https://benchling.com/api/reference#/DNA%20Sequences/searchDnaSequences
|
369
|
+
"""
|
370
|
+
response = search_dna_sequences.sync_detailed(
|
371
|
+
client=self.client,
|
372
|
+
json_body=search_bases_request,
|
373
|
+
)
|
374
|
+
return model_from_detailed(response)
|
@@ -1,25 +1,29 @@
|
|
1
|
-
from
|
2
|
-
|
1
|
+
from typing import Iterable, Optional
|
2
|
+
|
3
|
+
from benchling_api_client.v2.stable.api.entities import bulk_upsert_entities
|
3
4
|
|
4
5
|
from benchling_sdk.helpers.decorators import api_method
|
5
6
|
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
6
|
-
from benchling_sdk.
|
7
|
+
from benchling_sdk.helpers.serialization_helpers import none_as_unset, optional_array_query_param
|
8
|
+
from benchling_sdk.models import AsyncTaskLink, EntitiesBulkUpsertRequest
|
7
9
|
from benchling_sdk.services.v2.base_service import BaseService
|
8
10
|
|
9
11
|
|
10
|
-
class
|
12
|
+
class EntityService(BaseService):
|
11
13
|
"""
|
12
|
-
|
14
|
+
Entities.
|
13
15
|
|
14
16
|
Entities include DNA and AA sequences, oligos, molecules, custom entities, and
|
15
17
|
other biological objects in Benchling. Entities support schemas, tags, and aliases,
|
16
18
|
and can be registered.
|
17
19
|
|
18
|
-
See https://benchling.com/api/
|
20
|
+
See https://benchling.com/api/reference#/Entities
|
19
21
|
"""
|
20
22
|
|
21
23
|
@api_method
|
22
|
-
def bulk_upsert(
|
24
|
+
def bulk_upsert(
|
25
|
+
self, bulk_upsert: EntitiesBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
26
|
+
) -> AsyncTaskLink:
|
23
27
|
"""
|
24
28
|
Upsert many entities at once.
|
25
29
|
|
@@ -33,7 +37,10 @@ class V2BetaEntityService(BaseService):
|
|
33
37
|
4. Entities are registered, using the provided name and entity registry ID.
|
34
38
|
|
35
39
|
If any action fails, the whole operation is canceled and no objects are created or updated.
|
36
|
-
See https://benchling.com/api/
|
40
|
+
See https://benchling.com/api/reference#/Entities/bulkUpsertEntities
|
37
41
|
"""
|
38
|
-
|
42
|
+
returning_string = optional_array_query_param(returning)
|
43
|
+
response = bulk_upsert_entities.sync_detailed(
|
44
|
+
client=self.client, json_body=bulk_upsert, returning=none_as_unset(returning_string)
|
45
|
+
)
|
39
46
|
return model_from_detailed(response)
|
@@ -4,23 +4,14 @@ from benchling_api_client.v2.stable.api.molecules import (
|
|
4
4
|
archive_molecules,
|
5
5
|
bulk_create_molecules,
|
6
6
|
bulk_update_molecules,
|
7
|
+
bulk_upsert_molecules,
|
7
8
|
create_molecule,
|
8
9
|
get_molecule,
|
9
10
|
list_molecules,
|
10
11
|
unarchive_molecules,
|
11
12
|
update_molecule,
|
13
|
+
upsert_molecule,
|
12
14
|
)
|
13
|
-
from benchling_api_client.v2.stable.models.list_molecules_sort import ListMoleculesSort
|
14
|
-
from benchling_api_client.v2.stable.models.molecule_bulk_update import MoleculeBulkUpdate
|
15
|
-
from benchling_api_client.v2.stable.models.molecule_create import MoleculeCreate
|
16
|
-
from benchling_api_client.v2.stable.models.molecule_update import MoleculeUpdate
|
17
|
-
from benchling_api_client.v2.stable.models.molecules_archival_change import MoleculesArchivalChange
|
18
|
-
from benchling_api_client.v2.stable.models.molecules_archive import MoleculesArchive
|
19
|
-
from benchling_api_client.v2.stable.models.molecules_archive_reason import MoleculesArchiveReason
|
20
|
-
from benchling_api_client.v2.stable.models.molecules_bulk_create_request import MoleculesBulkCreateRequest
|
21
|
-
from benchling_api_client.v2.stable.models.molecules_bulk_update_request import MoleculesBulkUpdateRequest
|
22
|
-
from benchling_api_client.v2.stable.models.molecules_paginated_list import MoleculesPaginatedList
|
23
|
-
from benchling_api_client.v2.stable.models.molecules_unarchive import MoleculesUnarchive
|
24
15
|
from benchling_api_client.v2.types import Response
|
25
16
|
|
26
17
|
from benchling_sdk.errors import raise_for_status
|
@@ -34,7 +25,23 @@ from benchling_sdk.helpers.serialization_helpers import (
|
|
34
25
|
optional_array_query_param,
|
35
26
|
schema_fields_query_param,
|
36
27
|
)
|
37
|
-
from benchling_sdk.models import
|
28
|
+
from benchling_sdk.models import (
|
29
|
+
AsyncTaskLink,
|
30
|
+
ListMoleculesSort,
|
31
|
+
Molecule,
|
32
|
+
MoleculeBulkUpdate,
|
33
|
+
MoleculeCreate,
|
34
|
+
MoleculesArchivalChange,
|
35
|
+
MoleculesArchive,
|
36
|
+
MoleculesArchiveReason,
|
37
|
+
MoleculesBulkCreateRequest,
|
38
|
+
MoleculesBulkUpdateRequest,
|
39
|
+
MoleculesBulkUpsertRequest,
|
40
|
+
MoleculesPaginatedList,
|
41
|
+
MoleculesUnarchive,
|
42
|
+
MoleculeUpdate,
|
43
|
+
MoleculeUpsertRequest,
|
44
|
+
)
|
38
45
|
from benchling_sdk.services.v2.base_service import BaseService
|
39
46
|
|
40
47
|
|
@@ -232,3 +239,30 @@ class MoleculeService(BaseService):
|
|
232
239
|
body = MoleculesBulkUpdateRequest(list(molecules))
|
233
240
|
response = bulk_update_molecules.sync_detailed(client=self.client, json_body=body)
|
234
241
|
return model_from_detailed(response)
|
242
|
+
|
243
|
+
@api_method
|
244
|
+
def upsert(self, entity_registry_id: str, molecule: MoleculeUpsertRequest) -> Molecule:
|
245
|
+
"""
|
246
|
+
Create or modify a Molecule.
|
247
|
+
|
248
|
+
See https://benchling.com/api/reference#/Molecules/upsertMolecule
|
249
|
+
"""
|
250
|
+
response = upsert_molecule.sync_detailed(
|
251
|
+
client=self.client, entity_registry_id=entity_registry_id, json_body=molecule
|
252
|
+
)
|
253
|
+
return model_from_detailed(response)
|
254
|
+
|
255
|
+
@api_method
|
256
|
+
def bulk_upsert(
|
257
|
+
self, body: MoleculesBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
258
|
+
) -> AsyncTaskLink:
|
259
|
+
"""
|
260
|
+
Bulk create or update Molecules.
|
261
|
+
|
262
|
+
See https://benchling.com/api/reference#/Molecules/bulkUpsertMolecules
|
263
|
+
"""
|
264
|
+
returning_string = optional_array_query_param(returning)
|
265
|
+
response = bulk_upsert_molecules.sync_detailed(
|
266
|
+
client=self.client, json_body=body, returning=none_as_unset(returning_string)
|
267
|
+
)
|
268
|
+
return model_from_detailed(response)
|
@@ -90,6 +90,16 @@ class PlateService(BaseService):
|
|
90
90
|
creator_ids: Optional[Iterable[str]] = None,
|
91
91
|
archive_reason: Optional[str] = None,
|
92
92
|
schema_fields: Optional[Dict[str, Any]] = None,
|
93
|
+
empty_containers: Optional[int] = None,
|
94
|
+
empty_containers_gt: Optional[int] = None,
|
95
|
+
empty_containers_gte: Optional[int] = None,
|
96
|
+
empty_containers_lt: Optional[int] = None,
|
97
|
+
empty_containers_lte: Optional[int] = None,
|
98
|
+
empty_positions: Optional[int] = None,
|
99
|
+
empty_positions_gt: Optional[int] = None,
|
100
|
+
empty_positions_gte: Optional[int] = None,
|
101
|
+
empty_positions_lt: Optional[int] = None,
|
102
|
+
empty_positions_lte: Optional[int] = None,
|
93
103
|
timeout_seconds: Optional[float] = None,
|
94
104
|
returning: Optional[Iterable[str]] = None
|
95
105
|
) -> Response[PlatesPaginatedList]:
|
@@ -111,6 +121,16 @@ class PlateService(BaseService):
|
|
111
121
|
namesany_ofcase_sensitive=none_as_unset(optional_array_query_param(names_any_of_case_sensitive)),
|
112
122
|
creator_ids=none_as_unset(optional_array_query_param(creator_ids)),
|
113
123
|
schema_fields=none_as_unset(schema_fields_query_param(schema_fields)),
|
124
|
+
empty_containers=none_as_unset(empty_containers),
|
125
|
+
empty_containersgt=none_as_unset(empty_containers_gt),
|
126
|
+
empty_containersgte=none_as_unset(empty_containers_gte),
|
127
|
+
empty_containerslt=none_as_unset(empty_containers_lt),
|
128
|
+
empty_containerslte=none_as_unset(empty_containers_lte),
|
129
|
+
empty_positions=none_as_unset(empty_positions),
|
130
|
+
empty_positionsgt=none_as_unset(empty_positions_gt),
|
131
|
+
empty_positionsgte=none_as_unset(empty_positions_gte),
|
132
|
+
empty_positionslt=none_as_unset(empty_positions_lt),
|
133
|
+
empty_positionslte=none_as_unset(empty_positions_lte),
|
114
134
|
next_token=none_as_unset(next_token),
|
115
135
|
page_size=none_as_unset(page_size),
|
116
136
|
returning=none_as_unset(optional_array_query_param(returning)),
|
@@ -136,6 +156,16 @@ class PlateService(BaseService):
|
|
136
156
|
creator_ids: Optional[Iterable[str]] = None,
|
137
157
|
archive_reason: Optional[str] = None,
|
138
158
|
schema_fields: Optional[Dict[str, Any]] = None,
|
159
|
+
empty_containers: Optional[int] = None,
|
160
|
+
empty_containers_gt: Optional[int] = None,
|
161
|
+
empty_containers_gte: Optional[int] = None,
|
162
|
+
empty_containers_lt: Optional[int] = None,
|
163
|
+
empty_containers_lte: Optional[int] = None,
|
164
|
+
empty_positions: Optional[int] = None,
|
165
|
+
empty_positions_gt: Optional[int] = None,
|
166
|
+
empty_positions_gte: Optional[int] = None,
|
167
|
+
empty_positions_lt: Optional[int] = None,
|
168
|
+
empty_positions_lte: Optional[int] = None,
|
139
169
|
page_size: Optional[int] = None,
|
140
170
|
timeout_seconds: Optional[float] = DEFAULT_PLATE_HTTP_TIMEOUT,
|
141
171
|
returning: Optional[Iterable[str]] = None
|
@@ -170,6 +200,16 @@ class PlateService(BaseService):
|
|
170
200
|
names_any_of_case_sensitive=names_any_of_case_sensitive,
|
171
201
|
creator_ids=creator_ids,
|
172
202
|
schema_fields=schema_fields,
|
203
|
+
empty_containers=empty_containers,
|
204
|
+
empty_containers_gt=empty_containers_gt,
|
205
|
+
empty_containers_gte=empty_containers_gte,
|
206
|
+
empty_containers_lt=empty_containers_lt,
|
207
|
+
empty_containers_lte=empty_containers_lte,
|
208
|
+
empty_positions=empty_positions,
|
209
|
+
empty_positions_gt=empty_positions_gt,
|
210
|
+
empty_positions_gte=empty_positions_gte,
|
211
|
+
empty_positions_lt=empty_positions_lt,
|
212
|
+
empty_positions_lte=empty_positions_lte,
|
173
213
|
next_token=next_token,
|
174
214
|
page_size=page_size,
|
175
215
|
timeout_seconds=timeout_seconds,
|
@@ -4,11 +4,13 @@ from benchling_api_client.v2.stable.api.rna_oligos import (
|
|
4
4
|
archive_rna_oligos,
|
5
5
|
bulk_create_rna_oligos,
|
6
6
|
bulk_update_rna_oligos,
|
7
|
+
bulk_upsert_rna_oligos,
|
7
8
|
create_rna_oligo,
|
8
9
|
get_rna_oligo,
|
9
10
|
list_rna_oligos,
|
10
11
|
unarchive_rna_oligos,
|
11
12
|
update_rna_oligo,
|
13
|
+
upsert_rna_oligo,
|
12
14
|
)
|
13
15
|
from benchling_api_client.v2.types import Response
|
14
16
|
|
@@ -26,6 +28,7 @@ from benchling_sdk.models import (
|
|
26
28
|
AsyncTaskLink,
|
27
29
|
EntityArchiveReason,
|
28
30
|
ListRNAOligosSort,
|
31
|
+
OligoUpsertRequest,
|
29
32
|
RnaOligo,
|
30
33
|
RnaOligoBulkUpdate,
|
31
34
|
RnaOligoCreate,
|
@@ -33,6 +36,7 @@ from benchling_sdk.models import (
|
|
33
36
|
RnaOligosArchive,
|
34
37
|
RnaOligosBulkCreateRequest,
|
35
38
|
RnaOligosBulkUpdateRequest,
|
39
|
+
RnaOligosBulkUpsertRequest,
|
36
40
|
RnaOligosPaginatedList,
|
37
41
|
RnaOligosUnarchive,
|
38
42
|
RnaOligoUpdate,
|
@@ -252,3 +256,30 @@ class RnaOligoService(BaseService):
|
|
252
256
|
body = RnaOligosBulkUpdateRequest(list(rna_oligos))
|
253
257
|
response = bulk_update_rna_oligos.sync_detailed(client=self.client, json_body=body)
|
254
258
|
return model_from_detailed(response)
|
259
|
+
|
260
|
+
@api_method
|
261
|
+
def upsert(self, entity_registry_id: str, rna_oligo: OligoUpsertRequest) -> RnaOligo:
|
262
|
+
"""
|
263
|
+
Create or modify a RNA Oligo.
|
264
|
+
|
265
|
+
See https://benchling.com/api/reference#/RNA%20Oligos/upsertRNAOligo
|
266
|
+
"""
|
267
|
+
response = upsert_rna_oligo.sync_detailed(
|
268
|
+
client=self.client, entity_registry_id=entity_registry_id, json_body=rna_oligo
|
269
|
+
)
|
270
|
+
return model_from_detailed(response)
|
271
|
+
|
272
|
+
@api_method
|
273
|
+
def bulk_upsert(
|
274
|
+
self, body: RnaOligosBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
275
|
+
) -> AsyncTaskLink:
|
276
|
+
"""
|
277
|
+
Bulk create or update RNA Oligos.
|
278
|
+
|
279
|
+
See https://benchling.com/api/reference#/RNA%20Oligos/bulkUpsertRnaOligos
|
280
|
+
"""
|
281
|
+
returning_string = optional_array_query_param(returning)
|
282
|
+
response = bulk_upsert_rna_oligos.sync_detailed(
|
283
|
+
client=self.client, json_body=body, returning=none_as_unset(returning_string)
|
284
|
+
)
|
285
|
+
return model_from_detailed(response)
|
@@ -11,6 +11,8 @@ from benchling_api_client.v2.stable.api.rna_sequences import (
|
|
11
11
|
create_rna_sequence,
|
12
12
|
get_rna_sequence,
|
13
13
|
list_rna_sequences,
|
14
|
+
match_bases_rna_sequences,
|
15
|
+
search_rna_sequences,
|
14
16
|
unarchive_rna_sequences,
|
15
17
|
update_rna_sequence,
|
16
18
|
)
|
@@ -31,6 +33,7 @@ from benchling_sdk.models import (
|
|
31
33
|
AutoAnnotateRnaSequences,
|
32
34
|
EntityArchiveReason,
|
33
35
|
ListRNASequencesSort,
|
36
|
+
MatchBasesRequest,
|
34
37
|
RnaSequence,
|
35
38
|
RnaSequenceBulkCreate,
|
36
39
|
RnaSequenceBulkUpdate,
|
@@ -42,6 +45,7 @@ from benchling_sdk.models import (
|
|
42
45
|
RnaSequencesPaginatedList,
|
43
46
|
RnaSequencesUnarchive,
|
44
47
|
RnaSequenceUpdate,
|
48
|
+
SearchBasesRequest,
|
45
49
|
)
|
46
50
|
from benchling_sdk.services.v2.base_service import BaseService
|
47
51
|
|
@@ -315,3 +319,34 @@ class RnaSequenceService(BaseService):
|
|
315
319
|
"""
|
316
320
|
response = auto_annotate_rna_sequences.sync_detailed(client=self.client, json_body=auto_annotate)
|
317
321
|
return model_from_detailed(response)
|
322
|
+
|
323
|
+
@api_method
|
324
|
+
def match_bases(self, match_bases_request: MatchBasesRequest) -> RnaSequencesPaginatedList:
|
325
|
+
"""
|
326
|
+
Match bases.
|
327
|
+
|
328
|
+
Returns RNA Sequences that exactly match the provided bases.
|
329
|
+
|
330
|
+
See https://benchling.com/api/reference#/RNA%20Sequences/matchBasesRnaSequences
|
331
|
+
"""
|
332
|
+
response = match_bases_rna_sequences.sync_detailed(
|
333
|
+
client=self.client,
|
334
|
+
json_body=match_bases_request,
|
335
|
+
)
|
336
|
+
return model_from_detailed(response)
|
337
|
+
|
338
|
+
@api_method
|
339
|
+
def search_bases(self, search_bases_request: SearchBasesRequest) -> RnaSequencesPaginatedList:
|
340
|
+
"""
|
341
|
+
Search bases.
|
342
|
+
|
343
|
+
Returns RNA Sequences that contain the provided bases.
|
344
|
+
Search indexing is asynchronous, so results may be not be available immediately after creation.
|
345
|
+
|
346
|
+
See https://benchling.com/api/reference#/RNA%20Sequences/searchRnaSequences
|
347
|
+
"""
|
348
|
+
response = search_rna_sequences.sync_detailed(
|
349
|
+
client=self.client,
|
350
|
+
json_body=search_bases_request,
|
351
|
+
)
|
352
|
+
return model_from_detailed(response)
|
@@ -6,6 +6,7 @@ from benchling_api_client.v2.stable.api.users import (
|
|
6
6
|
create_user,
|
7
7
|
get_user,
|
8
8
|
get_user_activity,
|
9
|
+
get_user_warehouse_logins,
|
9
10
|
list_users,
|
10
11
|
update_user,
|
11
12
|
)
|
@@ -19,6 +20,7 @@ from benchling_sdk.helpers.response_helpers import model_from_detailed
|
|
19
20
|
from benchling_sdk.helpers.serialization_helpers import none_as_unset, optional_array_query_param
|
20
21
|
from benchling_sdk.models import (
|
21
22
|
AsyncTaskLink,
|
23
|
+
GetUserWarehouseLoginsResponse_200,
|
22
24
|
ListUsersSort,
|
23
25
|
User,
|
24
26
|
UserActivity,
|
@@ -193,3 +195,13 @@ class UserService(BaseService):
|
|
193
195
|
"""
|
194
196
|
response = get_user_activity.sync_detailed(client=self.client, user_id=user_id)
|
195
197
|
return model_from_detailed(response)
|
198
|
+
|
199
|
+
@api_method
|
200
|
+
def get_warehouse_logins(self, user_id: str) -> GetUserWarehouseLoginsResponse_200:
|
201
|
+
"""
|
202
|
+
Return the list of warehouse credential summaries for this user.
|
203
|
+
|
204
|
+
See https://benchling.com/api/reference#/Users/getUserWarehouseLogins
|
205
|
+
"""
|
206
|
+
response = get_user_warehouse_logins.sync_detailed(client=self.client, user_id=user_id)
|
207
|
+
return model_from_detailed(response)
|
@@ -13,14 +13,9 @@ if TYPE_CHECKING:
|
|
13
13
|
from benchling_sdk.services.v2.beta.v2_beta_aa_sequence_service import V2BetaAaSequenceService
|
14
14
|
from benchling_sdk.services.v2.beta.v2_beta_app_service import V2BetaAppService
|
15
15
|
from benchling_sdk.services.v2.beta.v2_beta_collaboration_service import V2BetaCollaborationService
|
16
|
-
from benchling_sdk.services.v2.beta.v2_beta_custom_entity_service import V2BetaCustomEntityService
|
17
|
-
from benchling_sdk.services.v2.beta.v2_beta_dna_oligo_service import V2BetaDnaOligoService
|
18
|
-
from benchling_sdk.services.v2.beta.v2_beta_dna_sequence_service import V2BetaDnaSequenceService
|
19
|
-
from benchling_sdk.services.v2.beta.v2_beta_entity_service import V2BetaEntityService
|
20
16
|
from benchling_sdk.services.v2.beta.v2_beta_entry_service import V2BetaEntryService
|
21
17
|
from benchling_sdk.services.v2.beta.v2_beta_folder_service import V2BetaFolderService
|
22
18
|
from benchling_sdk.services.v2.beta.v2_beta_project_service import V2BetaProjectService
|
23
|
-
from benchling_sdk.services.v2.beta.v2_beta_rna_oligo_service import V2BetaRnaOligoService
|
24
19
|
from benchling_sdk.services.v2.beta.v2_beta_worklist_service import V2BetaWorklistService
|
25
20
|
|
26
21
|
|
@@ -36,15 +31,10 @@ class V2BetaService(BaseService):
|
|
36
31
|
_aa_sequence_service: Optional[V2BetaAaSequenceService]
|
37
32
|
_app_service: Optional[V2BetaAppService]
|
38
33
|
_collaboration_service: Optional[V2BetaCollaborationService]
|
39
|
-
_custom_entity_service: Optional[V2BetaCustomEntityService]
|
40
34
|
_data_frame_service: Optional[V2BetaDataFrameService]
|
41
|
-
_dna_oligo_service: Optional[V2BetaDnaOligoService]
|
42
|
-
_dna_sequence_service: Optional[V2BetaDnaSequenceService]
|
43
|
-
_entity_service: Optional[V2BetaEntityService]
|
44
35
|
_entry_service: Optional[V2BetaEntryService]
|
45
36
|
_folder_service: Optional[V2BetaFolderService]
|
46
37
|
_project_service: Optional[V2BetaProjectService]
|
47
|
-
_rna_oligo_service: Optional[V2BetaRnaOligoService]
|
48
38
|
_worklist_service: Optional[V2BetaWorklistService]
|
49
39
|
_beta_client: Client
|
50
40
|
|
@@ -60,15 +50,10 @@ class V2BetaService(BaseService):
|
|
60
50
|
self._aa_sequence_service = None
|
61
51
|
self._app_service = None
|
62
52
|
self._collaboration_service = None
|
63
|
-
self._custom_entity_service = None
|
64
53
|
self._data_frame_service = None
|
65
|
-
self._dna_sequence_service = None
|
66
|
-
self._dna_oligo_service = None
|
67
|
-
self._entity_service = None
|
68
54
|
self._entry_service = None
|
69
55
|
self._folder_service = None
|
70
56
|
self._project_service = None
|
71
|
-
self._rna_oligo_service = None
|
72
57
|
self._worklist_service = None
|
73
58
|
|
74
59
|
@property
|
@@ -120,22 +105,6 @@ class V2BetaService(BaseService):
|
|
120
105
|
self._collaboration_service = V2BetaCollaborationService(self._beta_client, self.retry_strategy)
|
121
106
|
return self._collaboration_service
|
122
107
|
|
123
|
-
@property
|
124
|
-
def custom_entities(self) -> V2BetaCustomEntityService:
|
125
|
-
"""
|
126
|
-
V2-Beta Custom Entities.
|
127
|
-
|
128
|
-
Benchling supports custom entities for biological entities that are neither sequences or proteins. Custom
|
129
|
-
entities must have an entity schema set and can have both schema fields and custom fields.
|
130
|
-
|
131
|
-
See https://benchling.com/api/v2-beta/reference#/Custom%20Entities
|
132
|
-
"""
|
133
|
-
if self._custom_entity_service is None:
|
134
|
-
from benchling_sdk.services.v2.beta.v2_beta_custom_entity_service import V2BetaCustomEntityService
|
135
|
-
|
136
|
-
self._custom_entity_service = V2BetaCustomEntityService(self._beta_client, self.retry_strategy)
|
137
|
-
return self._custom_entity_service
|
138
|
-
|
139
108
|
@property
|
140
109
|
def data_frames(self) -> V2BetaDataFrameService:
|
141
110
|
"""
|
@@ -151,55 +120,6 @@ class V2BetaService(BaseService):
|
|
151
120
|
self._data_frame_service = V2BetaDataFrameService(self._beta_client, self.retry_strategy)
|
152
121
|
return self._data_frame_service
|
153
122
|
|
154
|
-
@property
|
155
|
-
def dna_oligos(self) -> V2BetaDnaOligoService:
|
156
|
-
"""
|
157
|
-
V2-Beta DNA Oligos.
|
158
|
-
|
159
|
-
DNA Oligos are short linear DNA sequences that can be attached as primers to full DNA sequences. Just like other
|
160
|
-
entities, they support schemas, tags, and aliases.
|
161
|
-
|
162
|
-
See https://benchling.com/api/v2-beta/reference#/DNA%20Oligos
|
163
|
-
"""
|
164
|
-
if self._dna_oligo_service is None:
|
165
|
-
from benchling_sdk.services.v2.beta.v2_beta_dna_oligo_service import V2BetaDnaOligoService
|
166
|
-
|
167
|
-
self._dna_oligo_service = V2BetaDnaOligoService(self._beta_client, self.retry_strategy)
|
168
|
-
return self._dna_oligo_service
|
169
|
-
|
170
|
-
@property
|
171
|
-
def dna_sequences(self) -> V2BetaDnaSequenceService:
|
172
|
-
"""
|
173
|
-
V2-Beta DNA Sequences.
|
174
|
-
|
175
|
-
DNA sequences are the bread and butter of the Benchling Molecular Biology suite. On Benchling, these are
|
176
|
-
comprised of a string of nucleotides and collections of other attributes, such as annotations and primers.
|
177
|
-
|
178
|
-
See https://benchling.com/api/v2-beta/reference#/DNA%20Sequences
|
179
|
-
"""
|
180
|
-
if self._dna_sequence_service is None:
|
181
|
-
from benchling_sdk.services.v2.beta.v2_beta_dna_sequence_service import V2BetaDnaSequenceService
|
182
|
-
|
183
|
-
self._dna_sequence_service = V2BetaDnaSequenceService(self._beta_client, self.retry_strategy)
|
184
|
-
return self._dna_sequence_service
|
185
|
-
|
186
|
-
@property
|
187
|
-
def entities(self) -> V2BetaEntityService:
|
188
|
-
"""
|
189
|
-
V2-Beta Entities.
|
190
|
-
|
191
|
-
Entities include DNA and AA sequences, oligos, molecules, custom entities, and
|
192
|
-
other biological objects in Benchling. Entities support schemas, tags, and aliases,
|
193
|
-
and can be registered.
|
194
|
-
|
195
|
-
See https://benchling.com/api/v2-beta/reference#/Entities
|
196
|
-
"""
|
197
|
-
if self._entity_service is None:
|
198
|
-
from benchling_sdk.services.v2.beta.v2_beta_entity_service import V2BetaEntityService
|
199
|
-
|
200
|
-
self._entity_service = V2BetaEntityService(self._beta_client, self.retry_strategy)
|
201
|
-
return self._entity_service
|
202
|
-
|
203
123
|
@property
|
204
124
|
def entries(self) -> V2BetaEntryService:
|
205
125
|
"""
|
@@ -245,22 +165,6 @@ class V2BetaService(BaseService):
|
|
245
165
|
self._project_service = V2BetaProjectService(self._beta_client, self.retry_strategy)
|
246
166
|
return self._project_service
|
247
167
|
|
248
|
-
@property
|
249
|
-
def rna_oligos(self) -> V2BetaRnaOligoService:
|
250
|
-
"""
|
251
|
-
V2-Beta RNA Oligos.
|
252
|
-
|
253
|
-
RNA Oligos are short linear RNA sequences that can be attached as primers to full DNA sequences. Just like other
|
254
|
-
entities, they support schemas, tags, and aliases.
|
255
|
-
|
256
|
-
See https://benchling.com/api/v2-beta/reference#/RNA%20Oligos
|
257
|
-
"""
|
258
|
-
if self._rna_oligo_service is None:
|
259
|
-
from benchling_sdk.services.v2.beta.v2_beta_rna_oligo_service import V2BetaRnaOligoService
|
260
|
-
|
261
|
-
self._rna_oligo_service = V2BetaRnaOligoService(self._beta_client, self.retry_strategy)
|
262
|
-
return self._rna_oligo_service
|
263
|
-
|
264
168
|
@property
|
265
169
|
def worklists(self) -> V2BetaWorklistService:
|
266
170
|
"""
|
@@ -6,7 +6,6 @@ from benchling_api_client.v2.stable.client import Client
|
|
6
6
|
|
7
7
|
from benchling_sdk.helpers.retry_helpers import RetryStrategy
|
8
8
|
from benchling_sdk.services.v2.base_service import BaseService
|
9
|
-
from benchling_sdk.services.v2.stable.custom_notation_service import CustomNotationService
|
10
9
|
|
11
10
|
if TYPE_CHECKING:
|
12
11
|
from benchling_sdk.services.v2.stable.aa_sequence_service import AaSequenceService
|
@@ -18,10 +17,12 @@ if TYPE_CHECKING:
|
|
18
17
|
from benchling_sdk.services.v2.stable.box_service import BoxService
|
19
18
|
from benchling_sdk.services.v2.stable.container_service import ContainerService
|
20
19
|
from benchling_sdk.services.v2.stable.custom_entity_service import CustomEntityService
|
20
|
+
from benchling_sdk.services.v2.stable.custom_notation_service import CustomNotationService
|
21
21
|
from benchling_sdk.services.v2.stable.dna_alignments_service import DnaAlignmentsService
|
22
22
|
from benchling_sdk.services.v2.stable.dna_oligo_service import DnaOligoService
|
23
23
|
from benchling_sdk.services.v2.stable.dna_sequence_service import DnaSequenceService
|
24
24
|
from benchling_sdk.services.v2.stable.dropdown_service import DropdownService
|
25
|
+
from benchling_sdk.services.v2.stable.entity_service import EntityService
|
25
26
|
from benchling_sdk.services.v2.stable.entry_service import EntryService
|
26
27
|
from benchling_sdk.services.v2.stable.event_service import EventService
|
27
28
|
from benchling_sdk.services.v2.stable.export_service import ExportService
|
@@ -74,6 +75,7 @@ class V2StableService(BaseService):
|
|
74
75
|
_dna_alignments_service: Optional[DnaAlignmentsService]
|
75
76
|
_dna_oligo_service: Optional[DnaOligoService]
|
76
77
|
_dna_sequence_service: Optional[DnaSequenceService]
|
78
|
+
_entities_service: Optional[EntityService]
|
77
79
|
_entries_service: Optional[EntryService]
|
78
80
|
_event_service: Optional[EventService]
|
79
81
|
_export_service: Optional[ExportService]
|
@@ -126,6 +128,7 @@ class V2StableService(BaseService):
|
|
126
128
|
self._dna_alignments_service = None
|
127
129
|
self._dna_oligo_service = None
|
128
130
|
self._dna_sequence_service = None
|
131
|
+
self._entities_service = None
|
129
132
|
self._entries_service = None
|
130
133
|
self._event_service = None
|
131
134
|
self._export_service = None
|
@@ -412,6 +415,23 @@ class V2StableService(BaseService):
|
|
412
415
|
self._dropdown_service = DropdownService(self._client, retry_strategy=self._retry_strategy)
|
413
416
|
return self._dropdown_service
|
414
417
|
|
418
|
+
@property
|
419
|
+
def entities(self) -> EntityService:
|
420
|
+
"""
|
421
|
+
Entities.
|
422
|
+
|
423
|
+
Entities include DNA and AA sequences, oligos, molecules, custom entities, and
|
424
|
+
other biological objects in Benchling. Entities support schemas, tags, and aliases,
|
425
|
+
and can be registered.
|
426
|
+
|
427
|
+
See https://benchling.com/api/reference#/Entities
|
428
|
+
"""
|
429
|
+
if self._entities_service is None:
|
430
|
+
from benchling_sdk.services.v2.stable.entity_service import EntityService
|
431
|
+
|
432
|
+
self._entities_service = EntityService(self._client, retry_strategy=self._retry_strategy)
|
433
|
+
return self._entities_service
|
434
|
+
|
415
435
|
@property
|
416
436
|
def entries(self) -> EntryService:
|
417
437
|
"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: benchling-sdk
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.12.0a1
|
4
4
|
Summary: SDK for interacting with the Benchling Platform.
|
5
5
|
License: Apache-2.0
|
6
6
|
Author: Benchling Support
|
@@ -17,7 +17,7 @@ Provides-Extra: python-jose
|
|
17
17
|
Requires-Dist: PyYAML (>=6.0,<7.0)
|
18
18
|
Requires-Dist: attrs (>=20.1.0,<23)
|
19
19
|
Requires-Dist: backoff (>=1.10.0,<2.0.0)
|
20
|
-
Requires-Dist: benchling-api-client (==2.0.
|
20
|
+
Requires-Dist: benchling-api-client (==2.0.287)
|
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)
|
@@ -27,7 +27,7 @@ benchling_sdk/auth/__init__.py,sha256=N4pJYVUnTLzg5HO9ZldHaI-Am97i6AOCdQS0M5QcVp
|
|
27
27
|
benchling_sdk/auth/api_key_auth.py,sha256=Ui-cnvGMjcwVPV_b2GdBaoTjEyHJIu9CjtZScVBEUvU,641
|
28
28
|
benchling_sdk/auth/bearer_token_auth.py,sha256=nymI8V91evcnK-TWKkBXZwck8U1qSh4WaseyQbvF-Cg,1268
|
29
29
|
benchling_sdk/auth/client_credentials_oauth2.py,sha256=auHj8FAJxUrDf1HJp9wfmcC_pJ-3rj4tdQbsUIvSUQs,5801
|
30
|
-
benchling_sdk/benchling.py,sha256=
|
30
|
+
benchling_sdk/benchling.py,sha256=zpthXOtPdGo1-BsjqXo6TcPVNBWadQKHHZnBOD784A0,26428
|
31
31
|
benchling_sdk/docs/__init__.py,sha256=ySHo76PzLndmXOVWrF80VjB5Pi48G82CCQNdzUEzbCY,38
|
32
32
|
benchling_sdk/docs/__main__.py,sha256=1ZlGXdn2gHGC0fAuan5i54mh35VkDf5mhY9VeKNyCRA,244
|
33
33
|
benchling_sdk/errors.py,sha256=9JCjkY7wQ-K-_GStgYZrSns35FNExZSx-t5Xdlh-U0I,8239
|
@@ -43,7 +43,7 @@ benchling_sdk/helpers/response_helpers.py,sha256=vtmb9lEEKy3dRFre3Q0R4XaLBEaS_rr
|
|
43
43
|
benchling_sdk/helpers/retry_helpers.py,sha256=SeKOPjnJIes6UsD7kVqlYKBYmwH_DCHdllnG3jys3N8,2740
|
44
44
|
benchling_sdk/helpers/serialization_helpers.py,sha256=IUS0uGU_EiZvb8O-bTViUaROmxKcvdX3JeR9iKsWAG8,3662
|
45
45
|
benchling_sdk/helpers/transaction_manager.py,sha256=HcSDsgGK7Rb93bgv6fpb4HvQUT-tqP0lXgVa_bWCDh4,3663
|
46
|
-
benchling_sdk/models/__init__.py,sha256=
|
46
|
+
benchling_sdk/models/__init__.py,sha256=nOv638Xm2k1mMXNfFDKcY9oLbXjfgzjxyfdMGlZjZ9A,345337
|
47
47
|
benchling_sdk/models/webhooks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
48
|
benchling_sdk/models/webhooks/v0/__init__.py,sha256=4n1NDjsKwvdQTGTpNjvzCBq4ZMwv4wtImkETMCX-TdM,6836
|
49
49
|
benchling_sdk/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
|
@@ -54,21 +54,16 @@ benchling_sdk/services/v2/alpha/v2_alpha_app_service.py,sha256=cR3nk6oxV2B-ewcUo
|
|
54
54
|
benchling_sdk/services/v2/alpha/v2_alpha_dna_sequence_service.py,sha256=XzpaPWbdxbwE_LJ5RheKHNAwdjPNfr7-o3IXmJsQ6UI,1347
|
55
55
|
benchling_sdk/services/v2/base_service.py,sha256=g4Qn001slCJTvqDvRmbImJNBJ8lPJgMVL1H4Xxc8D2o,951
|
56
56
|
benchling_sdk/services/v2/beta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
57
|
-
benchling_sdk/services/v2/beta/v2_beta_aa_sequence_service.py,sha256=
|
57
|
+
benchling_sdk/services/v2/beta/v2_beta_aa_sequence_service.py,sha256=ED5jOL1N5JzuikpVPZNj0Wi5czwTfA9HChQca1fwA3I,1410
|
58
58
|
benchling_sdk/services/v2/beta/v2_beta_app_service.py,sha256=nVOEQ3ESkUo2e4p_MYMq-VUpEx2wNpJIY7ZZ8UuHnuQ,1385
|
59
59
|
benchling_sdk/services/v2/beta/v2_beta_collaboration_service.py,sha256=epLHLdDRfj8ni2-45WWFSpOgQG-kTmbxTffRP1mnim0,5753
|
60
|
-
benchling_sdk/services/v2/beta/v2_beta_custom_entity_service.py,sha256=qpKQ8X_oiyDv_KIEeD9eTo6kGU9hkNlUqqjAdMZQPiM,1840
|
61
60
|
benchling_sdk/services/v2/beta/v2_beta_data_frame_service.py,sha256=oqCVyYBK7YECXYIDWJ5VIaiAO-W7GXC7xd0Wy1swTmU,14853
|
62
|
-
benchling_sdk/services/v2/beta/v2_beta_dna_oligo_service.py,sha256=s2XZMItVJjJp3lZZ7YLh1GbV_cdIKLPOVqglKcAWMNg,1704
|
63
|
-
benchling_sdk/services/v2/beta/v2_beta_dna_sequence_service.py,sha256=wLN9lTF-faBrofQHlw3uKilaQvdOgSDI2oFa1GeuViY,1843
|
64
|
-
benchling_sdk/services/v2/beta/v2_beta_entity_service.py,sha256=NKYYdqZz6umnbGHb2syWr5E2ECwrPfoeWp5O--dhpaA,1970
|
65
61
|
benchling_sdk/services/v2/beta/v2_beta_entry_service.py,sha256=XP00N8NGuAMpJMkeiSTqDR-LFRvwRMVzFHIzQJvOfbA,1053
|
66
62
|
benchling_sdk/services/v2/beta/v2_beta_folder_service.py,sha256=b6-D_eDTF1e2l2YLhr4qkKtLXtH_BUVCcHhaB_CBNAM,4959
|
67
63
|
benchling_sdk/services/v2/beta/v2_beta_project_service.py,sha256=8Wk0u6dtiewytfuJ2RaybMOfqih7YF74cJF_wsetJpM,4926
|
68
|
-
benchling_sdk/services/v2/beta/v2_beta_rna_oligo_service.py,sha256=q6ckT2GOuytJaHj4hvu7aXLK5es8pq0HycmDwAhl2Xo,1704
|
69
64
|
benchling_sdk/services/v2/beta/v2_beta_worklist_service.py,sha256=tFMe-7Wbw3qISe-T5EsnYVsmcd1P8Aw1NoWmNA5MroU,5544
|
70
65
|
benchling_sdk/services/v2/stable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
|
-
benchling_sdk/services/v2/stable/aa_sequence_service.py,sha256=
|
66
|
+
benchling_sdk/services/v2/stable/aa_sequence_service.py,sha256=ttiN9YeezeBmJW8RAyqwwSYRDk2i2EMDNvArgVPsM-w,12935
|
72
67
|
benchling_sdk/services/v2/stable/api_service.py,sha256=e0RNp4Jne9UTaHOYMOxxXJpsyUO3WMSFPzN7hB8iliU,12371
|
73
68
|
benchling_sdk/services/v2/stable/app_service.py,sha256=dy9FMVvMiJrkYbxZswKuB37EB9K_jCqQr9FfAa0BMgE,23126
|
74
69
|
benchling_sdk/services/v2/stable/assay_result_service.py,sha256=_qtSpMznVrGHlB2VnHI87IPjVQHCX1pZbLPJ_LYuW7U,13362
|
@@ -76,12 +71,13 @@ benchling_sdk/services/v2/stable/assay_run_service.py,sha256=tLpG1pAztEoaDatqlgY
|
|
76
71
|
benchling_sdk/services/v2/stable/blob_service.py,sha256=KwchH3FGzPLfZx85GEG3voQp_ZxyVL_dds_9awRWa0Q,17115
|
77
72
|
benchling_sdk/services/v2/stable/box_service.py,sha256=M40smqG-jQlioyRfLBu9Cr9aQmdh06crsYbH1fiZ0BM,12359
|
78
73
|
benchling_sdk/services/v2/stable/container_service.py,sha256=8g3gwcI5fSuSbEQCtrksAiqcksky9lHXxyoyf0lbAR0,18639
|
79
|
-
benchling_sdk/services/v2/stable/custom_entity_service.py,sha256=
|
74
|
+
benchling_sdk/services/v2/stable/custom_entity_service.py,sha256=LOATrTh7Vv6dXWlUqyH8Eet3bwBm0BNoVbCZYiqWu80,12188
|
80
75
|
benchling_sdk/services/v2/stable/custom_notation_service.py,sha256=LCnt8hoCkkSRbz-bXUaYbuMaE-1XdYmXB0MgeQ30POc,2141
|
81
76
|
benchling_sdk/services/v2/stable/dna_alignments_service.py,sha256=leJaPt7Uk1PyxfO9LXTVi2DjLyqcXgeMselftJaGJA4,7445
|
82
|
-
benchling_sdk/services/v2/stable/dna_oligo_service.py,sha256=
|
83
|
-
benchling_sdk/services/v2/stable/dna_sequence_service.py,sha256=
|
77
|
+
benchling_sdk/services/v2/stable/dna_oligo_service.py,sha256=0D3X98UxWWolkCG_IxiPE3oiFMwyqC7vJlJCyEbNDt4,11128
|
78
|
+
benchling_sdk/services/v2/stable/dna_sequence_service.py,sha256=YkcwrFmWDQpKDtMvdTdaMkiRD9-xd9BtNejb8VWVhnk,15203
|
84
79
|
benchling_sdk/services/v2/stable/dropdown_service.py,sha256=AcnATXU_TChhSm9NX8dx9wnbxeBwACzThw5zM3yPYmk,4919
|
80
|
+
benchling_sdk/services/v2/stable/entity_service.py,sha256=NGDjng4rwiL6EeDCEs5oy9ciKV6CPv71S1l7A8zM0Uk,2190
|
85
81
|
benchling_sdk/services/v2/stable/entry_service.py,sha256=nGK8bctxpaeyHFNj-aY53TbTOwGvqbd8xqQgs-nncKI,12935
|
86
82
|
benchling_sdk/services/v2/stable/event_service.py,sha256=--j-oqKR-Ld5d4QiJ6aofOr9LTBCM7maqwRvo2goSPA,2538
|
87
83
|
benchling_sdk/services/v2/stable/export_service.py,sha256=T8ir9yRyA8rMUXagLAWYR4cYtOzxt6JxjlnQwExk_HU,1080
|
@@ -92,30 +88,30 @@ benchling_sdk/services/v2/stable/lab_automation_service.py,sha256=vfKLrH6eZn9v2u
|
|
92
88
|
benchling_sdk/services/v2/stable/label_template_service.py,sha256=VS25LUpUsJnkU_AFTTKjwMruVgE5-izLoc-_wrqr4Pk,1300
|
93
89
|
benchling_sdk/services/v2/stable/location_service.py,sha256=4RVFEBRQZnNOm2AXdJcBYHVVPEtDsvihlKskbtez_d0,8026
|
94
90
|
benchling_sdk/services/v2/stable/mixture_service.py,sha256=nNwh67Or1BQYZxcatcg-OEEw82Jr6UnxsYVRB9Y18GY,9952
|
95
|
-
benchling_sdk/services/v2/stable/molecule_service.py,sha256=
|
91
|
+
benchling_sdk/services/v2/stable/molecule_service.py,sha256=7BiurkHuS1ufMeZdRQ7UDb9Z7iTpcVeUIs2i9afHIdQ,10530
|
96
92
|
benchling_sdk/services/v2/stable/nucleotide_alignments_service.py,sha256=ab52E-PVeBF693QA8R8OxwtsppyDiehvrkveNPIhjTI,6100
|
97
93
|
benchling_sdk/services/v2/stable/oligo_service.py,sha256=0cmQIpsijY-X2-6Bd33NVk5JRdS0OSoLjgTrZHIOra8,12173
|
98
94
|
benchling_sdk/services/v2/stable/organization_service.py,sha256=j9B2cUCgPPTMjtFW70-dMUFQJAqpUXNTh8LJ7gvcOGo,4927
|
99
|
-
benchling_sdk/services/v2/stable/plate_service.py,sha256=
|
95
|
+
benchling_sdk/services/v2/stable/plate_service.py,sha256=2KU9sZ7x3niQQQHlhQ_yFKy4GoddJQ5v-kxG808T1mE,13226
|
100
96
|
benchling_sdk/services/v2/stable/printer_service.py,sha256=XhXCwbNAamndWLuHn9UE2ehkkl6vCN5hhxBUvr93Uzk,1181
|
101
97
|
benchling_sdk/services/v2/stable/project_service.py,sha256=Mb3ibiOQJ3uRnJLoDLYgPgrFE80N1bdYQz9LwpbrMtg,4140
|
102
98
|
benchling_sdk/services/v2/stable/registry_service.py,sha256=DtftbhKoxruV9H8ksvQRUYXakv1nQ92uu17iKVOlZnY,4627
|
103
99
|
benchling_sdk/services/v2/stable/request_service.py,sha256=EzXuIXE4mnGtEXiLYKqUApDbXp8ODq35FP-egVEXZC8,9500
|
104
|
-
benchling_sdk/services/v2/stable/rna_oligo_service.py,sha256=
|
105
|
-
benchling_sdk/services/v2/stable/rna_sequence_service.py,sha256=
|
100
|
+
benchling_sdk/services/v2/stable/rna_oligo_service.py,sha256=16Q2ijthmpbkDm6_9EeXZ_QfVDOb5vgAWum33QKQ8Kw,11358
|
101
|
+
benchling_sdk/services/v2/stable/rna_sequence_service.py,sha256=F1_wx7t4SOsb_yswH-X4cLeqhqZTQe1oE6D7dg52Fcw,14163
|
106
102
|
benchling_sdk/services/v2/stable/schema_service.py,sha256=W64obUUqBcDbMbBOtDVb_bl-VUQGARoeb2u4I96k9Tk,23509
|
107
103
|
benchling_sdk/services/v2/stable/task_service.py,sha256=61vimlvZf2R93SitGyd883Yk5pmStavnPDkxuwFvzfU,4983
|
108
104
|
benchling_sdk/services/v2/stable/team_service.py,sha256=SYwI2Bv3rWDYnoEKb-MX_yhe39fErewJ4Sx0aon-ej0,4723
|
109
|
-
benchling_sdk/services/v2/stable/user_service.py,sha256=
|
105
|
+
benchling_sdk/services/v2/stable/user_service.py,sha256=NkMPz2rPaF6iXNWTBAOWSiXVif2rHYGbYAzaHg4Fhig,7528
|
110
106
|
benchling_sdk/services/v2/stable/warehouse_service.py,sha256=_gVTwJZ5BcaNBG0k8I0a4MRahajkV7TNtREfuQGwR74,1286
|
111
107
|
benchling_sdk/services/v2/stable/workflow_output_service.py,sha256=VD0RvOBCkgX_YwUoQYQPR_PyGJXuIau5beq9bK75VXM,9993
|
112
108
|
benchling_sdk/services/v2/stable/workflow_task_group_service.py,sha256=SSfHDH-Eniz09HG_qSPSfSVHU3BpvTbgGhOQS4iWcAw,8848
|
113
109
|
benchling_sdk/services/v2/stable/workflow_task_service.py,sha256=pOhwFmWVk1jh3A9C70LpLhYjlgk2DcGCfjO8Uup9ScQ,12819
|
114
110
|
benchling_sdk/services/v2/v2_alpha_service.py,sha256=vNfYK0Dheml9ozR_0tzTlA3blPDTdfTQR8ppaQ6xuu4,2609
|
115
|
-
benchling_sdk/services/v2/v2_beta_service.py,sha256=
|
116
|
-
benchling_sdk/services/v2/v2_stable_service.py,sha256=
|
111
|
+
benchling_sdk/services/v2/v2_beta_service.py,sha256=URRSAdNuoSg322Ej18st0Z4SPBw7-y0udOeBpw2Lomg,7149
|
112
|
+
benchling_sdk/services/v2/v2_stable_service.py,sha256=zZ9Mrx0TkDwPG62uNAzz79wI2hUwcaSO3qAJX29Fij0,36051
|
117
113
|
benchling_sdk/services/v2_service.py,sha256=3eoIjYEmGLPdWCpBN0pl7q7_HNWCsUvfvTn3Hcz0wSM,2860
|
118
|
-
benchling_sdk-1.
|
119
|
-
benchling_sdk-1.
|
120
|
-
benchling_sdk-1.
|
121
|
-
benchling_sdk-1.
|
114
|
+
benchling_sdk-1.12.0a1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
115
|
+
benchling_sdk-1.12.0a1.dist-info/METADATA,sha256=gsThhXe9bqMsux3zsVis2GAYDZ2mmNWtShyMpyfk1Pw,2118
|
116
|
+
benchling_sdk-1.12.0a1.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
117
|
+
benchling_sdk-1.12.0a1.dist-info/RECORD,,
|
@@ -1,43 +0,0 @@
|
|
1
|
-
from benchling_api_client.v2.beta.api.custom_entities import bulk_upsert_custom_entities, upsert_custom_entity
|
2
|
-
from benchling_api_client.v2.beta.models.custom_entities_bulk_upsert_request import (
|
3
|
-
CustomEntitiesBulkUpsertRequest,
|
4
|
-
)
|
5
|
-
from benchling_api_client.v2.beta.models.custom_entity_upsert_request import CustomEntityUpsertRequest
|
6
|
-
|
7
|
-
from benchling_sdk.helpers.decorators import api_method
|
8
|
-
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
9
|
-
from benchling_sdk.models import AsyncTaskLink, CustomEntity
|
10
|
-
from benchling_sdk.services.v2.base_service import BaseService
|
11
|
-
|
12
|
-
|
13
|
-
class V2BetaCustomEntityService(BaseService):
|
14
|
-
"""
|
15
|
-
V2-Beta Custom Entities.
|
16
|
-
|
17
|
-
Benchling supports custom entities for biological entities that are neither sequences or proteins. Custom
|
18
|
-
entities must have an entity schema set and can have both schema fields and custom fields.
|
19
|
-
|
20
|
-
See https://benchling.com/api/v2-beta/reference#/Custom%20Entities
|
21
|
-
"""
|
22
|
-
|
23
|
-
@api_method
|
24
|
-
def upsert(self, entity_registry_id: str, entity: CustomEntityUpsertRequest) -> CustomEntity:
|
25
|
-
"""
|
26
|
-
Create or modify a custom entity.
|
27
|
-
|
28
|
-
See https://benchling.com/api/v2-beta/reference#/Custom%20Entities/upsertCustomEntity
|
29
|
-
"""
|
30
|
-
response = upsert_custom_entity.sync_detailed(
|
31
|
-
client=self.client, entity_registry_id=entity_registry_id, json_body=entity
|
32
|
-
)
|
33
|
-
return model_from_detailed(response)
|
34
|
-
|
35
|
-
@api_method
|
36
|
-
def bulk_upsert(self, body: CustomEntitiesBulkUpsertRequest) -> AsyncTaskLink:
|
37
|
-
"""
|
38
|
-
Bulk update custom entities.
|
39
|
-
|
40
|
-
See https://benchling.com/api/v2-beta/reference#/Custom%20Entities/bulkUpsertCustomEntities
|
41
|
-
"""
|
42
|
-
response = bulk_upsert_custom_entities.sync_detailed(client=self.client, json_body=body)
|
43
|
-
return model_from_detailed(response)
|
@@ -1,41 +0,0 @@
|
|
1
|
-
from benchling_api_client.v2.beta.api.dna_oligos import bulk_upsert_dna_oligos, upsert_dna_oligo
|
2
|
-
from benchling_api_client.v2.beta.models.dna_oligos_bulk_upsert_request import DnaOligosBulkUpsertRequest
|
3
|
-
from benchling_api_client.v2.beta.models.oligo_upsert_request import OligoUpsertRequest
|
4
|
-
|
5
|
-
from benchling_sdk.helpers.decorators import api_method
|
6
|
-
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
7
|
-
from benchling_sdk.models import AsyncTaskLink, DnaOligo
|
8
|
-
from benchling_sdk.services.v2.base_service import BaseService
|
9
|
-
|
10
|
-
|
11
|
-
class V2BetaDnaOligoService(BaseService):
|
12
|
-
"""
|
13
|
-
V2-Beta DNA Oligos.
|
14
|
-
|
15
|
-
DNA Oligos are short linear DNA sequences that can be attached as primers to full DNA sequences. Just like other
|
16
|
-
entities, they support schemas, tags, and aliases.
|
17
|
-
|
18
|
-
See https://benchling.com/api/v2-beta/reference#/DNA%20Oligos
|
19
|
-
"""
|
20
|
-
|
21
|
-
@api_method
|
22
|
-
def upsert(self, entity_registry_id: str, dna_oligo: OligoUpsertRequest) -> DnaOligo:
|
23
|
-
"""
|
24
|
-
Create or modify a DNA Oligo.
|
25
|
-
|
26
|
-
See https://benchling.com/api/v2-beta/reference#/DNA%20Oligos/upsertDNAOligo
|
27
|
-
"""
|
28
|
-
response = upsert_dna_oligo.sync_detailed(
|
29
|
-
client=self.client, entity_registry_id=entity_registry_id, json_body=dna_oligo
|
30
|
-
)
|
31
|
-
return model_from_detailed(response)
|
32
|
-
|
33
|
-
@api_method
|
34
|
-
def bulk_upsert(self, body: DnaOligosBulkUpsertRequest) -> AsyncTaskLink:
|
35
|
-
"""
|
36
|
-
Bulk create or update DNA Oligos.
|
37
|
-
|
38
|
-
See https://benchling.com/api/v2-beta/reference#/DNA%20Oligos/bulkUpsertDnaOligos
|
39
|
-
"""
|
40
|
-
response = bulk_upsert_dna_oligos.sync_detailed(client=self.client, json_body=body)
|
41
|
-
return model_from_detailed(response)
|
@@ -1,43 +0,0 @@
|
|
1
|
-
from benchling_api_client.v2.beta.api.dna_sequences import bulk_upsert_dna_sequences, upsert_dna_sequence
|
2
|
-
from benchling_api_client.v2.beta.models.dna_sequence_upsert_request import DnaSequenceUpsertRequest
|
3
|
-
from benchling_api_client.v2.beta.models.dna_sequences_bulk_upsert_request import (
|
4
|
-
DnaSequencesBulkUpsertRequest,
|
5
|
-
)
|
6
|
-
|
7
|
-
from benchling_sdk.helpers.decorators import api_method
|
8
|
-
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
9
|
-
from benchling_sdk.models import AsyncTaskLink, DnaSequence
|
10
|
-
from benchling_sdk.services.v2.base_service import BaseService
|
11
|
-
|
12
|
-
|
13
|
-
class V2BetaDnaSequenceService(BaseService):
|
14
|
-
"""
|
15
|
-
V2-Beta DNA Sequences.
|
16
|
-
|
17
|
-
DNA sequences are the bread and butter of the Benchling Molecular Biology suite. On Benchling, these are
|
18
|
-
comprised of a string of nucleotides and collections of other attributes, such as annotations and primers.
|
19
|
-
|
20
|
-
See https://benchling.com/api/v2-beta/reference#/DNA%20Sequences
|
21
|
-
"""
|
22
|
-
|
23
|
-
@api_method
|
24
|
-
def upsert(self, entity_registry_id: str, dna_sequence: DnaSequenceUpsertRequest) -> DnaSequence:
|
25
|
-
"""
|
26
|
-
Create or modify a DNA sequence.
|
27
|
-
|
28
|
-
See https://benchling.com/api/v2-beta/reference#/DNA%20Sequences/upsertDNASequence
|
29
|
-
"""
|
30
|
-
response = upsert_dna_sequence.sync_detailed(
|
31
|
-
client=self.client, entity_registry_id=entity_registry_id, json_body=dna_sequence
|
32
|
-
)
|
33
|
-
return model_from_detailed(response)
|
34
|
-
|
35
|
-
@api_method
|
36
|
-
def bulk_upsert(self, body: DnaSequencesBulkUpsertRequest) -> AsyncTaskLink:
|
37
|
-
"""
|
38
|
-
Bulk create or update DNA sequences.
|
39
|
-
|
40
|
-
See https://benchling.com/api/v2-beta/reference#/DNA%20Sequences/bulkUpsertDnaSequences
|
41
|
-
"""
|
42
|
-
response = bulk_upsert_dna_sequences.sync_detailed(client=self.client, json_body=body)
|
43
|
-
return model_from_detailed(response)
|
@@ -1,41 +0,0 @@
|
|
1
|
-
from benchling_api_client.v2.beta.api.rna_oligos import bulk_upsert_rna_oligos, upsert_rna_oligo
|
2
|
-
from benchling_api_client.v2.beta.models.oligo_upsert_request import OligoUpsertRequest
|
3
|
-
from benchling_api_client.v2.beta.models.rna_oligos_bulk_upsert_request import RnaOligosBulkUpsertRequest
|
4
|
-
|
5
|
-
from benchling_sdk.helpers.decorators import api_method
|
6
|
-
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
7
|
-
from benchling_sdk.models import AsyncTaskLink, RnaOligo
|
8
|
-
from benchling_sdk.services.v2.base_service import BaseService
|
9
|
-
|
10
|
-
|
11
|
-
class V2BetaRnaOligoService(BaseService):
|
12
|
-
"""
|
13
|
-
V2-Beta RNA Oligos.
|
14
|
-
|
15
|
-
RNA Oligos are short linear RNA sequences that can be attached as primers to full DNA sequences. Just like other
|
16
|
-
entities, they support schemas, tags, and aliases.
|
17
|
-
|
18
|
-
See https://benchling.com/api/v2-beta/reference#/RNA%20Oligos
|
19
|
-
"""
|
20
|
-
|
21
|
-
@api_method
|
22
|
-
def upsert(self, entity_registry_id: str, rna_oligo: OligoUpsertRequest) -> RnaOligo:
|
23
|
-
"""
|
24
|
-
Create or modify a RNA Oligo.
|
25
|
-
|
26
|
-
See https://benchling.com/api/v2-beta/reference#/RNA%20Oligos/upsertRNAOligo
|
27
|
-
"""
|
28
|
-
response = upsert_rna_oligo.sync_detailed(
|
29
|
-
client=self.client, entity_registry_id=entity_registry_id, json_body=rna_oligo
|
30
|
-
)
|
31
|
-
return model_from_detailed(response)
|
32
|
-
|
33
|
-
@api_method
|
34
|
-
def bulk_upsert(self, body: RnaOligosBulkUpsertRequest) -> AsyncTaskLink:
|
35
|
-
"""
|
36
|
-
Bulk create or update RNA Oligos.
|
37
|
-
|
38
|
-
See https://benchling.com/api/v2-beta/reference#/RNA%20Oligos/bulkUpsertRnaOligos
|
39
|
-
"""
|
40
|
-
response = bulk_upsert_rna_oligos.sync_detailed(client=self.client, json_body=body)
|
41
|
-
return model_from_detailed(response)
|
File without changes
|
File without changes
|