Command line interface for interacting with the Terra Scientific Pipelines Service, or Teaspoons.
Project description
Terralab CLI
Overview
The Terralab CLI provides a command-line interface with which to interact with the Terra Scientific Pipelines Service, or Teaspoons.
Currently, Terralab supports running Genotype Imputation (for public release in early 2025).
Note that in order to use Terralab and Teaspoons, you must have a Terra account.
User instructions coming soon.
Installation
You can install the Terralab CLI from PyPi using your favorite package management tool.
For example, run
pip install terralab-cli
Using the CLI
Once installed, to run the CLI, run the following command:
terralab COMMAND [ARGS]
For example, to list the pipelines you can run using Terralab, run the following command:
terralab pipelines list
(Internal) WIP documentation for the CLI.
Python CLI structure
The CLI code is structured as follows:
terra-scientific-pipelines-service-cli
├── terralab
│ └── commands
│ │ └── __init__.py
│ │ └── auth_commands.py
│ │ └── pipelines_commands.py
│ └── logic
│ │ └── __init__.py
│ │ └── auth_logic.py
│ │ └── pipelines_logic.py
│ └── __init__.py
│ └── auth_helper.py
│ └── cli.py
│ └── client.py
│ └── config.py
│ └── teaspoons
├── tests
│ └── commands
│ │ └── test_auth_commands.py
│ │ └── test_pipelines_commands.py
│ └── logic
│ │ └── test_auth_logic.py
│ │ └── test_pipelines_logic.py
│ └── __init__.py
│ └── auth_helper.py
│ └── cli.py
│ └── client.py
│ └── config.py
│ └── terralab
├── .gitignore
├── .terralab-cli-config
├── poetry.lock
├── pyproject.toml
├── README.md
In the terralab
directory, we have the following files and subdirectories:
auth_helper.py
contains the code for authenticating with the Terra Scientific Pipelines Service (Terra, via b2c).cli.py
is the entrypoint for the CLI. It configures logging and assembles the CLI sub-modules that are defined incommands/
.client.py
contains the code for wrapping API calls to the Terra Scientific Pipelines Service.config.py
contains the code for managing the CLI configuration via environment variables.utils.py
contains utility functions that are used across the CLI.- The
commands
directory contains the CLI sub-modules. This is effectively the controller layer for the CLI. - The
logic
directory contains the business logic for the CLI, including calling Terra Scientific Pipelines Service APIs via the thinteaspoons_client
, which is autogenerated and published by the Terra Scientific Pipelines Service repository.
In the tests
directory, we have test files that can be run with pytest.
Development
See CONTRIBUTING.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file terralab_cli-0.0.7.tar.gz
.
File metadata
- Download URL: terralab_cli-0.0.7.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22dca459f51c5d77f8f18e56761c8e8a40bc27c238cdb7ad7083f2a6dcf9391a |
|
MD5 | 061878d0fb6390a47d1f13baa695ac5f |
|
BLAKE2b-256 | 21872a8c77a4497114e9eb94066734c0b19e23c4e85c6ccabdf6346ad9bdc3e2 |
Provenance
The following attestation bundles were made for terralab_cli-0.0.7.tar.gz
:
Publisher:
bump-build-publish-cli.yml
on DataBiosphere/terra-scientific-pipelines-service-cli
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
terralab_cli-0.0.7.tar.gz
- Subject digest:
22dca459f51c5d77f8f18e56761c8e8a40bc27c238cdb7ad7083f2a6dcf9391a
- Sigstore transparency entry: 149102593
- Sigstore integration time:
- Predicate type:
File details
Details for the file terralab_cli-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: terralab_cli-0.0.7-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 332c8b515fc826f873162e9006bfebb3138d092468077bb52acb2d8e07edeaff |
|
MD5 | 9a9927eb3b72cd413c0ae7be66e3a595 |
|
BLAKE2b-256 | f08e022cdcd3330b83d20f4d91a9c2d4b45ea5a55fef3c2561abce55c0981d8a |
Provenance
The following attestation bundles were made for terralab_cli-0.0.7-py3-none-any.whl
:
Publisher:
bump-build-publish-cli.yml
on DataBiosphere/terra-scientific-pipelines-service-cli
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
terralab_cli-0.0.7-py3-none-any.whl
- Subject digest:
332c8b515fc826f873162e9006bfebb3138d092468077bb52acb2d8e07edeaff
- Sigstore transparency entry: 149102594
- Sigstore integration time:
- Predicate type: