1.2. Installation instructions (for experienced users)

This section documents how to build Sesame.

1.2.1. Prerequisites

Building Sesame requires
The following software is highly recommended though not strictly required:
  • Matplotlib 1.1 or newer, for Sesame’s plotting routines. Matplotlib is required when using the graphical interface of Sesame.
  • MUMPS, a sparse linear algebra library that will in many cases speed up Sesame several times and reduce the memory footprint. (Sesame uses only the sequential, single core version of MUMPS. The advantages due to MUMPS as used by Sesame are thus independent of the number of CPU cores of the machine on which Sesame runs.)
  • An environment which allows to compile Python extensions written in C, C++ and Fortran.

The graphical user interface requires PyQt5.

For users with no python installation, a convenient standalone installation which automatically includes all of the requisiste libraries and packages is Anaconda .

Sesame may be downloaded from https://github.com/usnistgov

1.2.2. Generic instructions

Standard build and install

Sesame can be built and installed following the usual Python conventions by running the following commands in the root directory of the Sesame distribution:

python setup.py build
python setup.py install

Depending on your system, you might have to run the second command with administrator privileges. The installation step can be done locally either by using the --user prefix:

python setup.py install --user

or by specifying the location where to install the package files with --prefix=/path/of/directory.

The tutorial examples can be found in the directory examples inside the root directory of the Sesame source distribution.

Build configuration

The setup script of Sesame parses the file setup.cfg in the root directory of the distribution to know if the graphical user interface should be installed, and whether or not to link Sesame against the MUMPS library.

The graphical user interface will be installed if use = True in the GUI section. The default is to install it (use use = False to avoid install). The mumps section provides the paths to relevant directories where MUMPS is installed. By default this section is commented out and MUMPS is not used.

Building the documentation

To build the documentation, the Sphinx documentation generator is required (version 1.4 or newer) with numpydoc extension (version 0.5 or newer), and Latex.

HTML documentation is built by entering the doc sub-directory of the Sesame package and executing make html. Open the file index.html in the directory build/html with a web browser to access the documentation. PDF documentation is generated by executing make latex followed by make latexpdf. The pdf file is generated in build/latex.

Because of some quirks of how Sphinx works, it might be necessary to execute make clean between building HTML and PDF documentation. If this is not done, Sphinx may mistakenly use PNG files for PDF output or other problems may appear.

As an alternative if make is not available, the HTML documentation can be built using the command from the root directory:

python setup.py build_sphinx

The documentation is produced in doc/build/html. To build the PDF file:

python setup.py build_sphinx -b latex
cd doc/build/latex
make all-pdf

The resulting PDF is produced in doc/build/latex.

1.2.3. Hints for specific platforms

Unix-like systems (GNU/Linux)

Sesame should run on all recent Unix-like systems.

  1. Install the required packages.

  2. Inside the Sesame source distribution’s root directory run

    python setup.py build
    sudo python setup.py install
    

Run python setup.py --help install for installation options.

Microsoft Windows

The generic installation instructions given above also apply on Windows. However, since the only recommended way to compile Python extensions on Windows is using Visual C++, we are not able to provide guidelines as to how to build with the MUMPS library.