Skyfield is a pure-Python astronomy package that is compatible with both Python 2 and 3 and makes it easy to generate high precision research-grade positions for planets and Earth satellites.
from skyfield.api import load planets = load('de421.bsp') earth, mars = planets['earth'], planets['mars'] ts = load.timescale() t = ts.now() position = earth.at(t).observe(mars) ra, dec, distance = position.radec() print(ra) print(dec) print(distance)
The result:
10h 47m 56.24s +09deg 03' 23.1" 2.33251 au
Skyfield’s only binary dependency is NumPy. Once that is available, Skyfield can usually be installed with:
pip install skyfield
Here are the essential project links:
- Home page and documentation.
- Installing Skyfield.
- Contributing to Skyfield.
- Skyfield package on the Python Package Index.
- Issue tracker on GitHub.