General installation¶
Depending on your intentions, three different types of environment can be created
- Beamline environment: mimic a beamline installation
- Development environment: develop and test BLISS
- Demo environment: mimic a beamline with simulated devices
Below we provide two ways of setting up those environments:
- Guided installation: using the
make
file from the BLISS git repository - Manual installation: using
pip
andconda
Beamline environment¶
The beamline environment provides a BLISS installation like at the beamline.
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 . -e ./blissdata
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:
- bliss environment (see above)
- 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).
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:
- bliss environment (see above)
- lima environment (see above)
- data processing environment (optional)
Each of these environments exposes commands that can be used to started the demo processes (see here).
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]