A command line to assist McCloud users.
Project description
Intro
mccloud_cli
is a command line interface to the McCloud service. McCloud provides
a simple means to start a Shasta assembly
in the cloud. mccloud_cli
provides an easy means to generate presigned URLs for use with the
McCloud web UI, and the capability to submit McCloud jobs directly from the command line.
To use mccloud_cli
, you must have the AWS command line set up and working
correctly with your AWS account. Please refer to the AWS CLI User Guide for more information on this prerequisite.
Quick start
- Ensure you have the AWS CLI installed and working correctly with your account.
A good test is the ability to successfully move data in and out of your own
S3 bucket, eg,
aws --profile your-aws-profile-name s3 ls s3://your-bucket-name/
- [optional] We highly suggest you run all python programs in a virtual environment. Set up and activate a virtual environment.
pip install mccloud-cli
mccloud_cli --help
Presigned URLs example
mccloud_cli
will generate AWS presigned URLs. This is useful when you want to store your
data in your own AWS S3 bucket (ie, privately), but want to temporarily grant McCloud
access to read input data, and write results back to your bucket.
IMPORTANT: AWS S3 presigned URLs are a standard way to share data, but make the assumption that you will not share the URL with anyone else (ie, it will remain a secret between you and McCloud). For more information on presigned URLs, please read the AWS S3 User Guide.
Usage:
$ mccloud_cli generate-s3-presigned-url --help
Usage: mccloud_cli generate-s3-presigned-url [OPTIONS]
Options:
--profile TEXT Use a specific profile from your AWS credential file.
--no-confirmation BOOLEAN Perform requested actions without user confirmation.
-i, --input-url TEXT S3 URL which will be presigned to allow READ (input) access.
-o, --output-url TEXT S3 URL which will be presigned to allow WRITE (output) access.
--expires-in INTEGER Number of seconds until the pre-signed URLs expire. [default: 172800]
--help Show this message and exit.
For example:
$ mccloud_cli generate-s3-presigned-url --profile my-aws-profile -i s3://my-bucket/reads.fasta.gz -o s3://my-bucket/results.tar.gz
This action will generate AWS S3 presigned URLs for the input and output URLs you have specified, with an expiration time 172800 seconds [2 days] from now.
Read (input) URLs:
------------------
s3://my-bucket/reads.fasta.gz
Write (output) URLs:
--------------------
s3://my-bucket/results.tar.gz
Do you wish to proceed? [y/N]: Y
Your presigned URLs will expire in 8 hours.
Please launch the McCloud job with these URLs.
Presigned INPUT URLs:
---------------------
https://s3.amazonaws.com/my-bucket/reads.fasta.gz?AWSAccessKeyId=...
Presigned OUTPUT URLs:
----------------------
https://s3.amazonaws.com/my-bucket/results.tar.gz?AWSAccessKeyId=...
Job submission example
mccloud_cli
will also submit jobs directly from the command line. Input and output URLs must
be https
URLs or s3
URLs in a bucket you have access to.
Usage:
$ mccloud_cli submit-job --help
Usage: mccloud_cli submit-job [OPTIONS]
Options:
--mcat TEXT McCloud Access Token, ie, MCAT-****. [required]
--email EMAIL ADDRESS Email address for job notifications. [required]
-i, --input-url TEXT S3 URL which will be presigned to allow READ (input) access. [required]
-o, --output-url TEXT A single S3 URL which will be presigned to allow WRITE (output) access. [required]
--shasta-version TEXT [required]
--shasta-config TEXT [required]
--shasta-cli-opts TEXT
--I-have-read-and-agree-to-McCloud-terms-of-use
Confirm that you have read, and agree to, the McCloud terms of use, available at
https://mccloud.czi.technology/terms-of-use
--tail-job-log After job is submitted, print out job log messages.
--profile TEXT Use a specific profile from your AWS credential file.
--help Show this message and exit.
For example:
$ mccloud_cli submit-job --mcat 'MCAT-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --email my@email.com --profile my-aws-profile -i s3://my-bucket/reads.fasta.gz -o s3://my-bucket/output.tar.gz --shasta-version 0.7.0 --shasta-config Nanopore-Sep2020
I have read and agree to mccloud terms of use [y/N]: Y
Starting McCloud job, id = ec39baa4-ea68-4c1e-8040-40277b2a48a0
You can view logs at https://mccloud.czi.technology/jobs/ec39baa4-ea68-4c1e-8040-40277b2a48a0/monitor
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
Built Distribution
File details
Details for the file mccloud_cli-0.0.6.tar.gz
.
File metadata
- Download URL: mccloud_cli-0.0.6.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79105f72808623f6f8e11b2f28561838d80e8cd245d433fd79acbf5ea2d510c7 |
|
MD5 | 844d46feeda9bf7d8c35e75d80614122 |
|
BLAKE2b-256 | 76a3722fdec3981d9ea454d30ddcf446bbc14df30da8b7811cda0ac25b9014f9 |
File details
Details for the file mccloud_cli-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: mccloud_cli-0.0.6-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd82df0afcc16e58fe461c912288fd7223b4fe9d06f0d3d208547284a6bd3ab9 |
|
MD5 | 08dc8ad9264a96aa03c67f3d3fe33df9 |
|
BLAKE2b-256 | 12ef57900f4dfda72d4810d223a824c0649cbf93060413136a55a2bcb87ad7fb |