BioLM Python client
Project description
Python client and SDK for BioLM
Install the package:
pip install biolmai
Basic usage:
from biolmai import biolm
# Encode a single sequence
result = biolm(entity="esm2-8m", action="encode", type="sequence", items="MSILVTRPSPAGEEL")
# Predict a batch of sequences
result = biolm(entity="esmfold", action="predict", type="sequence", items=["SEQ1", "SEQ2"])
# Write results to disk
biolm(entity="esmfold", action="predict", type="sequence", items=["SEQ1", "SEQ2"], output='disk', file_path="results.jsonl")
Asynchronous usage:
from biolmai.client import BioLMApiClient
import asyncio
async def main():
model = BioLMApiClient("esmfold")
result = await model.predict(items=[{"sequence": "MDNELE"}])
print(result)
asyncio.run(main())
Overview
The BioLM Python client provides a high-level, user-friendly interface for interacting with the BioLM API. It supports both synchronous and asynchronous usage, automatic batching, flexible error handling, and efficient processing of biological data.
Main features:
High-level BioLM constructor for quick requests
Sync and async interfaces
Automatic or custom rate limiting/throttling
Schema-based batch size detection
Flexible input formats (single key + list, or list of dicts)
Low memory usage via generators
Flexible error handling (raise, continue, or stop on error)
Universal HTTP client for both sync and async
Features
High-level constructor: Instantly run an API call with a single line.
Sync and async: Use BioLM for sync, or BioLMApiClient for async.
Flexible rate limiting: Use API throttle, disable, or set your own (e.g., ‘1000/second’).
Schema-based batching: Automatically queries API for max batch size.
Flexible input: Accepts a single key and list, or list of dicts, or list of lists for advanced batching.
Low memory: Uses generators for validation and batching.
Error handling: Raise HTTPX errors, continue on error, or stop on first error.
Disk output: Write results as JSONL to disk.
Universal HTTP client: Efficient for both sync and async.
Direct access to schema and batching: Use BioLMApi for advanced workflows, including .schema(), .call(), and ._batch_call_autoschema_or_manual().
Example endpoints and actions:
esm2-8m/encode: Embedding for protein sequences.
esmfold/predict: Structure prediction for protein sequences.
progen2-oas/generate: Sequence generation from a context string.
dnabert2/predict: Masked prediction for protein sequences.
ablang2/encode: Embeddings for paired-chain antibodies.
Free software: Apache Software License 2.0
Documentation: https://docs.biolm.ai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file biolmai-0.2.14.tar.gz.
File metadata
- Download URL: biolmai-0.2.14.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ec834817856d6849c70c1b0304080574c2d56cea60991f90703ef90f7cfd137
|
|
| MD5 |
f5a4b8b3f71291693c518978cee38808
|
|
| BLAKE2b-256 |
0dcd4f3cf695a1c559f30ba83b425ca2c1ceca48c068f4f196e9b68954ddb17a
|
File details
Details for the file biolmai-0.2.14-py2.py3-none-any.whl.
File metadata
- Download URL: biolmai-0.2.14-py2.py3-none-any.whl
- Upload date:
- Size: 41.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e64febc50142c6a7ece75d777e5883cb23fb082eaadd117af9fcbe8e83f647ba
|
|
| MD5 |
3116f01bd751d1e64914157a7dc81df6
|
|
| BLAKE2b-256 |
3f5db3b1461139685194f63667524e11827f55e2842ba3124b489513765e2225
|