This package contains a client library for the Globus Online Transfer API.
For detailed documentation of the Transfer API, see https://transfer.api.globusonline.org
If you downloaded the source from github, simply run:
python setup.py install
There is also a package on PyPI with the latest stable version; it can
be installed with
from globusonline.transfer import api_client api = api_client.TransferAPIClient(username="myusername", cert_file="/path/to/client/credential", key_file="/path/to/client/credential") status_code, status_message, data = api.task_list()
globusonline/transfer/api_client/examples directory for more
complete examples. If you installed from PyPI, this will be somewhere in
your Python path:
python -c "from globusonline.transfer import api_client; print api_client.__path__"
One of the best ways to learn the library is to run an interactive interpreter with an instance of the client. The module provides a shortcut for doing this:
python -i -m globusonline.transfer.api_client.main USERNAME -p >>> status_code, status_message, data = api.task_list() >>> dir(api) # get a list of all available methods
replace USERNAME with your Globus Online username, and you will be prompted for your password.
- Use standard python httplib if the python version has PEP 0476 (2.7.9+). This should fix an issue with using an http proxy, since the custom verified_https library uses private APIs that broke in later versions of 2.7.x.
- Remove deprecated 'bearer' authentication method.
- Remove deprecated method 'task_subtask_list'.
- Add method for creating shared endpoints.
- Add method for successful transfers API to replace subtask API.
- Add methods for new server API.
- Add InCommon CA and simplify CA handling.
- Improve handling of HTML errors.
- Handle 503 errors within retry loop.
- Replace GO abbreviation in prompts with Globus Online.
- Add goauth authentication and remove cookie authentication. Password prompt now uses goauth instead of scraping a cookie from the website.
- Add hostname validation to verified_https module.
- Add missing options to endpoint_create.
- Add example add-endpoint.py that prompts for username and password and uses goauth to authenticate.
- Fix password prompt authentication to work with current globusonline website.
- Support keyword args to
Transferconstructor; can be used to pass
verify_checksum, and any options added in the future, without requiring a client library update.
- Support Bearer auth header for passing the auth token in addition to the cookie option.
- Fix Delete when not passing a deadline argument.
- Improve interactive script by importing Transfer and Delete.
interpret_globsoption to Delete.
ActivationRequirementListto properly update the mapping.
- Include CAs in the package; the
server_ca_fileparameter (and the -C command line arg) is no longer required.
delegate_proxyactivation implementation using a custom C program called
mkproxyinstead of M2Crypto. See
mkproxyis the preferred implementations, so if both the executable and M2Crypto are installed,
- Moved examples to package data, so they are included in the PyPI package.
- Add https proxy support, using the
HTTPS_PROXYenvironment variable. This has been tested in 2.6.6 and 2.7, and does not work in 2.6.1 (because the tunnel features was added in the middle of the 2.6.X cycle). Other versions > 2.6.1 may also work, but this has not been tested. Thanks to Brett Viren for this feature!
- If you have both your key and certificate in the same file, you don't have to pass it to both -c and -k when running the examples and interactive client. Just pass one of them, and it will assume the file contains both.
- Added some basic usage docs to
- Fix example.py breakage when printing GC endpoints.
- Import readline in main.py, for more convenient interactive testing.