dsglobus
This application is a command-line tool for Globus data transfer and management of files archived in the NSF NCAR Geoscience Data Exchange (GDEX).
Installation
Use the package manager pip to
install rda_python_globus.
From within your Python virtual environment:
pip install rda-python-globus
After installation, the cli command dsglobus will be available in
the /bin directory of your virtual environment.
Command-line usage
The dsglobus app is run with the following subcommands. Each supports a
--help/-h option for details and examples on its usage:
dsglobus transfer --help
dsglobus get-task --help
dsglobus task-list --help
dsglobus task-event-list --help
dsglobus cancel-task --help
dsglobus ls --help
dsglobus mkdir --help
dsglobus rename --help
dsglobus delete --help
Example usage
- Transfer a single file from the
NCAR GDEX GLADEendpoint to theNCAR GDEX Quasarendpoint:
$ dsglobus transfer \
--source-endpoint gdex-glade \
--destination-endpoint gdex-quasar \
--source-file /data/d999009/file.txt \
--destination-file /d999009/file.txt
- Multiple files can be transferred with a single
dsglobus transfercall by passing a JSON formatted list of files. To transfer a batch of files from a JSON file:
$ dsglobus transfer \
--source-endpoint SOURCE_ENDPOINT \
--destination-endpoint DESTINATION_ENDPOINT \
--batch /path/to/batch.json
where the contents of batch.json is formatted with source_file/destination_file
pairs as:
{
"files": [
{"source_file": "/data/d999009/file1.tar", "destination_file": "/d999009/file1.tar"},
{"source_file": "/data/d999009/file2.tar", "destination_file": "/d999009/file2.tar"},
{"source_file": "/data/d999009/file3.tar", "destination_file": "/d999009/file3.tar"}
]
}
Listing contents of a directory on a Globus endpoint
A listing of files on a Globus endpoint can be retrieved via the dsglobus ls command. This
command supports filtering the results subject to the following rules:
- Filter patterns must start with
--, ~, !, or!~. If none of these are given,=will be used =does exact matching~does regex matching, supporting globs (*)!does inverse=matching!~does inverse~matching~*.txtmatches all.txtfiles, for example
Examples:
$ dsglobus ls -ep <endpoint> -p <path> --filter '~*.txt' # all txt files
$ dsglobus ls -ep <endpoint> -p <path> --filter '!~file1.*' # not starting in "file1."
$ dsglobus ls -ep <endpoint> -p <path> --filter '~*ile3.tx*' # anything with "ile3.tx"
$ dsglobus ls -ep <endpoint> -p <path> --filter '=file2.txt' # only "file2.txt"
$ dsglobus ls -ep <endpoint> -p <path> --filter 'file2.txt' # same as '=file2.txt'
$ dsglobus ls -ep <endpoint> -p <path> --filter '!=file2.txt' # anything but "file2.txt"
Customizing and extending dsglobus
This app can be modified and adapted to be used on other Globus clients and endpoints with
minimal effort. Simply update the client ID, token storage, endpoint IDs, endpoint aliases, and
other configuration parameters in rda_globus_python/lib/config.py to adapt the app to your use
case and specific needs.
Resources
This app is adapted from the fully featured Globus Command Line Interface (CLI)
and uses the
TransferClient class from the Globus SDK.
The full Globus Transfer documentation offers full details about the service and reference documentation for all of its supported methods and features.
Metadata
Release files for rda-python-globus 1.0.21
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rda_python_globus-1.0.21.tar.gz | 16.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rda_python_globus-1.0.21-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.0 kB
Release files / rda_python_globus-1.0.21.tar.gz
| Download URL | rda_python_globus-1.0.21.tar.gz |
|---|---|
| Size | 16.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8609588b39e8190b88db37cf56c95bda385f8ee7ccc1d04ca94e93053783bd6
|
|
BLAKE2b-256 checksum How to use checksums |
eac0e8fe0fd0dfb67e43a7a94036f67537cfd822dcdfbef15c1ced8c7df113e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.
Transparency logRelease files / rda_python_globus-1.0.21-py3-none-any.whl
| Download URL | rda_python_globus-1.0.21-py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab77b760892f056e2b0745bc445f6890ef74b4aa5c698a51ebc5d7950f92d269
|
|
BLAKE2b-256 checksum How to use checksums |
3f180834814b554ef839ce66a99854faef9f416019e39551d846cbb5c012bb77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.
Transparency logSecurity for rda-python-globus 1.0.21
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for rda_python_globus-1.0.21.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.