Skip to content
Fast Radio Burst (FRB) Redshift Estimation
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
paper Merge pull request #25 from abatten/dev May 5, 2019


PyPI - Latest Release PyPI - Python Versions PyPI - License Travis Documentation Status Code Coverage JOSS Review Status

Fruitbat Logo

Fruitbat is an open source python package used to estimate the redshift of Fast Radio Bursts (FRB) from their dispersion measure. Fruitbat combines various dispersion measure (DM) and redshift relations with the YMW16 galactic dispersion measure model into a single easy to use API.


The documentation for fruitbat can be found at


You can install the latest release of fruitbat from PyPi by running the following:

pip install fruitbat

You can install the latest development version of fruitbat by cloning this repository:

git clone
cd fruitbat
pip install .

If you are installing the latest development version of fruitbat then you will also need to install git-lfs. Instructions for installing git-lfs for your operating system can be found here.


Below are the listed requirements for running fruitbat and the purpose for each requirement.

  • numpy: Array manipulation
  • scipy: Modules for integration and interpolation
  • astropy: Modules for cosmology, coordinates, constants and units
  • matplotlib: Modules for plotting
  • pandas: Reading csv files from FRBCAT
  • pyymw16: Python wrapper for YMW16 galactic dispersion measure model.
  • e13tools: Utility tools for writing docstrings.


If you want to get started using fruitbat there is a Getting Started section of the documentation made just for you! Otherwise the tl;dr is the following:

Most of the calculations will be centred around the Frb class. You can can define an instance of the Frb class with a dispersion measure. To calculate the redshift of the FRB use the method calc_redshift.

>>> import fruitbat
>>> FRB121102 = fruitbat.Frb(557, dm_excess=369)
>>> FRB121102.calc_redshift()
<Quantity 0.37581945>

The calc_redshift function can also be passed a method and/or a cosmology. The method will specify which DM-redshift relation to assume and the cosmology will specify which cosmology to assume.

>>> FRB121102.calc_redshift(method="Zhang2018", cosmology="Planck18")
<Quantity 0.42166019>

It is also possible to specify the coordinates of the burst and use the calc_dm_galaxy function to calculate the DM contribution from the Milky Way using the YMW16 model. Performing calc_dm_galaxy will automatically calculate the excess dispersion measure for the redshift calculation.

>>> FRB190222 = fruitbat.Frb(500, raj="12:34:43.5", decj="2:34:15.2")
>>> FRB190222.calc_dm_galaxy()
<Quantity 22.43696785 pc / cm3>
>>> FRB190222.calc_redshift()
<Quantity 0.4808557>

Issues and Contributing

If there is a feature of fruitbat that currently does not exist, but you would like it to, you can contribute by openning a Github Issue and outlining the feature. Similar to contributing, if you find a problem with fruitbat or are having difficulties using fruitbat please do not hesitate to open a Github Issue.

Referencing Fruitbat

If you use fruitbat in your research, we would like it if you could reference our paper.

    author = {{Batten}, A.~J.},
    title = {{Fruitbat}: A Python Package for Estimating Redshifts of Fast Radio Bursts},
    doi = {10.21105/joss.01399},
    url = {},
    year  = {2019},
    month = {may},
    publisher = {The Open Journal},
    volume = {4},
    number = {36},
    pages = {1399},
    journal = {JOSS}
You can’t perform that action at this time.