Command Line Interface (CLI)

The qosst-core package is shipped with a Command Line Interface (CLI) to execute some common commands to Alice and Bob.

The extended CLI documentation is available here and the API documentation of the CLI is available here.

Get help

You can get help with the -h or --help flag:

$ qosst -h
usage: qosst [-h] [--version] [-v]
             {info,versions,shell,motd,credits,hardware,configuration,auth}
             ...

positional arguments:
  {info,versions,shell,motd,credits,hardware,configuration,auth}
    info (versions)     Display info on the package
    shell               Start a shell
    motd                Print MOTD
    credits             Credits of QOSST
    hardware            List the hardware of a given package
    configuration       Configuration commands
    auth                Authentication commands

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v, --verbose         Level of verbosity. If none, only critical errors will
                        be prompted. -v will add warnings and errors, -vv will
                        add info and -vvv will print all debug logs.

This displays the available command. You can also get help on a specific command:

$ qosst info -h
usage: qosst info [-h]

options:
  -h, --help  show this help message and exit

or on subcommands

$ qosst configuration -h
usage: qosst configuration [-h] {create} ...

positional arguments:
  {create}
    create    Create a configuration file

options:
  -h, --help  show this help message and exit

or on command of subcommands

$ qosst configuration create -h
usage: qosst configuration create [-h] [-f FILE] [--override]

options:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Path of the file to create. Default : config.toml.
  --override            If present, this will override the current
                        configuration file at the given path, if it exists.

Get the version

You can get the version of the script (which is the same as the version of the qosst-core package) with the --version flag:

$ qosst --version
0.10.0

You can get the versions of all QOSST packages with the info subcommand:

$ qosst info


 ██████╗  ██████╗ ███████╗███████╗████████╗
██╔═══██╗██╔═══██╗██╔════╝██╔════╝╚══██╔══╝
██║   ██║██║   ██║███████╗███████╗   ██║   
██║▄▄ ██║██║   ██║╚════██║╚════██║   ██║   
╚██████╔╝╚██████╔╝███████║███████║   ██║   
 ╚══▀▀═╝  ╚═════╝ ╚══════╝╚══════╝   ╚═╝  
                                                                                                                                         
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
python version: 3.11.9 (main, Jun 18 2024, 09:40:25) [GCC 11.4.0]

QOSST versions
qosst_core: 0.10.0
qosst_hal: 0.10.0
qosst_alice: Not installed
qosst_bob: Not installed
qosst_skr: Not installed
qosst_pp: Not installed

Useful commands

All commands are somehow useful, but here are the one you will probably use:

qosst info

The qosst info command displays the version of the currently installed QOSST softwares.

$ qosst info


 ██████╗  ██████╗ ███████╗███████╗████████╗
██╔═══██╗██╔═══██╗██╔════╝██╔════╝╚══██╔══╝
██║   ██║██║   ██║███████╗███████╗   ██║   
██║▄▄ ██║██║   ██║╚════██║╚════██║   ██║   
╚██████╔╝╚██████╔╝███████║███████║   ██║   
 ╚══▀▀═╝  ╚═════╝ ╚══════╝╚══════╝   ╚═╝  
                                                                                                                                         
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
python version: 3.11.9 (main, Jun 18 2024, 09:40:25) [GCC 11.4.0]

QOSST versions
qosst_core: 0.10.0
qosst_hal: 0.10.0
qosst_alice: Not installed
qosst_bob: Not installed
qosst_skr: Not installed
qosst_pp: Not installed

qosst configuration create

The qosst configuration create allows to create a default configuration file. By default it will copy it to config.toml but you can override this location with the flag -f:

$ qosst configuration create -h
usage: qosst configuration create [-h] [-f FILE] [--override]

options:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Path of the file to create. Default : config.toml.
  --override            If present, this will override the current
                        configuration file at the given path, if it exists.

qosst auth

If you plan to enable authentication, you might use the qosst auth subcommand. In particular, you can generate keys for the falcon algorithm with the qosst auth generate-falcon command:

$ qosst auth generate-falcon -h
usage: qosst auth generate-falcon [-h] [-n SIZE] [-d DIRECTORY]
                                  [-s SECRET_KEY_NAME] [-p PUBLIC_KEY_NAME]
                                  [-f]

options:
  -h, --help            show this help message and exit
  -n SIZE, --size SIZE  Size of the falcon key.
  -d DIRECTORY, --directory DIRECTORY
                        Directory where to save keys.
  -s SECRET_KEY_NAME, --secret-key-name SECRET_KEY_NAME
                        Name of the secret key file.
  -p PUBLIC_KEY_NAME, --public-key-name PUBLIC_KEY_NAME
                        Name of the public key file.
  -f, --force           Overwrite existing files.