Skip to main content

Python package to install BOUT++ and its dependencies

Project description

Build Status codecov pypi package Python PEP8 License

bout_install

Python package to install BOUT++ and its dependencies.

NOTE: This package is meant as a "last resort" to install BOUT++, for example when you are not a root user, and you are trying to install on a "tricky" system. Otherwise BOUT++ can easily be installed using docker or installed as explained in the BOUT ++ documentation .

Getting Started

bout_install is a lightweight package, and requires only python3, requests and an internet connection to run.

Building BOUT++ and dependencies can be done by executing

from bout_install import install_bout
install_bout(config_path=None, add_to_bashrc=False)

or from command-line

bout_install --help

which returns

usage: bout_install [-h] [-c CONFIG] [-a]

Install BOUT++ with dependencies

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Path to the configuration file. Default is
                        /path/to/bout_install/bout_install/config.ini
  -a, --add_to_bashrc   If set, paths to binaries and libraries of
                        dependencies will be added to .bashrc. Default is
                        false

This will build BOUT++ and its dependencies according to the content of config.ini:

[bout_options]
# Let these be empty for default behavior
# Read docstring of InstallerUsingGit.InstallerUsingGit.__init__ for details
# NOTE: Commit 8567b2d5bb5f4b70face0b8d0849fc1bbafbbdb0 is known to work
git_dir =
checkout =
enable_checks = no
enable_optimize = 3

[install_options]
# If packages not residing in local should be used
use_preinstalled = false
# Let these be empty for default behavior
# Read docstring of Installer.Installer.setup_install_dirs for details
main_dir =
install_dir =
local_dir =
examples_dir =

[required]
fftw = true
hdf5 = true
mpi = true
netcdf = true

[optional]
cmake = false
ffmpeg = false
gcc = false
slepc = true
sundials = true
# NOTE: PETSc is installed if slepc is true
petsc = false

[versions]
cmake = 3.7.2
ffmpeg = 3.1.4
fftw = 3.3.6-pl2
gcc = 6.1.0
hdf5 = 1.10.1
mpi = 3.2
nasm = 2.13.03
netcdf = 4.4.1.1
netcdf_cxx = 4.3.0
# NOTE: Only certain PETSc versions are supported by BOUT++
petsc = 3.10.0
# NOTE: Sundials 2.7.0 have given openmp problems
sundials = 2.6.2
# NOTE: Must correspond to the PETSc version
slepc = 3.10.0
yasm = 1.3.0
x264 = x264-snapshot-20180709-2245-stable

Installing from pip

The package can be installed from pip:

pip install bout-install

Installing from source

Alternatively it can be installed from source

python setup.py install

Running the tests

The test suite can be executed through pytest or through codecov pytest-cov. Installation through

pip install pytest

or

pip install codecov pytest-cov

and run with

pytest

or

pytest --cov=./

respectively

NOTE: Due to time constraints of automatic testing with Travis, the unittests have been "blinded" by adding a "." in front of the name. In this way pytest will ignore those test. "Un-blind" them by removing the leading " ." in order to run them.

License

This project is licensed under the GNU Lesser General Public License - see the LICENSE file for details

Acknowledgments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bout_install-0.1.6.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

bout_install-0.1.6-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file bout_install-0.1.6.tar.gz.

File metadata

  • Download URL: bout_install-0.1.6.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for bout_install-0.1.6.tar.gz
Algorithm Hash digest
SHA256 2205a10594483539698c49e81deaf3aee6c0c98c479b998e27fdddf0f005476d
MD5 617c9fb62075a0ea5054841189fe6372
BLAKE2b-256 99fc0684d361847600ebee36176e9af56a9688bbb2a21a7e35afe8786d38aec0

See more details on using hashes here.

File details

Details for the file bout_install-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: bout_install-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for bout_install-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 586e13d3e2d5d06539d67ab583eb549e8ed361e77088eef93dbac697c9c5ab69
MD5 551df37323e51a8d81f3956abafbe096
BLAKE2b-256 4fff2cb0a3a3fb7689240d53209c36e3883928aa4636bfa24fb009b37fd53b34

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page