Installation

It’s recommended to install the offline calibration (pycalibration) package on maxwell, using the anaconda/3 environment.

The following instructions clone from the EuXFEL GitLab instance using SSH remote URLs, this assumes that you have set up SSH keys for use with GitLab already. If you have not then read the appendix section on SSH Key Setup for GitLab for instructions on how to do this .

Creating an ipython kernel for virtual environments

To create an ipython kernel with pycalibration available you should (if using a venv) activate the virtual environment first, and then run:

python3 -m pip install ipykernel  # If not using a venv add `--user` flag
python3 -m ipykernel install --user --name pycalibration --display-name "pycalibration"  # If not using a venv pick different name

This can be useful for Jupyter notebook tools as https://max-jhub.desy.de/hub/login

SSH Key Setup for GitLab

It is highly recommended to set up SSH keys for access to GitLab as this simplifies the setup process for all of our internal software present on GitLab.

To set up the keys:

  1. Connect to Maxwell
  2. Generate a new keypair with ssh-keygen -o -a 100 -t ed25519, you can either leave this in the default location (~/.ssh/id_ed25519) or place it into a separate directory to make management of keys easier if you already have multiple ones. If you are using a password for your keys please check this page to learn how to manage them: https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent
  3. Add the public key (id_ed25519.pub) to your account on GitLab: https://git.xfel.eu/gitlab/profile/keys
  4. Add the following to your ~/.ssh/config file
# Special flags for gitlab over SSH
Host git.xfel.eu
    User git
    Port 10022
    ForwardX11 no
    IdentityFile ~/.ssh/id_ed25519

Once this is done you can clone repositories you have access to from GitLab without having to enter your password each time. As pycalibration requirements are installed from SSH remote URLs having SSH keys set up is a requirement for installing pycalibration.