Skip to main content

Flight Dynamic Library

Project description

Documentation Status Tests Coverage Status PyPi version Python versions https://img.shields.io/badge/code%20style-black-000000.svg

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.7+, numpy and sgp4. To install the library and its dependencies use pip

pip install beyond

Documentation

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:

References

A lot of the formulas and flight dynamic algorithm are based on Vallado’s Fundamentals of Astrodynamic and Applications 4th ed.

Project details


Download files

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

Source Distribution

beyond-0.8.tar.gz (6.6 MB view details)

Uploaded Source

Built Distribution

beyond-0.8-py3-none-any.whl (163.1 kB view details)

Uploaded Python 3

File details

Details for the file beyond-0.8.tar.gz.

File metadata

  • Download URL: beyond-0.8.tar.gz
  • Upload date:
  • Size: 6.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for beyond-0.8.tar.gz
Algorithm Hash digest
SHA256 8f37f88b5405040cf14049deca08b5a5e71cd2cfb57b599bcdd4c5479f6a3f88
MD5 03089662f14d39c9d940afc02485a70d
BLAKE2b-256 afb22b7a2d6e3cba324e8141779f99ce8c3b247a1700e0ed7aa4861184996c0d

See more details on using hashes here.

File details

Details for the file beyond-0.8-py3-none-any.whl.

File metadata

  • Download URL: beyond-0.8-py3-none-any.whl
  • Upload date:
  • Size: 163.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for beyond-0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e844e4c7ed105cca2450e3275407561b455f401d20996487697076a2ab120203
MD5 2ab5f25f73d62b02607291d18c50245f
BLAKE2b-256 9b9e91437f9edfc44c008bed4815a88406304ce35bb7e260eb889d0b5f17d7c2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page