Command Line Interfaces (CLIs)¶
yggdrasil offers several command line interfaces (CLIs) that can be useful when developing or running an integration.
Although the notebooks run integration via the
from yggdrasil.runner.run Python method, the typical method for running integrations is via the command line using the
yggdrasil run) CLI. You can try out the CLI by opening a terminal from the notebook server (as shown below).
Once the terminal is open, you can execute commands just as you would on a local command line.
To display the options for the CLI, you can run
yggrun -h and should see similar output to that shown below.
The same integrations that were run in the notebook can also be run via the command line. For example, you can see the output from running the time step synchronizaiton example with multiple light models via:
yggrun yamls/shoot_v3.yml yamls/roots_v1.yml yamls/light_v1_python.yml yamls/timesync.yml --production-run
--production-run flag has the same effect as passing
production_run=True to the
run method in the notebook (disables some validation steps in order to improve performance).
Validating Integration YAML(s)¶
yggdrasil validate) CLI allows users to check if a set of YAML files defining an integration is valid. This includes checking the YAML syntax, options and structure (via conformation to the schema), and connections (that there are not any unconnected inputs/outputs).
Checking the Installation¶
yggdrasil info) CLI prints out various information about the yggdrasil installation including versions of dependencies, locations of tools, language status (e.g. missing dependencies, options), etc.
Configuring the Installation¶
yggdrasil config) CLI allows the user to adjust the yggdrasil installation including compiler/linker/interpreter versions, distabling/enabling languages, setting run time defaults, etc.
yggdrasil offers several other CLIs that are outside the scope of this introduction, but can be accessed via the
yggdrasil CLI as subcommands. This is why the CLIs discussed above all have a second method of being run (e.g.