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.
pollux requires Python 3.12 or newer:
pip install pollux # or: uv add polluxFor the unreleased development version, install from this repository:
pip install git+https://github.com/adrn/polluxuv sync # all development dependencies, in .venv
uv run pytest # run the testsThe PEP 735 dependency groups (test, docs,
dev) also work with pip 25.1 or newer:
python -m pip install -e . --group devSee DEV.md for building the docs and cutting a release, and the documentation for everything else.
