CoolFace
Datasetpublic

juliensimon/gcvs-variable-stars

General Catalogue of Variable Stars (GCVS) Credit: NASA/ESA/Hubble Part of a dataset collection on Hugging Face. Dataset description The General Catalogue of Variable Stars (GCVS) is the canonical reference catalog of variable stars, maintained since 1948 by the Sternberg Astronomical Institute at Moscow State University. Variable stars are stars whose brightness changes over time, either due to intrinsic physical processes (pulsation, eruption, rotation)… See the full description on the dataset page: https://huggingface.co/datasets/juliensimon/gcvs-variable-stars.

sourceHugging Facecc-by-4.0updated 5d agoView on Hugging Face
0likes67downloads
Dataset Card

General Catalogue of Variable Stars (GCVS)

<div align="center"> <img src="banner.jpg" alt="The Crab Nebula, a supernova remnant" width="400"> <p><em>Credit: NASA/ESA/Hubble</em></p> </div>

Part of a [dataset collection](https://huggingface.co/collections/juliensimon/astronomy-datasets-69c24caf2f17e36128946743) on Hugging Face.

Dataset description

The General Catalogue of Variable Stars (GCVS) is the canonical reference catalog of variable stars, maintained since 1948 by the Sternberg Astronomical Institute at Moscow State University.

Variable stars are stars whose brightness changes over time, either due to intrinsic physical processes (pulsation, eruption, rotation) or extrinsic geometry (eclipsing binaries). The GCVS is the internationally recognized authority for variable star designations and classifications. It has been compiled and updated for over 75 years, serving as the foundation for stellar variability research.

The catalog spans an extraordinary range of stellar physics. Mira variables (type M) are asymptotic giant branch stars with periods of hundreds of days and visual amplitudes exceeding 2.5 magnitudes, driven by radial pulsations in their extended hydrogen envelopes. Semi-regular variables (SR) occupy a similar evolutionary stage but pulsate with smaller amplitudes and less predictable cycles. Eclipsing binaries (EA, EB, EW) are not intrinsically variable at all -- their brightness changes arise purely from orbital geometry as one star transits the disk of its companion. At the other extreme, eruptive variables like UV Ceti flare stars and FU Orionis objects undergo sudden, dramatic outbursts linked to magnetic reconnection events or disk accretion instabilities.

Among the most scientifically important classes are the pulsating variables used as standard candles: classical Cepheids (DCEP), whose period-luminosity relation underpins the extragalactic distance ladder, and RR Lyrae stars (RR), horizontal-branch pulsators that trace the old stellar populations of the Galactic halo and globular clusters.

Because the GCVS draws on over a century of photometric monitoring, it captures variability on timescales inaccessible to modern surveys that have operated for only a few years. Many entries include epochs of maximum light stretching back to the early twentieth century, enabling studies of period changes, evolutionary effects, and long-term amplitude modulation that would be impossible from any single contemporary survey alone.

This dataset is suitable for tabular classification tasks.

Schema

ColumnTypeDescriptionSampleNull %
gcvs_namestrGCVS official designation — Greek letter + constellation for bright variables (e.g. 'R And', 'delta Cep'), or V+number for fainter ones (e.g. 'V1500 Cyg'); IAU-recognized identifierAA And0.0%
ra_degfloat64Right ascension, ICRS J2000.0, in decimal degrees (0-360)346.34516666666660.3%
dec_degfloat64Declination, ICRS J2000.0, in decimal degrees (-90 to +90)47.676305555555550.3%
variable_typestrGCVS variability type code; common values: DCEP (classical Cepheid, period-luminosity standard candle), RR (RR Lyrae, old metal-poor horizontal-branch pulsator), M (Mira, AGB long-period pulsator), SR (semi-regular), EA/EB/EW (eclipsing binaries), UV (UV Ceti/flare star), N (nova), SN (supernova); ~100 distinct typesEB1.4%
magnitude_maxfloat64Brightness at maximum light in V-band (mag); lower value = brighter star; null for a small number of entries10.30.4%
magnitude_min_flagstrQualifier on magnitude_min: '(' means value is amplitude (mag range) rather than absolute minimum magnitude; blank otherwise<83.4%
magnitude_minfloat64Brightness at minimum light in V-band (mag); for eclipsing binaries this is the primary minimum; amplitude = magnitudemin - magnitudemax; null for irregular variables with poorly defined minima11.20.8%
period_daysfloat64Pulsation or orbital period in days; null for irregular variables (type L, I), single-event novae, and eruptive stars with no recurring period0.935096934.2%
epoch_jdfloat64Julian Date of the light curve reference point — epoch of maximum light for pulsators, epoch of primary minimum for eclipsing binaries; null when no reliable epoch has been established52500.7346.1%
spectral_typestrMK spectral type at the phase of maximum light; null for ~40% of entries where spectral classification is unavailableB8V75.2%

Quick stats

  • —60,894 variable stars
  • —544 variability types
  • —40,096 with known period
  • —15,116 with spectral type
  • —Top types: M (7,920), RRAB (7,590), EA (4,113), EW (3,616), LB (2,800)

Usage

python
from datasets import load_dataset

ds = load_dataset("juliensimon/gcvs-variable-stars", split="train")
df = ds.to_pandas()
python
from datasets import load_dataset

ds = load_dataset("juliensimon/gcvs-variable-stars", split="train")
df = ds.to_pandas()

# Cepheid variables (standard candles for distance measurement)
cepheids = df[df["variable_type"].str.startswith("DCEP", na=False)]
print(f"{len(cepheids):,} classical Cepheids")

# Eclipsing binaries
eclipsing = df[df["variable_type"].str.startswith("E", na=False)]
print(f"{len(eclipsing):,} eclipsing binaries")

# Period-luminosity distribution
import matplotlib.pyplot as plt
valid = df.dropna(subset=["period_days", "magnitude_max"])
valid = valid[valid["period_days"] > 0]
plt.scatter(valid["period_days"], valid["magnitude_max"], s=0.5, alpha=0.3)
plt.xscale("log")
plt.gca().invert_yaxis()
plt.xlabel("Period (days)")
plt.ylabel("Magnitude (max brightness)")
plt.title("GCVS Period vs Magnitude")
plt.show()

Data source

https://www.sai.msu.su/gcvs/gcvs/

Related datasets

If you find this dataset useful, please consider giving it a like on Hugging Face. It helps others discover it.

About the author

Created by Julien Simon — AI Operating Partner at Fortino Capital. Part of the Space Datasets collection.

Citation

bibtex
@dataset{gcvs_variable_stars,
  title = {General Catalogue of Variable Stars (GCVS)},
  author = {Simon, Julien},
  year = {2026},
  url = {https://huggingface.co/datasets/juliensimon/gcvs-variable-stars},
  publisher = {Hugging Face},
  note = {Derived from Sternberg Astronomical Institute, Moscow State University, https://www.sai.msu.su/gcvs/gcvs/}
}

License

CC-BY-4.0