Skip to main content

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

  1. Transfer a single file from the NCAR GDEX GLADE endpoint to the NCAR GDEX Quasar endpoint:
$ dsglobus transfer \
    --source-endpoint gdex-glade \
    --destination-endpoint gdex-quasar \
    --source-file /data/d999009/file.txt \
    --destination-file /d999009/file.txt
  1. Multiple files can be transferred with a single dsglobus transfer call 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
  • ~*.txt matches all .txt files, 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rda_python_globus-1.0.21.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rda_python_globus-1.0.21-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file rda_python_globus-1.0.21.tar.gz.

File metadata

  • Download URL: rda_python_globus-1.0.21.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rda_python_globus-1.0.21.tar.gz
Algorithm Hash digest
SHA256 a8609588b39e8190b88db37cf56c95bda385f8ee7ccc1d04ca94e93053783bd6
MD5 f3f26ee9d95e870c440ab3f1a6095b26
BLAKE2b-256 eac0e8fe0fd0dfb67e43a7a94036f67537cfd822dcdfbef15c1ced8c7df113e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rda_python_globus-1.0.21.tar.gz:

Publisher: publish.yml on NCAR/rda-python-globus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rda_python_globus-1.0.21-py3-none-any.whl.

File metadata

File hashes

Hashes for rda_python_globus-1.0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 ab77b760892f056e2b0745bc445f6890ef74b4aa5c698a51ebc5d7950f92d269
MD5 0b356f22298cdb9b0d7e5e1571942145
BLAKE2b-256 3f180834814b554ef839ce66a99854faef9f416019e39551d846cbb5c012bb77

See more details on using hashes here.

Provenance

The following attestation bundles were made for rda_python_globus-1.0.21-py3-none-any.whl:

Publisher: publish.yml on NCAR/rda-python-globus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.21 This release

2 files

1.0.20

2 files

1.0.19

2 files

1.0.18

2 files

1.0.17

2 files

1.0.14

2 files

1.0.13

2 files

1.0.11

2 files

1.0.5

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page