rsynthbio 3.0.0
Major Changes
- Async API Support: Migrated to async API model
matching the Python pysynthbioimplementation
- 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- modalityparameter (“bulk” or “single-cell”)
- get_valid_modalities()now returns both “bulk” and
“single-cell”
- Updated MODEL_MODALITIESto 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_URLis
nowhttps://app.synthesize.bio(base URL only, not
versioned endpoint)
- Parameter Changes in predict_query():
- Removed raw_responseparameter
- Removed urlparameter (replaced withapi_base_url)
- Added poll_interval_secondsparameter
- Added poll_timeout_secondsparameter
- Added return_download_urlparameter
 
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)