Skyfield

Latest version: v1.52

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 11

1.23

------------------

* Added :doc:`kepler-orbits` support
for generating the positions of comets and asteroids
from Minor Planet Center data files.

* Added :func:`~skyfield.positionlib.ICRF.is_behind_earth()` to
determine whether a celestial object is blocked from an Earth
satellite’s view by the Earth itself.

* Replaced the awkward and hard-to-explain ``rough_period`` search
parameter with the conceptually simpler ``step_days`` parameter, and
updated the instructions in :doc:`searches` to match.

* Made the :meth:`~skyfield.iokit.Loader.tle_file()` import method less
strict about Earth satellite names: any text on the line before two
lines of TLE data is now saved as the satellite name. A parameter
``skip_names=True`` turns this off if, for particular TLE files, this
leads to unwanted text being saved.

1.22

-----------------

* Skyfield’s improved time precision (stored internally as two floats)
is now used in computing ephemeris positions, Earth orientation, and
light-travel time, producing position angles which change much more
smoothly over time on a sub-milliarcsecond scale.

* :doc:`searches` is now documented for custom events that users define
themselves, instead of only being documented for the official
pre-written :doc:`almanac` functions. Not only discrete events but
also maxima and minima are now officially supported and documented,
thanks to a rewrite of the underlying code.

* Time objects no longer cache the nutation and precession matrices,
since they are never used again after being multiplied together to
create the equinox-of-date rotation matrix. This should save 144
bytes for each time in a :class:`~skyfield.timelib.Time` array.

* It is now possible to :ref:`from-satrec` thanks to a new Earth
satellite constructor method.
`384 <https://github.com/skyfielders/python-skyfield/issues/384>`_

* Added :meth:`~skyfield.iokit.Loader.build_url()` that returns the URL
from which Skyfield will download a file.
`382 <https://github.com/skyfielders/python-skyfield/issues/382>`_

* Added :meth:`~skyfield.jpllib.SpiceKernel.close()` to support
applications that need to do fine-grained resource management or whose
testing framework check for dangling open files.
`374 <https://github.com/skyfielders/python-skyfield/issues/374>`_

* Skyfield’s dependency list now asks for “jplephem” version 2.13 or
later. Skyfield 1.21, alas, could incur a ``Module not found`` error
when importing ``jplephem.exceptions`` if a user had an old “jplephem”
version already installed.
`386 <https://github.com/skyfielders/python-skyfield/issues/386>`_

1.21

------------------

* Added :func:`~skyfield.positionlib.ICRF.is_sunlit()` to determine
whether Earth satellites in orbit are in Earth’s shadow or not, thanks
to a pull request from Jesse Coffey.

* Added :func:`~skyfield.positionlib.position_of_radec()`
to replace the poorly designed ``position_from_radec()``.

* Skyfield :class:`~skyfield.timelib.Time` objects now have microsecond
internal accuracy, so round trips to and from Python datetimes should
now preserve all the microsecond digits.

* The :meth:`~skyfield.timelib.Time.utc_strftime()` method now rounds to
the nearest minute or second if it sees that either minutes or seconds
are the smallest unit of time in the format string.

* The 6 numbers in the sequence ``t.utc`` can now be accessed by the
attribute names ``year``, ``month``, ``day``, ``hour``, ``minute``,
and ``second``.

* Nutation routines should now be faster and have a smaller memory
footprint, thanks to a rewrite that uses more optimized NumPy calls.
`373 <https://github.com/skyfielders/python-skyfield/issues/373>`_

* Thanks to Jérôme Deuchnord, the exception raised when asking for a
position out-of-range of a JPL ephemeris now shows the calendar dates
for which the ephemeris is valid and carries several useful attributes.
`356 <https://github.com/skyfielders/python-skyfield/pull/356>`_

1.20

--------------------

* Erik Tollerud contributed a fix for a deprecation warning about SSL
from the most recent versions of Python (“cafile, cpath and cadefault
are deprecated, use a custom context instead”). The file download
routine now auto-detects which mechanism your Python supports.
`363 <https://github.com/skyfielders/python-skyfield/pull/363>`_

* Added an ``elevation_m`` argument to
:meth:`~skyfield.planetarylib.PlanetaryConstants.build_latlon_degrees()`.

1.19

--------------------

* To hopefully fix the ``SSL: CERTIFICATE_VERIFY_FAILED`` errors that
some users encounter when downloading timescale files, Skyfield has
taken the risk of switching away from your system’s SSL certificates
to the certificate bundle from the ``certifi`` package.
`317 <https://github.com/skyfielders/python-skyfield/issues/317>`_

* Added a new almanac routine for finding :ref:`lunar-nodes`.
`361 <https://github.com/skyfielders/python-skyfield/issues/361>`_

* Gave geographic location objects a new ``itrf_xyz()``
method that returns their raw ITRF coordinates.
`354 <https://github.com/skyfielders/python-skyfield/issues/354>`_

* Fixed the sign of the velocity vector when two vectors are directly
geometrically subtracted.
`355 <https://github.com/skyfielders/python-skyfield/issues/355>`_

1.18

--------------------

* Deprecated the old hybrid-key satellite dictionary returned by
``load.tle()`` in favor of a simple list returned by the new
:meth:`~skyfield.iokit.Loader.tle_file()` routine.
`345 <https://github.com/skyfielders/python-skyfield/issues/345>`_

* The almanac :func:`~skyfield.searchlib.find_discrete()` routine no
longer returns extraneous values in its second return value if no
changes of state were found.
`339 <https://github.com/skyfielders/python-skyfield/issues/339>`_
`351 <https://github.com/skyfielders/python-skyfield/issues/351>`_

* Added documentation and support for computing lunar libration.
`80 <https://github.com/skyfielders/python-skyfield/issues/80>`_

Page 6 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.