Installation#
Diaspora Stream API can be built using Spack. It is therefore assumed that the user has installed and setup Spack.
The diaspora-spack-packages repository needs to be added to spack as follows.
git clone https://github.com/diaspora-project/diaspora-spack-packages.git
spack repo add diaspora-spack-packages/spack_repo/diaspora
We recommend that you update your clone of diaspora-spack-packages from time to time to get the latest versions of all the dependencies.
You can then install the Diaspora Stream API as follows.
spack install diaspora-stream-api
Installing in a Spack environment#
Alternatively, you can isolate your installation in a Spack environment as follows (replace myenv with the name you want to give the environment).
spack env create myenv
spack env activate myenv
spack repo add https://github.com/diaspora-project/diaspora-spack-packages.git '$env/repos'
spack add diaspora-stream-api
spack install
Note
Here we pass the URL to the diaspora-spack-packages repository to spack repo add,
to let Spack clone it. We could also have used the same method as above, cloning it manually
and calling spack repo add with the local path. Letting Spack clone it into the
environment is a little better for isolation.
Note the quotes around $env/repos, this is because we don’t want $env to
be expanded by the shell, we want spack itself to replace it with the environment’s path.
It is generally recommended to use Spack environments to better manage package isolation. Adding diaspora-spack-packages this way also ensures that it is added only to the environment and not globally.
Diaspora Stream API will be built with Python support by default. This Python support provides a Python wrapper around the C++ API. Should you wish to disable it, simply install diaspora-stream-api ~python.
Another option (enabled by default) is +benchmarks, which will build generic benchmark
codes to test implementations of the API.
The +tests option is also enabled by default and will make Spack install the unit tests.
Diaspora Stream API ships with some scripts that allow running these unit tests against a new
implementation of the API, to help implementers ensure that their implementation at least
pass the Diaspora Stream API’s test suite.
Installing with pip#
While Spack is the recommended method to build and install the Diaspora Stream API, it is also possible to build it using pip, as follows (e.g. inside a virtual environment or a conda environment).
# Create and activate your virtual environment
python -m venv .venv
source .venv/bin/activate
# Install the Diaspora Stream API (main branch)
pip install git+https://github.com/diaspora-project/diaspora-stream-api