spacetrack is a Python client for Space-Track.
$ pip install spacetrack
>>> from spacetrack import SpaceTrackClient >>> st = SpaceTrackClient('identity', 'password') >>> print(st.gp(norad_cat_id=[25544, 41335], format='tle')) 1 25544U 98067A 16179.00000000 .00000000 00000-0 00000-0 0 0000 2 25544 00.0000 0.0000 0000000 00.0000 000.0000 00.00000000 0000 1 41335U 16011A 16179.00000000 .00000000 00000-0 00000-0 0 0000 2 41335 00.0000 0.0000 0000000 00.0000 000.0000 00.00000000 0000 >>> # Operators, to save manual string formatting. >>> import spacetrack.operators as op >>> from datetime import datetime >>> drange = op.inclusive_range(datetime(2016, 6, 26), datetime(2016, 6, 27)) >>> # Streaming downloads line by line >>> lines = st.gp_history(iter_lines=True, creation_date=drange, orderby='TLE_LINE1', format='tle') >>> with open('tle.txt', 'w') as fp: ... for line in lines: ... fp.write(line) >>> # Streaming downloads in chunk (note file is opened in binary mode) >>> content = st.download(iter_content=True, file_id=..., format='stream') >>> with open('file.txt', 'wb') as fp: ... for chunk in content: ... fp.write(chunk) >>> # Parameter checking, using Space-Track's modeldef API >>> st.gp(onrad_cat_id=25544) TypeError: 'gp' got an unexpected argument 'onrad_cat_id' >>> # Automatic rate limiting >>> for satno in my_satnos: ... # Gets limited to <30 requests per minute automatically by blocking ... st.gp(...) >>> # Log out and close connections >>> st.close()
- Frazer McLean <[email protected]>
For in-depth information, visit the documentation!
spacetrack uses semantic versioning.