Skip to content

Installation

rsd is available on PyPI and installs with a single pip command.

Standard install (NumPy + SciPy only)

pip install rsd

This pulls in the minimal numerical dependencies and gives you the 1-D entry point rsd.standardize and the helper transforms (rsd.logit_transform, rsd.inverse_logit_transform).

With the N-D xarray / dask wrapper

pip install rsd[xarray]

Adds xarray and dask so rsd.standardize_xr is importable. Use this extra whenever you want to apply RSD to N-D fields (lat x lon x time grids).

With the 1-D diagnostics plots

pip install rsd[diagnostics]

Adds matplotlib so rsd.diagnose is usable. Diagnostics are 1-D-only (no spatial dependency); use this extra if you want to verify the exchangeability assumption on a reference series. rsd.diagnose also surfaces an optional check for the logit pre-transform pathway used by bounded variables.

Note: rsd.estimate_bounds is a small numerical helper for the bounded-variable pathway (it picks heuristic logit bounds from the data range) and does not require matplotlib; it works with any install profile.

Everything

pip install rsd[all]

Equivalent to rsd[xarray] plus rsd[diagnostics].

Development install

If you intend to contribute, install from a clone with the dev extra:

git clone https://github.com/thchilly/rsd.git
cd rsd
pip install -e ".[dev]"
pre-commit install

The [dev] extra pulls in pytest, pytest-cov, [xarray], and [diagnostics] so you can run the full test suite and the formatting hooks locally before pushing.

Requirements

Component Minimum version
Python 3.10
NumPy 1.24
SciPy 1.10
xarray (extra) 2023.1
dask (extra) 2023.1
matplotlib (extra) 3.7

rsd follows semantic versioning; breaking changes will only land on a major-version bump.