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 on codeberg 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
Last release (stable)
Dev (latest)
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:
Tests
Beyond is provided with a lot of unit tests. They can be run with pytest and/or tox. The code coverage is around 92%.
References
A lot of the formulas and flight dynamic algorithm are based on Vallado’s Fundamentals of Astrodynamic and Applications 4th ed.
Release files for beyond 0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| beyond-0.9.tar.gz | 6.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| beyond-0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.0 MB
Release files / beyond-0.9.tar.gz
| Download URL | beyond-0.9.tar.gz |
|---|---|
| Size | 6.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96f1482ec2ed32e12e3a7d3cc34a46a43bc2323c1af80ba777ee1f6472ebe932
|
|
BLAKE2b-256 checksum How to use checksums |
8c173b64d562db3b70c22e819dcd3b695d26b8f5480971966fb0f42287e6db81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / beyond-0.9-py3-none-any.whl
| Download URL | beyond-0.9-py3-none-any.whl |
|---|---|
| Size | 163.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
795f3e648605526c3d368431510c79b15f744869b8ed9fff614dc2e88ddc525c
|
|
BLAKE2b-256 checksum How to use checksums |
cf0c4442e8b9ae301e28d31946ea9631e515e82418ce0632051677ee5299ed84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|