A Python 3.7+ SDK for the Benchling platform designed to provide typed, fluent interactions with Benchling APIs.
Developers often create internal libraries (or leverage third-party ones) to handle interactions with Benchling's API, such as facilitating sleep & retry strategies after encountering a rate-limit error. The maintenance of these internal and/or third-party libraries can create significant overhead and make it harder to get started with our APIs.
We've helped alleviate much of this overhead with our Python SDK. At a high-level, our Python SDK provides a hassle-free library of Python classes and methods to handle the nuances of interacting with Benchling’s API endpoints in a first-class manner.
Some notable benefits of leveraging Benchling’s Python SDK include:
- Get started faster - An SDK package and an API key are all you need to start interacting with Benchling.
- Work with Benchling Objects - Resources are automatically constructed and deserialized into Python classes, freeing developers from JSON.
- Fewer errors, More development - Our Python SDK handles all of the nuances of connections, authentication, error handling, pagination, and retries in an off-the-shelf library.
Consider leveraging Benchling’s Python SDK to shorten development timelines for all your software integrations using Benchling's APIs.
An SDK, not an API
This SDK is purely an abstraction on our existing APIs. It does not provide any interactions above and beyond those that available by interacting with the APIs directly in another language, or through another package like
Install the SDK via Poetry (if applicable):
poetry add benchling-sdk
Or via Pip:
pip install benchling-sdk
Obtain a valid API key from your Benchling account and provide it to the SDK, along with the URL for your tenant.
from benchling_sdk.benchling import Benchling from benchling_sdk.auth.api_key_auth import ApiKeyAuth benchling = Benchling(url="https://my.benchling.com", auth_method=ApiKeyAuth("api_key"))
Now, with Benchling instantiated, make a sample call to list DNA Sequences:
exampleEntities = benchling.dna_sequences.list()
And you've successfully made a call to list DNA sequences from your tenant! To iterate through the list of DNA sequences you just retrieved, refer to the guidance in our Common SDK Interactions and Examples
Check out Common SDK Interactions and Examples for code walkthroughs of other types of interactions users frequently do in our SDK, or check out Browsing the SDK Reference to understand the full functionality that's exposed in the SDK!
If you have any issues with or question about the SDK, please contact Benchling support at [email protected]
Updated 16 days ago