Install on Linux

The most convenient way to install COSEDA (and its dependency CrystFEL) is to use the Homebrew package manager. COSEDA is entirely written in Python, therefore it should run natively on Windows. However, since its most important dependency CrystFEL does not have a Windows version, there is no Windows version of COSEDA maintained. If your machine is running on Windows, it is highly recommended to use Windows Subsystem for Linux (WSL).

Note: If you are only interested in the preprocessing functions, you should be able to use them natively in Windows as well, but taking the one-time little extra step during the installation will pay off later in terms of performance.

Installing WSL (skip if on native Linux system or already using WSL2)

Here you can find a step by step guide to install Windows Subsystem for Linux (WSL). We recommend to use Ubuntu/Debian. Please make sure you are using WSL2 as this version natively supports graphical user interfaces (WSLg on Windows 11).

Note: All the following steps need to be done in your Linux shell. If you see a prompt starting with PS C:\ you are likely in a Windows shell!

Installing Homebrew (skip if already using Homebrew)

1) Prerequisites

sudo apt update
sudo apt install -y build-essential procps curl file git

2) Install Homebrew (Linuxbrew)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3) Add Homebrew to your shell

echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.profile
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

4) Check

brew --version
brew doctor

Congrats, this was the hardest part.

Installing COSEDA

1) Add the tap

This tells Homebrew where it can find the source of COSEDA.

brew tap kristallorakel/coseda https://gitlab.com/kristallorakel/homebrew-coseda.git

2) Install

brew install coseda

Optional: install the nightly build

The nightly build contains beta changes from the development branch. It is useful for testing new features, but it may be less stable than the regular release.

brew install coseda-nightly

The stable and nightly formulas both install the coseda command, so Homebrew will not install them side by side. To switch between them:

brew uninstall coseda
brew install coseda-nightly

or:

brew uninstall coseda-nightly
brew install coseda

3) Run

If the installation was successful, you can run COSEDA via a simple command. Running it for the first time might take a moment, please be patient.

coseda

Updating

We already told Homebrew where to find COSEDA, so if you want to upgrade to the latest version, you can simply do so by telling Homebrew to check if there is a newer version and upgrade, if one is available.

brew update && brew upgrade coseda

Installing CrystFEL

CrystFEL is COSEDA’s most important dependency. Similarly, you can install it using homebrew:

CrystFEL’s build requires the lexer generator flex. On some systems, the Homebrew-provided flex is not visible inside Homebrew’s build environment, so we install flex (and bison) via apt.

sudo apt-get update
sudo apt-get install -y flex bison
brew tap desy/crystfel https://gitlab.desy.de/thomas.white/homebrew-crystfel
brew install crystfel