Installation (user)#

Ping is available on PyPi and can be installed with pip or pipenv:

$ pip install themachinethatgoesping
$ pipenv install themachinethatgoesping

Windows / Mac

While we are building pypi packages for Windows and Mac, support and performance is not guaranteed. On windows we currently do not support openMP and therefore no multithreading is avaliable.

If you are experienced with building python packages on windows and mac, please contact us to help us improve the situation.

Installation from source (developer)#

Building on Windows / Mac

We have no build instructions for Windows and Mac. (Except as github action workflows) If you are experienced with building c++ libraries on Windows or Mac, please contact us to help us improve the situation.

Installation on Linux (22.04 and above)#

First install the build requirements:

$ sudo apt update
$ sudo apt install git git-lfs build-essential ccache pkg-config cmake libboost-all-dev libcurl4-openssl-dev'
$ sudo pacman -Syu
$ sudo pacman -Syy sudo git git-lfs base-devel ccache pkg-config cmake python-pip boost curl

Get the code:

$ git clone https://github.com/themachinethatgoesping/themachinethatgoesping.git
$ cd themachinethatgoesping
$ git clone git@github.com:themachinethatgoesping/themachinethatgoesping.git
$ cd themachinethatgoesping

With the pip/conda/mamba of your python environment (see New to python) install the build requirements

$ pip install -r build-requirements.txt
$ pipenv install -r build-requirements.txt
$ conda install --file build-requirements.txt
$ mamba install --file build-requirements.txt

Ping is using meson as build system. Meson is installed via pip (it is in the build-requirements.txt) To setup meson run (within the source directory):

$     meson setup builddir/

This will create a build directory called builddir. You can change the name of the build directory to your liking. For general build options refer to the meson documentation.

To compile the project run:

$     meson compile -C builddir

To run the tests (c++/Catch2) run:

$     meson test -C builddir/ --print-errorlogs

To install the project run (by default into the side-packages in your python environment):

$     meson install -C builddir/

To run the tests (python/pytest) run (within the source directory):

$     pytest

ToDo

Provide an overview of import build options. E.g.

  • pydev_install

  • install_env

ToDo

Describe building python package with meson-python