Metadata-Version: 2.4
Name: astro-otter
Version: 0.3.4
Author-email: Noah Franz <nfranz@arizona.edu>
License: MIT License
        
        Copyright (c) 2023 Noah Franz
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Home, https://github.com/astro-otter
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Scientific/Engineering
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Development Status :: 2 - Pre-Alpha
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy<2,>=1.20
Requires-Dist: astropy>=6
Requires-Dist: pandas
Requires-Dist: synphot
Requires-Dist: typing-extensions
Requires-Dist: pyarango
Requires-Dist: tabulate
Requires-Dist: matplotlib
Requires-Dist: plotly
Requires-Dist: astroquery
Requires-Dist: ads
Requires-Dist: skypatrol
Requires-Dist: fundamentals
Requires-Dist: astro-datalab
Requires-Dist: sparclclient
Requires-Dist: pydantic
Requires-Dist: pyreadline3; platform_system == "Windows"
Provides-Extra: docs
Requires-Dist: Sphinx>=3.0.0; extra == "docs"
Requires-Dist: myst-parser>=0.13; extra == "docs"
Requires-Dist: nbsphinx>=0.9.1; extra == "docs"
Requires-Dist: sphinx-book-theme>=0.0.33; extra == "docs"
Requires-Dist: sphinx_copybutton; extra == "docs"
Requires-Dist: autodoc; extra == "docs"
Requires-Dist: ipykernel; extra == "docs"
Requires-Dist: autodoc_pydantic; extra == "docs"
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Dynamic: license-file

# OTTER API
### **O**pen mul**T**iwavelength **T**ransient **E**vent **R**epository

A Python API for the OTTER.

[actions-badge]:            https://github.com/astro-otter/otter/workflows/CI/badge.svg
[actions-link]:             https://github.com/astro-otter/otter/actions
[black-badge]:              https://img.shields.io/badge/code%20style-black-000000.svg
[black-link]:               https://github.com/psf/black
[conda-badge]:              https://img.shields.io/conda/vn/conda-forge/hepfile
[conda-link]:               https://github.com/conda-forge/hepfile-feedstock
[github-discussions-badge]: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
[github-discussions-link]:  https://github.com/mattbellis/hepfile/discussions
[gitter-badge]:             https://badges.gitter.im/https://github.com/mattbellis/hepfile/community.svg
[gitter-link]:              https://gitter.im/https://github.com/mattbellis/hepfile/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
[pypi-link]:                https://pypi.org/project/astro-otter/
[pypi-platforms]:           https://img.shields.io/pypi/pyversions/astro-otter
[pypi-version]:             https://badge.fury.io/py/astro-otter.svg
[rtd-badge]:                https://readthedocs.org/projects/otter/badge/?version=latest
[rtd-link]:                 https://otter.readthedocs.io/en/latest/?badge=latest
[sk-badge]:                 https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
[ruff-badge]:               https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
[ruff-link]:                https://github.com/astral-sh/ruff
[codecov-badge]:            https://codecov.io/gh/astro-otter/otter/graph/badge.svg?token=BtCerOdTc0
[codecov-link]:             https://codecov.io/gh/astro-otter/otter

[![Documentation Status](https://readthedocs.org/projects/astro-otter/badge/?version=latest)](https://astro-otter.readthedocs.io/en/latest/?badge=latest)
[![Actions Status][actions-badge]][actions-link]
[![PyPI version][pypi-version]][pypi-link]
[![Linting: Ruff][ruff-badge]][ruff-link]
[![codecov][codecov-badge]][codecov-link]

## Installation
To install the OTTER API use
```
python3 -m pip install astro-otter
```

## Developer Instructions
1. Set the `OTTER_ROOT` environment variable
   ```
   export OTTER_ROOT=/path/to/where/to/clone
   ```
2. Clone the relevant repos:
   ```
   git clone https://github.com/astro-otter/otter.git $OTTER_ROOT/otter
   git clone https://github.com/astro-otter/otterdb.git $OTTER_ROOT/otterdb
   git clone https://github.com/astro-otter/otter-web.git $OTTER_ROOT/otter-web
   ```
3. Install the NASA ADS Python API by following the instructions at https://ads.readthedocs.io/en/latest/#getting-started
4. Install otter, the API for this database. From
   the root directory where you installed these repos:
   ```
   cd $OTTER_ROOT/otter
   python -m pip install -e .
   ```
5. Process the data to build the local copy of the database. Follow the instructions in the otterdb repo README.
6. Easily access the data using the Otter code! In python:
  ```
  import os
  from otter import Otter
  otter = Otter(os.path.join(os.environ['OTTER_ROOT'], 'otterdb', '.otter'))
  res = otter.query(names='AT2018hyz')
  print(res)
  ```

## Installation from Source
To install the OTTER API from the source code use
```
git clone https://github.com/astro-otter/otter.git
cd otter
python -m pip install .
```
This will be changed into the more convenient `python -m pip install astro-otter` at a later date!

For developers, please also enable the pre-commit hooks using
```
pre-commit install
```

## Repo Organization
| Directory | Contents |
|------------|------------|
| `src/otter` | A pip installable API for interfacing with the OTTER database|
| `scripts` | The pipeline scripts for converting unprocessed data into the OTTER JSON format|
| `docs` | Documentation for the OTTER API |
| `test` | Some Unit tests for the source code |
