Metadata-Version: 2.4
Name: pyuvis
Version: 0.9.1
Summary: Python tools for Cassini UVIS data
Project-URL: Homepage, https://github.com/Cassini-UVIS/pyuvis
Project-URL: Documentation, https://cassini-uvis.github.io/pyuvis/
Project-URL: Repository, https://github.com/Cassini-UVIS/pyuvis
Author-email: "K.-Michael Aye" <kmichael.aye@gmail.com>
License: Apache-2.0
License-File: LICENSE
Keywords: Cassini,UVIS,data,planetary,tools
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <4,>=3.12
Requires-Dist: astropy
Requires-Dist: fastcore
Requires-Dist: matplotlib>=1.0
Requires-Dist: pandas>=1.0
Requires-Dist: planetarypy>=0.55.0
Requires-Dist: pvl
Requires-Dist: scipy
Requires-Dist: seaborn
Requires-Dist: xarray>=0.19
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Provides-Extra: docs
Requires-Dist: griffe<2,>=1.5; extra == 'docs'
Requires-Dist: holoviews; extra == 'docs'
Requires-Dist: hvplot>=0.7; extra == 'docs'
Requires-Dist: jupyter; extra == 'docs'
Requires-Dist: nbformat; extra == 'docs'
Requires-Dist: quartodoc>=0.11.1; extra == 'docs'
Provides-Extra: viz
Requires-Dist: holoviews; extra == 'viz'
Requires-Dist: hvplot>=0.7; extra == 'viz'
Description-Content-Type: text/markdown

# pyuvis

[![DOI](https://zenodo.org/badge/22502011.svg)](https://doi.org/10.5281/zenodo.593931)

> Python tools for working with Cassini UVIS data.

`pyuvis` provides readers, calibration utilities, and PDS-archive helpers
for the Cassini UVIS (Ultraviolet Imaging Spectrograph) instrument. Data
discovery and download are delegated to
[`planetarypy`](https://github.com/planetarypy/planetarypy); pyuvis focuses on
opening the resulting files and turning them into useful arrays
(`numpy`/`xarray`/`pandas`) you can analyse.

## Install

```bash
pip install pyuvis
```

The package will pull in `planetarypy` (>= 0.21) as a dependency. On first
use, `planetarypy` will ask you for a local data directory where it will
cache PDS products it downloads on your behalf.

For development:

```bash
git clone https://github.com/Cassini-UVIS/pyuvis
cd pyuvis
pip install -e ".[dev,docs]"
```

## Usage

```python
from pyuvis import UVPDS

uv = UVPDS("FUV2005_172_03_35")  # downloads via planetarypy if not cached

uv.data            # numpy array of raw counts
uv.xarray          # xarray.DataArray with (spectral, spatial, samples) coords
uv.plot()          # quick hvplot

uv.calibrated      # calibrated data, if a calibration matrix is present
```

For browsing the PDS catalog of UVIS products by date / observation type /
target:

```python
from pyuvis.pds import CatalogFilter

cat = CatalogFilter("2002-198")    # accepts "yyyy-jjj" or "yyyy-mm-dd"
cat.doydate                         # -> "2002-198"
cat.ustare_stars                    # USTARE-type observations on STAR targets
cat.get_ustare_stars_date("FUV")    # filter to FUV stars on the given date
```

For more examples (HSP sensitivity tables, IDL `.sav` round-trips, Greg
and Steffl calibrations, FUV/EUV statistics) see the rendered tutorials
in the docs site below.

## Documentation

Full documentation, tutorials, and API reference:
**<https://cassini-uvis.github.io/pyuvis/>**

## Citation

If you use `pyuvis` in your research, please cite via the metadata in
[`CITATION.cff`](./CITATION.cff) or the Zenodo DOI badge above.

## Issues and contributing

Report issues at <https://github.com/Cassini-UVIS/pyuvis/issues>.
Pull requests welcome — please run `pytest` and render the docs locally
(`make docs`) before opening one.

## License

Apache 2.0 — see [`LICENSE`](./LICENSE).
