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.
fromskyfield.apiimportloadplanets=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.