Skip to main content

Command-Line Transfer

Command-Line Transfer (CLT) is a command-line interface (CLI) used to download multiple files and directories from the Globus file transfer service. The CLT initiates a transfer from a Globus endpoint to the Globus Connect Personal application. CLT provides hubmap-clt and sennet-clt command-line interfaces for HuBMAP and SenNet, respectively.

Installation

pip

Install the CLT globally using pip:

pip install atlas-consortia-clt

pip with a virtual environment

Installing in a virtual environment keeps the CLT and its dependencies isolated from other Python projects.

macOS/Linux:

python3 -m venv clt-env
source clt-env/bin/activate
pip install atlas-consortia-clt

Windows:

python -m venv clt-env
clt-env\Scripts\activate
pip install atlas-consortia-clt

To use the CLT in the future, activate the virtual environment first:

macOS/Linux:

source clt-env/bin/activate

Windows:

clt-env\Scripts\activate

To deactivate the virtual environment, run the following command on any platform:

deactivate

pipx

pipx installs the CLT in its own isolated environment and automatically exposes the hubmap-clt and sennet-clt commands on your PATH, without affecting other Python packages.

Install pipx if you don't have it. Check the pipx documentation for detailed installation instructions.

Then install the CLT. The CLT relies on the globus-cli package and must also be installed via pipx.

pipx install atlas-consortia-clt globus-cli

To upgrade:

pipx upgrade atlas-consortia-clt globus-cli

Usage

CLT provides hubmap-clt and sennet-clt command-line interfaces. The following documentation uses <consortium>-clt in examples. Please replace <consortium> with hubmap or sennet.

Usage documentation can also be found by running the following command:

<consortium>-clt -h

Login

A one-time login is required for any download session. For non-public data, you must log in with your HuBMAP or SenNet account. For publicly available data, you can log in with any account accepted by the login form (Google and ORCID). Log in can be initiated using the following command:

<consortium>-clt login

By default, login will automatically open a browser window to complete authentication. If you are in a headless environment (e.g. a remote server without a browser), use the --no-browser flag. This will display a URL in the terminal that you can copy and open in a browser on another device to complete the login:

<consortium>-clt login --no-browser

Logout

Logout can be used to log out the current user.

<consortium>-clt logout

Transfer

A data transfer and download can be initiated using the transfer command and a manifest file. You must be logged in to use the transfer command.

<consortium>-clt transfer <PATH/TO/MANIFEST/FILE> 

An optional destination argument can be specified. The destination is the directory on the user's computer where data will be downloaded. The directory will be created if it doesn't exist. The destination argument is relative to the user's home directory (~). For example, --destination Desktop/<consortium>-data corresponds to an absolute path of ~/Desktop/<consortium>-data. The default destination directory is ~/<consortium>-downloads.

<consortium>-clt transfer <PATH/TO/MANIFEST/FILE> --destination <PATH/TO/DESTINATION/DIRECTORY>

An optional --from-protected-space flag can be specified to download protected data belonging to a published protected Dataset. By default, the CLT will download public data only. The user must have access to the protected data in order for the transfer to be successful.

sennet-clt transfer <PATH/TO/MANIFEST/FILE> --from-protected-space

Whoami

Whoami can be used to display the information of the currently logged in user.

<consortium>-clt whoami

Additional Documentation

Additional documentation can be found at the HuBMAP and SenNet documentation pages.

Development

A src/atlas_consortia_clt/common/app.cfg configuration file is required to build the CLT. An example app.cfg.example file is located in the src/atlas_consortia_clt/common directory. Replace the values in app.cfg.example and rename the file to app.cfg.

When contributing to the CLT, run the following commands in the root directory to install the editable package.

python3 -m pip install --upgrade pip setuptools
python3 -m pip install -e .

Building and Publishing

Install the build package and build the project by running the following commands in the root directory. These commands should generate a dist directory.

python3 -m pip install --upgrade build
python3 -m build

Install the twine package and upload the build files to PyPI by running the following commands. The twine command will prompt for a PyPI API token.

python3 -m pip install --upgrade twine
python3 -m twine upload dist/*

See the Python Documentation for more detailed instructions on building and publishing.

Metadata

Release files for atlas-consortia-clt 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for atlas-consortia-clt 1.0.5
File Size Uploaded
atlas_consortia_clt-1.0.5.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for atlas-consortia-clt 1.0.5
File Interpreter ABI Platform
atlas_consortia_clt-1.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 24.1 kB

Release files / atlas_consortia_clt-1.0.5.tar.gz

Download URL atlas_consortia_clt-1.0.5.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e6198c7f895f5da5ff2efdf62130a53f25e03523d4ea2316682a2783e90eb8f6
BLAKE2b-256 checksum
How to use checksums
29534a74e255ccf444cc922e9af3dfa405cea7ffc52cc5b619206a99e0fd282e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / atlas_consortia_clt-1.0.5-py3-none-any.whl

Download URL atlas_consortia_clt-1.0.5-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0d860d7dd36083b3f1d55984e438105e7561a2f79c63c0cae3235738645c51d5
BLAKE2b-256 checksum
How to use checksums
e8237cd85887d949b975197b920c784539e8fdf0cfaec8001e50d69dfcd7976f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release 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