Skip to main content

Fetch satellite TLEs from various online sources

Project description

The python package satellitetle provides functions to fetch TLEs from various online sources (currently CelesTrak (SatNOGS), CalPoly and AMSAT) and allows using custom ones or Space-Track.org.

It was forked from the python package orbit.

Usage

Fetch TLEs for a single satellite from Celestrak:

from satellite_tle import fetch_tle_from_celestrak

norad_id_iss = 25544 # ISS (ZARYA)
print(fetch_tle_from_celestrak(norad_id_iss))

Fetch a large set of TLEs for a list of satllites from all available sources:

from satellite_tle import fetch_all_tles, fetch_latest_tles

norad_ids = [25544, # ISS (ZARYA)
             42983, # QIKCOM-1
             40379] # GRIFEX

# Uses default sources and compares TLE set from each source and
# returns the latest one for each satellite
tles = fetch_latest_tles(norad_ids)

for norad_id, (source, tle) in tles.items():
    print('{:5d} {:23s}: {:23s}'.format(norad_id, tle[0], source))

# Uses default sources and returns the TLE sets from all source for
# each satellite
tles = fetch_all_tles(norad_ids)

for norad_id, tle_list in tles.items():
    for source, tle in tle_list:
        print('{:5d} {:23s}: {:23s}'.format(norad_id, tle[0], source))

# Defines custom sources
sources = [
    ('CalPoly','http://mstl.atl.calpoly.edu/~ops/keps/kepler.txt'),
    ('Celestrak (active)','https://www.celestrak.com/NORAD/elements/active.txt')
]

# Uses custom sources (fetch_all_tles can also be used with the same
# parameters)
tles = fetch_latest_tles(norad_ids, sources=sources)

for norad_id, (source, tle) in tles.items():
    print('{:5d} {:23s}: {:23s}'.format(norad_id, tle[0], source))

spacetrack_config= {
    'identity': 'my_username',
    'password': 'my_secret_password'
}

# Uses default sources and Space-Track.org (fetch_all_tles can also
# be used with the same parameters)
tles = fetch_latest_tles(norad_ids, spacetrack_config=spacetrack_config)

for norad_id, (source, tle) in tles.items():
    print('{:5d} {:23s}: {:23s}'.format(norad_id, tle[0], source))

# Uses only Space-Track.org (fetch_all_tles can also be used with the
# same parameters)
tles = fetch_latest_tles(norad_ids, sources=[], spacetrack_config=spacetrack_config)

for norad_id, (source, tle) in tles.items():
    print('{:5d} {:23s}: {:23s}'.format(norad_id, tle[0], source))

# Uses custom sources and Space-Track.org (fetch_all_tles can also be
# used with the same parameters)
tles = fetch_latest_tles(norad_ids, sources=sources, spacetrack_config=spacetrack_config)

for norad_id, (source, tle) in tles.items():
    print('{:5d} {:23s}: {:23s}'.format(norad_id, tle[0], source))

NOTE: fetch_latest_tles and fetch_all_tles download the TLE sets from all known sources, so they should only be used when fetching TLEs for a large set of satellites.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for satellitetle, version 0.10.1
Filename, size File type Python version Upload date Hashes
Filename, size satellitetle-0.10.1-py3-none-any.whl (6.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size satellitetle-0.10.1.tar.gz (4.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page