benchling-sdk 1.11.0a6__tar.gz → 1.12.0__tar.gz
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-1.11.0a6 → benchling_sdk-1.12.0}/PKG-INFO +2 -2
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/benchling.py +14 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/models/__init__.py +6 -0
- benchling_sdk-1.12.0/benchling_sdk/services/v2/beta/v2_beta_aa_sequence_service.py +33 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/aa_sequence_service.py +31 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/custom_entity_service.py +26 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/dna_oligo_service.py +31 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/dna_sequence_service.py +66 -0
- benchling_sdk-1.11.0a6/benchling_sdk/services/v2/beta/v2_beta_entity_service.py → benchling_sdk-1.12.0/benchling_sdk/services/v2/stable/entity_service.py +16 -9
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/molecule_service.py +46 -12
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/plate_service.py +40 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/rna_oligo_service.py +31 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/rna_sequence_service.py +35 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/user_service.py +12 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/v2_beta_service.py +0 -96
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/v2_stable_service.py +21 -1
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/pyproject.toml +2 -2
- benchling_sdk-1.11.0a6/benchling_sdk/services/v2/beta/v2_beta_aa_sequence_service.py +0 -61
- benchling_sdk-1.11.0a6/benchling_sdk/services/v2/beta/v2_beta_custom_entity_service.py +0 -43
- benchling_sdk-1.11.0a6/benchling_sdk/services/v2/beta/v2_beta_dna_oligo_service.py +0 -41
- benchling_sdk-1.11.0a6/benchling_sdk/services/v2/beta/v2_beta_dna_sequence_service.py +0 -43
- benchling_sdk-1.11.0a6/benchling_sdk/services/v2/beta/v2_beta_rna_oligo_service.py +0 -41
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/LICENSE +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/README.md +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/canvas/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/canvas/errors.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/canvas/framework.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/canvas/types.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/config/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/config/cryptography_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/config/decryption_provider.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/config/errors.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/config/framework.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/config/helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/config/mock_config.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/config/types.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/framework.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/helpers/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/helpers/manifest_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/helpers/webhook_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/status/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/status/errors.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/status/framework.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/status/helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/status/types.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/apps/types.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/auth/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/auth/api_key_auth.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/auth/bearer_token_auth.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/auth/client_credentials_oauth2.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/docs/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/docs/__main__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/errors.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/client_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/constants.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/decorators.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/file_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/logging_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/package_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/pagination_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/response_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/retry_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/serialization_helpers.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/helpers/transaction_manager.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/models/webhooks/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/models/webhooks/v0/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/py.typed +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/alpha/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/alpha/v2_alpha_app_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/alpha/v2_alpha_dna_sequence_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/base_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/beta/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/beta/v2_beta_app_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/beta/v2_beta_collaboration_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/beta/v2_beta_data_frame_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/beta/v2_beta_entry_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/beta/v2_beta_folder_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/beta/v2_beta_project_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/beta/v2_beta_worklist_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/__init__.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/api_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/app_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/assay_result_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/assay_run_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/blob_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/box_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/container_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/custom_notation_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/dna_alignments_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/dropdown_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/entry_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/event_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/export_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/feature_library_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/folder_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/inventory_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/lab_automation_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/label_template_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/location_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/mixture_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/nucleotide_alignments_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/oligo_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/organization_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/printer_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/project_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/registry_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/request_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/schema_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/task_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/team_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/warehouse_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/workflow_output_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/workflow_task_group_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/workflow_task_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/v2_alpha_service.py +0 -0
- {benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2_service.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: benchling-sdk
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.12.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.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)
|
@@ -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
|
"""
|
@@ -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",
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from benchling_api_client.v2.beta.api.aa_sequences import find_matching_regions_aa_sequences
|
2
|
+
from benchling_api_client.v2.beta.models.aa_sequences_find_matching_region import (
|
3
|
+
AaSequencesFindMatchingRegion,
|
4
|
+
)
|
5
|
+
|
6
|
+
from benchling_sdk.helpers.decorators import api_method
|
7
|
+
from benchling_sdk.helpers.response_helpers import model_from_detailed
|
8
|
+
from benchling_sdk.models import AsyncTaskLink
|
9
|
+
from benchling_sdk.services.v2.base_service import BaseService
|
10
|
+
|
11
|
+
|
12
|
+
class V2BetaAaSequenceService(BaseService):
|
13
|
+
"""
|
14
|
+
V2-Beta AA Sequences.
|
15
|
+
|
16
|
+
AA Sequences are the working units of cells that make everything run (they help make structures, catalyze
|
17
|
+
reactions and allow for signaling - a kind of internal cell communication). On Benchling, these are comprised
|
18
|
+
of a string of amino acids and collections of other attributes, such as annotations.
|
19
|
+
|
20
|
+
See https://benchling.com/api/v2-beta/reference#/AA%20Sequences
|
21
|
+
"""
|
22
|
+
|
23
|
+
@api_method
|
24
|
+
def find_matching_regions(self, find_matching_region: AaSequencesFindMatchingRegion) -> AsyncTaskLink:
|
25
|
+
"""
|
26
|
+
Find matching regions for AA sequences.
|
27
|
+
|
28
|
+
See https://benchling.com/api/v2-beta/reference#/AA%20Sequences/findMatchingRegionsAaSequences
|
29
|
+
"""
|
30
|
+
response = find_matching_regions_aa_sequences.sync_detailed(
|
31
|
+
client=self.client, json_body=find_matching_region
|
32
|
+
)
|
33
|
+
return model_from_detailed(response)
|
@@ -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)
|
{benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/molecule_service.py
RENAMED
@@ -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)
|
{benchling_sdk-1.11.0a6 → benchling_sdk-1.12.0}/benchling_sdk/services/v2/stable/plate_service.py
RENAMED
@@ -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)
|