Skip to content

General installation

Depending on your needs, three different types of environment can be created:

  1. Beamline environment: mimic a beamline installation
  2. Development environment: develop and test BLISS
  3. Demo environment: mimic a beamline with simulated devices

Below we provide two ways of setting up those environments:

  1. Guided installation: using the make file from the BLISS git repository
  2. Manual installation: using pip and conda

Beamline environment

The beamline environment provides a BLISS installation like the ones installed on ESRF beamlines.

The beamline environment consists of one python environment: the bliss environment

Guided installation

Requires git, make and conda

git clone https://gitlab.esrf.fr/bliss/bliss
cd bliss/
git checkout {SOME_BRANCH} # could be master, 1.11.x, ...

make bl_env [NAME=bliss_env]

where bliss_env is the name of the conda environment.

Manual installation

# Select conda channels
conda config --env --add channels conda-forge
conda config --env --append channels esrf-bcu

# Create a conda environment (does not have to be conda)
conda create --name bliss_env
conda activate bliss_env

# Install non-python dependencies (and specify the python version you want)
conda install --file conda-requirements.txt python=3.*

Without conda you need to install the dependencies from conda-requirements.txt in another way (for example using the system package manager).

Install dependencies from PyPI

pip install bliss

or install from source

git clone https://gitlab.esrf.fr/bliss/bliss
cd bliss/

pip install -e .

Create BLISS sessions

conda activate bliss_env
bliss -c my_session

For each session you must create and configure a Nexus writer to save the data generated by scans in that session.

Development environment

The development environment provides tool to develop and test BLISS.

The development environment consists of two python environments:

  1. bliss environment (see above)
  2. lima environment

Guided installation

Requires git, make and conda

git clone https://gitlab.esrf.fr/bliss/bliss
cd bliss/

make dev_env [NAME=bliss_dev] [LIMA_NAME=lima_env]

where bliss_dev are lima_env are the names of the conda environments.

Manual installation

Install the bliss environment as described above. In addition:

# Create an environment (does not have to be conda)
conda create --name lima_env --file ./bliss_lima_simulators/conda-environment.yml
conda activate lima_env

# Install lima plugins
pip install ./bliss_lima_simulators

Without conda you need to install the dependencies from conda-environment.yml in another way (for example using the system package manager).

Documentation tools

Please consult documentation tools installation to install documentation rendering tools (mkdocs and its dependencies).

Demo environment

The demo environment provides processes that simulate a full BLISS installation with servers and virtual devices.

The demo environment consists of two or three python environments:

  1. bliss environment (see above)
  2. lima environment (see above)
  3. data processing environment (optional)

Each of these environments exposes commands that can be used to started the demo processes.

The demo installation already provides a BLISS session with called demo_session with an associated Nexus writer.

Guided installation

Requires git, make and conda

git clone https://gitlab.esrf.fr/bliss/bliss
cd bliss/

make demo_env [NAME=bliss_dev] [LIMA_NAME=lima_env]

# or if you want online data processing

make demo_with_oda_env [NAME=bliss_dev] [LIMA_NAME=lima_env] [ODA_NAME=oda_env]

where bliss_dev, lima_env and oda_env are the names of the conda environments.

Manual installation

Install the bliss and lima environments as described above.

In addition if you want online data processing:

# Create an environment (does not have to be conda)
conda create --name oda_env --file ./blissdemo/conda-environment.yml
conda activate oda_env

# Install the ODA worker-side
pip install ./blissdemo[worker]

Install the ODA client-side in the bliss environment

conda activate bliss_env
pip install ./blissdemo[client]