PycWB is a modular Python implementation of the coherent WaveBurst (cWB/cWB-2G) algorithms for gravitational-wave burst searches. The documentation can be found at pycwb.readthedocs.io.
PycWB is available on PyPI. You can install it with pip.
Some dependencies are required before installing pycwb with pip.
The easiest way is to install them with conda. For regular use, install the pure Python path first.
ROOT is optional and is only needed when testing ROOT-backed components or comparing against ROOT/C++ cWB behavior.
Python requirement:
>=3.10
conda create -n pycwb python=3.13
conda activate pycwb
conda install -c conda-forge nds2-client python-nds2-client lalsuite python-ligo-lw setuptools_scm cmake pkg-config
python3 -m pip install pycwbUse this only if you explicitly want to test the ROOT-backed extension or ROOT/C++ interoperability paths. Currently, the ROOT-enabled pycwb build is available on x86_64 platforms.
conda create -n pycwb python=3.13
conda activate pycwb
conda install -c conda-forge root=6 healpix_cxx=3 nds2-client python-nds2-client lalsuite python-ligo-lw setuptools_scm cmake pkg-config
python3 -m pip install pycwbFor Apple Silicon users, if you need this optional ROOT-enabled environment, install dependencies with the following commands:
# make sure rosetta is installed
softwareupdate --install-rosetta --agree-to-license
# Optional: export CONDA_BUILD=1
conda create -n pycwb_x64
conda activate pycwb_x64
conda config --env --set subdir osx-64
conda install python==3.11 root=6.28 healpix_cxx=3 nds2-client python-nds2-client lalsuite python-ligo-lw setuptools_scm cmake pkg-config ruamel.yaml htcondor
python3 -m pip install pycwbThe default source install does not require ROOT.
conda create -n pycwb python
conda activate pycwb
conda install -c conda-forge nds2-client python-nds2-client lalsuite python-ligo-lw setuptools_scm cmake pkg-config
git clone git@git.ligo.org:yumeng.xu/pycwb.git
cd pycwb
python -m pip install .To test the optional ROOT-backed extension from source, install root=6 and healpix_cxx=3 in the same conda environment before running python -m pip install .. If ROOT is not available, setup skips the C++ wavelet extension and installs the native Python path.
Example project can be found in examples
from pycwb.workflow.run import search
search('./user_parameters.yaml')or run with command line
pycwb run ./user_parameters.yamlpycwb --version
pycwb --helpFor one-command project setup and optional job submission, see QUICKSTART_CONFIG_SETUP.md.
- Google Colab tutorial: GW150914.ipynb