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.0a6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b45ee9eb20ddf36c968a28947111831c7ba268400b59d43aabe63dc2f233567 |
|
MD5 | 7a8a6bf5f68936ddfb560aa770ad5c29 |
|
BLAKE2b-256 | 85b58c1fa573d8e8d8eaa3801ba544f092f67c17e9fad3fccdbdf9676176f3ce |