Skip to main content

CLI reference

Every command of blazerops 0.1.1, the latest release on PyPI, generated from the CLI itself. Run blazerops <command> --help for the same information in your terminal, and pip install -U blazerops to upgrade.

The CLI talks to https://api.blazerops.ai; set BLAZEROPS_API_URL to use another environment. On CI or a headless machine, set BLAZEROPS_TOKEN (see Install and sign in).

Sign in and check your setup​

CommandPurpose
blazerops loginSign in with a device code that you approve in the app
blazerops logoutSign out and remove the stored token
blazerops whoamiCheck your sign-in with a real request and show your user, organisation and API
blazerops metaPrint the server's version handshake (/v1/meta)
blazerops doctorCheck the CLI version, server compatibility, sign-in and catalog; exits non-zero on any problem

blazerops login​

Sign in with a device code that you approve in the app.

blazerops login [-h] [--print-token]
ArgumentDescription
--print-tokenPrint the token once instead of storing it, to set as BLAZEROPS_TOKEN on a machine with no OS keyring (CI, headless)

blazerops logout​

Sign out and remove the stored token.

blazerops logout [-h]

blazerops whoami​

Check your sign-in with a real request and show your user, organisation and API.

blazerops whoami [-h]

blazerops meta​

Print the server's version handshake (/v1/meta).

blazerops meta [-h]

blazerops doctor​

Check the CLI version, server compatibility, sign-in and catalog; exits non-zero on any problem.

blazerops doctor [-h]

Author a pipeline​

CommandPurpose
blazerops exportWrite a stored pipeline to a local checkout you can edit and push
blazerops compileCompile pipeline.toml with the server's compiler, changing nothing, and write the result
blazerops validateCheck the pipeline against the server's typing and policy rules (read-only)
blazerops diffCompare your local pipeline with its current version on the server
blazerops pushPush pipeline.toml as a new version; refuses if the server moved on since your last push
blazerops codegenGenerate typed Python constructors for the catalog's components

blazerops export​

Write a stored pipeline to a local checkout you can edit and push.

blazerops export [-h] [-o OUTPUT_DIR] [--version N] [--allow-drop KEY] pipeline
ArgumentDescription
pipelinePipeline name or id
-o, --output-dir OUTPUT_DIRParent directory; the checkout is written to <dir>/<name> (default: exported_pipelines)
--version NAct on this version of the pipeline (blazerops versions <pipeline> lists them). Without it, a pipeline name means its current version and a pipeline id means exactly that version
--allow-drop KEYAllow dropping this legacy config key (repeatable); without it, export refuses rather than lose data

blazerops compile​

Compile pipeline.toml with the server's compiler, changing nothing, and write the result.

blazerops compile [-h] [--file FILE] [-o OUTPUT]
ArgumentDescription
--file FILEPipeline definition (default: pipeline.toml)
-o, --output OUTPUTWhere to write the compiled pipeline (default: build/pipeline.json)

blazerops validate​

Check the pipeline against the server's typing and policy rules (read-only).

blazerops validate [-h] [--file FILE] [--coverage]
ArgumentDescription
--file FILEPipeline definition (default: pipeline.toml)
--coverageFor each rule, show how many items it checked and why it skipped the rest

blazerops diff​

Compare your local pipeline with its current version on the server.

blazerops diff [-h] [--file FILE]
ArgumentDescription
--file FILEPipeline definition (default: pipeline.toml)

blazerops push​

Push pipeline.toml as a new version; refuses if the server moved on since your last push.

blazerops push [-h] [--file FILE] [--force] [--json] [--find-kernels]
ArgumentDescription
--file FILEPipeline definition (default: pipeline.toml)
--forcePush even when the server's current version isn't the one this checkout last pushed
--jsonPrint the result as JSON (name, pipeline_id, version, server_hash, kernel_decisions)
--find-kernelsFor each new node that only has a brief, search your organisation's kernels and offer a match to reuse or fork before anything is built

blazerops codegen​

Generate typed Python constructors for the catalog's components.

blazerops codegen [-h] [-o OUTPUT] [--offline]
ArgumentDescription
-o, --output OUTPUTFile to write (default: blazerops_generated.py)
--offlineUse the cached catalog instead of revalidating

Run pipelines​

CommandPurpose
blazerops pipelinesList your organisation's pipelines
blazerops versionsList a pipeline's versions
blazerops runsList a pipeline's runs
blazerops runStart a run of a pipeline
blazerops bomPrint a run's bill of materials
blazerops cancelStop a run that is in progress
blazerops triggerRun a pipeline on a schedule

blazerops pipelines​

List your organisation's pipelines.

blazerops pipelines [-h]

blazerops versions​

List a pipeline's versions.

blazerops versions [-h] pipeline
ArgumentDescription
pipelinePipeline name or id (any version of it)

blazerops runs​

List a pipeline's runs.

blazerops runs [-h] [--version N] pipeline
ArgumentDescription
pipelinePipeline name or id
--version NAct on this version of the pipeline (blazerops versions <pipeline> lists them). Without it, a pipeline name means its current version and a pipeline id means exactly that version

blazerops run​

Start a run of a pipeline.

blazerops run [-h] [--var NAME=VALUE] [--input NAME=VALUE] [--no-cache]
[--compute {auto,own,provided}] [--version N] [--watch] [--timeout SECONDS]
[--json]
pipeline
ArgumentDescription
pipelinePipeline name or id
--var NAME=VALUESet a run variable (repeatable)
--input NAME=VALUESupply an input the pipeline's interface declares (repeatable). A file input takes its artifact id, any other input its value; @path reads the value from a file
--no-cacheRerun every node instead of reusing cached outputs
--compute COMPUTEWhere the run's nodes run unless a node says otherwise: auto (the platform decides), own (your compute) or provided (compute the platform provides) (one of auto, own, provided)
--version NAct on this version of the pipeline (blazerops versions <pipeline> lists them). Without it, a pipeline name means its current version and a pipeline id means exactly that version
--watchFollow the run until it ends (exit codes: 0 succeeded, 3 failed, 4 cancelled, 5 --timeout reached)
--timeout SECONDSWith --watch, stop watching after this many seconds (the run continues)
--jsonPrint the run summary as JSON on stdout; progress goes to stderr

blazerops bom​

Print a run's bill of materials.

blazerops bom [-h] run_id
ArgumentDescription
run_idRun id

blazerops cancel​

Stop a run that is in progress.

blazerops cancel [-h] run_id
ArgumentDescription
run_idRun id

blazerops trigger​

Run a pipeline on a schedule.

blazerops trigger [-h] {list,create,update,delete} ...
SubcommandPurpose
blazerops trigger listList a pipeline's schedules
blazerops trigger createSchedule a pipeline to run at a fixed interval
blazerops trigger updatePause, resume, or change a schedule
blazerops trigger deleteDelete a schedule (runs it already started carry on)

blazerops trigger list​

List a pipeline's schedules.

blazerops trigger list [-h] pipeline
ArgumentDescription
pipelinePipeline name or id

blazerops trigger create​

Schedule a pipeline to run at a fixed interval.

blazerops trigger create [-h] --every DURATION [--var NAME=VALUE] [--use-cache] [--paused]
[--version N]
pipeline
ArgumentDescription
pipelinePipeline name or id
--every DURATIONInterval: 30m, 1h, 2d, or a number of seconds (minimum 60) (required)
--var NAME=VALUESet a run variable on every scheduled run (repeatable)
--use-cacheReuse cached node outputs. Off by default: a scheduled run whose inputs haven't changed would reuse every output and do nothing. Turn it on once the pipeline's first node reads ${vars.as_of}
--pausedCreate the schedule paused
--version NAct on this version of the pipeline (blazerops versions <pipeline> lists them). Without it, a pipeline name means its current version and a pipeline id means exactly that version

blazerops trigger update​

Pause, resume, or change a schedule.

blazerops trigger update [-h] [--every DURATION] [--var NAME=VALUE] [--use-cache] [--pause]
[--resume]
pipeline trigger
ArgumentDescription
pipelinePipeline name or id
triggerSchedule id or an unambiguous prefix of it
--every DURATIONNew interval
--var NAME=VALUEReplace the schedule's run variables (repeatable)
--use-cacheTurn on reuse of cached node outputs
--pauseStop running, keep the schedule
--resumeStart running again

blazerops trigger delete​

Delete a schedule (runs it already started carry on).

blazerops trigger delete [-h] pipeline trigger
ArgumentDescription
pipelinePipeline name or id
triggerSchedule id or an unambiguous prefix of it

Kernels and code​

CommandPurpose
blazerops kernelYour organisation's kernels, kernel decisions, and local testing
blazerops codeEdit a pipeline's kernel code locally: pull it, then push your changes

blazerops kernel​

Your organisation's kernels, kernel decisions, and local testing.

blazerops kernel [-h] {test,list,versions,decision,pins} ...
SubcommandPurpose
blazerops kernel testRun a kernel locally through the same harness the platform runs it in
blazerops kernel listList your organisation's kernels (reusable run_code code)
blazerops kernel versionsList a kernel's versions, newest first
blazerops kernel decisionReuse-or-fork decisions about kernels that wait for a person
blazerops kernel pinsShow which kernel version each node of a pipeline pins

blazerops kernel test​

Run a kernel locally through the same harness the platform runs it in.

blazerops kernel test [-h] -i INPUT [-p PARAMS] kernel_dir
ArgumentDescription
kernel_dirThe kernel's directory
-i, --input INPUTA sample input file or directory (required)
-p, --params PARAMSParameters as JSON (what the kernel reads as ctx.params)

blazerops kernel list​

List your organisation's kernels (reusable run_code code).

blazerops kernel list [-h]

blazerops kernel versions​

List a kernel's versions, newest first.

blazerops kernel versions [-h] kernel
ArgumentDescription
kernelKernel name or id

blazerops kernel decision​

Reuse-or-fork decisions about kernels that wait for a person.

blazerops kernel decision [-h] {list,show,resolve} ...
SubcommandPurpose
blazerops kernel decision listList the decisions waiting in your organisation
blazerops kernel decision showShow one decision: the proposal, its candidates and its state
blazerops kernel decision resolveResolve one or more decisions yourself; no kernel is written until you do

blazerops kernel decision list​

List the decisions waiting in your organisation.

blazerops kernel decision list [-h]

blazerops kernel decision show​

Show one decision: the proposal, its candidates and its state.

blazerops kernel decision show [-h] decision_id
ArgumentDescription
decision_idDecision id

blazerops kernel decision resolve​

Resolve one or more decisions yourself; no kernel is written until you do.

blazerops kernel decision resolve [-h] --decision {reuse,adapt,widen,fork} -m RATIONALE
decision_id [decision_id ...]
ArgumentDescription
decision_idOne or more decision ids
--decision DECISIONYour decision; it never defaults to the agent's proposal (one of reuse, adapt, widen, fork; required)
-m, --rationale RATIONALEWhy you decided this, recorded with the decision (must not be empty) (required)

blazerops kernel pins​

Show which kernel version each node of a pipeline pins.

blazerops kernel pins [-h] [--version N] pipeline
ArgumentDescription
pipelinePipeline name or id
--version NAct on this version of the pipeline (blazerops versions <pipeline> lists them). Without it, a pipeline name means its current version and a pipeline id means exactly that version

blazerops code​

Edit a pipeline's kernel code locally: pull it, then push your changes.

blazerops code [-h] {pull,push} ...
SubcommandPurpose
blazerops code pullDownload the kernel code a pipeline pins into kernels/<node>/ and record it in kernels.lock
blazerops code pushRegister edited kernel code as new kernel versions and repin them in pipeline.toml

blazerops code pull​

Download the kernel code a pipeline pins into kernels/<node>/ and record it in kernels.lock.

blazerops code pull [-h] [-o OUTPUT_DIR] [--version N] [--allow-drop KEY] pipeline
ArgumentDescription
pipelinePipeline name or id
-o, --output-dir OUTPUT_DIRParent directory; the checkout is <dir>/<name>, the same one export makes (default: exported_pipelines)
--version NAct on this version of the pipeline (blazerops versions <pipeline> lists them). Without it, a pipeline name means its current version and a pipeline id means exactly that version
--allow-drop KEYAllow dropping this legacy config key (repeatable), as for export

blazerops code push​

Register edited kernel code as new kernel versions and repin them in pipeline.toml.

blazerops code push [-h] [-m MESSAGE] --hypothesis HYPOTHESIS [dir]
ArgumentDescription
dirThe checkout to push (default: the current directory)
-m, --message MESSAGEA message recorded with the new versions
--hypothesis HYPOTHESISWhat you expect this kernel version to change (required)

Models​

CommandPurpose
blazerops modelTrained models and the versions your nodes pin

blazerops model​

Trained models and the versions your nodes pin.

blazerops model [-h] {list,versions,checkpoints,pins,pin} ...
SubcommandPurpose
blazerops model listList your organisation's models, grouped by the kernel that trained them
blazerops model versionsList a model's versions and the id a node pins
blazerops model checkpointsList a model version's checkpoints
blazerops model pinsShow which model version each node of a pipeline pins
blazerops model pinPin a model version onto a node in pipeline.toml

blazerops model list​

List your organisation's models, grouped by the kernel that trained them.

blazerops model list [-h]

blazerops model versions​

List a model's versions and the id a node pins.

blazerops model versions [-h] model
ArgumentDescription
modelModel name or id

blazerops model checkpoints​

List a model version's checkpoints.

blazerops model checkpoints [-h] model version
ArgumentDescription
modelModel name or id
versionModel version

blazerops model pins​

Show which model version each node of a pipeline pins.

blazerops model pins [-h] [--version N] pipeline
ArgumentDescription
pipelinePipeline name or id
--version NAct on this version of the pipeline (blazerops versions <pipeline> lists them). Without it, a pipeline name means its current version and a pipeline id means exactly that version

blazerops model pin​

Pin a model version onto a node in pipeline.toml.

blazerops model pin [-h] [--file FILE] node model version
ArgumentDescription
nodeThe key of a run_code or infer_code node
modelModel name or id
versionModel version
--file FILEPipeline definition to edit (default: pipeline.toml)

Data​

CommandPurpose
blazerops dataMove data between your machine and your organisation's storage

blazerops data​

Move data between your machine and your organisation's storage.

blazerops data [-h] {remotes,push,pull,ls,resolve} ...
SubcommandPurpose
blazerops data remotesList the storage destinations you can push to
blazerops data pushUpload a file or directory and register it as an artifact (needs rclone)
blazerops data pullDownload from a destination
blazerops data lsList one level of a destination
blazerops data resolveUpload every local path = reference in pipeline.toml and record the artifact ids in blazerops.data.lock

blazerops data remotes​

List the storage destinations you can push to.

blazerops data remotes [-h]

blazerops data push​

Upload a file or directory and register it as an artifact (needs rclone).

blazerops data push [-h] [--no-shards] [--dry-run] [--print-id] [--rclone-arg ARG]
source destination
ArgumentDescription
sourceLocal file or directory
destination<backend>:<path>, or a bare <path> for your primary storage
--no-shardsRegister a directory as one input instead of one shard per member. Use it for a directory that is a single object (a zarr store, a model directory); otherwise each member can be processed by its own worker
--dry-runShow what would transfer; upload and register nothing
--print-idPrint only the artifact id on success (for scripting)
--rclone-arg ARGPass an extra flag through to rclone (repeatable), e.g. --rclone-arg=--bwlimit=10M

blazerops data pull​

Download from a destination.

blazerops data pull [-h] [--dry-run] [--rclone-arg ARG] source dest
ArgumentDescription
source<backend>:<path>, or a bare <path>
destLocal directory to write into
--dry-runShow what would transfer; download nothing
--rclone-arg ARGPass an extra flag through to rclone (repeatable)

blazerops data ls​

List one level of a destination.

blazerops data ls [-h] [--max-keys MAX_KEYS] [destination]
ArgumentDescription
destination<backend>:<path>; omit for the primary backend's root
--max-keys MAX_KEYSMost entries to list; a truncated listing says so (default: 1000)

blazerops data resolve​

Upload every local path = reference in pipeline.toml and record the artifact ids in blazerops.data.lock.

blazerops data resolve [-h] [-f FILE]
ArgumentDescription
-f, --file FILEPipeline definition (default: pipeline.toml)

Catalog​

CommandPurpose
blazerops catalogBrowse the component catalog

blazerops catalog​

Browse the component catalog.

blazerops catalog [-h] [--offline] {components,templates,show,harness} ...
ArgumentDescription
--offlineUse the cached catalog without checking for updates (fails if there is no cache)
SubcommandPurpose
blazerops catalog componentsList every component
blazerops catalog templatesList the library of template run_code kernels
blazerops catalog showShow the full definition of one component or recipe
blazerops catalog harnessShow the contract a kernel's code runs under

blazerops catalog components​

List every component.

blazerops catalog components [-h]

blazerops catalog templates​

List the library of template run_code kernels.

blazerops catalog templates [-h]

blazerops catalog show​

Show the full definition of one component or recipe.

blazerops catalog show [-h] key
ArgumentDescription
keyComponent or recipe key

blazerops catalog harness​

Show the contract a kernel's code runs under.

blazerops catalog harness [-h]

Published apps​

CommandPurpose
blazerops generateGenerate a typed client for a published app's release, pinned to its tag

blazerops generate​

Generate a typed client for a published app's release, pinned to its tag.

blazerops generate [-h] --app SLUG [--ref REF] [--lang {ts}] --out PATH
[--from OPENAPI_JSON]
ArgumentDescription
--app SLUGThe app's slug (required)
--ref REFA release tag or alias (e.g. stable); required unless --from
--lang LANGThe client's language: ts, a module over @blazerops/sdk and zod (default: ts) (one of ts)
--out PATHThe file to write (required)
--from OPENAPI_JSONGenerate offline from a saved openapi.json instead of reading the release with BLAZEROPS_API_KEY