dysh is a Python spectral line data reduction and analysis program for singledish data with specific emphasis on data from the Green Bank Telescope. It is currently under development in collaboration between the Green Bank Observatory and the Laboratory for Millimeter-Wave Astronomy (LMA) at University of Maryland (UMD). It is intended to be an alternative to the GBO's current reduction package GBTIDL.
Note: if you are on the GBO network, dysh will already be installed; you do not need to do anything further! Other uses cases are outlined below.
Example use case: you want to quickly install and use dysh on a non-GBO computer
If you want to avoid managing a virtual environment, the easiest way is via pipx. After installing pipx, dysh can be installed via:
# Install dysh
$ pipx install dysh[nb]
# Launch dysh notebook
$ dysh-lab
Example use case: you want to use dysh with a specific set of dependencies, or in conjunction with an existing project
dysh is most easily installed with pip, which will take care of any dependencies. The packaged code is hosted at the Python Packaging Index.
$ pip install dysh
Beta versions will also be published to PyPI, and can be installed via:
$ pip install dysh --pre
Development versions can be installed from GitHub branches via:
$ pip install git+https://github.com/GreenBankObservatory/dysh
For more options, see the pip VCS Support documentation.
If you find a bug or something you think is in error, please report it on the GitHub issue tracker. (You must have a GitHub account to submit an issue)
See the For Developers documentation for more detailed instructions on setting up a development environment.
$ git clone [email protected]:GreenBankObservatory/dysh.git
The recommended development workflow is to use hatch. After installing hatch, this will look something like:
$ hatch shell
If you do not want to use Hatch, it is possible to develop using a "classic" workflow. From the root of the dysh repo:
$ # Create your virtual environment
$ python -m venv /path/to/venv
$ # Activate your virtual environment
$ source /path/to/venv/bin/activate
$ # Install dysh and its development dependencies
$ pip install -e .[all]
We use pytest for unit and integration testing. From the top-level dysh directory, run:
$ pytest