Installation#

To install the PyMarchenko library you will need Python 3.6 or greater.

Dependencies#

Our mandatory dependencies are limited to:

We advise using the Anaconda Python distribution to ensure that these dependencies are installed via the Conda package manager. This is not just a pure stylistic choice but comes with some hidden advantages, such as the linking to Intel MKL library (i.e., a highly optimized BLAS library created by Intel).

Step-by-step installation for users#

Activate your Python environment, and simply type the following command in your terminal to install the PyPi distribution:

>> pip install pymarchenko

Alternatively, to access the latest source from github:

>> pip install https://github.com/DIG-Kaust/pymarchenko/archive/main.zip

or just clone the repository

>> git clone https://github.com/DIG-Kaust/pymarchenko.git

or download the zip file from the repository (green button in the top right corner of the main github repo page) and install PyMarchenko from terminal using the command:

>> make install

Step-by-step installation for developers#

Python environment#

Fork and clone the repository by executing the following in your terminal:

>> git clone https://github.com/your_name_here/pymarchenko.git

The first time you clone the repository run the following command:

>> make dev-install

If you prefer to build a new Conda enviroment just for PyMarchenko, run the following command:

>> make dev-install_conda

To ensure that everything has been setup correctly, run tests:

>> make tests

Make sure no tests fail, this guarantees that the installation has been successfull.

If using Conda environment, always remember to activate the conda environment every time you open a new bash shell by typing:

>> conda activate pymarchenko

Documentation#

You can also build the documentation locally by typing the following command:

>> make doc

Once the documentation is created, you can make any change to the source code and rebuild the documentation by simply typing

>> make docupdate

Our documentation is hosted on Github-Pages and created with a Github-Action triggered every time a commit is made to the main branch.