# 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.

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. If you have old scripts that depend on that name and want these to work without (yet) changing imports, 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


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.