varistar manages and analyzes timeseries and lightcurve photometry for variable stars, coming from multiple survey sources (OGLE, TESS, Gaia DR3, or your own CSV/arrays).
pip install varistar
# or
uv add varistar
Every workflow starts the same way: load photometry into a TimeSeries, wrap it in a LightCurve, and let find_best_period + plot_best do the heavy lifting.
from varistar import TimeSeries, LightCurve
# Using synthetic data here so this page runs standalone --
# see "Loading Data" for real survey files.
from _synthetic import make_sinusoidal_lightcurve
ts = TimeSeries(magnitude="mag I", time_scale="HJD")
ts.load_data_from_df(make_sinusoidal_lightcurve(), data_id="synthetic_001")
lc = LightCurve(ts)
lc.find_best_period()
lc.plot_best()
.dat, TESS, Gaia DR3, and plain CSV/arrays.TestGroup for many stars at once.