Skip to main content

HuBMAP and SenNet command-line interface to download data using a manifest file.

Project description

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.

Project details


Download files

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

Source Distribution

atlas_consortia_clt-1.0.5.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

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

atlas_consortia_clt-1.0.5-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file atlas_consortia_clt-1.0.5.tar.gz.

File metadata

  • Download URL: atlas_consortia_clt-1.0.5.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for atlas_consortia_clt-1.0.5.tar.gz
Algorithm Hash digest
SHA256 e6198c7f895f5da5ff2efdf62130a53f25e03523d4ea2316682a2783e90eb8f6
MD5 509296aa63ae859f3b6b9293f1495a22
BLAKE2b-256 29534a74e255ccf444cc922e9af3dfa405cea7ffc52cc5b619206a99e0fd282e

See more details on using hashes here.

File details

Details for the file atlas_consortia_clt-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for atlas_consortia_clt-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0d860d7dd36083b3f1d55984e438105e7561a2f79c63c0cae3235738645c51d5
MD5 9f0393b1de271dcf1d9adde820a5f2fe
BLAKE2b-256 e8237cd85887d949b975197b920c784539e8fdf0cfaec8001e50d69dfcd7976f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page