rsynthbio 3.0.0
Major Changes
- Async API Support: Migrated to async API model
matching the Python
pysynthbio
implementation
predict_query()
now uses an asynchronous workflow:
submit → poll → download
- Added automatic status polling with configurable intervals and
timeouts
- New parameters:
poll_interval_seconds
(default: 2),
poll_timeout_seconds
(default: 900)
- Single-Cell Support: Added support for single-cell
RNA-seq data via the “single-cell” modality
get_valid_query()
now accepts a modality
parameter (“bulk” or “single-cell”)
get_valid_modalities()
now returns both “bulk” and
“single-cell”
- Updated
MODEL_MODALITIES
to include both
modalities
- GEM-1 Model: rsynthbio now works with the GEM-1
model from Synthesize Bio
- Older versions of Synthesize Bio models are no longer supported
Breaking Changes
- API Base URL Changed:
API_BASE_URL
is
now https://app.synthesize.bio
(base URL only, not
versioned endpoint)
- Parameter Changes in
predict_query()
:
- Removed
raw_response
parameter
- Removed
url
parameter (replaced with
api_base_url
)
- Added
poll_interval_seconds
parameter
- Added
poll_timeout_seconds
parameter
- Added
return_download_url
parameter
New Functions
resolve_api_slug()
: Maps modality to API endpoint slug
(internal)
start_model_query()
: Initiates async model query
(internal)
poll_model_query()
: Polls status endpoint until
completion (internal)
get_json()
: Fetches results from signed download URL
(internal)
transform_result_to_frames()
: Converts JSON to data
frames (internal)
Bug Fixes
- Fixed metadata handling for queries with empty metadata fields
- Improved error messages for failed queries (now shows error message
instead of error URL)
- Better handling of single-cell count data format (dict vs list)
Documentation
- Updated README.md to explain async API behavior
- Updated vignettes with async workflow examples
- Added examples for both bulk and single-cell modalities
- Clarified polling timeout and interval configuration
Tests
- Added comprehensive test suite mirroring Python implementation
- Added live API tests for both bulk and single-cell modalities
- Added tests for invalid metadata validation
- Added mocked async workflow tests (success, failure, timeout
scenarios)