Skyfield

Latest version: v1.52

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

Scan your dependencies

Page 4 of 11

1.35

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

* Deprecated the old ``Topos`` class,
which not only featured a clunky interface
but hid from users the fact that Skyfield was generating IERS2010 positions
from latitude and longitude
when in fact nearly all users want WGS84 positions.
Users are now encouraged to supply latitude and longitude
to the :meth:`~skyfield.toposlib.Geoid.latlon()` method
of either the :data:`~skyfield.toposlib.wgs84` object
or the :data:`~skyfield.toposlib.iers2010` object.
Related discussion:
`372 <https://github.com/skyfielders/python-skyfield/issues/372>`_

* The two new geoid objects :data:`~skyfield.toposlib.wgs84`
and :data:`~skyfield.toposlib.iers2010`
have also provided a happy new home
for the :meth:`~skyfield.toposlib.Geoid.subpoint()` method —
which was previously stranded
over on the :class:`~skyfield.positionlib.Geocentric` class,
where it couldn’t be used with positions of other classes
that might be centered at the geocenter.
(The old method will remain in place to support legacy code,
but is discouraged in new applications.)

* The effects of :ref:`polar-motion` — if configured — are now included
both when computing the position in space of an Earth latitude and longitude,
and when determining the latitude and longitude beneath a celestial position.

* Added :func:`~skyfield.api.load_constellation_names()`.

* The :meth:`~skyfield.timelib.Time.utc_jpl()` method now correctly
designates its return value as ``UTC`` instead of the ambiguious ``UT``.
`515 <https://github.com/skyfielders/python-skyfield/issues/515>`_

1.34

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

* The position classes have gained methods
:func:`~skyfield.positionlib.ICRF.frame_xyz()`,
:func:`~skyfield.positionlib.ICRF.frame_xyz_and_velocity()`,
:func:`~skyfield.positionlib.ICRF.frame_latlon()`, and
:func:`~skyfield.positionlib.ICRF.from_time_and_frame_vectors()`
that work with a new library ``skyfield.framelib``
to offer a number of familiar reference frames.
These replace the existing ad-hoc position methods
for ecliptic and galactic coordinates,
which are now deprecated (but will continue to be supported).
See :ref:`reference_frames`.
`476 <https://github.com/skyfielders/python-skyfield/issues/476>`_

* Added an official :class:`~skyfield.framelib.itrs` reference frame.

* Added support for IERS :ref:`polar-motion` 𝑥 and 𝑦.

* Added a method :meth:`~skyfield.toposlib.GeographicPosition.lst_hours_at()`
that computes Local Sidereal Time.

* A new almanac routine :func:`~skyfield.almanac.moon_phase()` returns
the Moon phase as an angle where 0° is New Moon, 90° is First Quarter,
180° is Full, and 270° is Last Quarter.
`282 <https://github.com/skyfielders/python-skyfield/issues/282>`_

* Almanac search routines that previously returned a Boolean true/false
array now return an integer 0/1 array instead, to work around a new
deprecation warning in NumPy which, for example, would have outlawed
using the Boolean array from :func:`~skyfield.almanac.moon_nodes()` to
index into the ``MOON_NODES`` list that provides a name for each node.
`486 <https://github.com/skyfielders/python-skyfield/issues/486>`_

* The undocumented columns ``magnitude_H`` and ``magnitude_G`` in the
Minor Planet Center comets dataframe have been renamed ``magnitude_g``
and ``magnitude_k`` following further research on the file format
(which does not itself document which magnitude model is intended).
`416 <https://github.com/skyfielders/python-skyfield/issues/416>`_

1.33

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

* Fix: running ``load.timescale(builtin=False)`` was raising an
exception ``FileNotFoundError`` if the ``finals2000A.all`` file was
not already on disk, instead of downloading the file automatically.
`477 <https://github.com/skyfielders/python-skyfield/issues/477>`_

1.32

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

* A new :func:`~skyfield.eclipselib.lunar_eclipses()` routine finds
lunar eclipses and determines their degree of totality.
`445 <https://github.com/skyfielders/python-skyfield/issues/445>`_

* The almanac module’s new :func:`~skyfield.almanac.meridian_transits()`
routine can find the moments at which a body transits the meridian and
antimeridian.
`460 <https://github.com/skyfielders/python-skyfield/issues/460>`_

* Fix: the :func:`~skyfield.searchlib.find_minima()` function was
ignoring its ``epsilon`` and ``num`` arguments and always using the
default values instead.
`475 <https://github.com/skyfielders/python-skyfield/pull/475>`_

* Fix: the ``.epoch`` attribute of Earth satellite objects that were
built using :meth:`~skyfield.sgp4lib.EarthSatellite.from_satrec()`
was, alas, a half-day off.
`466 <https://github.com/skyfielders/python-skyfield/issues/466>`_

* Fix: the ``Topos`` constructor arguments ``x`` and ``y``,
which never worked properly anyway,
have been deprecated and are now ignored.

1.31

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

* Skyfield now uses the International Earth Rotation Service (IERS) file
``finals2000A.all`` for updated ∆T and leap seconds. The USNO is no
longer updating the files ``deltat.data`` and ``deltat.preds`` that
previous versions of Skyfield used, and the ``cddis.nasa.gov`` server
from which they were fetched will discontinue anonymous FTP on 2020
October 31. See `downloading-timescale-files`.
`452 <https://github.com/skyfielders/python-skyfield/issues/452>`_
`464 <https://github.com/skyfielders/python-skyfield/issues/464>`_

* The comets dataframe built from the MPC file ``CometEls.txt`` now
includes the ``reference`` column, so users can tell which orbit is
most recent if there are several orbits for a single comet. (For
example, the file currently lists two C/2020 F3 (NEOWISE) orbits.)
The comet examples in the documentation now build a dataframe that
only includes the most recent orbit for each comet.
`463 <https://github.com/skyfielders/python-skyfield/issues/463>`_

* Two new methods :meth:`~skyfield.iokit.Loader.days_old()` and
:meth:`~skyfield.iokit.Loader.download()` make it simple to download a
fresh copy of a file if the copy on disk is older than you would like.

1.30

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

* The various ``strftime()`` Skyfield methods now support the ``%j``
day-of-year format code.

* Fix: the new Julian calendar support broke support for out-of-range
month numbers, wrapping them into the current year instead of letting
them overflow into subsequent years.
`461 <https://github.com/skyfielders/python-skyfield/issues/461>`_

* Fix: a stray debugging ``print()`` statement was stranded in ``t.dut1``.
`455 <https://github.com/skyfielders/python-skyfield/issues/455>`_

* The :class:`~skyfield.timelib.Time` object, if manually instantiated
without a Julian date fraction, now provides a fraction array with
dimensions that match the Julian date argument.
`458 <https://github.com/skyfielders/python-skyfield/issues/458>`_

Page 4 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.