Installing frb
This document describes how to install the frb repository.
Quick Start
The recommended installation path is now through pip using the
repository’s pyproject.toml metadata.
We recommend Python 3.11 or later in a fresh virtual environment or conda environment.
For example, with venv:
git clone https://github.com/FRBs/FRB.git
cd FRB
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e .
or with conda:
conda create -n frb python=3.11 -y
conda activate frb
git clone https://github.com/FRBs/FRB.git
cd FRB
pip install --upgrade pip
pip install -e .
This installs the base package plus its core dependencies, including
the git-based requirements such as linetools, ne2001, and
astropath.
Note
setup.py is kept for backward compatibility, but the supported
installation workflow is pip install -e ..
Likewise, frb/requirements.txt and frb/optional_requirements.txt
are now reference files rather than the primary installation source.
Base Dependencies
The base install is defined in pyproject.toml and includes the main
runtime requirements for the package. At the time of writing, these include
packages such as:
python 3.11 or later
numpy 2.2 or later
scipy 1.17 or later
astropy 7.1 or later
pandas 2.2 or later
matplotlib 3.7 or later
healpy 1.19 or later
requests 2.18 or later
astroquery 0.4.11 or later
pyvo 1.5.3 or later
ligo.skymap 2.3.0 or later
numba 0.50 or later
Extras
The current optional packages covers:
We do not include these as dependencies as they may require additional system setup. These are however necessary to run specific modules of the code-base, and we recommend installing them if you intend to use those modules.
The following feature-specific dependencies may still require separate, manual installation:
FRB-pulsars for
frb.surveys.psrcatasymmetric_kde for
frb.dm_kdescikit-image for some image-analysis workflows
The hmf_emulator package is especially important for halo-related modules,
but it may require additional local system setup depending on your platform.
Environment Variables
Most users do not need any extra environment variables for a basic install. Some workflows do:
FRB_GDBis needed by several build scripts and tests that expect accessto the FRB database or generated data products.
EAZYDIRis needed for the EAZY wrappers described below.
Our CIGALE wrappers use custom filter files not provided by their current release (e.g DES, Pan-STARRS). See the instructions for adding those as needed.
Installing frb
If you already cloned the repository, install it from the checkout root with:
pip install -e .
This installs the package in editable mode and exposes the scripts in your active Python environment.
Adding additional CIGALE filter files
We have had to add new filters to CIGALE (e.g. from DES and Pan-STARRS). You can find these filter files in frb.data.analysis.CIGALE. If you use any of those surveys, our wrappers will not work without them.
Here are the steps to update CIGALE:
cd frb/data/analysis/CIGALE
Add any desired filter into your CIGALE code base with: pcigale-filters add file.dat
Note that DECaLs uses the BASS and MzLS data files.
EAZY setup
In order to perform photo-z estimation with EAZY using our wrappers, the following changes need to be made.
Add an environment variable EAZYDIR that points to your EAZY installation. Add this to your bashrc:
export EAZYDIR="/path/to/eazy-photoz/"
Locate the templates folder in $EAZYDIR and edit the paths present in *.spectra.param. Replace all SED file paths with the absolute paths. For instance, in $EAZYDIR/templates/eazy_v1.3.spectra.param, replace:
templates/EAZY_v1.1_lines/eazy_v1.1_sed1.dat
with:
/path/to/eazy-photoz/templates/EAZY_v1.1_lines/eazy_v1.1_sed1.dat
pPXF
Our pPXF wrapper currently uses an older version of the code (v 6.7.17) and a few custom files. These are made available in a separate repository, and you can install it with:
pip install git+https://github.com/SunilSimha/frb_ppxf.git
If instead you want to install this manually and apply the relevevant patches yourself, see the InstallNotes in this Google Drive. Contact JXP if you have any questions about this process.