Contribute#

ToDo

This page still has to be written. .. Just contact me if you want to contribute: peter.urban@ugent.be :-)

Installation from source (developer)#

If you want to contribute to the development of Ping or if you want to use the latest features, you can install Ping from source. However, this requires a few more steps than installing from PyPi.

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 (24.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 -Dunity=on -Dunity_size=9999999

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