------------------------------------------------------------------- Sun Feb 28 22:58:26 UTC 2021 - Ben Greiner - Fix boo#1182424: Use https url of the Hipparcos catalog ------------------------------------------------------------------- Fri Jan 1 23:53:33 UTC 2021 - Benjamin Greiner - Update to 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 * 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 - Refreshed finals2000A.all ------------------------------------------------------------------- Tue Dec 15 17:59:15 UTC 2020 - Benjamin Greiner - Update to v1.34 * The position classes have gained methods frame_xyz(), frame_xyz_and_velocity(), frame_latlon(), and 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 Coordinates in other reference frames. * Added support for IERS Polar Motion 𝑥 and 𝑦. * Added a method lst_hours_at() that computes Local Sidereal Time. * A new almanac routine 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 * 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 moon_nodes() to index into the MOON_NODES list that provides a name for each node. #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 - add finals2000A.all to testdata ------------------------------------------------------------------- Wed Dec 9 23:09:45 UTC 2020 - Benjamin Greiner - Define skip_python36 for TW, because current astropy needs Python >=3.7 ------------------------------------------------------------------- Fri Nov 20 23:03:34 UTC 2020 - Benjamin Greiner - Update to v1.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 `_ - v1.32 * A new :func:`~skyfield.eclipselib.lunar_eclipses()` routine finds lunar eclipses and determines their degree of totality. `#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 `_ * Fix: the :func:`~skyfield.searchlib.find_minima()` function was ignoring its ``epsilon`` and ``num`` arguments and always using the default values instead. `#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 `_ * Fix: the :class:`~skyfield.toposlib.Topos` constructor arguments ``x`` and ``y``, which never worked properly, have been deprecated and are now ignored. 1.31 — 2020 October 24 ---------------------- * 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 `_ `#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 `_ * 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 — 2020 October 11 ---------------------- * 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 `_ * Fix: a stray debugging ``print()`` statement was stranded in ``t.dut1``. `#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 `_ ------------------------------------------------------------------- Sat Sep 26 08:13:08 UTC 2020 - Benjamin Greiner - Update to version 1.29 * Fix: the new Julian calendar feature was raising an exception in the calendar methods like `skyfield.timelib.Time.tt_calendar()` if the time object was in fact an array of times. #450 * Fix: trying to iterate over a time object would raise an exception if the time was created through `~skyfield.timelib.Timescale.ut1()`. - Version 1.28 * Broken URL: Because the VizieR archive apparently decided to uncompress their copy of the hip_main.dat.gz Hipparcos catalog file, the old URL now returns a 404 error. As an emergency fix, this version of Skyfield switches to their uncompressed hip_main.dat. Hopefully they don’t compress it again and break the new URL! A more permanent solution is discussed at: #454 * To unblock this release, removed a few deprecated pre-1.0 experiments from April 2015 in skyfield.hipparcos and skyfield.named_stars that broke because the Hipparcos catalog is no longer compressed; hopefully no one was using them. * In a sweeping internal change, the `~skyfield.timelib.Timescale` and `~skyfield.timelib.Time` objects now offer support for the Julian calendar that’s used by historians for dates preceding the adoption of the Gregorian calendar in 1582. See choice of calendars if you want to turn on Julian dates in your application. #450 ------------------------------------------------------------------- Wed Sep 16 09:53:08 UTC 2020 - Benjamin Greiner - Update to version 1.27 * The printed appearance of both vectors and of vector functions like Earth locations and Earth satellites have been rewritten to be more informative and consistent. * Added compute_calendar_date() which lets the caller choose the Julian calendar for ancient dates instead of always using the proleptic Gregorian calendar. This should be particularly useful for historians. * Added J() that builds a time array from an array of floating point years. #436 * Added four new strftime methods for the non-UTC timescales (#443). All four of them support %f for microseconds, and provide a reasonable default format string for callers who don’t wish to concoct their own: tai_strftime() tt_strftime() tdb_strftime() ut1_strftime() * Thanks to several fixes, comets and asteroids with parabolic and hyperbolic orbits should now raise fewer errors. * The prototype planetary_magnitude() can now return magnitudes for Uranus without raising an exception. The routine does not yet take into account whether the observer is facing the equator or poles of Uranus, so the magnitude predicted for the planet will only be accurate to within about 0.1 magnitudes. ------------------------------------------------------------------- Thu Aug 6 14:20:08 UTC 2020 - Benjamin Greiner - Update assay to commit 256.23c18c2 in order to fix non x86 builds ------------------------------------------------------------------- Sun Aug 2 11:51:04 UTC 2020 - Benjamin Greiner - Update to version 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 `skyfield.iokit.Loader.timescale()` is called (unless the ``builtin=True`` parameter is provided). To make Skyfield less fragile going forward: 1. The loader’s `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 `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 ` `#424 ` * A prototype `skyfield.magnitudelib.planetary_magnitude()` routine has been added with support for several planets. `#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 ` - make builds reproducible gh#skyfielders/python-skyfield#415 ------------------------------------------------------------------- Sat Jul 25 11:43:28 UTC 2020 - Benjamin Greiner - Update to version 1.25 * Added skyfield.data.stellarium.parse_constellations() and skyfield.data.stellarium.parse_star_names() to load Stellarium star names and constellation lines. Constellation lines are featured in a new example script 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 skyfield.timelib.Timescale.utc() to accept a Python datetime.date object as its argument. #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 - use upstreams custom test runner 'assay' * The runner does not have any releases yet. No package available, so use assay-master-252.79f5d78.tar.gz directly * drop skyfield-pr405-replace-assay-by-pytest.patch * gh#brandon-rhodes/assay#6, gh#skyfielders/python-skyfield#405 - the unit test expect a truncated hipparcos catalog * generate-hipparcos.sh * hip_main.dat.gz - drop skyfield-pr404-comparefloat.patch addressed upstream gh#skyfielders/python-skyfield#404 gh#skyfielders/python-skyfield#411 ------------------------------------------------------------------- Wed Jul 22 14:42:06 UTC 2020 - Benjamin Greiner - release precision for i586 test gh#skyfielders/python-skyfield#411 ------------------------------------------------------------------- Wed Jul 22 14:13:46 UTC 2020 - Benjamin Greiner - Update to Version 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. - rebase patches skyfield-pr404-comparefloat.patch and skyfield-pr405-replace-assay-by-pytest.patch ------------------------------------------------------------------- Sun Jul 12 19:12:27 UTC 2020 - Benjamin Greiner - fix typo in Patch0 url ------------------------------------------------------------------- Sat Jul 11 19:06:39 UTC 2020 - Benjamin Greiner - mention python-skyfield-rpmlintrc to specfile: don't warn about matplotlib and html5lib in Requires ------------------------------------------------------------------- Fri Jul 10 14:51:52 UTC 2020 - Benjamin Greiner - Update to Version 1.23 * Added `kepler-orbits` support for generating the positions of comets and asteroids from Minor Planet Center data files. * Added `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 `searches` to match. * Made the `skyfield.iokit.Loader.load.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 - directly copy downloaded testfiles as sources - move skyfield-openSUSE-comparefloat.patch to skyfield-PR404-comparefloat.patch and submit upstream: gh#skyfielders/python-skyfield#404 - move skyfield-openSUSE-replace-testrunner.patch to skyfield-PR405-replace-assay-by-pytest.patch and submit upstream: gh#skyfielders/python-skyfield#405 - disable python2 package ------------------------------------------------------------------- Thu Jul 9 16:51:16 UTC 2020 - Benjamin Greiner - initial package. Version 1.22 - provide a bunch of astronomical testdata which would be downloaded by the tests on networking hosts - skyfield-openSUSE-replace-testrunner.patch: replace the author's own test runner 'assay' with regular pytest - skyfield-openSUSE-comparefloat.patch: refine float comparison failing on some flaky platforms