PyCBC is a software package used to explore astrophysical sources of gravitational waves. It contains algorithms that can detect coalescing compact binaries and measure the astrophysical parameters of detected sources. PyCBC was used in the first direct detection of gravitational waves (GW150914) by LIGO and is used in the ongoing analysis of LIGO and Virgo data. If you use PyCBC in your scientific publications or projects, we ask that you acknowlege our work by citing the papers described on the page:

Getting Started

  • Get the full PyCBC software suite with one of our Docker Images

    If you have Docker installed, you can get started using PyCBC with just two commands:

    pycbc — bash — 80x25

    For more details, including instructions on starting a container that can display graphics, see:

  • Use the PyCBC Library within your Browser

    Try out our tutorials.


Note, if you are a LIGO / Virgo member with access to LDG resources, PyCBC is already installed on your cluster through CVMFS! Instructions to source any release of PyCBC is available from the releases page.

You may also install PyCBC directly with pip. You may ommit lalsuite if you have your own build.

pip install lalsuite pycbc

Full detailed installation instructions which covers other installation cases:

Parameter Estimation of Gravitational-wave Sources

Users who want to create and run parameter estimation workflows should read the documentation at:

Searching for Gravitational-wave Signals

Users who want to create and run scientific workflows to search for compact binaries should read the documentation in the links at:

Template Banks, Hardware Injections, and more

Users who are interested in tools that PyCBC provides for various other analysis tasks (e.g. template bank generation, hardware injections, and testing template banks) should read the documentation at:

Extending PyCBC with external plugins

Would you like to use a waveform model that PyCBC doesn’t have? Or maybe you have your own waveform you’d like to use for a search, parameter estimation , etc. PyCBC supports a plug-in archictecture for external waveform models.

Library Examples and Interactive Tutorials

We have interactive tutorials and examples of using the pycbc. Please give them a try!.

In addition we have some examples below.

Documentation for Developers

Documentation on building stand-alone bundled executables with PyInstaller is available at:

PyCBC developers should read the pages below which explain how to write documentation, develop the code, and create releases:

Developers who are interested in file I/O, data storage, and access should read the documentation at:

Developers who are interested in creating new scientific workflow generation scripts should read the documentation at:

Full Module Documentation is available at:

Instructions for building the GitHub pages documentation are at:

Indexes and Tables