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.