Changelog
v0.4.0 (2026-03-02)
Features
Multi-instrument RV fitting: separate gamma offset and jitter per instrument
AIC replaced with AICc (small-sample correction)
Automated LaTeX parameter labels on all plots (corner, chains, autocorrelation, phase)
param_key_to_latex()andparam_key_to_unit()public utilities for custom tables and plotsError handling for legacy single-instrument parameters
Performance
Numba JIT-compiled Kepler solver
Vectorised log-likelihood with precomputed constants and integer index arrays
Precomputed velerr squared, log(2*pi), and parameter key strings in LogLikelihood
Fixes
Consistent zorder in Fitter/GPFitter plots
Fall back to absolute perturbation when generating random walker init positions if value=0
Tests
GPFitter tests added
Multi-instrument test cases
Warnings if all params fixed
Coverage tests ensuring new parameterisations/kernels have label and unit entries
Docs
Restructured RTD sidebar with captioned sections (Tutorials, API, Project)
Fixed LaTeX rendering in all docstrings (prior.py, fit.py, model.py)
Fixed equation rendering in GP tutorial notebook
Updated all example notebooks for multi-instrument support
Synced docs/requirements.txt with pyproject.toml
Build
Added numba dependency
Updated numpy and other dependencies
Updated Poetry
v0.3.0 (2026-01-03)
Added full Gaussian Process (GP) functionality to handle stellar activity in RV fitting
New GP classes: GPKernel, GPLogLikelihood, GPLogPosterior, and GPFitter for GP-based MCMC fitting
New GP kernel: quasiperiodic
New priors: Rayleigh and VanEylen19Mixture (for eccentricity)
Multiple MCMC initialisation methods: random within priors, point estimates, MAP ball
Autocorrelation convergence checking for MCMC
Custom RV calculation methods for arbitrary parameter values
AIC/BIC/chi-squared model comparison metrics
Improved plotting: posterior RV and phase plots with median/MAP parameters, truth value overplotting
Comprehensive parameter validation that converts to default parameterisation
Better type hints throughout codebase
Faster parameter validation, also now supporting arrays
Progress bars on computationally heavy plotting
Custom plot titles and axis labels on most plots
Chain plots dynamically scale based on dimensionality
New tutorial notebook showing GP usage with K2-229 HARPS data
Updated README reflecting GP now available in the package
Tests for all new GP classes and RV calculation methods
Additional parameter and prior validation tests
Multiprocessing re-enabled for MCMC
Enhanced ruff configuration with pydocstyle and flake8-annotations
Updated nbstripout config and sphinx config to preserve outputs on computationally heavy notebooks
Suppressed non-interactive backend warnings in pytest
Updated dependencies: main changes are numpy to >=2, JAX to >=0.8.2, harmonic>=1.3.1
Updated dev dependencies
v0.2.5 (2025-08-29)
Fitter params and priors handling refactored,
add_paramsandadd_priorsmethods removed, getters (for validation) now act on attributes directlyAdded Beta distribution prior (and already refactored it too)
Replaced BoundedNormal prior with TruncatedNormal prior (that now integrates correctly)
Added HalfNormal prior
EccentricityUniform prior (renamed EccentricityPrior) now half-open interval rather than closed (inclusive) bounds
Uniform prior raises exception if bounds are not finite
Add prior parameterisation flexibility - you can sample in a transformed parameterisation (e.g. in secosw sesinw) but have priors on the default e and w instead
RV posterior phase plot now works for single planets
v0.2.4 (2025-08-11)
Add discard_start and discard_end arguments to samples, allowing user to focus on specific part of chain
Add plot_lnprob method to easily inspect the log-probability at each step in the chain
v0.2.3 (2025-08-07)
Significant performance increase by ensuring contiguous arrays in RV data
Replaced scipy Newton-Raphson/Halley with a vectorised Halley method that is a bit faster
Split MAP and MCMC functions (so that users can choose their own initial positions)
MCMC sampler and lbpron wrapped in more friendly and consistent wrapper functions
Refactor parameter validation - now done in one place immediately upon generation (no more sqrt warnings!)
More consistent pytests for parameter validation
Free/fixed param getters now use properties
performance increase in calculating eccentric anomaly (reverting a previous debugging step accidentally left in)
performance increase in parameter conversion, sqrt(e) now just calculated once and re-used
Fix runtime warning in MAP by converting inf to 1e30 (scipy doesn’t like inf)
Optimise log-likelihood by changing equation to one total sum rather than adding two sums
Added more tests to try and increase coverage
Update to dependencies (primarily adding JAX and harmonic as requirements)
various backend build improvements (poetry 2, pre-commit hooks, updaitng rtd)
v0.2.2 (2025-02-07)
Refactor of constant/linear/quadratic Trend into separate object
Trend now can have any reference time t0
Refactor of parameterisation code to be clearer (both in UX and in code)
Add checks when using non-default parameterisation that you have passed the correct parameters
Add checks that initial parameters are within the prior functions
Add EccentricityPrior as useful helper fn for the user
Add BoundedNormal prior
Add mpsini calculation
Add fns to get samples and posterior params from Fitter - much clearer UX than before
Fix various typos and minor bugs in plotting functions
v0.2.1 (2024-06-20)
Added support for different parameterisations to Planet model
Model now converts parameterisations automatically for you
Added support for velocity constant offset, linear and quadratic Trends
MAP and MCMC model fitting now works
Added normal and uniform priors for MCMC parameters
Added chain plots and corner plots for results of MCMC
Example notebook on fitting a model to some data
v0.2.0 (2024-03-08)
Added example notebook of modelling a system
Complete sweep through most method docstrings
Behind-the-scenes improvements to build and documentation processes
v0.1.0 (2024-03-04)
First release of
ravest!