Installation

Requirements

Baseband-tasks requires Baseband, v3.0 or later, which in turn requires Python, Astropy, and Numpy.

In addition, you may want to install:

  • PyFFTW v0.11 or later, to be able to use the FFTW library for fast fourier transforms.

  • PINT to calculate phases without first generating polycos.

  • H5py to read files in the HDF5 format.

Installing Baseband-tasks

To install Baseband-tasks with pip, run:

pip3 install baseband-tasks

Possibly with --user if you installing for yourself outside of a virtual environment, and/or with a trailing [all] to also install the optional dependencies (or [io] for just HDF5 support).

Note

Baseband-tasks was originally developped under the name scintillometry. It was never put on PyPI under that name, but could be downloaded from github. While we strongly recommend adjusting any scripts you have, if you need to check an old result you can install the last version under the scintillometry name with:

pip install git+https://github.com/mhvk/baseband-tasks.git@scintillometry#egg=scintillometry

Obtaining Source Code

The source code and latest development version of Baseband-tasks can found on its GitHub repo. You can get your own clone using:

git clone git@github.com:mhvk/baseband-tasks.git

Of course, it is even better to fork it on GitHub, and then clone your own repository, so that you can more easily contribute! From within the cloned repository:

pip install .

Here, apart from the --user option and possible [all] or [io] suffix, you may want to add the --editable option to just link to the source repository, which means that any edit will be seen.

Running Code without Installing

As Baseband-tasks is purely Python, it can be used without being built or installed, by appending the directory it is located in to the PYTHON_PATH environment variable. Alternatively, you can use sys.path within Python to append the path:

import sys
sys.path.append(PACKAGE_PATH)

where PACKAGE_PATH is the directory you downloaded or cloned Baseband-tasks into.

Note that for the baseband.io and baseband.tasks plugins to work, you will need to produce egg_info, which can be done with:

python3 setup.py egg_info

Testing the Installation

To test that the code works on your system, you need pytest and pytest-astropy to be installed; this is most easily done by first installing the code together with its test dependencies:

pip install -e .[test]

Then, inside the root directory, simply run

pytest

or, inside of Python:

import baseband_tasks
baseband_tasks.test()

For further details, see the Astropy Running Tests pages.

Building Documentation

Note

As with Astropy, building the documentation is unnecessary unless you are writing new documentation or do not have internet access, as Baseband-tasks’s documentation is available online at baseband.readthedocs.io/project/baseband-tasks.

To build the Baseband-tasks documentation, you need Sphinx and sphinx-astropy to be installed; this is most easily done by first installing the code together with its documentations dependencies:

pip install -e .[docs]

Then, go to the docs directory and run

make html

For further details, see the Astropy Building Documentation pages.