Installing Optional Packages

Listing of All Optional Packages

This page contains all the optional python packages that can be included to unlock additional Basilisk features or utilities. For convenience the complete set of optional packages, including any constraints on acceptable versions, are listed here:

sphinx breathe sphinx_rtd_theme==0.5.1 recommonmark pytest-xdist pytest-html pytest-html docutils

To automatically ensure that the system has all optional packages installed, use the allOptPkg flag as discussed in Building the Software Framework.

Running unit and integrated tests via pytest

The pytest program can run a series of test on python scripts that begin with test_. Install the pytest program with:

pip3 install pytest

Note that version 4.0.1 or higher works properly with Basilisk, while versions between 3.6.1 and 4.0.0 had some bugs that impacted some Basilisk tests.

Generating HTML Report of the pytest Results

If you want to use pytest to generate a validation HTML report, then the pytest-html package must be installed:

pip3 install pytest-html

When running pytest from the terminal, add the --html argument followed by the path to where to generate the report html folder. It is recommended to put this inside a folder as HTML support folder will be created:

pytest --html report/report.html

Running pytest in a multi-threaded manner

While Basilisk is a single threaded simulation, it is possible to run pytest in a multi-threaded manner. Install the pytest-xdist package using:

pip3 install pytest-xdist

After installing this utility you now run the multi-threaded version of pytest for 8 threads using:

python3 -m pytest -n 8

or replace 8 with the number of cores your computer has available

Creating the Sphinx Basilisk Documentation

Go to Creating the HTML Basilisk Documentation using Sphinx/Doxygen to learn what associated python tools are required. The following python packages must be installed via pip:

pip3 install sphinx sphinx_rtd_theme==0.5.1 breathe recommonmark docutils

See the list at the top of this page for what versions of these packages are acceptable.