benchling-sdk 1.21.1__py3-none-any.whl → 1.22.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/apps/canvas/types.py +8 -0
- benchling_sdk/apps/config/framework.py +2 -2
- benchling_sdk/apps/config/helpers.py +6 -5
- benchling_sdk/apps/config/mock_config.py +4 -4
- benchling_sdk/apps/helpers/webhook_helpers.py +2 -2
- benchling_sdk/apps/status/framework.py +5 -5
- benchling_sdk/apps/status/helpers.py +2 -0
- benchling_sdk/auth/client_credentials_oauth2.py +5 -4
- benchling_sdk/benchling.py +90 -14
- benchling_sdk/errors.py +4 -3
- benchling_sdk/helpers/retry_helpers.py +1 -1
- benchling_sdk/helpers/serialization_helpers.py +6 -3
- benchling_sdk/helpers/task_helpers.py +12 -9
- benchling_sdk/models/__init__.py +1335 -329
- benchling_sdk/models/webhooks/v0/__init__.py +24 -4
- benchling_sdk/services/v2/base_service.py +5 -4
- benchling_sdk/services/v2/beta/v2_beta_data_frame_service.py +16 -8
- benchling_sdk/services/v2/stable/aa_sequence_service.py +4 -0
- benchling_sdk/services/v2/{beta/v2_beta_audit_service.py → stable/audit_service.py} +6 -6
- benchling_sdk/services/v2/stable/blob_service.py +6 -3
- benchling_sdk/services/v2/stable/box_service.py +4 -0
- benchling_sdk/services/v2/stable/connect_service.py +79 -0
- benchling_sdk/services/v2/stable/container_service.py +4 -0
- benchling_sdk/services/v2/stable/custom_entity_service.py +4 -0
- benchling_sdk/services/v2/stable/data_frame_service.py +323 -0
- benchling_sdk/services/v2/stable/dataset_service.py +192 -0
- benchling_sdk/services/v2/stable/dna_oligo_service.py +4 -0
- benchling_sdk/services/v2/stable/dna_sequence_service.py +4 -0
- benchling_sdk/services/v2/stable/file_service.py +191 -0
- benchling_sdk/services/v2/stable/{request_service.py → legacy_request_service.py} +25 -25
- benchling_sdk/services/v2/stable/location_service.py +4 -0
- benchling_sdk/services/v2/stable/mixture_service.py +4 -0
- benchling_sdk/services/v2/stable/molecule_service.py +4 -0
- benchling_sdk/services/v2/stable/nucleotide_alignments_service.py +4 -0
- benchling_sdk/services/v2/stable/organization_service.py +10 -5
- benchling_sdk/services/v2/stable/plate_service.py +4 -0
- benchling_sdk/services/v2/stable/rna_oligo_service.py +4 -0
- benchling_sdk/services/v2/stable/rna_sequence_service.py +4 -0
- benchling_sdk/services/v2/stable/task_service.py +1 -7
- benchling_sdk/services/v2/stable/team_service.py +14 -7
- benchling_sdk/services/v2/stable/test_order_service.py +145 -0
- benchling_sdk/services/v2/v2_alpha_service.py +2 -2
- benchling_sdk/services/v2/v2_beta_service.py +2 -16
- benchling_sdk/services/v2/v2_stable_service.py +104 -17
- benchling_sdk/services/v2_service.py +1 -1
- {benchling_sdk-1.21.1.dist-info → benchling_sdk-1.22.0.dist-info}/METADATA +2 -2
- {benchling_sdk-1.21.1.dist-info → benchling_sdk-1.22.0.dist-info}/RECORD +49 -44
- {benchling_sdk-1.21.1.dist-info → benchling_sdk-1.22.0.dist-info}/LICENSE +0 -0
- {benchling_sdk-1.21.1.dist-info → benchling_sdk-1.22.0.dist-info}/WHEEL +0 -0
@@ -139,7 +139,8 @@ class TeamService(BaseService):
|
|
139
139
|
|
140
140
|
@api_method
|
141
141
|
def create(self, team: TeamCreate) -> Team:
|
142
|
-
"""
|
142
|
+
"""
|
143
|
+
Create team.
|
143
144
|
|
144
145
|
See https://benchling.com/api/reference#/Teams/createTeam
|
145
146
|
"""
|
@@ -148,7 +149,8 @@ class TeamService(BaseService):
|
|
148
149
|
|
149
150
|
@api_method
|
150
151
|
def update(self, team_id: str, team: TeamUpdate) -> Team:
|
151
|
-
"""
|
152
|
+
"""
|
153
|
+
Update team.
|
152
154
|
|
153
155
|
See https://benchling.com/api/reference#/Teams/updateTeam
|
154
156
|
"""
|
@@ -179,7 +181,8 @@ class TeamService(BaseService):
|
|
179
181
|
role: Optional[str] = None,
|
180
182
|
page_size: Optional[int] = None,
|
181
183
|
) -> PageIterator[MembershipsPaginatedList]:
|
182
|
-
"""
|
184
|
+
"""
|
185
|
+
Return all team memberships in the given team.
|
183
186
|
|
184
187
|
See https://benchling.com/api/reference#/Teams/listTeamMemberships
|
185
188
|
"""
|
@@ -191,7 +194,8 @@ class TeamService(BaseService):
|
|
191
194
|
|
192
195
|
@api_method
|
193
196
|
def get_membership(self, team_id: str, user_id: str) -> Membership:
|
194
|
-
"""
|
197
|
+
"""
|
198
|
+
Get team membership.
|
195
199
|
|
196
200
|
See https://benchling.com/api/reference#/Teams/getTeamMembership
|
197
201
|
"""
|
@@ -200,7 +204,8 @@ class TeamService(BaseService):
|
|
200
204
|
|
201
205
|
@api_method
|
202
206
|
def create_membership(self, team_id: str, membership: MembershipCreate) -> Membership:
|
203
|
-
"""
|
207
|
+
"""
|
208
|
+
Create team membership for the given user, role, and team.
|
204
209
|
|
205
210
|
See https://benchling.com/api/reference#/Teams/createTeamMembership
|
206
211
|
"""
|
@@ -213,7 +218,8 @@ class TeamService(BaseService):
|
|
213
218
|
|
214
219
|
@api_method
|
215
220
|
def update_membership(self, team_id: str, user_id: str, membership: MembershipUpdate) -> Membership:
|
216
|
-
"""
|
221
|
+
"""
|
222
|
+
Update a single team membership.
|
217
223
|
|
218
224
|
See https://benchling.com/api/reference#/Teams/updateTeamMembership
|
219
225
|
"""
|
@@ -227,7 +233,8 @@ class TeamService(BaseService):
|
|
227
233
|
|
228
234
|
@api_method
|
229
235
|
def delete_membership(self, team_id: str, user_id: str) -> None:
|
230
|
-
"""
|
236
|
+
"""
|
237
|
+
Delete a single team membership.
|
231
238
|
|
232
239
|
See https://benchling.com/api/reference#/Teams/deleteTeamMembership
|
233
240
|
"""
|
@@ -0,0 +1,145 @@
|
|
1
|
+
from typing import Iterable, List, Optional
|
2
|
+
|
3
|
+
from benchling_api_client.v2.stable.api.test_orders import (
|
4
|
+
bulk_update_test_orders,
|
5
|
+
list_test_orders,
|
6
|
+
update_test_order,
|
7
|
+
)
|
8
|
+
from benchling_api_client.v2.stable.models.async_task_link import AsyncTaskLink
|
9
|
+
from benchling_api_client.v2.stable.models.list_test_orders_sort import ListTestOrdersSort
|
10
|
+
from benchling_api_client.v2.stable.models.test_order import TestOrder
|
11
|
+
from benchling_api_client.v2.stable.models.test_order_bulk_update import TestOrderBulkUpdate
|
12
|
+
from benchling_api_client.v2.stable.models.test_order_status import TestOrderStatus
|
13
|
+
from benchling_api_client.v2.stable.models.test_order_update import TestOrderUpdate
|
14
|
+
from benchling_api_client.v2.stable.models.test_orders_bulk_update_request import TestOrdersBulkUpdateRequest
|
15
|
+
from benchling_api_client.v2.stable.models.test_orders_paginated_list import TestOrdersPaginatedList
|
16
|
+
from benchling_api_client.v2.types import Response
|
17
|
+
|
18
|
+
from benchling_sdk.errors import raise_for_status
|
19
|
+
from benchling_sdk.helpers.decorators import api_method
|
20
|
+
from benchling_sdk.helpers.pagination_helpers import NextToken, PageIterator
|
21
|
+
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
22
|
+
from benchling_sdk.helpers.serialization_helpers import none_as_unset
|
23
|
+
from benchling_sdk.services.v2.base_service import BaseService
|
24
|
+
|
25
|
+
|
26
|
+
class TestOrderService(BaseService):
|
27
|
+
"""
|
28
|
+
Test Orders.
|
29
|
+
|
30
|
+
Test orders enable users to order tests for specific sample/container combinations that will be fulfilled in assays.
|
31
|
+
|
32
|
+
See https://benchling.com/api/reference?availability=la#/Test%20Orders/
|
33
|
+
"""
|
34
|
+
|
35
|
+
@api_method
|
36
|
+
def bulk_update(self, test_orders: Iterable[TestOrderBulkUpdate]) -> AsyncTaskLink:
|
37
|
+
"""
|
38
|
+
Bulk update Test Orders.
|
39
|
+
|
40
|
+
See https://benchling.com/api/reference?availability=la#/Test%20Orders/bulkUpdateTestOrders
|
41
|
+
"""
|
42
|
+
body = TestOrdersBulkUpdateRequest(list(test_orders))
|
43
|
+
response = bulk_update_test_orders.sync_detailed(client=self.client, json_body=body)
|
44
|
+
return model_from_detailed(response)
|
45
|
+
|
46
|
+
@api_method
|
47
|
+
def _test_orders_page(
|
48
|
+
self,
|
49
|
+
page_size: Optional[int] = 50,
|
50
|
+
next_token: Optional[str] = None,
|
51
|
+
sort: Optional[ListTestOrdersSort] = ListTestOrdersSort.MODIFIEDATDESC,
|
52
|
+
created_atlt: Optional[str] = None,
|
53
|
+
created_atgt: Optional[str] = None,
|
54
|
+
created_atlte: Optional[str] = None,
|
55
|
+
created_atgte: Optional[str] = None,
|
56
|
+
modified_atlt: Optional[str] = None,
|
57
|
+
modified_atgt: Optional[str] = None,
|
58
|
+
modified_atlte: Optional[str] = None,
|
59
|
+
modified_atgte: Optional[str] = None,
|
60
|
+
ids: Optional[str] = None,
|
61
|
+
container_idsany_of: Optional[str] = None,
|
62
|
+
sample_idsany_of: Optional[str] = None,
|
63
|
+
status: Optional[TestOrderStatus] = None,
|
64
|
+
) -> Response[TestOrdersPaginatedList]:
|
65
|
+
response = list_test_orders.sync_detailed(
|
66
|
+
client=self.client,
|
67
|
+
page_size=none_as_unset(page_size),
|
68
|
+
next_token=none_as_unset(next_token),
|
69
|
+
sort=none_as_unset(sort),
|
70
|
+
created_atlt=none_as_unset(created_atlt),
|
71
|
+
created_atgt=none_as_unset(created_atgt),
|
72
|
+
created_atlte=none_as_unset(created_atlte),
|
73
|
+
created_atgte=none_as_unset(created_atgte),
|
74
|
+
modified_atlt=none_as_unset(modified_atlt),
|
75
|
+
modified_atgt=none_as_unset(modified_atgt),
|
76
|
+
modified_atlte=none_as_unset(modified_atlte),
|
77
|
+
modified_atgte=none_as_unset(modified_atgte),
|
78
|
+
ids=none_as_unset(ids),
|
79
|
+
container_idsany_of=none_as_unset(container_idsany_of),
|
80
|
+
sample_idsany_of=none_as_unset(sample_idsany_of),
|
81
|
+
status=none_as_unset(status),
|
82
|
+
)
|
83
|
+
raise_for_status(response)
|
84
|
+
return response # type: ignore
|
85
|
+
|
86
|
+
def list(
|
87
|
+
self,
|
88
|
+
*,
|
89
|
+
page_size: Optional[int] = 50,
|
90
|
+
next_token: Optional[str] = None,
|
91
|
+
sort: Optional[ListTestOrdersSort] = ListTestOrdersSort.MODIFIEDATDESC,
|
92
|
+
created_atlt: Optional[str] = None,
|
93
|
+
created_atgt: Optional[str] = None,
|
94
|
+
created_atlte: Optional[str] = None,
|
95
|
+
created_atgte: Optional[str] = None,
|
96
|
+
modified_atlt: Optional[str] = None,
|
97
|
+
modified_atgt: Optional[str] = None,
|
98
|
+
modified_atlte: Optional[str] = None,
|
99
|
+
modified_atgte: Optional[str] = None,
|
100
|
+
ids: Optional[str] = None,
|
101
|
+
container_idsany_of: Optional[str] = None,
|
102
|
+
sample_idsany_of: Optional[str] = None,
|
103
|
+
status: Optional[TestOrderStatus] = None,
|
104
|
+
) -> PageIterator[TestOrder]:
|
105
|
+
"""
|
106
|
+
List Test Orders.
|
107
|
+
|
108
|
+
See https://benchling.com/api/reference?availability=la#/Test%20Orders/listTestOrders
|
109
|
+
"""
|
110
|
+
|
111
|
+
def api_call(next_token: NextToken) -> Response[TestOrdersPaginatedList]:
|
112
|
+
return self._test_orders_page(
|
113
|
+
page_size=page_size,
|
114
|
+
next_token=next_token,
|
115
|
+
sort=sort,
|
116
|
+
created_atlt=created_atlt,
|
117
|
+
created_atgt=created_atgt,
|
118
|
+
created_atlte=created_atlte,
|
119
|
+
created_atgte=created_atgte,
|
120
|
+
modified_atlt=modified_atlt,
|
121
|
+
modified_atgt=modified_atgt,
|
122
|
+
modified_atlte=modified_atlte,
|
123
|
+
modified_atgte=modified_atgte,
|
124
|
+
ids=ids,
|
125
|
+
container_idsany_of=container_idsany_of,
|
126
|
+
sample_idsany_of=sample_idsany_of,
|
127
|
+
status=status,
|
128
|
+
)
|
129
|
+
|
130
|
+
def results_extractor(body: TestOrdersPaginatedList) -> Optional[List[TestOrder]]:
|
131
|
+
return body.test_orders
|
132
|
+
|
133
|
+
return PageIterator(api_call, results_extractor)
|
134
|
+
|
135
|
+
@api_method
|
136
|
+
def update(self, test_order_id: str, test_order: TestOrderUpdate) -> TestOrder:
|
137
|
+
"""
|
138
|
+
Update a TestOrder.
|
139
|
+
|
140
|
+
See https://benchling.com/api/reference?availability=la#/Test%20Orders/updateTestOrder
|
141
|
+
"""
|
142
|
+
response = update_test_order.sync_detailed(
|
143
|
+
client=self.client, test_order_id=test_order_id, json_body=test_order
|
144
|
+
)
|
145
|
+
return model_from_detailed(response)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
from functools import cached_property
|
4
|
-
from typing import TYPE_CHECKING
|
4
|
+
from typing import Optional, TYPE_CHECKING
|
5
5
|
|
6
6
|
from benchling_api_client.v2.stable.client import Client
|
7
7
|
|
@@ -26,7 +26,7 @@ class V2AlphaService(BaseService):
|
|
26
26
|
|
27
27
|
_alpha_client: Client
|
28
28
|
|
29
|
-
def __init__(self, client: Client, retry_strategy: RetryStrategy =
|
29
|
+
def __init__(self, client: Client, retry_strategy: Optional[RetryStrategy] = None):
|
30
30
|
"""
|
31
31
|
Initialize a v2-alpha service.
|
32
32
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
from functools import cached_property
|
4
|
-
from typing import TYPE_CHECKING
|
4
|
+
from typing import Optional, TYPE_CHECKING
|
5
5
|
|
6
6
|
from benchling_api_client.v2.stable.client import Client
|
7
7
|
|
@@ -14,7 +14,6 @@ if TYPE_CHECKING:
|
|
14
14
|
from benchling_sdk.services.v2.beta.v2_beta_analysis_service import V2BetaAnalysisService
|
15
15
|
from benchling_sdk.services.v2.beta.v2_beta_app_definition_service import V2BetaAppDefinitionService
|
16
16
|
from benchling_sdk.services.v2.beta.v2_beta_app_service import V2BetaAppService
|
17
|
-
from benchling_sdk.services.v2.beta.v2_beta_audit_service import V2BetaAuditService
|
18
17
|
from benchling_sdk.services.v2.beta.v2_beta_collaboration_service import V2BetaCollaborationService
|
19
18
|
from benchling_sdk.services.v2.beta.v2_beta_entry_service import V2BetaEntryService
|
20
19
|
from benchling_sdk.services.v2.beta.v2_beta_folder_service import V2BetaFolderService
|
@@ -33,7 +32,7 @@ class V2BetaService(BaseService):
|
|
33
32
|
|
34
33
|
_beta_client: Client
|
35
34
|
|
36
|
-
def __init__(self, client: Client, retry_strategy: RetryStrategy =
|
35
|
+
def __init__(self, client: Client, retry_strategy: Optional[RetryStrategy] = None):
|
37
36
|
"""
|
38
37
|
Initialize a v2-beta service.
|
39
38
|
|
@@ -82,19 +81,6 @@ class V2BetaService(BaseService):
|
|
82
81
|
|
83
82
|
return self._create_service(V2BetaAppDefinitionService)
|
84
83
|
|
85
|
-
@cached_property
|
86
|
-
def audit(self) -> V2BetaAuditService:
|
87
|
-
"""
|
88
|
-
V2-Beta Audit.
|
89
|
-
|
90
|
-
Export audit log data for Benchling objects.
|
91
|
-
|
92
|
-
https://benchling.com/api/v2-beta/reference#/Audit
|
93
|
-
"""
|
94
|
-
from .beta.v2_beta_audit_service import V2BetaAuditService
|
95
|
-
|
96
|
-
return self._create_service(V2BetaAuditService)
|
97
|
-
|
98
84
|
@cached_property
|
99
85
|
def collaborations(self) -> V2BetaCollaborationService:
|
100
86
|
"""
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
from functools import cached_property
|
4
|
-
from typing import TYPE_CHECKING
|
4
|
+
from typing import Optional, TYPE_CHECKING
|
5
5
|
|
6
6
|
from benchling_api_client.v2.stable.client import Client
|
7
7
|
|
@@ -14,12 +14,16 @@ if TYPE_CHECKING:
|
|
14
14
|
from benchling_sdk.services.v2.stable.app_service import AppService
|
15
15
|
from benchling_sdk.services.v2.stable.assay_result_service import AssayResultService
|
16
16
|
from benchling_sdk.services.v2.stable.assay_run_service import AssayRunService
|
17
|
+
from benchling_sdk.services.v2.stable.audit_service import AuditService
|
17
18
|
from benchling_sdk.services.v2.stable.blob_service import BlobService
|
18
19
|
from benchling_sdk.services.v2.stable.box_service import BoxService
|
19
20
|
from benchling_sdk.services.v2.stable.codon_usage_table_service import CodonUsageTableService
|
21
|
+
from benchling_sdk.services.v2.stable.connect_service import ConnectService
|
20
22
|
from benchling_sdk.services.v2.stable.container_service import ContainerService
|
21
23
|
from benchling_sdk.services.v2.stable.custom_entity_service import CustomEntityService
|
22
24
|
from benchling_sdk.services.v2.stable.custom_notation_service import CustomNotationService
|
25
|
+
from benchling_sdk.services.v2.stable.data_frame_service import DataFrameService
|
26
|
+
from benchling_sdk.services.v2.stable.dataset_service import DatasetService
|
23
27
|
from benchling_sdk.services.v2.stable.dna_alignments_service import DnaAlignmentsService
|
24
28
|
from benchling_sdk.services.v2.stable.dna_oligo_service import DnaOligoService
|
25
29
|
from benchling_sdk.services.v2.stable.dna_sequence_service import DnaSequenceService
|
@@ -30,11 +34,13 @@ if TYPE_CHECKING:
|
|
30
34
|
from benchling_sdk.services.v2.stable.event_service import EventService
|
31
35
|
from benchling_sdk.services.v2.stable.export_service import ExportService
|
32
36
|
from benchling_sdk.services.v2.stable.feature_library_service import FeatureLibraryService
|
37
|
+
from benchling_sdk.services.v2.stable.file_service import FileService
|
33
38
|
from benchling_sdk.services.v2.stable.folder_service import FolderService
|
34
39
|
from benchling_sdk.services.v2.stable.instrument_query_service import InstrumentQueryService
|
35
40
|
from benchling_sdk.services.v2.stable.inventory_service import InventoryService
|
36
41
|
from benchling_sdk.services.v2.stable.lab_automation_service import LabAutomationService
|
37
42
|
from benchling_sdk.services.v2.stable.label_template_service import LabelTemplateService
|
43
|
+
from benchling_sdk.services.v2.stable.legacy_request_service import LegacyRequestService
|
38
44
|
from benchling_sdk.services.v2.stable.location_service import LocationService
|
39
45
|
from benchling_sdk.services.v2.stable.mixture_service import MixtureService
|
40
46
|
from benchling_sdk.services.v2.stable.molecule_service import MoleculeService
|
@@ -46,12 +52,12 @@ if TYPE_CHECKING:
|
|
46
52
|
from benchling_sdk.services.v2.stable.printer_service import PrinterService
|
47
53
|
from benchling_sdk.services.v2.stable.project_service import ProjectService
|
48
54
|
from benchling_sdk.services.v2.stable.registry_service import RegistryService
|
49
|
-
from benchling_sdk.services.v2.stable.request_service import RequestService
|
50
55
|
from benchling_sdk.services.v2.stable.rna_oligo_service import RnaOligoService
|
51
56
|
from benchling_sdk.services.v2.stable.rna_sequence_service import RnaSequenceService
|
52
57
|
from benchling_sdk.services.v2.stable.schema_service import SchemaService
|
53
58
|
from benchling_sdk.services.v2.stable.task_service import TaskService
|
54
59
|
from benchling_sdk.services.v2.stable.team_service import TeamService
|
60
|
+
from benchling_sdk.services.v2.stable.test_order_service import TestOrderService
|
55
61
|
from benchling_sdk.services.v2.stable.user_service import UserService
|
56
62
|
from benchling_sdk.services.v2.stable.warehouse_service import WarehouseService
|
57
63
|
from benchling_sdk.services.v2.stable.workflow_flowchart_config_version_service import (
|
@@ -70,7 +76,7 @@ class V2StableService(BaseService):
|
|
70
76
|
Namespace containing support for the V2 stable endpoints of the Benchling API.
|
71
77
|
"""
|
72
78
|
|
73
|
-
def __init__(self, client: Client, retry_strategy: RetryStrategy =
|
79
|
+
def __init__(self, client: Client, retry_strategy: Optional[RetryStrategy] = None):
|
74
80
|
"""
|
75
81
|
Initialize a service.
|
76
82
|
|
@@ -117,7 +123,7 @@ class V2StableService(BaseService):
|
|
117
123
|
|
118
124
|
See https://benchling.com/api/reference#/Apps
|
119
125
|
and https://docs.benchling.com/docs/getting-started-benchling-apps
|
120
|
-
"""
|
126
|
+
""" # noqa:RUF002 # Ruff gets confused by a trailing apostrophe with a plural noun
|
121
127
|
from .stable.app_service import AppService
|
122
128
|
|
123
129
|
return self._create_service(AppService)
|
@@ -149,6 +155,19 @@ class V2StableService(BaseService):
|
|
149
155
|
|
150
156
|
return self._create_service(AssayRunService)
|
151
157
|
|
158
|
+
@cached_property
|
159
|
+
def audit(self) -> AuditService:
|
160
|
+
"""
|
161
|
+
Audits.
|
162
|
+
|
163
|
+
Export audit log data for Benchling objects.
|
164
|
+
|
165
|
+
https://benchling.com/api/reference#/Audit
|
166
|
+
"""
|
167
|
+
from .stable.audit_service import AuditService
|
168
|
+
|
169
|
+
return self._create_service(AuditService)
|
170
|
+
|
152
171
|
@cached_property
|
153
172
|
def blobs(self) -> BlobService:
|
154
173
|
"""
|
@@ -197,6 +216,19 @@ class V2StableService(BaseService):
|
|
197
216
|
|
198
217
|
return self._create_service(CodonUsageTableService)
|
199
218
|
|
219
|
+
@cached_property
|
220
|
+
def connect(self) -> ConnectService:
|
221
|
+
"""
|
222
|
+
Connect.
|
223
|
+
|
224
|
+
Connect endpoints support Benchling Connect actions, like instrument data conversion.
|
225
|
+
|
226
|
+
See https://benchling.com/api/reference#/Connect
|
227
|
+
"""
|
228
|
+
from .stable.connect_service import ConnectService
|
229
|
+
|
230
|
+
return self._create_service(ConnectService)
|
231
|
+
|
200
232
|
@cached_property
|
201
233
|
def containers(self) -> ContainerService:
|
202
234
|
"""
|
@@ -245,6 +277,33 @@ class V2StableService(BaseService):
|
|
245
277
|
|
246
278
|
return self._create_service(CustomNotationService)
|
247
279
|
|
280
|
+
@cached_property
|
281
|
+
def data_frames(self) -> DataFrameService:
|
282
|
+
"""
|
283
|
+
DataFrames.
|
284
|
+
|
285
|
+
DataFrames are Benchling objects that represent tabular data with typed columns and rows of data.
|
286
|
+
|
287
|
+
See https://benchling.com/api/v2/reference#/Data%20Frames
|
288
|
+
"""
|
289
|
+
from .stable.data_frame_service import DataFrameService
|
290
|
+
|
291
|
+
return self._create_service(DataFrameService)
|
292
|
+
|
293
|
+
@cached_property
|
294
|
+
def datasets(self) -> DatasetService:
|
295
|
+
"""
|
296
|
+
Datasets.
|
297
|
+
|
298
|
+
Datasets are Benchling objects that represent tabular data with typed columns and rows of data. Unlike
|
299
|
+
Data Frames, Datasets are located in folders and can be searched in the UI.
|
300
|
+
|
301
|
+
See https://benchling.com/api/v2/reference#/Datasets
|
302
|
+
"""
|
303
|
+
from .stable.dataset_service import DatasetService
|
304
|
+
|
305
|
+
return self._create_service(DatasetService)
|
306
|
+
|
248
307
|
@cached_property
|
249
308
|
def dna_alignments(self) -> DnaAlignmentsService:
|
250
309
|
"""
|
@@ -395,6 +454,21 @@ class V2StableService(BaseService):
|
|
395
454
|
|
396
455
|
return self._create_service(FeatureLibraryService)
|
397
456
|
|
457
|
+
@cached_property
|
458
|
+
def files(self) -> FileService:
|
459
|
+
"""
|
460
|
+
Files.
|
461
|
+
|
462
|
+
Files are Benchling objects that represent files and their metadata. Compared to Blobs, which are used
|
463
|
+
by most Benchling products for attachments, Files are primarily used in the Analysis and Connect
|
464
|
+
product.
|
465
|
+
|
466
|
+
See https://benchling.com/api/v2/reference#/Files
|
467
|
+
"""
|
468
|
+
from .stable.file_service import FileService
|
469
|
+
|
470
|
+
return self._create_service(FileService)
|
471
|
+
|
398
472
|
@cached_property
|
399
473
|
def folders(self) -> FolderService:
|
400
474
|
"""
|
@@ -461,6 +535,19 @@ class V2StableService(BaseService):
|
|
461
535
|
|
462
536
|
return self._create_service(LabelTemplateService)
|
463
537
|
|
538
|
+
@cached_property
|
539
|
+
def legacy_requests(self) -> LegacyRequestService:
|
540
|
+
"""
|
541
|
+
Legacy Requests.
|
542
|
+
|
543
|
+
Legacy Requests allow scientists and teams to collaborate around experimental assays and workflows.
|
544
|
+
|
545
|
+
See https://benchling.com/api/reference#/Legacy%20Requests
|
546
|
+
"""
|
547
|
+
from .stable.legacy_request_service import LegacyRequestService
|
548
|
+
|
549
|
+
return self._create_service(LegacyRequestService)
|
550
|
+
|
464
551
|
@cached_property
|
465
552
|
def locations(self) -> LocationService:
|
466
553
|
"""
|
@@ -618,19 +705,6 @@ class V2StableService(BaseService):
|
|
618
705
|
|
619
706
|
return self._create_service(RegistryService)
|
620
707
|
|
621
|
-
@cached_property
|
622
|
-
def requests(self) -> RequestService:
|
623
|
-
"""
|
624
|
-
Requests.
|
625
|
-
|
626
|
-
Requests allow scientists and teams to collaborate around experimental assays and workflows.
|
627
|
-
|
628
|
-
See https://benchling.com/api/reference#/Requests
|
629
|
-
"""
|
630
|
-
from .stable.request_service import RequestService
|
631
|
-
|
632
|
-
return self._create_service(RequestService)
|
633
|
-
|
634
708
|
@cached_property
|
635
709
|
def rna_oligos(self) -> RnaOligoService:
|
636
710
|
"""
|
@@ -692,6 +766,19 @@ class V2StableService(BaseService):
|
|
692
766
|
|
693
767
|
return self._create_service(TeamService)
|
694
768
|
|
769
|
+
@cached_property
|
770
|
+
def test_orders(self) -> TestOrderService:
|
771
|
+
"""
|
772
|
+
Test Orders.
|
773
|
+
|
774
|
+
Test orders enable users to order tests for specific sample/container combinations that will be fulfilled in assays.
|
775
|
+
|
776
|
+
See https://benchling.com/api/reference?availability=la#/Test%20Orders/
|
777
|
+
"""
|
778
|
+
from .stable.test_order_service import TestOrderService
|
779
|
+
|
780
|
+
return self._create_service(TestOrderService)
|
781
|
+
|
695
782
|
@cached_property
|
696
783
|
def users(self) -> UserService:
|
697
784
|
"""
|
@@ -25,7 +25,7 @@ class V2Service(BaseService):
|
|
25
25
|
_v2_alpha_service: Optional[V2AlphaService]
|
26
26
|
_v2_beta_service: Optional[V2BetaService]
|
27
27
|
|
28
|
-
def __init__(self, client: Client, retry_strategy: RetryStrategy =
|
28
|
+
def __init__(self, client: Client, retry_strategy: Optional[RetryStrategy] = None):
|
29
29
|
"""
|
30
30
|
Initialize a service.
|
31
31
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: benchling-sdk
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.22.0
|
4
4
|
Summary: SDK for interacting with the Benchling Platform.
|
5
5
|
License: Apache-2.0
|
6
6
|
Author: Benchling Support
|
@@ -16,7 +16,7 @@ Provides-Extra: python-jose
|
|
16
16
|
Requires-Dist: PyYAML (>=6.0,<7.0)
|
17
17
|
Requires-Dist: attrs (>=20.1.0)
|
18
18
|
Requires-Dist: backoff (>=1.10.0,<3)
|
19
|
-
Requires-Dist: benchling-api-client (==2.0.
|
19
|
+
Requires-Dist: benchling-api-client (==2.0.390)
|
20
20
|
Requires-Dist: certifi (>=2022.12.7)
|
21
21
|
Requires-Dist: cryptography (>=42.0.0) ; extra == "cryptography"
|
22
22
|
Requires-Dist: dataclasses-json (>=0.5.2,<0.6.0)
|