python-astrodynamics / spacetrack

Python client for space-track.org
MIT License
73 stars 15 forks source link
space-track

spacetrack

|PyPI Version| |Documentation| |CI Status| |Coverage| |Python Version| |MIT License|

spacetrack is a python module for Space-Track <https://www.space-track.org>__

Installation


.. code:: bash

    $ pip install spacetrack

Example

.. code:: python

from spacetrack import SpaceTrackClient st = SpaceTrackClient('identity', 'password')

print(st.tle_latest(norad_cat_id=[25544, 41335], ordinal=1, 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 drange = op.inclusive_range(dt.datetime(2016, 6, 26), ... dt.datetime(2016, 6, 27))

Streaming downloads line by line

lines = st.tle_publish(iter_lines=True, publish_epoch=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.tle_latest(norad_cat_id=25544) TypeError: 'tle_latest' got an unexpected argument 'onrad_cat_id'

Automatic rate limiting

for satno in my_satnos: ... # Gets limited to <20 requests per minute automatically by blocking ... st.tle(...)

Authors

- Frazer McLean <frazer@frazermclean.co.uk>

Documentation

For in-depth information, visit the documentation <http://spacetrack.readthedocs.org/en/latest/>__!

Development



spacetrack uses `semantic versioning <http://semver.org>`__

.. |CI Status| image:: https://github.com/python-astrodynamics/spacetrack/workflows/CI/badge.svg?branch=master
   :target: https://github.com/python-astrodynamics/spacetrack/actions?workflow=CI
.. |PyPI Version| image:: http://img.shields.io/pypi/v/spacetrack.svg?style=flat-square
   :target: https://pypi.python.org/pypi/spacetrack/
.. |Python Version| image:: https://img.shields.io/badge/python-3.6%2B-brightgreen.svg?style=flat-square
   :target: https://www.python.org/downloads/
.. |MIT License| image:: http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
   :target: https://raw.githubusercontent.com/python-astrodynamics/spacetrack/master/LICENSE.txt
.. |Coverage| image:: https://img.shields.io/codecov/c/github/python-astrodynamics/spacetrack/master.svg?style=flat-square
   :target: https://codecov.io/github/python-astrodynamics/spacetrack?branch=master
.. |Documentation| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat-square
   :target: http://spacetrack.readthedocs.org/en/latest/