Installation

We presently only officially support installing Reggae under Python 3.10 and below. Before installing Reggae we strongly recommend you use a virtual environment. The simplest way to set one up is using the Python venv module:

python -m /path/to/new/virtual/environment

You will now need to activate the environment before you can install new Python packages. To do so just do:

source /path/to/new/virtual/environment/bin/activate

You can now freely install new packages without interfering with your previously installed packages.

To install reggae, clone this repository and install it by doing the following:

cd path/to/my/repos
git clone https://github.com/darthoctopus/reggae.git
cd reggae
pip install -e .

That should be it!

Testing things work

To check that everyone works you can try running Reggae with an example provided in the test/jamie directory

cd path/to/my/repos/reggae/test/jamie
python test.py

This should open up an UI featuring the example data.

Installation FAQs

  • What do I need to install in order to accelerate these calculations on my GPU?

Please check that your OS is on jax’s supported list of systems and hardware configurations, which can be found here. In summary, while performing jax calculations on the CPU is supported on all platforms, GPU acceleration is only available on limited combinations of hardware and operating systems. Our requirements.txt file assumes only CPU support via jaxlib; Windows users may need additional external requirements for it to work.

  • I am getting a package conflict for a module named zeta when attempting to install.

reggae relies on a package named zeta for asymptotic mode-coupling calculations and generation of stretched period-echelle power diagrams. Unfortunately, that name is already taken on PyPI, so it is not available there and has to be installed from its gitlab repository. If installation via requirements.txt does not work, it may also be installed manually with the following commands:

cd path/to/my/repos
git clone https://gitlab.com/darthoctopus/zeta.git
cd zeta
pip install -e .
  • I am running into core dump errors with missing libraries.

This is an issue we have encountered on linux systems where only X11 GUI sessions are installed. You will need to use your OS’s package manager to install certain X11 libraries that may be required by Qt for the GUI to function properly. For example, if you should see the error message

qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

then (e.g. if you are using Ubuntu) you will need to install additional system packages:

$ sudo apt install libxcb-cursor0

As this specific error message suggests, downgrading to Qt 6.5 (and PyQt 6.5) may be an alternative resolution to this issue. Yet another alternative may be to use a Wayland-based GUI session (and correspondingly a different Qt platform plugin), although this may cause other issues.