Skyfield

Latest version: v1.49

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

Scan your dependencies

Page 5 of 10

1.26

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

* The official ∆T files on NASA’s FTP server have stopped receiving
updates — they have no new data beyond February, the start of the
global pandemic. Unless they are updated by next February, older
versions of Skyfield will unfortunately download the files all over
again every time :meth:`~skyfield.iokit.Loader.timescale()` is called
(unless the ``builtin=True`` parameter is provided). To make Skyfield
less fragile going forward:

1. The loader’s :meth:`~skyfield.iokit.Loader.timescale()` method now
defaults to ``builtin=True``, telling it to use the ∆T and leap
second files that ship with Skyfield internally. To download new
∆T files from NASA and the leap second file from the International
Earth Rotation Service, specify ``builtin=False``.

2. The concept of an “expired” file has been removed from ``load()``.
Skyfield is now much simpler: if a file with the correct name
exists, Skyfield uses it. See :ref:`downloading-timescale-files`
if you still want your application to check the age of your
timescale files and automatically download new ones.

* The `ICRF.separation_from()` method now officially supports the
combination of an array of positions with a single reference position!
Its previous support for that combination was, alas, accidental, and
was broken with the 1.23 release.
`414 <https://github.com/skyfielders/python-skyfield/issues/414>`_
`424 <https://github.com/skyfielders/python-skyfield/issues/424>`_

* A prototype :func:`~skyfield.magnitudelib.planetary_magnitude()`
routine has been added with support for several planets.
`210 <https://github.com/skyfielders/python-skyfield/issues/210>`_

* The ``utc`` timezone that Skyfield returns in Python datetimes is now
either the Python Standard Library’s own UTC object, if it supplies
one, or else is defined by Skyfield itself. Skyfield no longer
silently tries importing the whole ``pytz`` package merely to use its
UTC object — which also means that the timezone returned by Skyfield
longer offers the non-standard ``localize()`` method.
`413 <https://github.com/skyfielders/python-skyfield/issues/413>`_

1.25

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

* Added :func:`~skyfield.data.stellarium.parse_constellations()`
and :func:`~skyfield.data.stellarium.parse_star_names()`
to load Stellarium star names and constellation lines.
Constellation lines are featured in a new example script
:ref:`neowise-chart` that produces a finder chart
for comet C/2020 F3 NEOWISE.

* The Hipparcos star catalog should now load faster, having switched
behind the scenes to a higher performance Pandas import routine.

* Fixed the ability of :meth:`~skyfield.timelib.Timescale.utc()` to
accept a Python ``datetime.date`` object as its argument.
`409 <https://github.com/skyfielders/python-skyfield/issues/409>`_

* Slightly lowered the precision of two tests when they detect that
Python is compiled for a 32-bit processor, so the test suite can
succeed when contributors package Skyfield for 32-bit Linux.
`411 <https://github.com/skyfielders/python-skyfield/issues/411>`_

1.24

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

* Added methods :meth:`~skyfield.timelib.Timescale.from_datetime()` and
:meth:`~skyfield.timelib.Timescale.from_datetimes()` to the
:class:`~skyfield.timelib.Timescale` class, to better advertise the
ability to build a Skyfield time from a Python ``datetime`` — an ability
that was previously overloaded into the ``year`` parameter of the
:meth:`~skyfield.timelib.Timescale.utc()` method (where it is still
supported for backwards compatibility, but no longer documented).

* Fix: improved the accuracy with which velocity is converted between
the Earth-fixed ITRF frame that rotates with the Earth and the
inertial GCRS frame that does not. In particular, this should make
Earth satellite velocities more accurate.

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>`_

Page 5 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.