skyfielders/python-skyfield

Elegant astronomy for Python

Python

1,784

2,430 commits

updated Sep 29, 2026

See the code

README


====================================
 Welcome to the Skyfield Repository
====================================

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.

.. code-block:: python

   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
  <http://rhodesmill.org/skyfield>`_.

* `Installing Skyfield
  <http://rhodesmill.org/skyfield/installation.html>`_.

* `Contributing to Skyfield
  <https://github.com/skyfielders/python-skyfield/blob/master/Contrib.rst>`_.

* `Skyfield package <https://pypi.python.org/pypi/skyfield>`_
  on the Python Package Index.

* `Issue tracker
  <https://github.com/brandon-rhodes/python-skyfield/issues>`_
  on GitHub.

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

skyfielders/python-skyfield

Elegant astronomy for Python

Python

1,784

2,430 commits

updated Sep 29, 2026

See the code

README


====================================
 Welcome to the Skyfield Repository
====================================

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.

.. code-block:: python

   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
  <http://rhodesmill.org/skyfield>`_.

* `Installing Skyfield
  <http://rhodesmill.org/skyfield/installation.html>`_.

* `Contributing to Skyfield
  <https://github.com/skyfielders/python-skyfield/blob/master/Contrib.rst>`_.

* `Skyfield package <https://pypi.python.org/pypi/skyfield>`_
  on the Python Package Index.

* `Issue tracker
  <https://github.com/brandon-rhodes/python-skyfield/issues>`_
  on GitHub.

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Project health

Overall

3.9/10

Maintained

10/10

Code review

1/10
OpenSSF Scorecard

Significant stargazers

Calvin Hamilton

55 followers · starred May 2021

Michael Fogleman

5,731 followers · starred Apr 2015

Andy Li

412 followers · starred Aug 2013

Emma Smith

476 followers · starred Dec 2023