3. Install BPS from source (hybrid)#

This path is for developers. You install the Python processors from this repository in editable mode, and pull only the native binary packages from the Aresys bundle.

Note

A fully source-based install is not possible because the native binaries (bps-l1_binaries, bps-stack_binaries, libl1framing.so) are not in the public repository. They are delivered via the Aresys bundle.

3.1 Create the environment#

cd ~/bps-work/BPS
conda create -n bps-dev python=3.12
conda activate bps-dev

3.2 Install Python processors in editable mode#

The Python source for every processor sits at the repo root under bps-common/, bps-l1_processor/, etc. Install them in dependency order:

pip install -e bps-common
pip install -e bps-transcoder
pip install -e bps-l1_pre_processor
pip install -e bps-l1_core_processor
pip install -e bps-l1_framing_processor
pip install -e bps-l1_processor
pip install -e bps-stack_pre_processor
pip install -e bps-stack_coreg_processor
pip install -e bps-stack_cal_processor
pip install -e bps-stack_processor
pip install -e bps-l2a_processor
pip install -e bps-l2b_agb_processor
pip install -e bps-l2b_fh_processor
pip install -e bps-l2b_fd_processor

Any Python edit you make under bps-l1_processor/bps/l1_processor/... is picked up immediately, with no rebuild step.

3.3 Install the native binary packages from the bundle#

The bps-l1_binaries and bps-stack_binaries packages are not in this repository (the source is not public). Extract them from the Aresys bundle and install via conda:

tar -xzf ~/bps-work/SW/bps-bundle-v4.4.3.tar.gz -C ~/bps-work/SW/BPS_V443/
conda install -c "file://$HOME/bps-work/SW/BPS_V443/bundle/bps_conda_channel" \
    bps-l1_binaries bps-stack_binaries

3.4 Verify#

which bps_l1_processor   # should resolve to your editable install
which libl1framing       # comes from bps-l1_binaries
bps_l1_processor --help

If installation fails

Clean up the partially created environment before retrying:

conda env list
conda env remove --name bps-dev
conda env list

The most common failure causes are insufficient RAM (the conda solver crashes when resolving all packages at once) or a missing Aresys dependency. See ModuleNotFoundError: arepytools.