benchling-sdk 1.12.0a0__py3-none-any.whl → 1.13.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/models/__init__.py +170 -50
- benchling_sdk/models/webhooks/v0/__init__.py +578 -10
- benchling_sdk/services/v2/stable/aa_sequence_service.py +21 -2
- benchling_sdk/services/v2/stable/dna_oligo_service.py +7 -2
- benchling_sdk/services/v2/stable/dna_sequence_service.py +68 -2
- benchling_sdk/services/v2/stable/entity_service.py +10 -2
- benchling_sdk/services/v2/stable/entry_service.py +23 -0
- benchling_sdk/services/v2/stable/molecule_service.py +7 -2
- benchling_sdk/services/v2/stable/plate_service.py +40 -0
- benchling_sdk/services/v2/stable/rna_oligo_service.py +7 -2
- 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_alpha_service.py +0 -20
- benchling_sdk/services/v2/v2_beta_service.py +0 -19
- {benchling_sdk-1.12.0a0.dist-info → benchling_sdk-1.13.0.dist-info}/METADATA +2 -2
- {benchling_sdk-1.12.0a0.dist-info → benchling_sdk-1.13.0.dist-info}/RECORD +18 -20
- benchling_sdk/services/v2/alpha/v2_alpha_dna_sequence_service.py +0 -32
- benchling_sdk/services/v2/beta/v2_beta_aa_sequence_service.py +0 -33
- {benchling_sdk-1.12.0a0.dist-info → benchling_sdk-1.13.0.dist-info}/LICENSE +0 -0
- {benchling_sdk-1.12.0a0.dist-info → benchling_sdk-1.13.0.dist-info}/WHEEL +0 -0
@@ -8,6 +8,7 @@ from benchling_api_client.v2.stable.api.aa_sequences import (
|
|
8
8
|
bulk_update_aa_sequences,
|
9
9
|
bulk_upsert_aa_sequences,
|
10
10
|
create_aa_sequence,
|
11
|
+
find_matching_regions_aa_sequences,
|
11
12
|
get_aa_sequence,
|
12
13
|
list_aa_sequences,
|
13
14
|
unarchive_aa_sequences,
|
@@ -37,6 +38,7 @@ from benchling_sdk.models import (
|
|
37
38
|
AaSequencesBulkCreateRequest,
|
38
39
|
AaSequencesBulkUpdateRequest,
|
39
40
|
AaSequencesBulkUpsertRequest,
|
41
|
+
AaSequencesFindMatchingRegion,
|
40
42
|
AaSequencesPaginatedList,
|
41
43
|
AaSequencesUnarchive,
|
42
44
|
AaSequenceUpdate,
|
@@ -299,11 +301,28 @@ class AaSequenceService(BaseService):
|
|
299
301
|
return model_from_detailed(response)
|
300
302
|
|
301
303
|
@api_method
|
302
|
-
def bulk_upsert(
|
304
|
+
def bulk_upsert(
|
305
|
+
self, body: AaSequencesBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
306
|
+
) -> AsyncTaskLink:
|
303
307
|
"""
|
304
308
|
Bulk create or update AA sequences.
|
305
309
|
|
306
310
|
See https://benchling.com/api/reference#/AA%20Sequences/bulkUpsertAASequences
|
307
311
|
"""
|
308
|
-
|
312
|
+
returning_string = optional_array_query_param(returning)
|
313
|
+
response = bulk_upsert_aa_sequences.sync_detailed(
|
314
|
+
client=self.client, json_body=body, returning=none_as_unset(returning_string)
|
315
|
+
)
|
316
|
+
return model_from_detailed(response)
|
317
|
+
|
318
|
+
@api_method
|
319
|
+
def find_matching_regions(self, find_matching_region: AaSequencesFindMatchingRegion) -> AsyncTaskLink:
|
320
|
+
"""
|
321
|
+
Find matching regions for AA sequences.
|
322
|
+
|
323
|
+
See https://benchling.com/api/v2/reference#/AA%20Sequences/findMatchingRegionsAaSequences
|
324
|
+
"""
|
325
|
+
response = find_matching_regions_aa_sequences.sync_detailed(
|
326
|
+
client=self.client, json_body=find_matching_region
|
327
|
+
)
|
309
328
|
return model_from_detailed(response)
|
@@ -261,11 +261,16 @@ class DnaOligoService(BaseService):
|
|
261
261
|
return model_from_detailed(response)
|
262
262
|
|
263
263
|
@api_method
|
264
|
-
def bulk_upsert(
|
264
|
+
def bulk_upsert(
|
265
|
+
self, body: DnaOligosBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
266
|
+
) -> AsyncTaskLink:
|
265
267
|
"""
|
266
268
|
Bulk create or update DNA Oligos.
|
267
269
|
|
268
270
|
See https://benchling.com/api/reference#/DNA%20Oligos/bulkUpsertDnaOligos
|
269
271
|
"""
|
270
|
-
|
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
|
+
)
|
271
276
|
return model_from_detailed(response)
|
@@ -4,14 +4,18 @@ from benchling_api_client.v2.stable.api.dna_sequences import (
|
|
4
4
|
archive_dna_sequences,
|
5
5
|
auto_annotate_dna_sequences,
|
6
6
|
autofill_dna_sequence_parts,
|
7
|
+
autofill_dna_sequence_transcriptions,
|
7
8
|
autofill_dna_sequence_translations,
|
8
9
|
bulk_create_dna_sequences,
|
9
10
|
bulk_get_dna_sequences,
|
10
11
|
bulk_update_dna_sequences,
|
11
12
|
bulk_upsert_dna_sequences,
|
12
13
|
create_dna_sequence,
|
14
|
+
find_matching_regions_dna_sequences,
|
13
15
|
get_dna_sequence,
|
14
16
|
list_dna_sequences,
|
17
|
+
match_bases_dna_sequences,
|
18
|
+
search_dna_sequences,
|
15
19
|
unarchive_dna_sequences,
|
16
20
|
update_dna_sequence,
|
17
21
|
upsert_dna_sequence,
|
@@ -42,12 +46,15 @@ from benchling_sdk.models import (
|
|
42
46
|
DnaSequencesBulkCreateRequest,
|
43
47
|
DnaSequencesBulkUpdateRequest,
|
44
48
|
DnaSequencesBulkUpsertRequest,
|
49
|
+
DnaSequencesFindMatchingRegion,
|
45
50
|
DnaSequencesPaginatedList,
|
46
51
|
DnaSequencesUnarchive,
|
47
52
|
DnaSequenceUpdate,
|
48
53
|
DnaSequenceUpsertRequest,
|
49
54
|
EntityArchiveReason,
|
50
55
|
ListDNASequencesSort,
|
56
|
+
MatchBasesRequest,
|
57
|
+
SearchBasesRequest,
|
51
58
|
)
|
52
59
|
from benchling_sdk.services.v2.base_service import BaseService
|
53
60
|
|
@@ -290,6 +297,17 @@ class DnaSequenceService(BaseService):
|
|
290
297
|
response = autofill_dna_sequence_parts.sync_detailed(client=self.client, json_body=body)
|
291
298
|
return model_from_detailed(response)
|
292
299
|
|
300
|
+
@api_method
|
301
|
+
def autofill_transcriptions(self, dna_sequence_ids: Iterable[str]) -> AsyncTaskLink:
|
302
|
+
"""
|
303
|
+
Autofill DNA sequence transcriptions.
|
304
|
+
|
305
|
+
See https://benchling.com/api/reference#/DNA%20Sequences/autofillDNASequenceTranscriptions
|
306
|
+
"""
|
307
|
+
body = AutofillSequences(dna_sequence_ids=list(dna_sequence_ids))
|
308
|
+
response = autofill_dna_sequence_transcriptions.sync_detailed(client=self.client, json_body=body)
|
309
|
+
return model_from_detailed(response)
|
310
|
+
|
293
311
|
@api_method
|
294
312
|
def autofill_translations(self, dna_sequence_ids: Iterable[str]) -> AsyncTaskLink:
|
295
313
|
"""
|
@@ -324,11 +342,59 @@ class DnaSequenceService(BaseService):
|
|
324
342
|
return model_from_detailed(response)
|
325
343
|
|
326
344
|
@api_method
|
327
|
-
def bulk_upsert(
|
345
|
+
def bulk_upsert(
|
346
|
+
self, body: DnaSequencesBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
347
|
+
) -> AsyncTaskLink:
|
328
348
|
"""
|
329
349
|
Bulk create or update DNA sequences.
|
330
350
|
|
331
351
|
See https://benchling.com/api/reference#/DNA%20Sequences/bulkUpsertDnaSequences
|
332
352
|
"""
|
333
|
-
|
353
|
+
returning_string = optional_array_query_param(returning)
|
354
|
+
response = bulk_upsert_dna_sequences.sync_detailed(
|
355
|
+
client=self.client, json_body=body, returning=none_as_unset(returning_string)
|
356
|
+
)
|
357
|
+
return model_from_detailed(response)
|
358
|
+
|
359
|
+
@api_method
|
360
|
+
def match_bases(self, match_bases_request: MatchBasesRequest) -> DnaSequencesPaginatedList:
|
361
|
+
"""
|
362
|
+
Match bases.
|
363
|
+
|
364
|
+
Returns DNA Sequences that exactly match the provided bases.
|
365
|
+
|
366
|
+
See https://benchling.com/api/reference#/DNA%20Sequences/matchBasesDnaSequences
|
367
|
+
"""
|
368
|
+
response = match_bases_dna_sequences.sync_detailed(
|
369
|
+
client=self.client,
|
370
|
+
json_body=match_bases_request,
|
371
|
+
)
|
372
|
+
return model_from_detailed(response)
|
373
|
+
|
374
|
+
@api_method
|
375
|
+
def search_bases(self, search_bases_request: SearchBasesRequest) -> DnaSequencesPaginatedList:
|
376
|
+
"""
|
377
|
+
Search bases.
|
378
|
+
|
379
|
+
Returns DNA Sequences that contain the provided bases.
|
380
|
+
Search indexing is asynchronous, so results may be not be available immediately after creation.
|
381
|
+
|
382
|
+
See https://benchling.com/api/reference#/DNA%20Sequences/searchDnaSequences
|
383
|
+
"""
|
384
|
+
response = search_dna_sequences.sync_detailed(
|
385
|
+
client=self.client,
|
386
|
+
json_body=search_bases_request,
|
387
|
+
)
|
388
|
+
return model_from_detailed(response)
|
389
|
+
|
390
|
+
@api_method
|
391
|
+
def find_matching_regions(self, find_matching_region: DnaSequencesFindMatchingRegion) -> AsyncTaskLink:
|
392
|
+
"""
|
393
|
+
Find matching regions for DNA sequences.
|
394
|
+
|
395
|
+
See https://benchling.com/api/v2/reference#/DNA%20Sequences/findMatchingRegionsDnaSequences
|
396
|
+
"""
|
397
|
+
response = find_matching_regions_dna_sequences.sync_detailed(
|
398
|
+
client=self.client, json_body=find_matching_region
|
399
|
+
)
|
334
400
|
return model_from_detailed(response)
|
@@ -1,7 +1,10 @@
|
|
1
|
+
from typing import Iterable, Optional
|
2
|
+
|
1
3
|
from benchling_api_client.v2.stable.api.entities import bulk_upsert_entities
|
2
4
|
|
3
5
|
from benchling_sdk.helpers.decorators import api_method
|
4
6
|
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
7
|
+
from benchling_sdk.helpers.serialization_helpers import none_as_unset, optional_array_query_param
|
5
8
|
from benchling_sdk.models import AsyncTaskLink, EntitiesBulkUpsertRequest
|
6
9
|
from benchling_sdk.services.v2.base_service import BaseService
|
7
10
|
|
@@ -18,7 +21,9 @@ class EntityService(BaseService):
|
|
18
21
|
"""
|
19
22
|
|
20
23
|
@api_method
|
21
|
-
def bulk_upsert(
|
24
|
+
def bulk_upsert(
|
25
|
+
self, bulk_upsert: EntitiesBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
26
|
+
) -> AsyncTaskLink:
|
22
27
|
"""
|
23
28
|
Upsert many entities at once.
|
24
29
|
|
@@ -34,5 +39,8 @@ class EntityService(BaseService):
|
|
34
39
|
If any action fails, the whole operation is canceled and no objects are created or updated.
|
35
40
|
See https://benchling.com/api/reference#/Entities/bulkUpsertEntities
|
36
41
|
"""
|
37
|
-
|
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
|
+
)
|
38
46
|
return model_from_detailed(response)
|
@@ -11,6 +11,7 @@ from benchling_api_client.v2.stable.api.entries import (
|
|
11
11
|
list_entry_templates,
|
12
12
|
unarchive_entries,
|
13
13
|
update_entry,
|
14
|
+
update_entry_template,
|
14
15
|
)
|
15
16
|
from benchling_api_client.v2.types import Response
|
16
17
|
|
@@ -31,6 +32,7 @@ from benchling_sdk.models import (
|
|
31
32
|
EntryExternalFile,
|
32
33
|
EntryTemplate,
|
33
34
|
EntryTemplatesPaginatedList,
|
35
|
+
EntryTemplateUpdate,
|
34
36
|
EntryUpdate,
|
35
37
|
ListEntriesReviewStatus,
|
36
38
|
ListEntriesSort,
|
@@ -332,3 +334,24 @@ class EntryService(BaseService):
|
|
332
334
|
client=self.client, entry_template_id=entry_template_id, returning=none_as_unset(returning_string)
|
333
335
|
)
|
334
336
|
return model_from_detailed(response)
|
337
|
+
|
338
|
+
@api_method
|
339
|
+
def update_entry_template(
|
340
|
+
self,
|
341
|
+
entry_template_id: str,
|
342
|
+
entry_template: EntryTemplateUpdate,
|
343
|
+
returning: Optional[Iterable[str]] = None,
|
344
|
+
) -> EntryTemplate:
|
345
|
+
"""
|
346
|
+
Update a notebook entry template's metadata.
|
347
|
+
|
348
|
+
See https://benchling.com/api/reference#/Entries/updateEntryTemplate
|
349
|
+
"""
|
350
|
+
returning_string = optional_array_query_param(returning)
|
351
|
+
response = update_entry_template.sync_detailed(
|
352
|
+
client=self.client,
|
353
|
+
entry_template_id=entry_template_id,
|
354
|
+
json_body=entry_template,
|
355
|
+
returning=none_as_unset(returning_string),
|
356
|
+
)
|
357
|
+
return model_from_detailed(response)
|
@@ -253,11 +253,16 @@ class MoleculeService(BaseService):
|
|
253
253
|
return model_from_detailed(response)
|
254
254
|
|
255
255
|
@api_method
|
256
|
-
def bulk_upsert(
|
256
|
+
def bulk_upsert(
|
257
|
+
self, body: MoleculesBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
258
|
+
) -> AsyncTaskLink:
|
257
259
|
"""
|
258
260
|
Bulk create or update Molecules.
|
259
261
|
|
260
262
|
See https://benchling.com/api/reference#/Molecules/bulkUpsertMolecules
|
261
263
|
"""
|
262
|
-
|
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
|
+
)
|
263
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,
|
@@ -270,11 +270,16 @@ class RnaOligoService(BaseService):
|
|
270
270
|
return model_from_detailed(response)
|
271
271
|
|
272
272
|
@api_method
|
273
|
-
def bulk_upsert(
|
273
|
+
def bulk_upsert(
|
274
|
+
self, body: RnaOligosBulkUpsertRequest, returning: Optional[Iterable[str]] = None
|
275
|
+
) -> AsyncTaskLink:
|
274
276
|
"""
|
275
277
|
Bulk create or update RNA Oligos.
|
276
278
|
|
277
279
|
See https://benchling.com/api/reference#/RNA%20Oligos/bulkUpsertRnaOligos
|
278
280
|
"""
|
279
|
-
|
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
|
+
)
|
280
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)
|
@@ -9,7 +9,6 @@ from benchling_sdk.helpers.retry_helpers import RetryStrategy
|
|
9
9
|
|
10
10
|
if TYPE_CHECKING:
|
11
11
|
from benchling_sdk.services.v2.alpha.v2_alpha_app_service import V2AlphaAppService
|
12
|
-
from benchling_sdk.services.v2.alpha.v2_alpha_dna_sequence_service import V2AlphaDnaSequenceService
|
13
12
|
|
14
13
|
from benchling_sdk.services.v2.base_service import BaseService
|
15
14
|
|
@@ -24,7 +23,6 @@ class V2AlphaService(BaseService):
|
|
24
23
|
"""
|
25
24
|
|
26
25
|
_app_service: Optional[V2AlphaAppService]
|
27
|
-
_dna_sequence_service: Optional[V2AlphaDnaSequenceService]
|
28
26
|
_alpha_client: Client
|
29
27
|
|
30
28
|
def __init__(self, client: Client, retry_strategy: RetryStrategy = RetryStrategy()):
|
@@ -53,21 +51,3 @@ class V2AlphaService(BaseService):
|
|
53
51
|
|
54
52
|
self._app_service = V2AlphaAppService(self._alpha_client, self._retry_strategy)
|
55
53
|
return self._app_service
|
56
|
-
|
57
|
-
@property
|
58
|
-
def dna_sequences(self) -> V2AlphaDnaSequenceService:
|
59
|
-
"""
|
60
|
-
V2-Alpha DNA Sequences.
|
61
|
-
|
62
|
-
DNA sequences are the bread and butter of the Benchling Molecular Biology suite. On Benchling, these are
|
63
|
-
comprised of a string of nucleotides and collections of other attributes, such as annotations and primers.
|
64
|
-
|
65
|
-
See https://benchling.com/api/v2-alpha/reference#/DNA%20Sequences
|
66
|
-
"""
|
67
|
-
if self._dna_sequence_service is None:
|
68
|
-
from benchling_sdk.services.v2.alpha.v2_alpha_dna_sequence_service import (
|
69
|
-
V2AlphaDnaSequenceService,
|
70
|
-
)
|
71
|
-
|
72
|
-
self._dna_sequence_service = V2AlphaDnaSequenceService(self._alpha_client, self._retry_strategy)
|
73
|
-
return self._dna_sequence_service
|
@@ -10,7 +10,6 @@ from benchling_sdk.services.v2.base_service import BaseService
|
|
10
10
|
from benchling_sdk.services.v2.beta.v2_beta_data_frame_service import V2BetaDataFrameService
|
11
11
|
|
12
12
|
if TYPE_CHECKING:
|
13
|
-
from benchling_sdk.services.v2.beta.v2_beta_aa_sequence_service import V2BetaAaSequenceService
|
14
13
|
from benchling_sdk.services.v2.beta.v2_beta_app_service import V2BetaAppService
|
15
14
|
from benchling_sdk.services.v2.beta.v2_beta_collaboration_service import V2BetaCollaborationService
|
16
15
|
from benchling_sdk.services.v2.beta.v2_beta_entry_service import V2BetaEntryService
|
@@ -28,7 +27,6 @@ class V2BetaService(BaseService):
|
|
28
27
|
See https://benchling.com/api/v2-beta/reference
|
29
28
|
"""
|
30
29
|
|
31
|
-
_aa_sequence_service: Optional[V2BetaAaSequenceService]
|
32
30
|
_app_service: Optional[V2BetaAppService]
|
33
31
|
_collaboration_service: Optional[V2BetaCollaborationService]
|
34
32
|
_data_frame_service: Optional[V2BetaDataFrameService]
|
@@ -56,23 +54,6 @@ class V2BetaService(BaseService):
|
|
56
54
|
self._project_service = None
|
57
55
|
self._worklist_service = None
|
58
56
|
|
59
|
-
@property
|
60
|
-
def aa_sequences(self) -> V2BetaAaSequenceService:
|
61
|
-
"""
|
62
|
-
V2-Beta AA Sequences.
|
63
|
-
|
64
|
-
AA Sequences are the working units of cells that make everything run (they help make structures, catalyze
|
65
|
-
reactions and allow for signaling - a kind of internal cell communication). On Benchling, these are comprised
|
66
|
-
of a string of amino acids and collections of other attributes, such as annotations.
|
67
|
-
|
68
|
-
See https://benchling.com/api/v2-beta/reference#/AA%20Sequences
|
69
|
-
"""
|
70
|
-
if self._aa_sequence_service is None:
|
71
|
-
from benchling_sdk.services.v2.beta.v2_beta_aa_sequence_service import V2BetaAaSequenceService
|
72
|
-
|
73
|
-
self._aa_sequence_service = V2BetaAaSequenceService(self._beta_client, self.retry_strategy)
|
74
|
-
return self._aa_sequence_service
|
75
|
-
|
76
57
|
@property
|
77
58
|
def apps(self) -> V2BetaAppService:
|
78
59
|
"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: benchling-sdk
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.13.0
|
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.305)
|
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)
|
@@ -43,18 +43,16 @@ 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=V7obyEeyaj8miIgnsu22nGUijWRsc7vL4XgtyKnhfJA,353074
|
47
47
|
benchling_sdk/models/webhooks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
|
-
benchling_sdk/models/webhooks/v0/__init__.py,sha256=
|
48
|
+
benchling_sdk/models/webhooks/v0/__init__.py,sha256=tEHA5YxF_WPBjvOIT8UxQjxFAnX--fQmReATINpTz7Y,48834
|
49
49
|
benchling_sdk/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
|
50
50
|
benchling_sdk/services/__init__.py,sha256=K7N-sxMKhIsFroLe_tJIRcKJJuoShTCxiD_bfUz9958,85
|
51
51
|
benchling_sdk/services/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
52
|
benchling_sdk/services/v2/alpha/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
53
53
|
benchling_sdk/services/v2/alpha/v2_alpha_app_service.py,sha256=cR3nk6oxV2B-ewcUooQ4iqMZJQaj_wvwGyON2eL08Hc,1443
|
54
|
-
benchling_sdk/services/v2/alpha/v2_alpha_dna_sequence_service.py,sha256=XzpaPWbdxbwE_LJ5RheKHNAwdjPNfr7-o3IXmJsQ6UI,1347
|
55
54
|
benchling_sdk/services/v2/base_service.py,sha256=g4Qn001slCJTvqDvRmbImJNBJ8lPJgMVL1H4Xxc8D2o,951
|
56
55
|
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=ED5jOL1N5JzuikpVPZNj0Wi5czwTfA9HChQca1fwA3I,1410
|
58
56
|
benchling_sdk/services/v2/beta/v2_beta_app_service.py,sha256=nVOEQ3ESkUo2e4p_MYMq-VUpEx2wNpJIY7ZZ8UuHnuQ,1385
|
59
57
|
benchling_sdk/services/v2/beta/v2_beta_collaboration_service.py,sha256=epLHLdDRfj8ni2-45WWFSpOgQG-kTmbxTffRP1mnim0,5753
|
60
58
|
benchling_sdk/services/v2/beta/v2_beta_data_frame_service.py,sha256=oqCVyYBK7YECXYIDWJ5VIaiAO-W7GXC7xd0Wy1swTmU,14853
|
@@ -63,7 +61,7 @@ benchling_sdk/services/v2/beta/v2_beta_folder_service.py,sha256=b6-D_eDTF1e2l2YL
|
|
63
61
|
benchling_sdk/services/v2/beta/v2_beta_project_service.py,sha256=8Wk0u6dtiewytfuJ2RaybMOfqih7YF74cJF_wsetJpM,4926
|
64
62
|
benchling_sdk/services/v2/beta/v2_beta_worklist_service.py,sha256=tFMe-7Wbw3qISe-T5EsnYVsmcd1P8Aw1NoWmNA5MroU,5544
|
65
63
|
benchling_sdk/services/v2/stable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
|
-
benchling_sdk/services/v2/stable/aa_sequence_service.py,sha256=
|
64
|
+
benchling_sdk/services/v2/stable/aa_sequence_service.py,sha256=75l2QsE6WZ5EJvSDmImZhGi-kc6TPYCFnVpojOKpB1c,13492
|
67
65
|
benchling_sdk/services/v2/stable/api_service.py,sha256=e0RNp4Jne9UTaHOYMOxxXJpsyUO3WMSFPzN7hB8iliU,12371
|
68
66
|
benchling_sdk/services/v2/stable/app_service.py,sha256=dy9FMVvMiJrkYbxZswKuB37EB9K_jCqQr9FfAa0BMgE,23126
|
69
67
|
benchling_sdk/services/v2/stable/assay_result_service.py,sha256=_qtSpMznVrGHlB2VnHI87IPjVQHCX1pZbLPJ_LYuW7U,13362
|
@@ -74,11 +72,11 @@ benchling_sdk/services/v2/stable/container_service.py,sha256=8g3gwcI5fSuSbEQCtrk
|
|
74
72
|
benchling_sdk/services/v2/stable/custom_entity_service.py,sha256=LOATrTh7Vv6dXWlUqyH8Eet3bwBm0BNoVbCZYiqWu80,12188
|
75
73
|
benchling_sdk/services/v2/stable/custom_notation_service.py,sha256=LCnt8hoCkkSRbz-bXUaYbuMaE-1XdYmXB0MgeQ30POc,2141
|
76
74
|
benchling_sdk/services/v2/stable/dna_alignments_service.py,sha256=leJaPt7Uk1PyxfO9LXTVi2DjLyqcXgeMselftJaGJA4,7445
|
77
|
-
benchling_sdk/services/v2/stable/dna_oligo_service.py,sha256=
|
78
|
-
benchling_sdk/services/v2/stable/dna_sequence_service.py,sha256=
|
75
|
+
benchling_sdk/services/v2/stable/dna_oligo_service.py,sha256=0D3X98UxWWolkCG_IxiPE3oiFMwyqC7vJlJCyEbNDt4,11128
|
76
|
+
benchling_sdk/services/v2/stable/dna_sequence_service.py,sha256=8s4Lgitf4k-Ma0XuXhvG-68A1v4YXZzvtqt9VgukOUQ,16310
|
79
77
|
benchling_sdk/services/v2/stable/dropdown_service.py,sha256=AcnATXU_TChhSm9NX8dx9wnbxeBwACzThw5zM3yPYmk,4919
|
80
|
-
benchling_sdk/services/v2/stable/entity_service.py,sha256=
|
81
|
-
benchling_sdk/services/v2/stable/entry_service.py,sha256=
|
78
|
+
benchling_sdk/services/v2/stable/entity_service.py,sha256=NGDjng4rwiL6EeDCEs5oy9ciKV6CPv71S1l7A8zM0Uk,2190
|
79
|
+
benchling_sdk/services/v2/stable/entry_service.py,sha256=7HypcoX0vWDi5hFMtqFO6RpKc6IclO3HMQaWdvKNXyQ,13706
|
82
80
|
benchling_sdk/services/v2/stable/event_service.py,sha256=--j-oqKR-Ld5d4QiJ6aofOr9LTBCM7maqwRvo2goSPA,2538
|
83
81
|
benchling_sdk/services/v2/stable/export_service.py,sha256=T8ir9yRyA8rMUXagLAWYR4cYtOzxt6JxjlnQwExk_HU,1080
|
84
82
|
benchling_sdk/services/v2/stable/feature_library_service.py,sha256=h3vdttbJzWWG-297FedtmDXSFEUP0KVGU5Y2D_VW-KA,9767
|
@@ -88,30 +86,30 @@ benchling_sdk/services/v2/stable/lab_automation_service.py,sha256=vfKLrH6eZn9v2u
|
|
88
86
|
benchling_sdk/services/v2/stable/label_template_service.py,sha256=VS25LUpUsJnkU_AFTTKjwMruVgE5-izLoc-_wrqr4Pk,1300
|
89
87
|
benchling_sdk/services/v2/stable/location_service.py,sha256=4RVFEBRQZnNOm2AXdJcBYHVVPEtDsvihlKskbtez_d0,8026
|
90
88
|
benchling_sdk/services/v2/stable/mixture_service.py,sha256=nNwh67Or1BQYZxcatcg-OEEw82Jr6UnxsYVRB9Y18GY,9952
|
91
|
-
benchling_sdk/services/v2/stable/molecule_service.py,sha256=
|
89
|
+
benchling_sdk/services/v2/stable/molecule_service.py,sha256=7BiurkHuS1ufMeZdRQ7UDb9Z7iTpcVeUIs2i9afHIdQ,10530
|
92
90
|
benchling_sdk/services/v2/stable/nucleotide_alignments_service.py,sha256=ab52E-PVeBF693QA8R8OxwtsppyDiehvrkveNPIhjTI,6100
|
93
91
|
benchling_sdk/services/v2/stable/oligo_service.py,sha256=0cmQIpsijY-X2-6Bd33NVk5JRdS0OSoLjgTrZHIOra8,12173
|
94
92
|
benchling_sdk/services/v2/stable/organization_service.py,sha256=j9B2cUCgPPTMjtFW70-dMUFQJAqpUXNTh8LJ7gvcOGo,4927
|
95
|
-
benchling_sdk/services/v2/stable/plate_service.py,sha256=
|
93
|
+
benchling_sdk/services/v2/stable/plate_service.py,sha256=2KU9sZ7x3niQQQHlhQ_yFKy4GoddJQ5v-kxG808T1mE,13226
|
96
94
|
benchling_sdk/services/v2/stable/printer_service.py,sha256=XhXCwbNAamndWLuHn9UE2ehkkl6vCN5hhxBUvr93Uzk,1181
|
97
95
|
benchling_sdk/services/v2/stable/project_service.py,sha256=Mb3ibiOQJ3uRnJLoDLYgPgrFE80N1bdYQz9LwpbrMtg,4140
|
98
96
|
benchling_sdk/services/v2/stable/registry_service.py,sha256=DtftbhKoxruV9H8ksvQRUYXakv1nQ92uu17iKVOlZnY,4627
|
99
97
|
benchling_sdk/services/v2/stable/request_service.py,sha256=EzXuIXE4mnGtEXiLYKqUApDbXp8ODq35FP-egVEXZC8,9500
|
100
|
-
benchling_sdk/services/v2/stable/rna_oligo_service.py,sha256=
|
101
|
-
benchling_sdk/services/v2/stable/rna_sequence_service.py,sha256=
|
98
|
+
benchling_sdk/services/v2/stable/rna_oligo_service.py,sha256=16Q2ijthmpbkDm6_9EeXZ_QfVDOb5vgAWum33QKQ8Kw,11358
|
99
|
+
benchling_sdk/services/v2/stable/rna_sequence_service.py,sha256=F1_wx7t4SOsb_yswH-X4cLeqhqZTQe1oE6D7dg52Fcw,14163
|
102
100
|
benchling_sdk/services/v2/stable/schema_service.py,sha256=W64obUUqBcDbMbBOtDVb_bl-VUQGARoeb2u4I96k9Tk,23509
|
103
101
|
benchling_sdk/services/v2/stable/task_service.py,sha256=61vimlvZf2R93SitGyd883Yk5pmStavnPDkxuwFvzfU,4983
|
104
102
|
benchling_sdk/services/v2/stable/team_service.py,sha256=SYwI2Bv3rWDYnoEKb-MX_yhe39fErewJ4Sx0aon-ej0,4723
|
105
|
-
benchling_sdk/services/v2/stable/user_service.py,sha256=
|
103
|
+
benchling_sdk/services/v2/stable/user_service.py,sha256=NkMPz2rPaF6iXNWTBAOWSiXVif2rHYGbYAzaHg4Fhig,7528
|
106
104
|
benchling_sdk/services/v2/stable/warehouse_service.py,sha256=_gVTwJZ5BcaNBG0k8I0a4MRahajkV7TNtREfuQGwR74,1286
|
107
105
|
benchling_sdk/services/v2/stable/workflow_output_service.py,sha256=VD0RvOBCkgX_YwUoQYQPR_PyGJXuIau5beq9bK75VXM,9993
|
108
106
|
benchling_sdk/services/v2/stable/workflow_task_group_service.py,sha256=SSfHDH-Eniz09HG_qSPSfSVHU3BpvTbgGhOQS4iWcAw,8848
|
109
107
|
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=
|
108
|
+
benchling_sdk/services/v2/v2_alpha_service.py,sha256=tlGZTudMaMIgzwHGDJiHB5YVPDOwuQ8PxWYgnc2wfeI,1665
|
109
|
+
benchling_sdk/services/v2/v2_beta_service.py,sha256=B68EANGivafp67dWuXO1Rcl_mqmIX6-rSjd62t6mniI,6168
|
112
110
|
benchling_sdk/services/v2/v2_stable_service.py,sha256=zZ9Mrx0TkDwPG62uNAzz79wI2hUwcaSO3qAJX29Fij0,36051
|
113
111
|
benchling_sdk/services/v2_service.py,sha256=3eoIjYEmGLPdWCpBN0pl7q7_HNWCsUvfvTn3Hcz0wSM,2860
|
114
|
-
benchling_sdk-1.
|
115
|
-
benchling_sdk-1.
|
116
|
-
benchling_sdk-1.
|
117
|
-
benchling_sdk-1.
|
112
|
+
benchling_sdk-1.13.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
113
|
+
benchling_sdk-1.13.0.dist-info/METADATA,sha256=OVxnnAFjrFEyqHkB7kQMkip4_mK3-T3AwDg26_5lxmU,2116
|
114
|
+
benchling_sdk-1.13.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
115
|
+
benchling_sdk-1.13.0.dist-info/RECORD,,
|