Flight Dynamic Library

## Project description     This library was started to better understand how Flight Dynamics works. It has no intent of efficiency nor performance at the moment, and the goal is mainly to develop a simple API for space observations.

The sources of this library can be found at github and are under the MIT license.

## Installation

Beyond requires Python 3.5+, numpy and sgp4. To install the library and its dependencies use pip

```pip install beyond
```

## Usage

```import numpy as np
from beyond.io.tle import Tle
from beyond.frames import create_station
from beyond.dates import Date, timedelta

# Parse TLE
tle = Tle("""ISS (ZARYA)
1 25544U 98067A   19072.15347313  .00000167  00000-0  10147-4 0  9997
2 25544  51.6420 118.6717 0004098  99.2855 123.2259 15.52799885160336""")

# Create a station from which to compute the pass
station = create_station('KSC', (28.524058, -80.65085, 0.0))

for orb in station.visibility(tle.orbit(), start=Date.now(), stop=timedelta(days=1), step=timedelta(minutes=2), events=True):

# As all angles are given in radians,
# there is some conversion to do
azim = -np.degrees(orb.theta) % 360
elev = np.degrees(orb.phi)
r = orb.r / 1000.

print("{event:10} {tle.name}  {date:%Y-%m-%dT%H:%M:%S.%f} {azim:7.2f} {elev:7.2f} {r:10.2f}".format(
date=orb.date, r=r, azim=azim, elev=elev,
tle=tle, event=orb.event if orb.event is not None else ""
))

# Stop at the end of the first pass
if orb.event and orb.event.info == "LOS":
break
```

This library is used as basis for the Space-Command utility.

Commons usages for this library are:

## Project details

This version 0.6.5 0.6.4 0.6.3 0.6.2 0.6.1 0.6 0.5 0.4 0.3 0.2.1