************ 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. .. _installation: 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 :obj:`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 .. _sourcebuildtest: 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 `_. .. _builddocs: 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 `_.