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