CLI for gear operations
Project description
Gear toolkit CLI
Usage
WARNING: The Gear-CLI is actively being developed and is in alpha version. Parts of it may be broken. Please use cautiously. If you notice a broken part, please either create an issue on this repo or email support@flywheel.io "ATTN: Nate Richman" (CODEOWNER, primary developer)
Installation
The gear-cli is currently in alpha version, it can be installed via pip install --pre flywheel-gear-cli
Gear commands
gearcli gear build
: Build a gear image. Basically a wrapper for docker build which pulls necessary values from the manifest in the specified directory.gearcli gear config
: Create/modify gear config.json for running a gear locally.gearcli gear run
: Run a gear locally, replacesfw gear run
, uses the config.json generated bygear_cli gear config
.gearcli gear update-env
: Update environment from Docker container into manifest.json.gearcli gear upload
: Upload a gear to one or more Flywheel sites.- Currently waiting for updated SDK release
gearcli gear validate-manifest
: Validatemanifest.json
file in current working directory.
Job commands
gearcli job pull
: Pull job configuration, assets and build a run script for local testing.
Directory structure
Importing of commands happens in the python-cli commands/init.py Each command in the gear-cli will live in a separate file named [command_group]_[command].py, within its command group directory
flywheel_gear_cli
├── job
│ └── job_pull.py
└── gear
├── gear_upload.py
├── gear_build.py
...
└── gear_run.py
Within each file [command_group]_[command].py, there needs to be an add_command() function exposed such as the following:
def add_command(subparsers, parents):
parser = subparsers.add_parser(
"[command]",parents=parents,help=[help]
)
parser.add_argument(...)
...
other arguments
...
parser.set_defaults(func=[command])
parser.set_defaults(parser=parser)
return parser
def [command](args):
pass
The previous function signatures can be used as a template.
Testing
Within the testing folder, for each command there will be unit and integration tests,
for example for gear_build.py
, the directory will be structured as follows:
tests
| ...
└── cli
├── unit_tests
| | ...
| └── gear_upload.py
└── integration_tests
| ...
└── gear_upload.py
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 Distributions
Built Distribution
Hashes for flywheel_gear_cli-0.1.0a7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bd3184061fdb4b5127190b01f802066845df2f0f6b14d72786fccda9794ec80 |
|
MD5 | e55db6d606a2789219bd76b1f473252c |
|
BLAKE2b-256 | c34e2a99760ef9f061f1cbfdb7d69ab8d487da1ff2b86adad41c7b546fa33c6e |