Skyfield Data

raw JSON →
7.0.0 verified Fri May 01 auth: no python

A data package for the Skyfield astronomy library, providing essential ephemeris files (e.g., de421.bsp) and Earth orientation data (finals2000A.all) that automatically expire and can be refreshed. Current version 7.0.0 requires Python >=2.6, !=3.0-3.7; supports Python 3.11, 3.12. Releases are irregular, driven by data file updates.

pip install skyfield-data
error ModuleNotFoundError: No module named 'skyfield_data'
cause Package not installed or imported incorrectly.
fix
Run 'pip install skyfield-data' and use 'from skyfield_data import get_skyfield_data_path'
error UserWarning: The file ... has expired
cause Data file is older than its expiration date.
fix
Run the download script: 'python -m skyfield_data.download' or pass expire=True to get_skyfield_data_path()
breaking Version 3.0.0 switched from using deltat.data/deltat.preds to finals2000A.all for timescale computations. Existing code using old file paths will break.
fix Ensure your Skyfield timescale initialization does not rely on deltat files; upgrade skyfield-data to 3.0.0+ and let Skyfield use the IERS data automatically.
deprecated Version 2.0.0 removed deltat.data and deltat.preds files; Skyfield 1.31+ no longer uses them. Code that accesses these files directly will fail after upgrade.
fix Remove any manual loading of deltat files; upgrade to skyfield>=1.31 and skyfield-data>=2.0.0.
gotcha Data files have expiration dates. If a file is expired, get_skyfield_data_path() will raise a UserWarning. Code that uses the path without checking may silently use stale data.
fix Call get_skyfield_data_path() with expire=True to force a refresh, or catch the warning and re-download using the included download script.
gotcha The included de421.bsp is a simplified ephemeris; for high-precision work, you must download a larger JPL ephemeris separately (e.g., de430.bsp).
fix Use load_data('de430.bsp') after downloading the file manually, or point the loader to a custom directory.

This snippet imports Skyfield's loader and the data path from skyfield-data, then loads the included de421.bsp file.

from skyfield.api import load
from skyfield_data import get_skyfield_data_path

# Use the data path provided by skyfield-data
load_data = load(get_skyfield_data_path())
# Load an ephemeris (de421.bsp is included)
planets = load_data('de421.bsp')
print('Ephemeris loaded successfully')