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.7.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: bout_install-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 27a67a099e014a407f3a3c56a00d420b616754945c35f4a7d6150df15c85521e
MD5 7ad61fc2bb50ca287913fbde2caf4b45
BLAKE2b-256 a8bfaacc89590a2623ecac641b0aa1a981c30958e0c28530367fa9f4e6b45278

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bout_install-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d4ca6b418299e2cd231b94a037c203eb8672c5e3760f622e6be8b7a055872201
MD5 07aedfb2f015b28cbddeb5f6d9393d48
BLAKE2b-256 268facd90eb2d0d41d280e83281be8579b3416feabbb520b3fdd28c983ad018e

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