This release is a pre-release and may not be stable for production use.
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.jsonfile 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
Metadata
Release files for flywheel-gear-cli 0.1.0a7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flywheel_gear_cli-0.1.0a7-py3-none-any.whl | Python 3 | none | any | Details |
Release files / flywheel_gear_cli-0.1.0a7-py3-none-any.whl
| Download URL | flywheel_gear_cli-0.1.0a7-py3-none-any.whl |
|---|---|
| Size | 25.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5bd3184061fdb4b5127190b01f802066845df2f0f6b14d72786fccda9794ec80
|
|
BLAKE2b-256 checksum How to use checksums |
c34e2a99760ef9f061f1cbfdb7d69ab8d487da1ff2b86adad41c7b546fa33c6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.8 CPython/3.9.6 Linux/5.4.109+
|