benchling-sdk 1.19.0__tar.gz → 1.20__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.
Files changed (125) hide show
  1. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/PKG-INFO +1 -1
  2. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/canvas/errors.py +6 -0
  3. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/canvas/framework.py +30 -10
  4. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/pyproject.toml +1 -1
  5. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/LICENSE +0 -0
  6. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/README.md +0 -0
  7. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/__init__.py +0 -0
  8. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/__init__.py +0 -0
  9. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/canvas/__init__.py +0 -0
  10. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/canvas/types.py +0 -0
  11. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/config/__init__.py +0 -0
  12. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/config/cryptography_helpers.py +0 -0
  13. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/config/decryption_provider.py +0 -0
  14. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/config/errors.py +0 -0
  15. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/config/framework.py +0 -0
  16. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/config/helpers.py +0 -0
  17. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/config/mock_config.py +0 -0
  18. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/config/types.py +0 -0
  19. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/framework.py +0 -0
  20. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/helpers/__init__.py +0 -0
  21. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/helpers/manifest_helpers.py +0 -0
  22. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/helpers/webhook_helpers.py +0 -0
  23. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/status/__init__.py +0 -0
  24. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/status/errors.py +0 -0
  25. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/status/framework.py +0 -0
  26. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/status/helpers.py +0 -0
  27. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/status/types.py +0 -0
  28. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/apps/types.py +0 -0
  29. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/auth/__init__.py +0 -0
  30. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/auth/api_key_auth.py +0 -0
  31. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/auth/bearer_token_auth.py +0 -0
  32. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/auth/client_credentials_oauth2.py +0 -0
  33. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/benchling.py +0 -0
  34. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/docs/__init__.py +0 -0
  35. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/docs/__main__.py +0 -0
  36. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/errors.py +0 -0
  37. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/__init__.py +0 -0
  38. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/client_helpers.py +0 -0
  39. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/constants.py +0 -0
  40. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/decorators.py +0 -0
  41. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/file_helpers.py +0 -0
  42. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/logging_helpers.py +0 -0
  43. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/package_helpers.py +0 -0
  44. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/pagination_helpers.py +0 -0
  45. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/response_helpers.py +0 -0
  46. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/retry_helpers.py +0 -0
  47. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/serialization_helpers.py +0 -0
  48. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/task_helpers.py +0 -0
  49. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/helpers/transaction_manager.py +0 -0
  50. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/models/__init__.py +0 -0
  51. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/models/webhooks/__init__.py +0 -0
  52. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/models/webhooks/v0/__init__.py +0 -0
  53. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/py.typed +0 -0
  54. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/__init__.py +0 -0
  55. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/__init__.py +0 -0
  56. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/alpha/__init__.py +0 -0
  57. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/alpha/v2_alpha_app_service.py +0 -0
  58. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/alpha/v2_alpha_assembly_service.py +0 -0
  59. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/base_service.py +0 -0
  60. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/__init__.py +0 -0
  61. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_analysis_service.py +0 -0
  62. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_app_definition_service.py +0 -0
  63. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_app_service.py +0 -0
  64. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_audit_service.py +0 -0
  65. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_collaboration_service.py +0 -0
  66. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_data_frame_service.py +0 -0
  67. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_entry_service.py +0 -0
  68. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_folder_service.py +0 -0
  69. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_project_service.py +0 -0
  70. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/beta/v2_beta_worklist_service.py +0 -0
  71. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/__init__.py +0 -0
  72. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/aa_sequence_service.py +0 -0
  73. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/api_service.py +0 -0
  74. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/app_service.py +0 -0
  75. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/assay_result_service.py +0 -0
  76. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/assay_run_service.py +0 -0
  77. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/blob_service.py +0 -0
  78. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/box_service.py +0 -0
  79. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/codon_usage_table_service.py +0 -0
  80. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/container_service.py +0 -0
  81. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/custom_entity_service.py +0 -0
  82. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/custom_notation_service.py +0 -0
  83. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/dna_alignments_service.py +0 -0
  84. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/dna_oligo_service.py +0 -0
  85. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/dna_sequence_service.py +0 -0
  86. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/dropdown_service.py +0 -0
  87. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/entity_service.py +0 -0
  88. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/entry_service.py +0 -0
  89. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/enzyme_service.py +0 -0
  90. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/event_service.py +0 -0
  91. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/export_service.py +0 -0
  92. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/feature_library_service.py +0 -0
  93. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/folder_service.py +0 -0
  94. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/instrument_query_service.py +0 -0
  95. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/inventory_service.py +0 -0
  96. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/lab_automation_service.py +0 -0
  97. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/label_template_service.py +0 -0
  98. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/location_service.py +0 -0
  99. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/mixture_service.py +0 -0
  100. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/molecule_service.py +0 -0
  101. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/monomer_service.py +0 -0
  102. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/nucleotide_alignments_service.py +0 -0
  103. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/oligo_service.py +0 -0
  104. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/organization_service.py +0 -0
  105. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/plate_service.py +0 -0
  106. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/printer_service.py +0 -0
  107. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/project_service.py +0 -0
  108. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/registry_service.py +0 -0
  109. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/request_service.py +0 -0
  110. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/rna_oligo_service.py +0 -0
  111. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/rna_sequence_service.py +0 -0
  112. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/schema_service.py +0 -0
  113. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/task_service.py +0 -0
  114. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/team_service.py +0 -0
  115. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/user_service.py +0 -0
  116. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/warehouse_service.py +0 -0
  117. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/workflow_flowchart_config_version_service.py +0 -0
  118. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/workflow_flowchart_service.py +0 -0
  119. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/workflow_output_service.py +0 -0
  120. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/workflow_task_group_service.py +0 -0
  121. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/stable/workflow_task_service.py +0 -0
  122. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/v2_alpha_service.py +0 -0
  123. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/v2_beta_service.py +0 -0
  124. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/benchling_sdk/services/v2/v2_stable_service.py +0 -0
  125. {benchling_sdk-1.19.0 → benchling_sdk-1.20}/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.19.0
3
+ Version: 1.20
4
4
  Summary: SDK for interacting with the Benchling Platform.
5
5
  License: Apache-2.0
6
6
  Author: Benchling Support
@@ -12,3 +12,9 @@ class NoMatchingBlocksError(Exception):
12
12
  """
13
13
 
14
14
  pass
15
+
16
+
17
+ class MissingResourceIdError(Exception):
18
+ """Error indicating that a resource ID was expected to be present for the operation."""
19
+
20
+ pass
@@ -4,8 +4,13 @@ import json
4
4
  from typing import cast, Dict, Generic, List, Optional, Protocol, Set, Type, TypeVar, Union
5
5
 
6
6
  from benchling_api_client.v2.extensions import UnknownType
7
+ from benchling_api_client.v2.stable.types import UNSET, Unset
7
8
 
8
- from benchling_sdk.apps.canvas.errors import DuplicateBlockIdError, NoMatchingBlocksError
9
+ from benchling_sdk.apps.canvas.errors import (
10
+ DuplicateBlockIdError,
11
+ MissingResourceIdError,
12
+ NoMatchingBlocksError,
13
+ )
9
14
  from benchling_sdk.apps.canvas.types import (
10
15
  _UI_BLOCK_MAPPINGS_CREATE,
11
16
  _UI_BLOCK_MAPPINGS_UPDATE,
@@ -359,12 +364,13 @@ class CanvasBuilder:
359
364
  """
360
365
 
361
366
  _source_canvas: AppCanvas
367
+ _resource_id: str | Unset
362
368
 
363
369
  def __init__(
364
370
  self,
365
371
  app_id: str,
366
372
  feature_id: str,
367
- resource_id: str,
373
+ resource_id: Optional[str] = None,
368
374
  enabled: bool = True,
369
375
  session_id: Optional[str] = None,
370
376
  blocks: Optional[List[UiBlock]] = None,
@@ -378,12 +384,17 @@ class CanvasBuilder:
378
384
  self._source_canvas = AppCanvas(
379
385
  app=AppCanvasApp(id=app_id),
380
386
  feature_id=feature_id,
381
- resource_id=resource_id,
382
387
  enabled=enabled,
383
388
  session_id=session_id,
384
389
  blocks=blocks if blocks else [],
385
390
  data=json.dumps(data) if data is not None else None,
386
391
  )
392
+ self._resource_id = resource_id if resource_id is not None else UNSET
393
+
394
+ @property
395
+ def resource_id(self):
396
+ """Returns the underlying resource_id of this CanvasBuilder."""
397
+ return self._resource_id if self._resource_id is not UNSET else None
387
398
 
388
399
  @classmethod
389
400
  def from_canvas(cls, canvas: AppCanvas) -> CanvasBuilder:
@@ -407,7 +418,7 @@ class CanvasBuilder:
407
418
  return CanvasBuilder(
408
419
  app_id=self._source_canvas.app.id,
409
420
  feature_id=self._source_canvas.feature_id,
410
- resource_id=self._source_canvas.resource_id,
421
+ resource_id=self.resource_id,
411
422
  enabled=value,
412
423
  session_id=self._source_canvas.session_id,
413
424
  blocks=self._source_canvas.blocks,
@@ -432,7 +443,7 @@ class CanvasBuilder:
432
443
  return CanvasBuilder(
433
444
  app_id=self._source_canvas.app.id,
434
445
  feature_id=self._source_canvas.feature_id,
435
- resource_id=self._source_canvas.resource_id,
446
+ resource_id=self.resource_id,
436
447
  enabled=self._source_canvas.enabled,
437
448
  session_id=self._source_canvas.session_id,
438
449
  blocks=new_blocks,
@@ -448,7 +459,7 @@ class CanvasBuilder:
448
459
  return CanvasBuilder(
449
460
  app_id=self._source_canvas.app.id,
450
461
  feature_id=self._source_canvas.feature_id,
451
- resource_id=self._source_canvas.resource_id,
462
+ resource_id=self.resource_id,
452
463
  enabled=self._source_canvas.enabled,
453
464
  session_id=self._source_canvas.session_id,
454
465
  blocks=self._source_canvas.blocks,
@@ -464,7 +475,7 @@ class CanvasBuilder:
464
475
  return CanvasBuilder(
465
476
  app_id=self._source_canvas.app.id,
466
477
  feature_id=self._source_canvas.feature_id,
467
- resource_id=self._source_canvas.resource_id,
478
+ resource_id=self.resource_id,
468
479
  enabled=self._source_canvas.enabled,
469
480
  session_id=session_id,
470
481
  blocks=self._source_canvas.blocks,
@@ -594,7 +605,7 @@ class CanvasBuilder:
594
605
  """Return an AppCanvasUpdate API model from the current state of the canvas managed by CanvasBuilder."""
595
606
  return AppCanvasUpdate(
596
607
  feature_id=self._source_canvas.feature_id,
597
- resource_id=self._source_canvas.resource_id,
608
+ resource_id=self._resource_id,
598
609
  enabled=self._source_canvas.enabled,
599
610
  session_id=self._source_canvas.session_id,
600
611
  blocks=[_ui_block_to_update(block) for block in self._source_canvas.blocks],
@@ -602,11 +613,20 @@ class CanvasBuilder:
602
613
  )
603
614
 
604
615
  def to_create(self) -> AppCanvasCreate:
605
- """Return an AppCanvasCreate API model from the current state of the canvas managed by CanvasBuilder."""
616
+ """
617
+ Return an AppCanvasCreate API model from the current state of the canvas managed by CanvasBuilder.
618
+
619
+ Raise MissingResourceIdError if the current state of the canvas managed by CanvasBuilder does not include
620
+ a resource ID. Without a resource ID indicating the Benchling object on which to place the new canvas,
621
+ canvas creation is underspecified and cannot be completed successfully.
622
+ """
623
+ if self.resource_id is None:
624
+ raise MissingResourceIdError
625
+
606
626
  return AppCanvasCreate(
607
627
  app_id=self._source_canvas.app.id,
608
628
  feature_id=self._source_canvas.feature_id,
609
- resource_id=self._source_canvas.resource_id,
629
+ resource_id=self.resource_id,
610
630
  enabled=self._source_canvas.enabled,
611
631
  session_id=self._source_canvas.session_id,
612
632
  blocks=[_ui_block_to_create(block) for block in self._source_canvas.blocks],
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "benchling-sdk"
3
- version = "1.19.0" # NOTE: This version number is ignored and does not correspond to releases (see README)
3
+ version = "1.20" # NOTE: This version number is ignored and does not correspond to releases (see README)
4
4
  description = "SDK for interacting with the Benchling Platform."
5
5
  authors = ["Benchling Support <support@benchling.com>"]
6
6
  packages = [{include = "benchling_sdk"}]
File without changes
File without changes