Installation#
C++ Library#
Dependencies#
pagmo_plugins_nonfree has the following mandatory build/runtime dependencies:
The C++ component builds as a shared library (it is not a header-only library).
Build from source#
After making sure dependencies are available on your system, clone the source tree:
$ git clone https://github.com/esa/pagmo_plugins_nonfree.git
$ cd pagmo_plugins_nonfree
Then configure and install the C++ library:
$ mkdir build_cpp
$ cd build_cpp
$ cmake ../ -DPPNF_BUILD_CPP=ON -DPPNF_BUILD_PYTHON=OFF
$ cmake --build . --target install
Useful CMake options include:
CMAKE_BUILD_TYPE: build type (e.g.Release,Debug),CMAKE_PREFIX_PATH: additional dependency lookup paths,CMAKE_INSTALL_PREFIX: installation prefix,PPNF_BUILD_TESTS: build C++ tests,PPNF_INSTALL_LIBDIR: installation directory for libraries.
Python#
Dependencies#
The Python module corresponding to pagmo_plugins_nonfree is called
pygmo_plugins_nonfree.
pygmo_plugins_nonfree has the following mandatory runtime dependencies:
pygmo (version
2.19.*),cloudpickle, a package that extends Python’s serialization capabilities.
For builds from source, the following are also required:
the C++ library
pagmo_plugins_nonfreeinstalled first,a compatible Python installation with development headers/modules.
Packages#
There are various options for the installation of pygmo_plugins_nonfree:
Conda#
Conda packages are provided via conda-forge:
$ conda install -c conda-forge pygmo_plugins_nonfree
Please refer to conda-forge for current platform availability.
pip#
pygmo_plugins_nonfree wheels are published on PyPI:
Install with:
$ pip install pygmo_plugins_nonfree
Current CI status (pip/manylinux)#
The project CI currently validates and builds the following configurations:
Non-manylinux Python CI: Linux x86_64 (Python 3.12, 3.13, 3.14), Linux ARM64 (Python 3.14), macOS ARM64 (Python 3.14), Windows x86_64 (Python 3.14).
Manylinux wheel CI: manylinux 2.28 x86_64 and aarch64 for Python 3.11, 3.12, 3.13.
Manual PyPI publication: wheels are published via the
Publish to PyPI (manual)workflow dispatch.
At the moment, PyPI publication is driven by the manylinux workflow above.
Installation from source#
To build pygmo_plugins_nonfree from source you need:
the C++ library
pagmo_plugins_nonfreeinstalled first,a compatible Python installation,
pygmo,NumPyandcloudpickle.
A typical build sequence is:
$ cd /path/to/pagmo_plugins_nonfree
$ mkdir build_py
$ cd build_py
$ cmake ../ -DPPNF_BUILD_CPP=OFF -DPPNF_BUILD_PYTHON=ON
$ cmake --build . --target install
Pay special attention to Python3_EXECUTABLE and CMAKE_PREFIX_PATH when
multiple Python or dependency installations are present.
If needed, you can override the Python package install path via
PPFN_INSTALL_PATH.