benchling-api-client
Autogenerated Python client from OpenAPI Python Client generator
What it is and what it does
benchling-api-client is a low-level Python HTTP client autogenerated from Benchling's OpenAPI specification. It provides direct, type-hinted access to Benchling's REST API endpoints, with built-in retry logic via backoff and request handling through httpx. The package is actively maintained and supports Python 3.9 through 3.13.
However, the package's own documentation explicitly recommends using the higher-level benchling-sdk instead, which wraps this client with additional scaffolding to simplify common workflows. Use this package directly only if you need low-level API control, are integrating with a specific endpoint not well-covered by the SDK, or prefer working with the raw OpenAPI-generated interface.
Use it for:
- Direct access to Benchling API endpoints when the higher-level SDK does not expose the operation you need.
- Building custom integrations that require fine-grained control over request/response handling and retry logic.
- Prototyping or testing new Benchling API features before they are wrapped by the SDK.
- Automating laboratory workflows by querying or updating resources (experiments, samples, sequences) via Benchling's API.
- Integrating Benchling data into Python data pipelines or analysis scripts.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A low-level HTTP client for Benchling's API, autogenerated from OpenAPI definitions and offering direct access to Benchling endpoints.
Yes, but with a caveat: install this only if you are building a direct API integration and the benchling-sdk does not meet your needs. The package is actively maintained, has low install friction, and carries no known vulnerabilities. However, Benchling's own recommendation to use the higher-level SDK suggests this is a lower-level tool; start with the SDK unless you have a specific reason to work at the raw API level.
Install
benchling-api-client on PyPI
pip
pip install benchling-api-clientuv
uv add benchling-api-clientpoetry
poetry add benchling-api-clientInstalling benchling-api-client
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a release 15 days old. Six runtime dependencies are all well-established packages (attrs, backoff, httpx, dataclasses-json, python-dateutil, typing-extensions), suggesting a stable, lightweight dependency chain.
License in practice
Apache-2.0 is permissive; you can use this package in commercial and proprietary projects without restriction, though you must include a copy of the license and note any modifications you make.
Quickstart
pip install benchling-api-client
from benchling_api_client import AuthenticatedClient
from benchling_api_client.api.some_endpoint import get_resource
client = AuthenticatedClient(base_url="https://api.benchling.com", token="your_token")
result = get_resource.sync(client=client)
Requires Python 3.9 or later. You must have a valid Benchling API token and know the endpoint module path for the resource you want to access.
Verify before relying
- Whether this package is actively maintained by Benchling or community-driven; the description recommends the benchling-sdk instead.
- Specific endpoint coverage and whether all Benchling API operations are available in this version.
- Performance characteristics and rate-limiting behavior when used at scale.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4.0,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — attrs, backoff, dataclasses-json, httpx, python-dateutil, typing-extensions |
| Maintenance | actively maintained — 15 days since the last release |
| First released | |
| Downloads | 291,509/month — #7,970 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: benchling_api_client-2.0.440-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
authentik-clientA Python client library for the authentik…
permissive · top 15,000 on PyPI
benchling-sdkA typed Python SDK for interacting with the…
permissive · top 15,000 on PyPI
ghapighapi provides a complete, always-current…
permissive · top 1,000 on PyPI
tapipyTapipy is a Python SDK that automatically…
permissive · top 15,000 on PyPI
bandwidth-sdkPython client library for Bandwidth's…
unclear · top 15,000 on PyPI
gooddata-api-clientProvides a Python client for the GoodData API,…
permissive · top 15,000 on PyPI
mixpeekMixpeek is an auto-generated OpenAPI client…
permissive · top 15,000 on PyPI
neptune-apiA generated Python client library for the…
permissive · top 5,000 on PyPI
atlasclientA Python client for Apache Atlas REST API v2…
permissive · top 5,000 on PyPI
openapi-python-clientGenerates type-annotated Python HTTP clients…
permissive · top 5,000 on PyPI