Bloc CLI reference#

bloc is a thin wrapper around Boulder’s CLI that injects Bloc’s runner and plugin defaults.

In practice, you can use the same subcommands and flags as boulder, but with Bloc behavior enabled by default.


Common commands#

Run a STONE YAML:

bloc path/to/scenario.yaml

Run headless and export generated Python:

bloc path/to/scenario.yaml --headless --download output.py

Validate a YAML without building/running the Cantera network:

bloc validate path/to/scenario.yaml

List plugin sources:

bloc plugins list

List all registered reactor kinds:

bloc describe --list

Inspect one kind (schema, categories, constraints, variable maps):

bloc describe DesignTubeFurnace

Migration helper commands (Boulder)#

Bloc CLI is the runtime entrypoint for STONE execution, validation and schema inspection. For legacy conversion workflows, Boulder also provides dedicated helpers:

  • sim2stone - convert legacy simulation-style inputs to STONE YAML.

  • stone2sim - export STONE YAML back to simulation-style artefacts.

See the Boulder docs for command details and version-specific options: Boulder documentation.


Why use bloc instead of boulder?#

  • Uses BlocRunner as the default runner class.

  • Sets BOULDER_PLUGINS=bloc.boulder_plugins by default (without overriding an existing value).

  • Keeps command parity with Boulder CLI for day-to-day usage.


Notes#

  • The command requires Bloc to be installed in the current environment (pip install -e . for dev).

  • For project development, use the bloc conda environment.