Installation Guide

Requirements

BOBE requires Python 3.10 or higher (but less than 3.14) and has the following core dependencies:

Core Dependencies

  • JAX: For automatic differentiation and jit compilation (and in the future GPU/TPU acceleration…)

  • JAXlib: JAX’s XLA-based backend

  • NumPy: Numerical computing

  • SciPy: Scientific computing and optimization

  • NumPyro: Probabilistic programming library

  • Dynesty: Nested sampling

  • scikit-learn: SVM classifiers

  • TensorFlow Probability: Statistical distributions

  • GetDist: Analysis and plotting of Monte Carlo samples

  • Matplotlib: Visualization

  • tqdm: Progress bars

Installation Methods

Optional Dependencies

BOBE has several optional dependencies for extended functionality:

# For cosmological likelihoods through Cobaya + MPI support
pip install BOBE[cosmo]

# For Cobaya only
pip install BOBE[cobaya]

# For MPI support only
pip install BOBE[mpi]

# For neural network classifiers
pip install BOBE[nn]

# For all optional dependencies
pip install BOBE[all]

From Source (Development)

For development or to use the latest unreleased features:

  1. Clone the repository:

git clone https://github.com/Ameek94/BOBE.git
cd BOBE
  1. Install in editable mode:

pip install -e .
  1. (Optional) Install with additional features:

pip install -e '.[cosmo]'   # Cobaya + MPI
pip install -e '.[cobaya]'  # Cobaya only
pip install -e '.[mpi]'     # MPI only
pip install -e '.[nn]'      # Neural networks
pip install -e '.[all]'     # Everything

Virtual Environment Setup

It’s typically recommended to use a virtual environment to avoid dependency conflicts:

Using conda

conda create -n BOBE python=3.12
conda activate BOBE
pip install BOBE

Using venv

python -m venv BOBE_env
source BOBE_env/bin/activate
pip install BOBE

GPU/TPU Support

In progress…

Verification

To verify your installation, run:

import BOBE
print(f"BOBE version: {BOBE.__version__}")

Troubleshooting

In case of installation issues, you can also create a virtual environment with the exact package versions BOBE was developed and tested with:

git clone https://github.com/Ameek94/BOBE.git
cd BOBE

# Create environment from the minimal essential packages
conda env create -f environment.yml

# Activate the environment
conda activate BOBE

# Install BOBE in development mode
pip install -e .

Getting Help

If you encounter installation issues:

  1. Check the JAX installation guide

  2. Review the GitHub Issues, create a new issue if needed

  3. Contact the developers (see main documentation page)