Metadata-Version: 2.4
Name: dysh
Version: 0.4.1
Project-URL: Documentation, https://github.com/GreenBankObservatory/dysh#readme
Project-URL: Issues, https://github.com/GreenBankObservatory/dysh/issues
Project-URL: Source, https://github.com/GreenBankObservatory/dysh
Author-email: Marc Pound <mpound@umd.edu>, Victoria Catlett <vcatlett@nrao.edu>, Peter Teuben <teuben@umd.edu>, Thomas Chamberlin <tchamber@nrao.edu>, Pedro Salas <psalas@nrao.edu>, Evan Smith <esmith@nrao.edu>
License: GNU GENERAL PUBLIC LICENSE
                              Version 3, 29 June 2007
        
            dysh
            Copyright (C) 2023  Green Bank Observatory
        
            This program is free software: you can redistribute it and/or modify
            it under the terms of the GNU General Public License as published by
            the Free Software Foundation, either version 3 of the License, or
            (at your option) any later version.
        
            This program is distributed in the hope that it will be useful,
            but WITHOUT ANY WARRANTY; without even the implied warranty of
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
            GNU General Public License for more details.
        
            You should have received a copy of the GNU General Public License
            along with this program.  If not, see <http://www.gnu.org/licenses/>.
        
        Also add information on how to contact you by electronic and paper mail.
        
          You should also get your employer (if you work as a programmer) or school,
        if any, to sign a "copyright disclaimer" for the program, if necessary.
        For more information on this, and how to apply and follow the GNU GPL, see
        <http://www.gnu.org/licenses/>.
        
          The GNU General Public License does not permit incorporating your program
        into proprietary programs.  If your program is a subroutine library, you
        may consider it more useful to permit linking proprietary applications with
        the library.  If this is what you want to do, use the GNU Lesser General
        Public License instead of this License.  But first, please read
        <http://www.gnu.org/philosophy/why-not-lgpl.html>.
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: <3.13,>=3.10
Requires-Dist: astropy
Requires-Dist: httpx
Requires-Dist: ipython
Requires-Dist: jplephem
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: rich
Requires-Dist: scipy
Requires-Dist: specutils>1.16
Requires-Dist: tenacity
Provides-Extra: all
Requires-Dist: coverage[toml]; extra == 'all'
Requires-Dist: ipdb; extra == 'all'
Requires-Dist: jupyter; extra == 'all'
Requires-Dist: jupyterlab; extra == 'all'
Requires-Dist: myst-nb; extra == 'all'
Requires-Dist: nbclient; extra == 'all'
Requires-Dist: nbformat; extra == 'all'
Requires-Dist: numpydoc; extra == 'all'
Requires-Dist: pip-tools; extra == 'all'
Requires-Dist: pre-commit; extra == 'all'
Requires-Dist: pytest; extra == 'all'
Requires-Dist: pytest-cov; extra == 'all'
Requires-Dist: sphinx; extra == 'all'
Requires-Dist: sphinx-autobuild; extra == 'all'
Requires-Dist: sphinx-book-theme; extra == 'all'
Requires-Dist: sphinx-copybutton; extra == 'all'
Requires-Dist: sphinx-design; extra == 'all'
Requires-Dist: sphinx-inline-tabs; extra == 'all'
Requires-Dist: sphinxcontrib-mermaid; extra == 'all'
Provides-Extra: dev
Requires-Dist: coverage[toml]; extra == 'dev'
Requires-Dist: ipdb; extra == 'dev'
Requires-Dist: myst-nb; extra == 'dev'
Requires-Dist: nbclient; extra == 'dev'
Requires-Dist: nbformat; extra == 'dev'
Requires-Dist: numpydoc; extra == 'dev'
Requires-Dist: pip-tools; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-autobuild; extra == 'dev'
Requires-Dist: sphinx-book-theme; extra == 'dev'
Requires-Dist: sphinx-copybutton; extra == 'dev'
Requires-Dist: sphinx-design; extra == 'dev'
Requires-Dist: sphinx-inline-tabs; extra == 'dev'
Requires-Dist: sphinxcontrib-mermaid; extra == 'dev'
Provides-Extra: nb
Requires-Dist: jupyter; extra == 'nb'
Requires-Dist: jupyterlab; extra == 'nb'
Description-Content-Type: text/markdown

[![Documentation Status](https://readthedocs.org/projects/dysh/badge/?version=latest)](https://dysh.readthedocs.io/en/latest/?badge=latest)
[![pre-commit.ci Status](https://results.pre-commit.ci/badge/github/GreenBankObservatory/dysh/main.svg)](https://results.pre-commit.ci/latest/github/GreenBankObservatory/dysh/main)
[![CI Workflow Build Status](https://github.com/GreenBankObservatory/dysh/actions/workflows/ci.yml/badge.svg)](https://github.com/GreenBankObservatory/dysh/actions/workflows/ci.yml)

# 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](https:/greenbankobservatory.org) and the Laboratory for Millimeter-Wave Astronomy (LMA) at [University of Maryland (UMD)](https://www.astro.umd.edu). It is intended to be an alternative to the GBO's current reduction package [GBTIDL](https://www.gb.nrao.edu/GBT/DA/gbtidl/users_guide/).

## Installation

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.

### Global Installation via pipx

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](https://github.com/pypa/pipx#install-pipx). After installing pipx, dysh can be installed via:

```sh
# Install dysh
$ pipx install dysh[nb]
# Launch dysh notebook
$ dysh-lab
```

### Local Installation via pip

Example use case: you want to use dysh with a specific set of dependencies, or in conjunction with an existing project

#### Stable Version
dysh is most easily installed with *pip*, which will take care of any dependencies. The packaged code is hosted at the [Python Packaging Index](https://pypi.org/project/dysh).

```sh
$ pip install dysh
```

#### Beta Version

Beta versions will also be published to PyPI, and can be installed via:

```sh
$ pip install dysh --pre
```

#### Development Version

Development versions can be installed from GitHub branches via:

```sh
$ pip install git+https://github.com/GreenBankObservatory/dysh
```
For more options, see the [pip VCS Support documentation](https://pip.pypa.io/en/stable/topics/vcs-support/).

## Reporting Issues

If you find a bug or something you think is in error, please report it on
the [GitHub issue tracker](https://github.com/GreenBankObservatory/dysh/issues).
(You must have a [GitHub account](https://github.com) to submit an issue)

---

## Development

See the [For Developers](https://dysh.readthedocs.io/en/latest/for_developers/index.html) documentation for more detailed instructions on setting up a development environment.

### Clone the Repo

```sh
$ git clone git@github.com:GreenBankObservatory/dysh.git
```

### Set Up Dysh Environment

#### Via Hatch

The recommended development workflow is to use [hatch](https://hatch.pypa.io/latest/tutorials/environment/basic-usage/). After installing hatch, this will look something like:

```sh
$ hatch shell
```

#### Without Hatch

If you do not want to use Hatch, it is possible to develop using a "classic" workflow. From the root of the dysh repo:

```sh
$ # 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]
```

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

```sh
$ pytest
```
