Skip to content

v2.1.0

Compare
Choose a tag to compare
@jkiang13 jkiang13 released this 17 Jun 07:39

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 and setAnnotations methods of the Synapse object have been deprecated in
    favor of newer get_annotations and set_annotations methods, respectively. The newer versions
    are parameterized with a typed Annotations 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 existing Annotations 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