v2.1.0
Highlights:
-
A
max_threads
property of the Synapse object has been added to customize the number of concurrent threads that will be used during file transfers.import synapseclient syn = synapseclient.login() syn.max_threads = 20
If not customized the default value is (CPU count + 4). Adjusting this value
higher may speed up file transfers if the local system resources can take advantage of the higher setting.
Currently this value applies only to files whose underlying storage is AWS S3.Alternately, a value can be stored in the synapseConfig configuration file that will automatically apply
as the default if a value is not explicitly set.[transfer] max_threads=16
-
This release includes support for directly accessing S3 storage locations using AWS Security Token Service
credentials. This allows use of external AWS clients and libraries with Synapse storage, and can be used to
accelerate file transfers under certain conditions. To create an STS enabled folder and set-up direct access to S3 storage, see here. -
The
getAnnotations
andsetAnnotations
methods of the Synapse object have been deprecated in
favor of newerget_annotations
andset_annotations
methods, respectively. The newer versions
are parameterized with a typedAnnotations
dictionary rather than a plain Python dictionary to prevent
existing annotations from being accidentally overwritten. The expected usage for setting annotations is to first retrieve the existingAnnotations
for an entity before saving changes by passing back a modified value.annos = syn.get_annotations('syn123') # set key 'foo' to have value of 'bar' and 'baz' annos['foo'] = ['bar', 'baz'] # single values will automatically be wrapped in a list once stored annos['qwerty'] = 'asdf' annos = syn.set_annotations(annos)
The deprecated annotations methods may be removed in a future release.
A full list of issues addressed in this release are below.
Bug
- [SYNPY-913] - Travis Build badge for develop branch is pointing to pull request
- [SYNPY-960] - AppVeyor build badge appears to be failed while the builds are passed
- [SYNPY-1036] - different users storing same file to same folder results in 403
- [SYNPY-1056] - syn.getSubmissions fails due to new Annotation class in v2.1.0-rc
Improvement
- [SYNPY-1036] - Make upload speeds comparable to those of the AWS S3 CLI
- [SYNPY-1049] - Expose STS-related APIs
Task
- [SYNPY-1059] - Use collections.abc instead of collections