Metadata-Version: 2.5
Name: pollux
Version: 0.1.0
Summary: A JAX framework for data-driven latent variable models, with models for stellar spectroscopy
Project-URL: Homepage, https://github.com/adrn/pollux
Project-URL: Bug Tracker, https://github.com/adrn/pollux/issues
Project-URL: Discussions, https://github.com/adrn/pollux/discussions
Project-URL: Changelog, https://github.com/adrn/pollux/releases
Author-email: adrn <adrian.prw@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: equinox>=0.11.12
Requires-Dist: jax>=0.7.2
Requires-Dist: jaxtyping>=0.3
Requires-Dist: numpyro>=0.19.0
Requires-Dist: tqdm>=4.67.1
Requires-Dist: typing-extensions>=4.15.0
Requires-Dist: xmmutablemap>=0.2.0
Description-Content-Type: text/markdown

<img src="https://pollux-astro.readthedocs.io/en/latest/_static/Pollux-logo.png" alt="Pollux logo" width="200"/>

Pollux is a framework for building data-driven latent variable models in JAX. You can
define a latent space and then define transforms from the latents to any number of
observed outputs. Pollux was designed with stellar spectroscopy applications in mind
(and it comes with `pollux.Lux` and `pollux.Cannon` as ready-made architectures), but
the model-building pieces are very general.

[![Documentation Status][rtd-badge]][rtd-link]
[![Actions Status][actions-badge]][actions-link]
[![Coverage Status][codecov-badge]][codecov-link]

<!-- [![PyPI version][pypi-version]][pypi-link] -->
<!-- [![PyPI platforms][pypi-platforms]][pypi-link] -->

<!-- SPHINX-START -->

## Installation

`pollux` requires Python 3.12 or newer:

```bash
pip install pollux    # or: uv add pollux
```

For the unreleased development version, install from this repository:

```bash
pip install git+https://github.com/adrn/pollux
```

## Development

```bash
uv sync                    # all development dependencies, in .venv
uv run pytest              # run the tests
```

The [PEP 735](https://peps.python.org/pep-0735/) dependency groups (`test`, `docs`,
`dev`) also work with `pip` 25.1 or newer:

```bash
python -m pip install -e . --group dev
```

See [DEV.md](DEV.md) for building the docs and cutting a release, and the
[documentation][rtd-link] for everything else.

<!-- prettier-ignore-start -->
[actions-badge]:            https://github.com/adrn/pollux/workflows/CI/badge.svg
[actions-link]:             https://github.com/adrn/pollux/actions
[codecov-badge]:            https://codecov.io/gh/adrn/pollux/graph/badge.svg?token=54TQPUSI2F
[codecov-link]:             https://codecov.io/gh/adrn/pollux
[pypi-link]:                https://pypi.org/project/pollux/
[pypi-platforms]:           https://img.shields.io/pypi/pyversions/pollux
[pypi-version]:             https://img.shields.io/pypi/v/pollux
[rtd-badge]:                https://readthedocs.org/projects/pollux-astro/badge/?version=latest
[rtd-link]:                 https://pollux-astro.readthedocs.io/en/latest/?badge=latest
<!-- prettier-ignore-end -->
