A high level tool for scripting Globus transfers
$ git clone https://github.com/ubcbraincircuits/archeion.git
$ pip install --user --editable archeion
Get OAuth2 client
>>> from archeion import models
>>> authorizer = models.OAuth2()
Search shared endpoints
>>> search = models.search_shared_endpoints(authorizer, 'graham-dtn')
{'Shared NEMO on graham-dtn':'9b98802a-931d-11e7-aaa6-22000a92523b',
'computecanada#graham-dtn':'499930f1-5c43-11e7-bf29-22000b9a448b'}
Create instance of Endpoint class using endpoint ID
>>> graham = models.Endpoint(search['computecanada#graham-dtn'], authorizer)
Search for globus personal endpoints accessible from shared endpoint
>>> graham.search_endpoints()
{'My_Workstation':'6c575d2a-a989-11e9-821d-02b7a92d8e58'}
Create another instance of Endpoint
>>> my_endpoint_id = graham.search_endpoints()['My_Workstation']
>>> my_endpoint=models.Endpoint(my_endpoint_id, authorizer
Create a transfer client from my_endpoint
to graham
>>> transfer = models.Transfer(my_endpoint, graham,'Example')
Add some files to your transfer client
>>> transfer.add('folder/on/my_endpoint', 'folder/on/graham')
Submit the transfer and check its status
>>> transfer.submit()
>>> transfer.status
'SUCCEEDED: Scanned 4 file(s)'