Command Line Interface#

After installing mahos package, a command mahos is installed. This command serves as a command line interface (CLI) to use mahos. The mahos CLI provides several sub-commands described below.

Node operations#

Common arguments#

There are common arguments for node operation commands:

-c [config file]#

To operate on MAHOS nodes, you have to prepare toml-based configuration file. The -c option specifies the path to config file. Defaults to conf.toml.

-H [hostname]#

CLI command usually targets a node. The full-name of the node consists of hostname and nodename. The -H option specifies the hostname part. Defaults to real hostname (platform.uname().node) if it is in the config file, or localhost.

mahos run#

mahos run [nodename] starts a mahos node.

If the node is InstrumentServer, you can specify Instrument to include / exclude using -i or -e arguments.

mahos launch#

mahos launch [nodenames] starts all the nodes (or specified nodes) pertaining to single host.

mahos launch -e [nodenames-to-exclude] starts all the nodes excluding specified names.

If a node named log (recommended name of LogBroker node) is defined to run on the host and already up, it’s automatically excluded.

mahos log#

mahos log [nodename=log] subscribes to a LogBroker to print logs on console.

If specified LogBroker node is configured to run on the same host and not up, this command automatically starts the node.

mahos ls#

mahos ls prints the list of defined nodes in the config file.

mahos ls -i enables listing of Instruments and InstrumentOverlays in InstrumentServers

mahos graph#

mahos graph visualizes the config file as graph.

Add option -o [filename] to save to a file.

mahos echo#

mahos echo -t [topicname] [nodename] subscribes to a topic and print published messages.

mahos shell#

mahos shell [nodenames] starts an IPython shell with clients for the nodes.

A bound variable cli holds instances of the clients. For each client, client.M is the message module that may be required to invoke client APIs.

Data operations#

mahos data ls#

mahos data ls [filenames] prints the list of attributes and types in data files.

mahos data note#

mahos data note [filenames] prints (or amends) the note attribute in data files.

Add option -a [new note string] to amend the note in the files.

mahos data print#

mahos data print [filenames] -k [keys=[params]] prints the attributes in data files.

mahos data plot#

mahos data plot [subcommand] plots the data inside data files.

mahos plot is a shorthand of mahos data plot.