License
Other
Install
pip install dysh==0.3.0b0

Documentation

Documentation Status pre-commit.ci Status CI Workflow Build Status

dysh

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 a full replacement for the GBO's current reduction package GBTIDL.

Getting Started

Installation

dysh requires Python 3.9+ and recent versions of astropy, numpy, scipy, pandas, specutils, and matplotlib.

With pip from PyPi

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

From GitHub

To install from github without creating a separate virtual environment:

    $ git clone git@github.com:GreenBankObservatory/dysh.git
    $ cd dysh
    $ pip install -e .

If you wish to install using a virtual environment, which we strongly recommend if you plan to contribute to the code, see Development.

Reporting Issues

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)


Development

Here are the steps if you want to develop code for dysh. We use hatch to manage the build environment. The usual caveats apply how you set up your python development environment.

  1. Clone the repo and install hatch.
    $ git clone git@github.com:GreenBankObservatory/dysh.git
    $ cd dysh
    $ pip install hatch
  1. Hatch will default to using the system Python if there's no HATCH_PYTHON environment variable set. To use a specific version of Python, add the following line to your ~/.bash_profile:
export HATCH_PYTHON=/path/to/bin/python

Then source the new profile to apply the changes.

$ source ~/.bash_profile
  1. Create and activate a virtual environment with hatch and install the packages required for development. The virtual environment will be created the first time; subsequent invoking hatch shell will simply load the created environment.cdi
    $ hatch shell
    (dysh) $ pip install -r requirements.txt
  1. Build and install the package
    (dysh) $ hatch build
    (dysh) $ pip install -e .
  1. You can exit this environment (which effectively had started a new shell) just exit:
    (dysh) $ exit
  1. Each time when you come back in this directory without being in this virtual environment, you'll need to load the virtual environment
    $ hatch shell

Notice you can ONLY do that from this directory

Testing

We use pytest for unit and integration testing. From the top-level dysh directory, run:

    $ pytest