1# -*- coding: utf-8 -*-
2
3import pkg_resources
4import numpy as np
5import skyfield
6from skyfield.api import load
7from skyfield.functions import load_bundled_npy
8
9def main():
10    print('Skyfield version: {0}'.format(skyfield.__version__))
11    print('jplephem version: {0}'.format(version_of('jplephem')))
12    print('sgp4 version: {0}'.format(version_of('sgp4')))
13
14    ts = load.timescale()
15    fmt = '%Y-%m-%d'
16
17    final_leap = (ts._leap_tai[-1] - 1) / (24 * 60 * 60)
18    print('Built-in leap seconds table ends with leap second at: {0}'
19          .format(ts.tai_jd(final_leap).utc_strftime()))
20
21    arrays = load_bundled_npy('iers.npz')
22    daily_tt = arrays['tt_jd_minus_arange']
23    daily_tt += np.arange(len(daily_tt))
24    start = ts.tt_jd(daily_tt[0])
25    end = ts.tt_jd(daily_tt[-1])
26    print('Built-in ∆T table from finals2000A.all covers: {0} to {1}'
27          .format(start.utc_strftime(fmt), end.utc_strftime(fmt)))
28
29def version_of(distribution):
30    try:
31        d = pkg_resources.get_distribution(distribution)
32    except pkg_resources.DistributionNotFound:
33        return 'Unknown'
34    else:
35        return d.version
36
37main()
38